Commit graph

786 commits

Author SHA1 Message Date
Haelwenn (lanodan) Monnier
82895a4012
SideEffects: port ones from ActivityPub.do_create and ActivityPub.insert 2020-07-15 11:40:23 +02:00
Haelwenn (lanodan) Monnier
c5efaf6b00
AnswerValidator: Create 2020-07-15 11:39:54 +02:00
Haelwenn (lanodan) Monnier
7bcd7a9595
QuestionValidator: Create 2020-07-15 11:39:53 +02:00
Haelwenn (lanodan) Monnier
ce243b107f
Use Logger.info for {:reject, reason} 2020-07-13 15:26:31 +02:00
lain
93e494ec21 ActivityPub: Don't rename a clashing nickname with the same ap id. 2020-07-10 14:10:44 +02:00
lain
b39eb6ecc5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information 2020-07-10 12:26:53 +02:00
lain
00e54f8fe7 ActivityPub: Remove follow and fix issues. 2020-07-08 17:07:24 +02:00
lain
208baf157a ActivityPub: Add new 'capabilities' to user. 2020-07-06 11:38:40 +02:00
Sergey Suprunenko
8277b29790
Restrict thread statuses that contain user's irreversible filters 2020-07-06 09:30:39 +03:00
Sergey Suprunenko
4a8c26654e
Restrict statuses that contain user's irreversible filters 2020-07-06 09:28:21 +03:00
lain
5c0bf4c472 ActivityPub: Ingest information about chat acceptance. 2020-07-03 13:58:34 +02:00
lain
fedfe8f7d6 ActivityPub: Handle clashing nicknames for the same ap id
If we get a new user (identified by ap_id) that would have the same
nickname as an existing user, give the existing user a nickname that
is prepended with the user id, as this will never clash.

This can happen when a user switches server software and that soft-
ware generates ap ids in a different way.
2020-07-01 12:26:07 +02:00
lain
44bb7cfccd ActivityPub: Remove block. 2020-06-25 11:51:33 +02:00
lain
2c603f2009 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into update-validator 2020-06-23 10:17:12 +02:00
lain
e785cd5cae ActivityPub: Remove update and switch to pipeline. 2020-06-22 13:59:45 +02:00
lain
7d542450b1 Merge branch 'develop' into '1865-media-only'
# Conflicts:
#   CHANGELOG.md
2020-06-20 09:33:18 +00:00
lain
1eb6cedaad ActivityPub: When restricting to media posts, only show 'Creates'. 2020-06-16 13:08:27 +02:00
lain
b7df7436c8 Conversations: Return last dm for conversation, not last message. 2020-06-15 12:27:13 +02:00
rinpatch
271ea5068f Merge branch '1851-favorites-pagination' into 'develop'
StatusController: Correctly paginate favorites.

Closes #1851

See merge request pleroma/pleroma!2636
2020-06-13 17:20:43 +00:00
Haelwenn
4115701f71 Merge branch 'recipients-experiments' into 'develop'
ActivityPub: Don't show announces of your own objects in timeline.

See merge request pleroma/pleroma!2637
2020-06-12 16:57:13 +00:00
lain
e557265a03 Merge branch 'global-status-expiration' into 'develop'
Global status expiration

See merge request pleroma/pleroma!2208
2020-06-12 14:14:09 +00:00
lain
9e411372d0 ActivityPub: Don't show announces of your own objects in timeline. 2020-06-10 12:10:09 +02:00
lain
063e6b9841 StatusController: Correctly paginate favorites.
Favorites were paginating wrongly, because the pagination headers
where using the id of the id of the `Create` activity, while the
ordering was by the id of the `Like` activity. This isn't easy to
notice in most cases, as they usually have a similar order because
people tend to favorite posts as they come in. This commit adds a
way to give different pagination ids to the pagination helper, so
we can paginate correctly in cases like this.
2020-06-09 10:53:40 +02:00
Egor Kislitsyn
da22119c2f
Merge branch 'develop' into global-status-expiration 2020-06-08 17:21:47 +04:00
lain
3b5282bef2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 11:19:18 +02:00
Egor Kislitsyn
b02df1803e
Merge remote-tracking branch 'origin/develop' into activity-pub-use-atoms-as-keys 2020-06-05 23:15:10 +04:00
lain
a8ca030d85 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-05 16:53:56 +02:00
Haelwenn
54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
Unifies all the similar functions to one and simplify some blocks with it.
2020-06-05 14:48:02 +00:00
lain
0efa8aa0b9 Transmogrifier: For follows, create notifications last.
As the notification type changes depending on the follow state,
the notification should not be created and streamed out before the
state settles. For this reason, the notification creation has been
delayed until it's clear if the user has been followed or not.

