Commit graph

1670 commits

Author SHA1 Message Date
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
lain
60db58a1c6 Credo fixes. 2020-04-30 18:38:37 +02:00
lain
ab60ee1776 SideEffects: On deletion, reduce the User note count. 2020-04-30 18:19:39 +02:00