Commit graph

1672 commits

Author SHA1 Message Date
lain e785cd5cae ActivityPub: Remove update and switch to pipeline. 2020-06-22 13:59:45 +02:00
rinpatch c75ba63bef Merge branch '1865-media-only' into 'develop'
Resolve "/api/v1/accounts/:id/statuses?only_media=true returns media that is not owned"

Closes #1865

See merge request pleroma/pleroma!2650
2020-06-22 11:34:07 +00:00
lain 9438f83f83 Transmogrifier: Handle Update with the pipeline. 2020-06-22 13:16:05 +02:00
lain 31a4d42ce0 SideEffects: Handle user updating. 2020-06-22 13:15:37 +02:00
lain 35e9282ffd HellthreadPolicy: Restrict to Notes and Articles. 2020-06-22 10:35:11 +02:00
lain 7d542450b1 Merge branch 'develop' into '1865-media-only'
# Conflicts:
#   CHANGELOG.md
2020-06-20 09:33:18 +00:00
Haelwenn (lanodan) Monnier 3d4cfc9c5f
Stop filling conversation field on incoming objects (legacy, unused)
conversation field is still set for outgoing federation for compatibility.
2020-06-20 00:08:26 +02:00
lain 75670a99e4 UpdateValidator: Only allow updates from the user themselves. 2020-06-19 16:38:57 +02:00
lain abdb540d45 ObjectValidators: Add basic UpdateValidator. 2020-06-19 15:30:30 +02:00
lain d772361e62 Merge branch 'fix/1787-mogrify-args' into 'develop'
Moving custom ecto types in context folders

See merge request pleroma/pleroma!2652
2020-06-17 15:53:24 +00:00
Alexander Strizhakov a77b0388f4
credo fix 2020-06-17 10:31:06 +03:00
Alexander Strizhakov ed189568f3
moving mrf settings from instance to separate group 2020-06-16 18:32:18 +03:00
Alexander Strizhakov 3c2cee33ad
moving custom ecto types in context folders 2020-06-16 17:50:33 +03: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
href cb7be6eef2 Remove use of atoms in MRF.UserAllowListPolicy 2020-06-13 12:08:46 +03: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
lain 064c4f86f3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-09 09:36:07 +02:00
Haelwenn (lanodan) Monnier fe1cb56fdc
transmogrifier: MIME.valid?/1 for mediaType
No issues with the rest of the network yet but this makes sure it will work
once https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2429
is merged.
2020-06-08 21:04:30 +02:00
Egor Kislitsyn d44843e677
Restrict ActivityExpirationPolicy to Notes only 2020-06-08 17:56:34 +04: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
lain 7d66dd180a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 10:18:10 +02:00
lain 2cdaac4330 SideEffects: Move streaming of chats to after the transaction. 2020-06-07 14:52:56 +02:00
lain 0365053c8d AttachmentValidator: Check if the mime type is valid. 2020-06-07 09:19:00 +02:00
lain ca0e6e702b ChatMessageReference -> Chat.MessageReference 2020-06-06 11:51:10 +02:00
Egor Kislitsyn 167812a3f2
Fix pagination 2020-06-05 23:18:29 +04: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 f24d2f714f Credo fixes 2020-06-05 17:18:48 +02: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 d74985af23 Merge branch 'features/apc2s-pagination' into 'develop'
Fix AP C2S pagination

Closes #866 and #751

See merge request pleroma/pleroma!2491
2020-06-05 14:52:09 +00: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 115d08a754 Pipeline: Add a side effects step after the transaction finishes
This is to run things like streaming notifications out, which will
sometimes need data that is created by the transaction, but is
streamed out asynchronously.
2020-06-05 16:47:02 +02:00
lain 65689ba9bd If Credo fixes is so good, why is there no Credo fixes 2? 2020-06-05 13:10:48 +02:00
lain f3ea6ee2c8 Credo fixes. 2020-06-05 12:45:25 +02: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
lain cc8a7dc205 SideEffects / ChatView: Add an unread cache.
This is to prevent wrong values in the stream.
2020-06-05 12:01:33 +02:00
Egor Kislitsyn 317e2b8d61
Use atoms as keys in ActivityPub.fetch_* functions options 2020-06-04 21:36:26 +04:00
lain 56dfa0e0fb Transmogrifier: Update notification after accepting. 2020-06-04 19:22:49 +02:00
lain 00748e9650 ChatMessageReferences: Change seen -> unread 2020-06-04 17:14:42 +02:00
Egor Kislitsyn c16315d055
Add OpenAPI spec for AdminAPI.ReportController 2020-06-03 19:17:05 +04:00
lain fb4ae9c720 Streamer, SideEffects: Stream out ChatMessageReferences
Saves us a few calles to fetch things from the DB that we already
have.
2020-06-03 16:45:04 +02:00
lain 7f5c5b11a5 Chats: Remove unread from the db, calculate from unseen messages. 2020-06-03 14:26:50 +02:00
lain aa22fce8f4 ChatMessageReference: Introduce and switch in chat controller. 2020-06-03 12:30:12 +02: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
lain 805ab86933 Notifications: Make notifications save their type. 2020-06-02 13:24:34 +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 6ff079ca9f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-30 12:31:12 +02:00
lain 2c9465cc51 SafeText: Let through basic html. 2020-05-30 12:17:18 +02:00
Haelwenn (lanodan) Monnier a43b435c0a
AP C2S: allow limit & order on outbox & read_inbox 2020-05-29 16:14:45 +02:00
Haelwenn (lanodan) Monnier b3b367b894
Bugfix: Reuse Controller.Helper pagination for APC2S 2020-05-29 16:14:45 +02:00
lain 3898dd69a6 SideEffects: Ensure a chat is present before streaming something out. 2020-05-29 16:05:02 +02:00
lain 863c02b25d SideEffects: Stream out chat messages. 2020-05-29 15:44:03 +02:00
lain 9848978109 Merge branch 'fix-relay-repeat-notification' into 'develop'
Fix relay repeat notification

