Commit graph

405 commits

Author SHA1 Message Date
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
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
lain
9e0686efa6 Move visibility into own module. 2019-02-22 13:29:52 +01:00
eugenijm
ecdf0657ba Add logic for keeping follow_request_count up-to-date on the follow,
`approve_friend_request`, and `deny_friend_request` actions.
Add follow_request_count to the user view.
2019-02-15 12:20:20 +03:00
William Pitcock
e05bf2940f activitypub: transmogrifier: correctly handle nil inReplyTo value 2019-02-14 00:35:54 +00:00
William Pitcock
94cbbb0e3a activitypub: transmogrifier: do not attempt to expand pre-existing AS2 tag objects 2019-02-14 00:35:53 +00:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier
60ea29dfe6
Credo fixes: alias grouping/ordering 2019-02-09 14:59:20 +01:00
William Pitcock
e71ab5a10f activitypub: transmogrifier: fix bare tags 2019-02-05 00:43:28 +00:00
William Pitcock
cbb2b709de activitypub: transmogrifier: fix follow request rejections 2019-01-29 11:57:46 +00:00
href
77f2137383
Transmogrifier: fix incoming objects with invalid likes 2019-01-27 19:33:21 +01:00
kaniini
4df71cd88b Merge branch 'classic-flakeids' into 'develop'
Flake Ids for Users and Activities

Closes #450

See merge request pleroma/pleroma!645
2019-01-25 04:59:06 +00:00
lain
2de208817c Merge branch 'develop' into rename/pleroma_activity_consistency 2019-01-23 13:05:58 +01:00
href
28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
Haelwenn (lanodan) Monnier
98c8184c1f
Activity: get_create_activity_by_object_ap_id/1 → get_create_by_object_ap_id/1 2019-01-21 08:00:41 +01:00
William Pitcock
7c9749f793 transmogrifier: slightly clean up fix_explicit_addressing pipeline 2019-01-20 02:27:48 +00:00
William Pitcock
420651157b transmogrifier: don't apply heuristics against messages which have directMessage set true 2019-01-20 02:27:48 +00:00
William Pitcock
681f40ee5c activitypub: transmogrifier: fix up to/cc addressing brain damage caused by mastodon-style explicit DMs 2019-01-20 02:27:48 +00:00
William Pitcock
dbc4e92509 activitypub: transmogrifier: do not clobber the addressing on relayed announcements 2019-01-17 23:21:31 +00:00