Commit graph

809 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
Ivan Tashkinov e84fee5b86 Merge remote-tracking branch 'remotes/origin/develop' into 1505-threads-federation 2020-02-05 07:56:36 +03:00
lain a0d9d42eaa Emoji Reactions: Actually use the validation. 2020-01-30 16:07:37 +01:00
Ivan Tashkinov 86e4d23acb [#1505] Background fetching of incoming activities' replies collections. 2020-01-25 10:47:30 +03:00
lain 34fc0ca053 Emoji reactions: Add sanity checks for the cache 2020-01-23 12:34:34 +01:00
Ivan Tashkinov cf96c40057 [#1505] Added Mastodon-compatible replies collection to Note federated representation. 2020-01-22 21:10:17 +03:00
lain dd3fc50ea4 Emoji reactions: Change cache and reply format 2020-01-22 13:57:42 +01:00
Haelwenn (lanodan) Monnier 5c533e10e7
Bump credo to 1.1.5 2020-01-20 12:17:14 +01:00
Mark Felder 2f5b8fbeb3 Merge branch 'develop' into issue/1354 2020-01-12 12:12:15 -06:00
Maksim Pechnikov 5b84156013 moved remote follow in separate controller 2019-12-21 21:27:42 +03:00
Egor Kislitsyn 432b3067d4
Do not crash when remote user follower and following counters are hidden 2019-12-19 19:26:46 +07:00
Egor Kislitsyn 8f79f433bc
Hide follower counter when hiding is activated 2019-12-17 13:34:07 +07:00
rinpatch 814a99c80f tests: remove a useless 3 second sleep
the ids favs use are accurate down to a microsecond, there is no need
for it
2019-12-16 00:50:39 +03:00
Mark Felder 9ef912aecf Merge branch 'develop' into issue/1411 2019-12-11 15:02:53 -06:00
Sadposter 8cfaab8f04 Merge branch 'develop' into 'domain-block-precedence'
# Conflicts:
#   lib/pleroma/user.ex
2019-12-10 16:54:25 +00:00
Sadposter 5abee19b63 make analysis happy 2019-12-10 16:50:58 +00:00
Sadposter 19d228cc58 modify SQL to include followed-but-domain-blocked activities 2019-12-10 16:40:12 +00:00
rinpatch 8404f8c8fb Merge branch 'improve-move-notificaions-api' into 'develop'
Add `with_move` query param to the notifications API

See merge request pleroma/pleroma!2032
2019-12-08 13:07:05 +00: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
lain 67d8df04a4 Merge branch '1335-user-api-id-fields-relations' into 'develop'
[#1335] User: refactoring of AP ID fields into relations

Closes #1335

See merge request pleroma/pleroma!1963
2019-12-05 17:16:23 +00:00
feld d0bd4348b3 Merge branch 'feature/admin-api-render-whole-status' into 'develop'
Miscellaneous grouped reports fixes

Closes admin-fe#48 and admin-fe#51

See merge request pleroma/pleroma!2007
2019-12-05 13:34:34 +00:00
lain 1993d7096d Validators: Add a type for the datetime used in AP. 2019-12-05 12:33:06 +01: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
Egor Kislitsyn 624e720aa4 Add with_move query param to the notifications API 2019-12-03 22:13:38 +07: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 1915b23e72
test missing first field 2019-11-30 15:43:12 +09:00
Ivan Tashkinov 52cc7de82c Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	mix.lock
2019-11-29 10:17:59 +03:00
Egor Kislitsyn c4b468a95b
Cleanup tests output 2019-11-28 16:44:48 +07: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
Maxim Filippov b62be2564c Merge branch 'develop' into feature/admin-api-render-whole-status 2019-11-26 00:25:43 +09:00