Commit graph

842 commits

Author SHA1 Message Date
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
lain 8b2457bdbf Transmogrifier tests: Extract Undo handling 2020-05-05 13:25:34 +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 142bf0957c Transmogrifier: Extract EmojiReact tests. 2020-05-05 11:20:53 +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 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 335aabc39c Transmogrifier tests: Extract like tests. 2020-05-04 14:45:28 +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 6c337489f4 Various testing fixes in relation to user deletion. 2020-05-03 13:01:19 +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
rinpatch e55876409b Deactivate local users on deletion instead of deleting the record
Prevents the possibility of re-registration, which allowed to read
DMs of the deleted account.

Also includes a migration that tries to find any already deleted
accounts and insert skeletons for them.

Closes pleroma/pleroma#1687
2020-05-02 19:05:13 +03: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 500f5ec14e SideEffects: On deletion, reduce the reply count cache 2020-04-30 19:47:13 +02:00
Haelwenn (lanodan) Monnier f1523f9acd
Increase tests on AP C2S
Related: https://git.pleroma.social/pleroma/pleroma/-/issues/954
2020-04-30 18:56:57 +02:00
lain ab60ee1776 SideEffects: On deletion, reduce the User note count. 2020-04-30 18:19:39 +02:00
lain 3d0dc58e2e SideEffectsTest: Test streaming. 2020-04-30 18:10:36 +02:00
lain 315b773dd9 ObjectValidator: Refactor. 2020-04-30 17:58:31 +02:00
lain 4500fdc04c DeleteValidator: Add internal helper field after validation. 2020-04-30 17:53:02 +02:00
lain c9bfa51ea9 Credo fixes. 2020-04-30 15:58:37 +02:00
lain 417eed4a2b SideEffects: Handle deletions. 2020-04-30 15:57:27 +02:00
lain 1fb383f368 DeleteValidator: Deleting a user is valid. 2020-04-30 15:42:30 +02:00
lain 4dc5302f45 Transmogrifier: Handle incoming deletes for non-user objects. 2020-04-30 15:26:23 +02:00
lain db184a8eb4 DeleteValidator: Mastodon sends unaddressed deletes. 2020-04-30 14:37:14 +02:00
lain bd219ba7e8 Transmogrifier Tests: Extract deletion tests. 2020-04-30 14:14:00 +02:00
lain 503de4b8df ObjectValidator: Add validation for Deletes. 2020-04-29 19:09:51 +02:00
lain b8056e69e0 Object Validator Types: Add Recipients. 2020-04-29 19:08:08 +02:00
lain 20587aa931 Chat message creation: Check actor. 2020-04-29 14:53:53 +02:00
lain a88734a0a2 Transmogrifier: Fetch missing actors for chatmessages. 2020-04-29 14:25:33 +02:00
lain e055b8d203 Pipeline: Always run common_pipeline in a transaction for now. 2020-04-29 13:45:50 +02:00
lain 0c491b904d Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-29 13:19:04 +02:00
Maksim Pechnikov 7bd187bc5e added test 2020-04-29 08:13:10 +03:00
Ivan Tashkinov 908cf22a6c Merge remote-tracking branch 'remotes/origin/develop' into automatic-authentication-and-instance-publicity-checks
# Conflicts:
#	lib/pleroma/web/mastodon_api/controllers/account_controller.ex
2020-04-28 19:56:20 +03:00
lain dedffd100c Pipeline: Unify, refactor, DRY. 2020-04-28 17:29:54 +02:00
lain abd0928229 CreateChatMessageValidator: Validate object existence 2020-04-28 16:45:28 +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 906cf53ab9 Recipient Type: Cast all elements as ObjectIDs. 2020-04-28 13:38:02 +02:00
Egor Kislitsyn 764b4f95a8
Merge branch 'develop' into global-status-expiration 2020-04-28 14:13:53 +04:00
Maksim Pechnikov ea5142b94b convert markdown content to html 2020-04-28 09:32:43 +03:00
lain c86143ed73 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-27 12:07:08 +02: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 bbf8554c97 ActivitPub: Remove like function.
We don't need another way to build likes.
2020-04-24 13:48:13 +02:00
lain 1e28d34592 ChatMessage: Correctly ingest emoji tags. 2020-04-23 16:19:49 +02:00
lain 2e62a63749 ChatMessageValidator: Validation changes
Don't validate if the recipient is blocking the actor.
2020-04-22 12:48:52 +02:00
Ivan Tashkinov f685cbd309 Automatic checks of authentication / instance publicity. Definition of missing OAuth scopes in AdminAPIController. Refactoring. 2020-04-21 16:29:19 +03:00
lain 5165287ff4 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-21 12:00:33 +02:00
Egor Kislitsyn 364eecc49f
Merge branch 'develop' into global-status-expiration 2020-04-20 20:37:56 +04:00
Alex Gleason bedc558809
Merge remote-tracking branch 'upstream/develop' into accept-deletes 2020-04-20 10:15:40 -05:00
Alex Gleason b54c8813d6
Add :reject_deletes option to SimplePolicy 2020-04-20 10:11:06 -05:00
Ilja 8b4de61d64 Fix ObjectAgePolicyTest
The policy didn't block old posts as it should.
* I fixed it and tested on a test server
* I added the settings to description so that this information is shown in nodeinfo
* TODO: I didn't work TTD and still need to fix the tests
2020-04-20 12:59:16 +00:00
lain 7e53da250e ChatMessage: Support emoji. 2020-04-20 14:08:54 +02:00
lain 139b9d1338 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-04-20 12:37:17 +02:00
lain 970b74383b Credo fixes. 2020-04-20 12:29:19 +02:00
lain ce23673ca1 ChatMessageValidator: Don't validate messages that are too long. 2020-04-20 11:45:11 +02:00
lain c845820911 Notifications: Create a chat notification. 2020-04-17 16:55:01 +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
lain 26d9c83316 SideEffects: Test for notification creation. 2020-04-17 15:50:15 +02:00
lain 372614cfd3 ChatView: Add a mastodon api representation of the recipient. 2020-04-17 15:37:54 +02:00
rinpatch 942d7467ca Merge branch 'develop' into features/remove-user-source_data 2020-04-16 21:28:52 +03:00
lain e983f70884 ChatMessagesHandling: Strip HTML of incoming messages. 2020-04-16 17:50:24 +02:00
rinpatch 252528a4b9 Merge branch 'refactor/remove-upgrade-changeset' into 'develop'
Remove User.upgrade_changeset in favor of remote_user_creation