This is a bit hacky but it will be properly rewritten using the
pipeline soon.
2020-06-05 12:26:07 +02:00
Egor Kislitsyn
317e2b8d61
Use atoms as keys in ActivityPub.fetch_* functions options 2020-06-04 21:36:26 +04:00
lain
879304dcd9 Merge branch 'replies-domain-block' into 'develop'
Replies domain block

Closes #1650

See merge request pleroma/pleroma!2622
2020-06-02 14:14:23 +00:00
lain
904295d53b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-02 14:28:01 +02:00
rinpatch
165a4b2a69 Do not include activities of invisible users unless explicitly requested
Closes #1833
2020-06-02 13:34:12 +03:00
Alexander Strizhakov
19f468c5bc
replies filtering for blocked domains 2020-06-02 09:00:10 +03:00
Alexander Strizhakov
7e6ec778d9
exclude replies on blocked domains 2020-06-01 21:17:32 +03:00
Egor Kislitsyn
a7627bdc7a
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-06-01 15:48:51 +04:00
lain
af6d01ec93 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-29 12:36:17 +02:00
lain
7e13200869 ActivityPub: Change ordering to nulls last in favorites query
This makes it use our existing index and speeds up the query.
2020-05-27 09:46:12 +02:00
Ivan Tashkinov
d7a57004ef [#1501] Made user feed contain public and unlisted activities. 2020-05-25 23:27:47 +03:00
lain
ee35bb5ac2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-25 13:57:27 +02:00
lain
e42bc5f557 Announcements: Handle through common pipeline. 2020-05-20 15:44:37 +02:00
lain
3cff4e24cd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-13 12:44:16 +02:00
lain
d0ba1844b0 ActivityPub: Fix non-federating blocks. 2020-05-12 10:52:46 +02:00
lain
7637ef4203 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-08 13:13:37 +02:00
lain
ef55d24054 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/emojireactvalidator 2020-05-07 18:53:34 +02:00
lain
fb2d284d28 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-07 15:05:40 +02:00
lain
7ac0cffb34 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/emojireactvalidator 2020-05-07 15:03:12 +02:00
lain
f0c22df226 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/undo-validator-reduced 2020-05-07 14:45:20 +02:00
href
9491ba3e49 Streamer rework 2020-05-07 09:13:32 +00:00
lain
1748e26948 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-06 17:36:08 +02:00
rinpatch
473b0d9f3d Merge branch 'feature/delete-validator' into 'develop'
Move deletions to the common pipeline

Closes #1497

See merge request pleroma/pleroma!2441
2020-05-06 14:32:58 +00:00
lain
205313e541 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-06 11:44:30 +02:00
lain
92caae5923 Undoing: Move undoing blocks to the pipeline everywhere. 2020-05-05 18:02:24 +02:00
lain
a3bb2e5474 Undoing: Move undoing announcements to the pipeline everywhere. 2020-05-05 16:42:34 +02:00
lain
b34debe615 Undoing: Move undoing reactions to the pipeline everywhere. 2020-05-05 16:17:09 +02:00
lain
a3071f0231 Undoing: Move undoing likes to the pipeline everywhere. 2020-05-05 15:08:41 +02:00
Egor Kislitsyn
decaa64f75
Merge branch 'develop' into global-status-expiration 2020-05-05 14:28:54 +04:00
lain
db55dc9445 ActivityPub: Remove react_with_emoji. 2020-05-05 12:28:28 +02:00
lain
ec24c70db8 ActivityPub: Don't fetch Application follower counts. 2020-05-04 14:22:54 +02:00
Mark Felder
370e313e2d Only update follower/following stats for actor types of users and bots. 2020-05-02 13:28:10 -05:00
lain
999d639873 ActivityPub: Remove delete function.
This is handled by the common pipeline now.
2020-04-30 20:13:47 +02:00
lain
6aa116eca7 Create activity handling: Flip it and reverse it
Both objects and create activities will now go through the common
pipeline and will be validated. Objects are now created as a side
effect of the Create activity, rolling back a transaction if it's
not possible to insert the object.
2020-04-28 16:26:19 +02:00
lain
b5dc59c8fa Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-28 14:16:21 +02:00
Egor Kislitsyn
764b4f95a8
Merge branch 'develop' into global-status-expiration 2020-04-28 14:13:53 +04:00
Egor Kislitsyn
f1ca917bb0
Merge branch 'develop' into openapi/account 2020-04-27 14:33:00 +04:00
lain
c86143ed73 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-27 12:07:08 +02:00
rinpatch
8addbd948c Merge branch 'bugfix/announce-race-condition' into 'develop'
Announcements: Prevent race condition.

See merge request pleroma/pleroma!2423
2020-04-24 16:58:24 +00:00
lain
d89cd0a197 Reply Filtering: Refactor. 2020-04-24 18:25:26 +02:00
Egor Kislitsyn
c56c0a3d23
Merge branch 'develop' into global-status-expiration 2020-04-24 18:37:58 +04:00
Alexander
6e625a427c
reply filtering 2020-04-24 15:43:49 +03:00
lain
cb12585098 Announcements: Prevent race condition. 2020-04-24 14:37:53 +02:00
lain
bbf8554c97 ActivitPub: Remove like function.
We don't need another way to build likes.
2020-04-24 13:48:13 +02:00
lain
ec7335535d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-23 15:47:08 +02:00
Egor Kislitsyn
6c26feed01
Merge branch 'develop' into openapi/account 2020-04-22 20:18:12 +04:00
lain
5102468d0f Polls: Persist and show voters' count 2020-04-22 14:06:39 +02:00
Egor Kislitsyn
364eecc49f
Merge branch 'develop' into global-status-expiration 2020-04-20 20:37:56 +04:00
Egor Kislitsyn
736fead494 Merge branch 'develop' into openapi/account 2020-04-20 18:40:02 +04:00
lain
139b9d1338 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-20 12:37:17 +02:00
Haelwenn
24f760c2f7 Apply suggestion to lib/pleroma/web/activity_pub/activity_pub.ex 2020-04-17 22:48:37 +00:00
Haelwenn (lanodan) Monnier
eb61564005
migrations/20200406100225_users_add_emoji: Fix tag to Emoji filtering, electric bongaloo 2020-04-17 23:57:22 +02:00
lain
8c2c325598 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-17 15:51:24 +02:00
Haelwenn (lanodan) Monnier
46f051048f
migrations/20200406100225_users_add_emoji: Fix tag to Emoji filtering 2020-04-17 14:32:15 +02:00
rinpatch
942d7467ca Merge branch 'develop' into features/remove-user-source_data 2020-04-16 21:28:52 +03:00
lain
6ace22b56a Chat: Add views, don't return them in timeline queries. 2020-04-15 18:23:16 +02:00
Egor Kislitsyn
65f04b7806
Fix credo warning 2020-04-15 17:16:32 +04:00
Egor Kislitsyn
16f4787bf7
Add a TODO note 2020-04-15 16:51:37 +04:00
lain
44bfb491ea Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-15 14:41:43 +02:00
Egor Kislitsyn
03124c96cc
Add spec for AccountController.statuses 2020-04-13 18:17:07 +04:00
rinpatch
c077ad0b33 Remove User.upgrade_changeset in favor of remote_user_creation
The two changesets had the same purpose, yet some changes were updated
in one, but not the other (`uri`, for example).

Also makes `Transmogrifier.upgrade_user_from_ap_id` be called from
`ActivityPub.make_user_from_ap_id` only when the user is actually
not AP enabled yet.

I did not bother rewriting tests that used `User.insert_or_update`
to use the changeset instead because they seemed to just test the implementation,
rather than behavior.
2020-04-11 22:31:46 +03:00
Egor Kislitsyn
dd612f86ae
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-04-10 20:00:05 +04:00
Egor Kislitsyn
7f692343c8
Merge branch 'develop' into global-status-expiration 2020-04-10 14:20:48 +04:00
Egor Kislitsyn
cf2a0574e7
Merge branch 'develop' into fix/support-conversations-pagination 2020-04-10 14:18:57 +04:00
Haelwenn (lanodan) Monnier
e89078ac2a
User: remove source_data 2020-04-10 06:20:03 +02:00
Haelwenn (lanodan) Monnier
9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier
62656ab259
User: Move inbox & shared_inbox to own fields 2020-04-10 06:20:02 +02:00
Haelwenn (lanodan) Monnier
19eedb3d04
User: Move public_key from source_data to own field 2020-04-10 06:16:18 +02:00
lain
3775683a04 ChatMessage: Basic incoming handling. 2020-04-08 15:55:43 +02:00
lain
349b9d86dc Merge branch 'remake-remodel-2' into 'develop'
Ingestion Pipeline Revamp

See merge request pleroma/pleroma!2315
2020-04-06 11:59:01 +00:00
Haelwenn (lanodan) Monnier
185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02:00
lain
eaacc64839 Refactors. 2020-03-26 15:33:10 +01:00
lain
4cf1007a7d ActivityPub: Small refactor. 2020-03-26 15:16:54 +01:00
Ivan Tashkinov
012d428e1f Merge remote-tracking branch 'remotes/origin/develop' into 1364-notifications-sending-control 2020-03-25 09:05:17 +03:00
Ivan Tashkinov
e743c22329 Fixed incorrect usage of "relations" as a short form of "relationships". 2020-03-25 09:04:00 +03:00
rinpatch
f316882464 Apply suggestion to lib/pleroma/web/activity_pub/activity_pub.ex 2020-03-24 18:37:53 +00:00
Egor Kislitsyn
4a2538967c
Support pagination in conversations 2020-03-24 20:18:27 +04:00
Egor Kislitsyn
d1a9716a98
Fix activity deletion 2020-03-24 17:38:18 +04:00
rinpatch
981e015f1b Mastodon API Account view: Remove an outdated hack
The hack with caching the follow relationship was introduced
when we still were storing it inside the follow activity, resulting in
slow queries. Now we store follow state in `FollowRelationship` table,
so this is no longer necessary.
2020-03-22 17:10:37 +03:00
lain
3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
Egor Kislitsyn
d1c7f8e576
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-03-12 16:02:24 +04:00
lain
6f7a8c43a2 Merge branch 'fix/no-email-no-fail' into 'develop'
Do not fail when user has no email

See merge request pleroma/pleroma!2249
2020-03-04 12:43:06 +00:00
Egor Kislitsyn
0f386110c6
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-03-03 00:32:34 +04:00
Haelwenn
764a50f8a6 Merge branch 'feature/1482-activity_pub_transactions' into 'develop'
ActivityPub actions & side-effects in transaction

Closes #1482

See merge request pleroma/pleroma!2089
2020-03-02 07:58:01 +00:00
Haelwenn (lanodan) Monnier
6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
Alexander Strizhakov
34f1d09f3a
spec fix 2020-03-01 12:01:39 +03:00
Alexander Strizhakov
32d1e04817
ActivityPub actions & side-effects in transaction 2020-03-01 12:01:39 +03:00
Egor Kislitsyn
cb60a9c42f
Do not fail when user has no email 2020-02-27 17:27:49 +04:00
eugenijm
e2a6a40367 Admin API: GET /api/pleroma/admin/statuses - list all statuses (accepts godmode and local_only) 2020-02-26 20:21:38 +03:00
Egor Kislitsyn
4d459b0e99
Move ActivityExpiration creation from CommonApi.post/2 to ActivityPub.insert/4 2020-02-13 22:27:10 +04:00
lain
a0d9d42eaa Emoji Reactions: Actually use the validation. 2020-01-30 16:07:37 +01:00
lain
46915207b6 Remove whole_db parameter everywhere, it's not used anymore 2020-01-28 14:40:40 +01:00
rinpatch
6e6f1ead31 Merge branch 'no-error-404' into 'develop'
Log at debug level for object deletion, not error.

See merge request pleroma/pleroma!2066
2020-01-22 17:55:49 +00:00
Egor Kislitsyn
432b3067d4
Do not crash when remote user follower and following counters are hidden 2019-12-19 19:26:46 +07:00
Phil Hagelberg
02c3031e99 Don't log when users or objects are deleted. 2019-12-13 12:05:53 -08:00
Maxim Filippov
3ecf131511 Merge branch 'develop' into feature/report-notes 2019-12-12 02:16:23 +03:00
Mark Felder
9ef912aecf Merge branch 'develop' into issue/1411 2019-12-11 15:02:53 -06:00
Sadposter
1ad96d667a remove single-step pipe 2019-12-11 09:08:20 +00:00
Sadposter
8cfaab8f04 Merge branch 'develop' into 'domain-block-precedence'
# Conflicts:
#   lib/pleroma/user.ex
2019-12-10 16:54:25 +00:00
Sadposter
25f774f7c1 format activity_pub.ex 2019-12-10 16:41:43 +00:00
Sadposter
19d228cc58 modify SQL to include followed-but-domain-blocked activities 2019-12-10 16:40:12 +00:00
701815e64c [ActivityPub] Configurable ActivityPub actor type 2019-12-10 13:19:26 +00:00
rinpatch
29a3f70cba Merge branch 'bugfix/1463-blocking-in-user-tls' into 'develop'
ActivityPub: For user timelines, respects blocks.

Closes #1463

See merge request pleroma/pleroma!2041
2019-12-08 11:23:31 +00:00
lain
e8cee4d9a0 ActivityPub: For user timelines, respects blocks.
Unless the timeline belongs to a blocked user.
2019-12-06 14:25:13 +01:00
rinpatch
cdff5b8267 Merge branch 'develop' into fix/mrf-delete 2019-12-06 00:12:21 +03:00
rinpatch
9f99640cfc ActivityPub: Fix deletes being exempt from MRF
Closes #1461
2019-12-05 21:45:57 +03:00
Maksim Pechnikov
e21afdb7c7 Merge branch 'develop' into issue/1411 2019-12-05 12:18:59 +03:00
Ivan Tashkinov
30caf3e51e Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user.ex
2019-12-04 18:56:31 +03:00
lain
e9993acdbb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-12-04 16:35:59 +01:00
Maxim Filippov
4b60d41db9 Add report notes 2019-12-04 00:26:37 +09:00
lain
7722e5a67a Merge branch 'feature/move-activity' into 'develop'
Support "Move" activity

Closes #1316

See merge request pleroma/pleroma!1883
2019-12-02 16:26:19 +00:00
Maksim Pechnikov
88f7cf51d4 Merge branch 'develop' into issue/1411 2019-12-01 16:18:16 +03:00
kPherox
0326683932
hide follower/following for friendica 2019-11-30 15:43:05 +09:00
Ivan Tashkinov
c8d3c3bfec Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub.ex
2019-11-26 10:42:36 +03:00
Ivan Tashkinov
555edd01ab [#1335] User AP ID relations fetching performance optimizations. 2019-11-20 12:19:07 +03:00
Ivan Tashkinov
ba5cc30165 [#1335] Implemented notification mutes and reblog mutes as UserRelationships. User to UserRelationship relations and functions refactoring. 2019-11-19 23:22:10 +03:00
Maksim Pechnikov
708fd234bd fix order favorites activites 2019-11-19 20:19:41 +03:00
Maksim Pechnikov
5cee51fac5 fix order by for fetch_favorites 2019-11-18 21:34:54 +03:00
Maksim Pechnikov
0937895182 updated fetch_favorites 2019-11-18 16:56:47 +03:00
Maksim Pechnikov
4beb3ce5c5 /api/v1/favourites: added sorting for activites by adds to favorites 2019-11-18 09:44:08 +03:00
Ivan Tashkinov
01d9c093c3 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations 2019-11-15 21:40:14 +03:00
Ivan Tashkinov
c31ddce51e [#1335] Reorganized users.mutes as relation to UserMute entity. 2019-11-15 21:38:54 +03:00