Commit Graph

422 Commits

Author SHA1 Message Date
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 9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +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 e67cde0ed6 Transmogrifier: Refactoring / Renaming. 2020-04-06 13:46:34 +02:00
lain c982093cc2 Transmogrifier: Fix BAD code by RINPATCH 2020-03-31 19:33:41 +02:00
lain 1b323ce1c6 Apply suggestion to lib/pleroma/web/activity_pub/transmogrifier.ex 2020-03-31 17:28:18 +00:00
lain ecac57732a Transmogrifier: Only add context if it really is onne. 2020-03-31 19:16:45 +02:00
lain 288f2b5a7c Apply suggestion to lib/pleroma/web/activity_pub/transmogrifier.ex 2020-03-31 17:00:55 +00:00
lain 0be1fa0a86 Apply suggestion to lib/pleroma/web/activity_pub/transmogrifier.ex 2020-03-31 17:00:48 +00:00
lain f6835333be Apply suggestion to lib/pleroma/web/activity_pub/transmogrifier.ex 2020-03-31 12:55:25 +00:00
Haelwenn e999c67cee Merge branch 'feature/funkwhale-audio' into 'develop'
Add support for funkwhale Audio activity

Closes #764 and #1624

See merge request pleroma/pleroma!2287
2020-03-29 19:18:22 +00: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
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 7c8003c3fc [#1364] Improved control over generation / sending of notifications. Fixed blocking / muting users notifications issue. Added tests. 2020-03-15 21:00:12 +03:00
Haelwenn (lanodan) Monnier 863ec33ba2
Add support for funkwhale Audio activity
reel2bits fixture not included as it lacks the Actor fixture for it.

Closes: https://git.pleroma.social/pleroma/pleroma/issues/1624
Closes: https://git.pleroma.social/pleroma/pleroma/issues/764
2020-03-11 13:46:42 +01: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
Egor Kislitsyn 22018adae6
Fix Dialyzer warnings 2020-02-25 18:34:56 +04: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 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 6ea3c06d8d [#1505] Minor refactoring. 2020-02-09 14:09:01 +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
Lain Soykaf 8a79f20c21 EmojiReactions: Rename to EmojiReacts 2020-02-06 18:09:57 +01:00
Ivan Tashkinov 86e4d23acb [#1505] Background fetching of incoming activities' `replies` collections. 2020-01-25 10:47:30 +03:00
Ivan Tashkinov cf96c40057 [#1505] Added Mastodon-compatible `replies` collection to Note federated representation. 2020-01-22 21:10:17 +03:00
Haelwenn (lanodan) Monnier 6cf3b19a38
transmogrifier.ex: simplify handle_incoming of actors 2020-01-19 07:06:15 +01:00
Thomas Citharel d2f1c4f658
Add ActivityPub Object Event type support
Adds Event support in the same way Video objects are handled, with the
name of the object as message header.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 16:16:21 +01:00
rinpatch a21340caa1 Fix never matching clause
`length/1` is only used with lists.
2019-12-08 16:46:18 +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 3c0abfca53
Merge remote-tracking branch 'upstream/develop' into feature/move-activity 2019-11-14 16:39:45 +07:00
lain b22ee9d966 Merge remote-tracking branch 'origin/develop' into reactions 2019-11-08 13:27:11 +01:00
lain 1bd1f62af5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-11-05 15:21:00 +01:00
lain 3d1b445cbf Object Validators: Extract common validations. 2019-11-05 15:02:09 +01:00
Egor Kislitsyn 61fc739ab8
Handle "Move" activity 2019-10-30 18:21:49 +07:00
kPherox 0c361eeb25
Add pending to handle incoming for Follow activity 2019-10-29 17:12:49 +09:00
Egor Kislitsyn 4270861085
Merge branch 'develop' into feature/move-activity 2019-10-28 15:10:47 +07:00
Egor Kislitsyn b777083f3f
Add `also_known_as` field to Pleroma.User 2019-10-25 19:14:18 +07:00
Egor Kislitsyn 4c1dd55c48 Merge remote-tracking branch 'upstream/develop' into refactor/following-relationships 2019-10-24 14:55:36 +07:00
lain 97d5c79aa0 Add Pipeline module, test for federation. 2019-10-23 11:52:27 +02:00
Ivan Tashkinov a11a7176d5 Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	lib/pleroma/user/info.ex
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/activity_pub/transmogrifier.ex
2019-10-21 11:05:09 +03:00
Egor Kislitsyn 4ea1a61b00
Merge branch 'develop' into refactor/following-relationships 2019-10-21 14:19:15 +07:00
Ivan Tashkinov c6fdfbc4f1 Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/notification.ex
#	lib/pleroma/user.ex
#	lib/pleroma/user/info.ex
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/admin_api/admin_api_controller.ex
#	lib/pleroma/web/ostatus/handlers/follow_handler.ex
#	lib/pleroma/web/ostatus/ostatus.ex
#	lib/pleroma/web/salmon/salmon.ex
#	lib/pleroma/web/websub/websub.ex
#	test/web/admin_api/admin_api_controller_test.exs
#	test/web/federator_test.exs
#	test/web/mastodon_api/controllers/conversation_controller_test.exs
#	test/web/ostatus/ostatus_controller_test.exs
#	test/web/ostatus/ostatus_test.exs
#	test/web/salmon/salmon_test.exs
#	test/web/websub/websub_test.exs
2019-10-20 20:43:18 +03:00
Ariadne Conill c9280b9730 rework to use properties instead of compound typing, per SocialCG 2019-10-19 23:21:37 +00:00
Ariadne Conill ef659331b0 implement invisible support for remote users 2019-10-19 23:21:37 +00:00
Ariadne Conill 4f82e42e4e websub: remove entirely 2019-10-18 14:50:09 +00:00
lain 203d61b950 Transmogrifier: Make proper use of the LikeValidator. 2019-10-17 19:35:31 +02:00
Ivan Tashkinov 10ff01acd9 [#1304] Moved all non-mutes / non-blocks fields from User.Info to User. WIP. 2019-10-16 21:59:21 +03:00
lain 081e8206ab Transmogrifier: Use new ingestion pipeline for Likes. 2019-10-16 17:03:21 +02:00
lain 37812740c4 Transmogrifier: Correctly save incoming ids for Accept/Reject. 2019-10-11 11:48:58 +02:00
lain 9b963064eb Transmogrifier: Actually store who deleted a note. 2019-10-11 11:25:45 +02:00
Egor Kislitsyn 059005ff82
Replace `user.following` with Pleroma.FollowingRelationship 2019-10-11 02:35:32 +07:00
lain 29647dfd09 Transmogrifier: Save correct ids for incoming deletes. 2019-10-10 17:17:33 +02:00
lain 91e90aa807 Merge branch 'misskey-compat' into 'reactions'
Transmogrifier: Handle misskey likes with reactions like EmojiReactions.

See merge request pleroma/pleroma!1783
2019-10-07 07:25:27 +00:00
lain 61097ba6ab Merge branch 'develop' into 'reactions'
# Conflicts:
#   CHANGELOG.md
2019-10-06 08:11:47 +00:00
kaniini 45b7f03f89 Merge branch 'accept-embedded-announce-object' into 'develop'
Import object from self-Announce whenever possible

See merge request pleroma/pleroma!1770
2019-10-05 19:28:29 +00:00
lain 4b8524f392 ActivityPub / Transmogrifier: Correctly store incoming Update id. 2019-10-05 14:49:45 +02:00
Thibaut Girka 791d93ff0e Make credo happy 2019-10-05 13:56:40 +02:00
Thibaut Girka 977e711e22 Import object from self-Announce whenever possible 2019-10-05 13:56:40 +02:00
lain 6a85f7d1ea Transmogrifier: Extend misskey like compatibility. 2019-10-05 10:45:42 +02:00
lain 43a211bcb1 Transmogrifier: Handle misskey likes with reactions like EmojiReactions. 2019-10-04 17:01:04 +02:00
lain c9043c6c80 Transmogrifier: Handle incoming Undos for EmojiReactions. 2019-10-03 18:37:23 +02:00
lain 557223b2b5 Merge remote-tracking branch 'origin/develop' into reactions 2019-10-02 13:27:55 +02:00
Thibaut Girka 86880b9821 Inline object when Announcing a self-owned private object 2019-10-02 12:15:06 +02:00
lain dae744478e Transmogrifier: Handle compact objects in undos. 2019-09-30 18:13:05 +02:00
lain b923842e96 Merge remote-tracking branch 'origin/develop' into reactions 2019-09-30 13:57:54 +02:00
Ariadne Conill 172c74a77b activitypub: transmogrifier: implement support for Listen activities 2019-09-30 10:39:17 +00:00
Maksim Pechnikov d4ed3a35b8 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-19 07:35:34 +03:00
Haelwenn f95a2b2cda Merge branch 'issue/733' into 'develop'
[#733] added test for Ostatus

See merge request pleroma/pleroma!1657
2019-09-18 22:28:10 +00:00
rinpatch d32894ae51 Move object internal fields to a constant 2019-09-18 19:24:20 +03:00
Maksim Pechnikov 7dd51652f9 Merge branch 'develop' into issue/733 2019-09-17 21:20:08 +03:00
Egor Kislitsyn 085d014f08 Fix `Transmogrifier.upgrade_user_from_ap_id/1` 2019-09-16 19:26:00 +07:00
Maksim Pechnikov d75bc728e7 Merge branch 'develop' into issue/733 2019-09-16 07:34:22 +03:00
Ivan Tashkinov 6bcedb693c [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	docs/config.md
#	mix.lock
2019-09-14 16:11:44 +03:00
lain a7f31bf06c Merge remote-tracking branch 'origin/develop' into reactions 2019-09-13 16:31:27 +02:00
Maksim Pechnikov 2b40e57a72 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-13 06:55:05 +03:00
lain 8d4b661ecb Transmogrifier: Strip internal emoji reaction fields. 2019-09-12 18:59:13 +02:00
Maksim Pechnikov 4f548cb2b7 added test for Ostatus 2019-09-12 10:25:43 +03:00
Mark Felder 74e4c72c4a Fix double quotes in error logs
Example:

pleroma: [error] Couldn't fetch ""https://pleroma.soykaf.com/objects/6288a14b-0623-40fc-a26a-0d358f8a11ca"", error: nil
2019-09-11 16:16:09 -05:00
Maksim Pechnikov 007e0c1ce1 added tests 2019-09-11 23:19:06 +03:00
Maksim Pechnikov fcf604fa43 added tests 2019-09-11 07:23:33 +03:00
Maksim Pechnikov a31af93e1d added tests /activity_pub/transmogrifier.ex 2019-09-10 16:43:10 +03:00
Ivan Tashkinov dd017c65a4 [#1149] Refactored Oban workers API (introduced `enqueue/3`). 2019-08-31 21:58:42 +03:00
Ivan Tashkinov a90ea8ba15 [#1149] Addressed code review comments (code style, jobs pruning etc.). 2019-08-31 19:08:56 +03:00
Ivan Tashkinov e890ea7e82 [#1149] Added Oban job for "activity_expiration". Merged remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	config/config.exs
2019-08-31 14:25:43 +03:00
lain c30cc039e4 Transmogrifier: Use Containment.get_actor to get actors. 2019-08-27 12:22:30 -05:00
lain a0b21c8928 Transmogrifier: Handle incoming emoji reactions. 2019-08-26 16:47:31 -05:00
lain 3da65292b3 Transmogrifier: Fix follow handling when the actor is an object. 2019-08-26 14:34:52 -05:00
Ivan Tashkinov 256ff09aa8 [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/scheduled_activity_worker.ex
#	lib/pleroma/web/federator/retry_queue.ex
#	lib/pleroma/web/oauth/token/clean_worker.ex
#	test/user_test.exs
#	test/web/federator_test.exs
2019-08-22 20:59:58 +03:00
Ivan Tashkinov 8778c16dac Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-14 21:44:50 +03:00
Egor Kislitsyn e457fcc479 Add `:max_remote_account_fields` config option 2019-08-14 14:58:06 +07:00
Egor Kislitsyn f7bbf99caa Use info.fields instead of source_data for remote users 2019-08-14 14:52:54 +07:00
Egor Kislitsyn 5178f960c3 Support user attachment update in Transmogrifier 2019-08-14 14:52:54 +07:00
Ivan Tashkinov 0e1c481a94 [#1149] Added more oban workers. Refactoring. 2019-08-13 20:20:26 +03:00
Ariadne Conill f46cd7e9c7 config: remove legacy activitypub accept_blocks setting
Anyone who is interested in dropping blocks can write their own MRF
policy at this point.  This setting predated the MRF framework.

Disabling the side effect (unsubscription) is still a config option
per policy.
2019-08-13 02:15:21 +00:00
rinpatch 92479c6f48 Do not fetch the reply object in `fix_type` unless the object has the
`name` key and use a depth limit when fetching it
2019-08-11 22:49:55 +03:00
Sergey Suprunenko af4cf35e20 Strip internal fields including likes from incoming and outgoing activities 2019-08-10 18:47:40 +00:00
rinpatch c88a5d3251 Merge branch 'develop' into feature/hide-follows-remote 2019-07-31 14:12:29 +03:00
Ariadne Conill b93498eb52 constants: add as_public constant and use it everywhere 2019-07-29 02:43:19 +00:00
Ariadne Conill 492d854e7a transmogrifier: use User.delete() instead of handrolled user deletion code for remote users
Closes #1104
2019-07-28 21:32:04 +00:00
rinpatch 196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
Egor Kislitsyn 64a946643e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-07-15 14:11:54 +07:00
rinpatch d06d1b751d Use atoms when updating user info 2019-07-14 00:21:35 +03:00
rinpatch e8fa477793 Refactor Follows/Followers counter syncronization
- Actually sync counters in the database instead of info cache (which got
overriden after user update was finished anyway)
- Add following count field to user info
- Set hide_followers/hide_follows for remote users based on http status
codes for the first collection page
2019-07-13 19:27:49 +03:00
Egor Kislitsyn 182f7bbb11 Merge branch 'develop' into feature/addressable-lists 2019-07-11 13:26:59 +07:00
Alex S beba7bbc85 removing synchronization worker 2019-07-10 17:42:18 +03:00
Sergey Suprunenko 2d2b50ccca Send and handle "Delete" activity for deleted users 2019-07-10 05:16:08 +00:00
Ivan Tashkinov 2b9d914089 [#161] Refactoring, documentation. 2019-06-30 15:58:50 +03:00
Ivan Tashkinov 5b7b1040b3 [#161] Limited replies depth on incoming federation in order to prevent memory leaks on recursive replies fetching. 2019-06-29 20:04:50 +03:00
rinpatch d020f68e87 Transmogrifier: Do not crash if inReplyTo does not exist and can't be fetched 2019-06-07 20:40:38 +03:00
lain e1370ba131 Utils: Use update_follow_state_for_all when appropriate. 2019-06-05 16:51:28 +02:00
lain 076c9ae40e User: Remove superfluous `maybe_follow`. 2019-06-05 14:24:31 +02:00
lain 3115b64cfe Transmogrifier: Add tests for incoming follows to locked accounts. 2019-06-05 14:10:46 +02:00
Egor Kislitsyn 9ce928d823 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-04 16:28:23 +07:00
rinpatch 026b245dbc Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 11:14:52 +03:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
Sergey Suprunenko 2bbc2a801f Remove all follower collections but actor's from "cc" 2019-06-01 03:26:45 +00:00
rinpatch a9eaa55885 Fix fix_explicit_addressing moving follower collection to cc and add tests for it 2019-05-31 14:17:05 +03:00
rinpatch 19c90d47c4 Normalize poll votes to Answer objects 2019-05-22 21:17:57 +03:00
rinpatch 5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
Egor Kislitsyn 557f0e33a7 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-17 19:57:14 +07:00
Alexander Strizhakov 7ed682213f Fix/902 random compile failing 2019-05-17 07:25:20 +00:00
rinpatch 62e42b03ab Handle incoming Question objects 2019-05-15 20:10:16 +03:00
Egor Kislitsyn e82e73478e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-14 19:00:07 +07:00
Haelwenn (lanodan) Monnier 2f76a40d02
formatter.ex: Add get_emoji_map/1 2019-05-03 16:27:50 +02:00
Egor Kislitsyn a3dc02d282 Add addressable lists 2019-05-01 16:11:17 +07:00
Alex S f11e7037c2 test fixes 2019-05-01 16:09:53 +07:00
Alex S bdfa3a6fa8 Merging with develop
Conflicts:
lib/pleroma/web/activity_pub/transmogrifier.ex
lib/pleroma/user.ex
2019-05-01 12:29:33 +07:00
William Pitcock 0fd0ffcd76 activitypub: transmogrifier: send reject follow if following does not succeed 2019-04-25 00:48:45 +00:00
Egor b9cdf6d3b9 Use `User.get_cached*` everywhere 2019-04-22 07:20:43 +00:00
rinpatch ad681877df Make credo happy 2019-04-17 14:52:01 +03:00
rinpatch 627e5a0a49 Merge branch 'develop' into feature/database-compaction 2019-04-17 12:22:32 +03:00
rinpatch 5d73dca064 Remove inReplyToStatusId 2019-04-15 11:50:36 +03:00
kaniini 0ab563d334 Merge branch 'hotfix/fix_undefined_summary' into 'develop'
transmogrifier.ex: Add fix_summary/1

See merge request pleroma/pleroma!1039
2019-04-10 02:10:47 +00:00
Haelwenn (lanodan) Monnier cf9ba8fe1b
transmogrifier.ex: Add fix_summary/1
MRF.KeywordPolicy assumes that summary is present in a activity,
and this would probably simplify code elsewhere too anyway.
2019-04-10 02:32:04 +02:00
Egor Kislitsyn cfa6e7289f Improve Transmogrifier.upgrade_user_from_ap_id/2 2019-04-04 16:10:43 +07:00
William Pitcock 1685e4258f transmogrifier: upgrade: when upgrading OStatus users to AP, ensure we always use the fake collection 2019-03-19 18:39:33 +00:00
William Pitcock cd055983c3 transmogrifier: when determining followers collection URI, we may need to fetch the actor 2019-03-19 18:04:57 +00:00
William Pitcock d487b753c3 activitypub: transmogrifier: do not allow missing lists to be interpreted as nil 2019-03-19 17:30:25 +00:00
William Pitcock 798da28812 activitypub: transmogrifier: ensure as:Public activities are delivered to followers 2019-03-19 17:27:42 +00:00
Zachary Dunn 5ba14c664b Fix missing end brace 2019-03-18 14:05:10 +00:00
Zachary Dunn a2e03d4f3c Initial attempt at updating return type 2019-03-18 13:56:59 +00:00
William Pitcock 0f3ecb2bfb activitypub: transmogrifier: accept remote Flag activities 2019-03-14 19:06:02 +00:00
Haelwenn (lanodan) Monnier c3d41b2b6e
[Credo] make all variables use snake_case 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
eugenijm 6038c8a753 Broadcast deleted activity id on deletion to conform to MastoAPI streamig spec 2019-03-11 09:02:03 +03:00