See merge request pleroma/pleroma!2368
2020-04-16 14:59:11 +00:00
lain e2ced04917 ChatMessages: Better validation. 2020-04-16 15:21:47 +02: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 dc8fa04192
Merge branch 'develop' into global-status-expiration 2020-04-13 14:12:51 +04:00
Maksim Pechnikov c5c09fc61b fix mediaType of object 2020-04-13 07:02:57 +03:00
Alex Gleason 9a3c74b244
Always accept deletions through SimplePolicy 2020-04-12 20:26:35 -05:00
rinpatch 5e365448f3 Merge branch 'following-relationships-optimizations' into 'develop'
FollowingRelationship storage & performance optimizations

See merge request pleroma/pleroma!2332
2020-04-11 19:46:04 +00: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 7f692343c8
Merge branch 'develop' into global-status-expiration 2020-04-10 14:20:48 +04:00
Haelwenn 4d33e0bd50 Merge branch 'bugfix/apc2s_upload_activity' into 'develop'
bugfix: AP C2S activity with attachments

See merge request pleroma/pleroma!2316
2020-04-10 04:31:13 +00:00
Haelwenn (lanodan) Monnier e89078ac2a
User: remove source_data 2020-04-10 06:20:03 +02:00
Haelwenn (lanodan) Monnier 3420dec494
Remove User.fields/1 2020-04-10 06:20:02 +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
lain 4b04785071 SideEffects: Extend ChatMessage test. 2020-04-09 12:46:33 +02:00
lain 2e78686686 SideEffects: Handle ChatMessage creation. 2020-04-09 12:44:20 +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
lain aebec1bac9 Validator Test: Small refactor. 2020-03-31 17:47:34 +02:00
lain 643f15e77b Validators: ObjectID is an http uri. 2020-03-31 16:11:38 +02:00
Alexander Strizhakov f497cf2f7c
Merge branch 'develop' into gun 2020-03-30 12:15:23 +03:00
Ivan Tashkinov be9d18461a FollowingRelationship storage & performance optimizations (state turned ecto_enum-driven integer, reorganized indices etc.). 2020-03-28 18:49:03 +03:00
lain 0adaab8e75 Bump copyright dates. 2020-03-26 15:37:42 +01:00
Egor Kislitsyn d1a9716a98
Fix activity deletion 2020-03-24 17:38:18 +04:00
Egor Kislitsyn 80e1571610
Merge branch 'develop' into global-status-expiration 2020-03-20 22:08:34 +04:00
Alexander Strizhakov 9bae9b1b1b
Merge branch 'develop' into gun 2020-03-20 20:47:54 +03:00
Ivan Tashkinov 1c05f539aa Improved in-test clear_config/n applicability (setup / setup_all / in-test usage). 2020-03-20 18:33:00 +03:00
lain 1aa8aa7d7f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-2 2020-03-20 14:52:58 +01:00
Haelwenn (lanodan) Monnier a8aa917530
Merge remote-tracking branch 'pleroma/develop' into bugfix/apc2s_upload_activity 2020-03-19 19:25:50 +01:00
Haelwenn (lanodan) Monnier c1fd4f6653
transmogrifier.ex: rework fix_attachment for better IR 2020-03-19 19:10:03 +01:00
lain 3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
Haelwenn (lanodan) Monnier f9d622d25a
WIP 2020-03-19 15:39:11 +01:00
Ivan Tashkinov ec3719f539 Improved in-test config management functions. 2020-03-18 20:30:31 +03:00
Alexander Strizhakov f9ecb513fa
Merge branch 'develop' into gun 2020-03-18 14:08:21 +03:00
Haelwenn (lanodan) Monnier d3cf7e19fb
activity_pub_controller_test.exs: test posting with AP C2S uploaded media 2020-03-17 14:00:19 +01:00
Alexander Strizhakov f3791add99
removing with_move parameter 2020-03-16 20:07:45 +03:00
Egor Kislitsyn 421e35b578
Merge branch 'develop' into global-status-expiration 2020-03-16 15:31:31 +04:00
Alexander Strizhakov f0651730bd
Merge branch 'develop' into gun 2020-03-16 14:25:55 +03:00
lain fa4ec17c84 Merge branch '1560-non-federating-instances-routes-restrictions' into 'develop'
[#1560] Restricted AP- & OStatus-related routes for non-federating instances

Closes #1560

See merge request pleroma/pleroma!2235
2020-03-15 19:15:20 +00:00
rinpatch e87a32bcd7 rip out fetch_initial_posts
Every time someone tries to use it, it goes mad and tries to scrape the
entire fediverse for no visible reason, it's better to just remove it
than continue shipping it in it's current state.

idea acked by lain and feld on irc

Closes #1595 #1422
2020-03-15 15:59:17 +03:00
Alexander Strizhakov 39ed608b13
Merge branch 'develop' into gun 2020-03-12 18:31:10 +03:00
Egor Kislitsyn d1c7f8e576
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-03-12 16:02:24 +04:00
Ivan Tashkinov bd40880fa0 Merge remote-tracking branch 'remotes/origin/develop' into 1560-non-federating-instances-routes-restrictions
# Conflicts:
#	test/web/activity_pub/activity_pub_controller_test.exs
2020-03-12 12:07:07 +03:00
feld f92c447bbc Merge branch 'relay-list-change' into 'develop'
Relay list shows hosts without accepted follow

See merge request pleroma/pleroma!2240
2020-03-11 15:10:09 +00:00
Ivan Tashkinov 5fc92deef3 [#1560] Ensured authentication or enabled federation for federation-related routes. New tests + tests refactoring. 2020-03-09 20:51:44 +03:00
Ivan Tashkinov 027714b519 Merge remote-tracking branch 'remotes/origin/develop' into 1560-non-federating-instances-routes-restrictions 2020-03-06 11:48:30 +03:00
Ivan Tashkinov 40765875d4 [#1560] Misc. improvements in ActivityPubController federation state restrictions. 2020-03-05 21:19:21 +03:00
Alexander Strizhakov f0753eed0f
removing try block in tesla request
added mocks for tests which fail with Tesla.Mock.Error
2020-03-05 17:31:06 +03:00
Alexander Strizhakov 22d52f5691
same copyright date format 2020-03-04 09:41:23 +03:00
Mark Felder 05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Ivan Tashkinov b6fc98d9cd [#1560] ActivityPubController federation state restrictions adjustments. Adjusted tests. 2020-03-03 22:22:02 +03:00
Egor Kislitsyn 0f386110c6
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-03-03 00:32:34 +04:00
Ivan Tashkinov b4367125e9 [#1560] Added tests for non-federating instance bahaviour to ActivityPubControllerTest. 2020-03-02 21:43:18 +03:00
Ivan Tashkinov 99a6c660a9 Merge remote-tracking branch 'remotes/origin/develop' into 1560-non-federating-instances-routes-restrictions 2020-03-02 18:41:12 +03: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
Alexander Strizhakov cc98d010ed
relay list shows hosts without accepted follow 2020-03-02 09:27:20 +03: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 32d1e04817
ActivityPub actions & side-effects in transaction 2020-03-01 12:01:39 +03:00
Ivan Tashkinov 0cf1d4fcd0 [#1560] Restricted AP- & OStatus-related routes for non-federating instances. 2020-02-22 19:48:41 +03:00
Egor Kislitsyn 819cd46717
Auto-expire Create activities only 2020-02-20 22:04:02 +04:00
Ivan Tashkinov 0c65a8c3d0 Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation
# Conflicts:
#	config/config.exs
2020-02-20 15:00:48 +03:00
Ivan Tashkinov 269d592181 [#1505] Restricted max thread distance for fetching replies on incoming federation (in addition to reply-to depth restriction). 2020-02-15 20:41:38 +03:00
Egor Kislitsyn e2d358f1fb
Fix typo 2020-02-14 15:19:23 +04:00
Ivan Tashkinov 4f8c3462a8 Tweaks to clear_config calls in tests in order to prevent side effects on config during test suite execution. 2020-02-13 21:55:47 +03:00
Egor Kislitsyn 241a3d744a
Add ActivityExpirationPolicy 2020-02-13 22:27:10 +04:00
Ivan Tashkinov b95dd5e217 [#1505] Improved replies-handling tests: updated Mastodon message fixture, used exact Pleroma federation message. 2020-02-10 11:46:16 +03:00
Ivan Tashkinov 24e49d14f2 [#1505] Removed wrapping of reply URIs into first element, added comments to transmogrifier tests. 2020-02-09 17:34:48 +03:00
Ivan Tashkinov 7c3991f59e [#1505] Fixed replies serialization (included objects' ids instead of activities' ids). 2020-02-09 10:17:21 +03:00
Ivan Tashkinov 4e6bbdc7b5 Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation 2020-02-08 19:59:37 +03:00
Ivan Tashkinov d458f4fdca [#1505] Added tests, changelog entry, tweaked config settings related to replies output on outgoing federation. 2020-02-08 19:58:02 +03:00
Haelwenn 1262357ddb Merge branch 'cancel-follow-request' into 'develop'
Add support for cancellation of a follow request

Closes #1522

See merge request pleroma/pleroma!2175
2020-02-07 16:10:43 +00:00
Lain Soykaf 8a79f20c21 EmojiReactions: Rename to EmojiReacts 2020-02-06 18:09:57 +01:00
Egor Kislitsyn 8c71f7e11a Add support for cancellation of a follow request 2020-02-05 20:22:15 +04:00