See merge request pleroma/pleroma!2590
2020-05-29 10:42:49 +00:00
lain af6d01ec93 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-29 12:36:17 +02:00
kPherox 228ff3760e
Use User.is_internal_user? instead 2020-05-29 19:07:05 +09:00
kPherox 9df5b1e6ae
Don't make relay announce notification 2020-05-29 19:06:38 +09:00
kPherox 48fd9be65a
Exclude post actor from to of relay announce 2020-05-27 23:51:15 +09:00
rinpatch d35be02e70 Merge branch 'refactor-add-mention-step-one' into 'develop'
Fix ObjectView calling into strange functions

Closes #1807

See merge request pleroma/pleroma!2580
2020-05-27 14:17:12 +00: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 6bd7070b00 Transmogrifier: Use a simpler way to get mentions. 2020-05-25 15:08:43 +02: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 355aa3bdc7 ActivityPubController: Add Mastodon activity compat route. 2020-05-22 17:06:12 +02:00
lain ca755f9a73 ActivityPubController: Add Mastodon compatibility route. 2020-05-22 16:15:29 +02:00
Haelwenn 7b02bfca51 Merge branch 'announce-validator' into 'develop'
Announce validator

See merge request pleroma/pleroma!2567
2020-05-22 05:47:53 +00:00
lain 578ed3a37f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-21 15:35:13 +02:00
lain cdc6ba8d7b AnnounceValidator: Check for announcability 2020-05-21 13:58:18 +02:00
lain c76267afb9 Credo fixes. 2020-05-21 13:31:52 +02:00
lain 23e248694d Announcements: Fix all tests. 2020-05-21 13:16:21 +02:00
lain d9d425708e SideEffects: Builed out Announce effects. 2020-05-21 12:43:09 +02:00
lain 39031f4860 Pipeline: Don't federate if federation is disabled. 2020-05-20 16:36:55 +02:00
lain e42bc5f557 Announcements: Handle through common pipeline. 2020-05-20 15:44:37 +02:00
lain d19c716770 AttachmentValidator: Handle empty mediatypes 2020-05-18 20:17:28 +02:00
lain be4db41d71 ChatMessageValidator: Allow one message in an array, too. 2020-05-18 18:45:33 +02:00
lain 0d5bce018d AnnounceValidator: Validate for existing announce 2020-05-18 16:54:10 +02:00
lain 17a8342c1e ObjectValidators: Add basic Announce validator. 2020-05-18 16:45:11 +02:00
lain 7d381b16b7 Transmogrifier Test: Extract Announce handling. 2020-05-18 14:48:37 +02:00
lain baf051a59e SideEffects: Don't update unread count for actor in chatmessages. 2020-05-17 12:22:26 +02:00
Haelwenn (lanodan) Monnier e688d4ee69
MRF.StealEmojiPolicy: New Policy
Inspired by https://git.pleroma.social/moonman/emoji-stealer-mrf/-/blob/master/steal_emoji_policy.ex
2020-05-14 09:59:56 +02:00
lain 0f0acc740d Chat: Allow posting without content if an attachment is present. 2020-05-13 15:31:28 +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
rinpatch 24c8c13640 Merge branch '1757-blocks-breaking-on-disabled-outgoing-blocks' into 'develop'
ActivityPub: Fix non-federating blocks.

Closes #1757

See merge request pleroma/pleroma!2514
2020-05-12 16:45:46 +00:00
lain b5aa204eb8 ChatController: Support deletion of chat messages. 2020-05-12 13:13:03 +02:00
lain ca31af473c Transmogrifier: On incoming follow accept, update follow counts. 2020-05-12 12:29:37 +02:00
lain d0ba1844b0 ActivityPub: Fix non-federating blocks. 2020-05-12 10:52:46 +02:00
lain f28ed36b4d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-11 17:14:58 +02:00
lain 5367a00257 Deletion: Handle the case of pruned objects. 2020-05-11 15:06:23 +02:00
lain 03529f6a05 Transmogrifier: Don't modify attachments for chats. 2020-05-08 18:26:35 +02:00
lain d0bf8cfb8f Credo fixes. 2020-05-08 14:11:58 +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 fbcc53760e Merge branch 'feature/emojireactvalidator' into 'develop'
Move EmojiReacts to the Pipeline.

See merge request pleroma/pleroma!2473
2020-05-08 10:41:41 +00:00
lain 6acbe45eb2 Builder: Extract common features of likes and reactions. 2020-05-08 11:30:31 +02:00
Haelwenn 769d95644d Merge branch 'feature/restrict-c2s' into 'develop'
AP C2S: Restrict creation to `Note`s for now.

See merge request pleroma/pleroma!2472
2020-05-07 22:29:16 +00:00
lain ef55d24054 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/emojireactvalidator 2020-05-07 18:53:34 +02:00
lain d11eea62b1 Credo fixes 2020-05-07 15:09:37 +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 788b7e7bbd Merge fixes. 2020-05-07 14:52:37 +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 fc9d0b6eec Credo fixes. 2020-05-06 16:31:21 +02:00
lain 20baa2eaf0 ChatMessages: Add attachments. 2020-05-06 16:12:36 +02: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 07e7c80bc9 Merge branch 'plug-if-unless-func-options-refactoring' into 'develop'
Refactoring of :if_func / :unless_func plug options

See merge request pleroma/pleroma!2446
2020-05-06 09:14:05 +00:00
lain df846eda71 Merge branch 'bugfix/sensitive_object' into 'develop'
Transmogrifier.set_sensitive/1: Keep sensitive set to true

Closes #954

See merge request pleroma/pleroma!2470
2020-05-06 09:04:13 +00: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
lain f1da8882f9 UndoValidator: Add UndoValidator. 2020-05-05 14:17:47 +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 ad771546d8 Transmogrifier: Move emoji reactions to common pipeline. 2020-05-05 12:11:46 +02:00
lain f21f538293 LikeValidator: Add defaults for recipients back in. 2020-05-05 10:38:59 +02:00
lain c297667f16 Merge branch 'fix/issue-1729' into 'develop'
Only update follower/following stats for actor types of users and bots.

Closes #1565 and #1729

See merge request pleroma/pleroma!2464
2020-05-05 08:21:39 +00:00
lain 2cb3f8a8cf Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/delete-validator 2020-05-05 10:19:01 +02:00
lain 6400998820 AP C2S: Restrict creation to Notes for now. 2020-05-05 10:12:37 +02:00
Haelwenn (lanodan) Monnier bf0e41f0da
Transmogrifier.set_sensitive/1: Keep sensitive set to true 2020-05-04 23:36:00 +02:00
lain c23cb8d37a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-04 19:24:04 +02:00
lain 3559dd1085 Transmogrifier: Rely on LikeValidator. 2020-05-04 17:18:38 +02:00
lain 0f9bed022f LikeValidator: Fix up context. 2020-05-04 17:18:17 +02:00
lain e03c301ebe LikeValidator: Fix up missing recipients. 2020-05-04 17:08:31 +02:00
lain 13ab8defc0 Pipeline: Move transctioning to common pipeline. 2020-05-04 14:34:19 +02:00
lain ec24c70db8 ActivityPub: Don't fetch Application follower counts. 2020-05-04 14:22:54 +02:00
lain c40afe5ba0 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-04 10:43:20 +02:00
lain 9249742f13 Types.Recipients: Simplify reducer. 2020-05-03 15:28:24 +02:00
lain a35b76431c Credo fixes. 2020-05-03 14:58:24 +02:00
lain 1974d0cc42 DeleteValidator: The deleted activity id is an object id 2020-05-03 13:02:57 +02:00
lain 6fb96f64c1 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/delete-validator 2020-05-03 12:55:29 +02:00
lain 4dfc617cdf Transmogrifier: Don't fetch actor that's guaranteed to be there. 2020-05-03 12:51:28 +02:00
Lain Soykaf f20a1a27ef DeleteValidator: Improve code readability 2020-05-03 12:19:01 +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
Ivan Tashkinov 2d07ed7747 [#1732] Made AP C2S :followers and :following endpoints serve on no auth
(as for related :api pipeline endpoints).
2020-05-02 18:28:04 +03:00
lain 44fbd09709 Merge branch 'issue/1577' into 'develop'
[#1577] fix mediaType of object

See merge request pleroma/pleroma!2372
2020-05-01 12:38:46 +00:00
lain 5f42e6629d DeleteValidator: Only allow deletion of certain types. 2020-05-01 13:34:47 +02:00
lain 32b8386ede DeleteValidator: Don't federate local deletions of remote objects.
Closes #1497
2020-04-30 21:23:18 +02:00
lain 999d639873 ActivityPub: Remove delete function.
This is handled by the common pipeline now.
2020-04-30 20:13:47 +02:00
lain 5da08c2b73 SideEffects: Fix comment 2020-04-30 19:53:30 +02:00
lain 500f5ec14e SideEffects: On deletion, reduce the reply count cache 2020-04-30 19:47:13 +02:00