Commit Graph

2004 Commits

Author SHA1 Message Date
Ariadne Conill 7cad6ea67a pleroma api: hook up scrobbler controller 2019-09-30 10:39:17 +00:00
Ariadne Conill 172c74a77b activitypub: transmogrifier: implement support for Listen activities 2019-09-30 10:39:17 +00:00
Ariadne Conill 1f9de2a8cd activitypub: implement IR-level considerations for Listen activities 2019-09-30 10:39:17 +00:00
rinpatch e9d1aa75d5 Revert subscription refactoring.
As discussed in pleroma-meta#2

This reverts commit eb9aa7aa10, reversing
changes made to c4fbb56984.
2019-09-29 18:43:27 +03:00
Roman Chvanikov b4b147000c Merge develop 2019-09-26 10:38:54 +03:00
kaniini 48a82c4609 Merge branch 'refactor/user' into 'develop'
Simplify updating user's `info`

See merge request pleroma/pleroma!1712
2019-09-26 03:00:38 +00:00
Hakaba Hitoyo 5fb72170a7 Revert "add _discoverable_ keyword into ActivityPub @context"
This reverts commit 3aef4bdf8f37efd1055a84c5fca12ec4559a17f5.
2019-09-26 02:57:41 +00:00
kaniini 3ff57f1fd3 Merge branch 'hex-flake-id' into 'develop'
Replace `Pleroma.FlakeId` with `flake_id` hex package

See merge request pleroma/pleroma!1692
2019-09-26 02:51:54 +00:00
kaniini beabc49e35 Merge branch 'feature/activities-pagination-by-offset' into 'develop'
Allow activities pagination via limit/offset

See merge request pleroma/pleroma!1714
2019-09-26 02:49:45 +00:00
rinpatch f92d7d52c2 Apply suggestion to lib/pleroma/web/activity_pub/views/user_view.ex 2019-09-25 13:38:45 +00:00
rinpatch f2880d7d29 Credo considered harmful 2019-09-25 16:36:46 +03:00
rinpatch c7d8ccd0c4 Remove useless with clause 2019-09-25 16:26:47 +03:00
rinpatch 1ddd403339 Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-09-25 13:20:48 +00:00
rinpatch d87be2ec96 Don't embed the first page in inboxes/outboxes and refactor the views to
follow View/Controller pattern

Note that I mentioned the change in 1.1 section because I intend to
backport this, if this is not needed I will move it back to Unreleased.
2019-09-25 15:59:04 +03:00
Egor Kislitsyn b5dfe83433 Replace `Pleroma.FlakeId` with `flake_id` hex package 2019-09-25 17:14:31 +07:00
Maxim Filippov 60cbea5bb2 Allow activities pagination via limit/offset 2019-09-25 01:25:42 +03:00
Egor Kislitsyn 79b25be4e1 Do not return tuple when unneeded 2019-09-24 15:03:20 +07:00
kaniini 760df67a7b Merge branch 'remove-direct-messages-from-public-timeline' into 'develop'
Fix private and direct statuses not being filtered out from the public timeline for an authenticated user.

Closes #1223

See merge request pleroma/pleroma!1703
2019-09-23 22:35:09 +00:00
kaniini ad9595ca55 Merge branch 'test/activity_pub/transmogrifier.ex' into 'develop'
added tests /activity_pub/transmogrifier.ex

See merge request pleroma/pleroma!1651
2019-09-23 22:34:52 +00:00
Steven Fuchs e1d2d69c87 Clean up views 2019-09-23 22:33:59 +00:00
Maksim Pechnikov 38245f1336 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-23 21:32:50 +03:00
Haelwenn (lanodan) Monnier 815b904508
Add support for AP C2S uploadMedia
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1171
2019-09-23 20:00:12 +02:00
Haelwenn (lanodan) Monnier 2ad50583f0
Document and test /api/ap/whoami 2019-09-23 19:47:35 +02:00
eugenijm 7cf1252455 Mastodon API: Fix private and direct statuses not being filtered out from the public timeline for an authenticated user (`GET /api/v1/timelines/public`) 2019-09-20 18:27:00 +03:00
D Anzorge 0e6085da10 Fix pagination in AP outbox.json 2019-09-19 16:09:07 +02: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
feld ab2ca3038f Merge branch 'hide-follower-following-count' into 'develop'
Add a setting to hide follows/followers stats from the user profile

See merge request pleroma/pleroma!1663
2019-09-18 21:13:15 +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
Haelwenn 2301de3d75 Merge branch 'fix/upgrade_user_from_ap_id' into 'develop'
Fix `Transmogrifier.upgrade_user_from_ap_id/1`

See merge request pleroma/pleroma!1677
2019-09-17 17:16:39 +00:00
rinpatch 95a4a19417 Merge branch 'support/tests' into 'develop'
add tests for activity_pub/utils.ex

See merge request pleroma/pleroma!1627
2019-09-17 14:47:26 +00:00
eugenijm 450bf7a63c Mastodon API: Add a setting to hide follow/follower count from the user view (`hide_follows_count` and `hide_followers_count`) 2019-09-17 14:45:47 +03:00
Roman Chvanikov 76c3e290fc Merge develop 2019-09-16 20:30:42 +03:00
Egor Kislitsyn 085d014f08 Fix `Transmogrifier.upgrade_user_from_ap_id/1` 2019-09-16 19:26:00 +07:00
Egor Kislitsyn 96816ceaa2 Revert "Merge branch 'revert-4fabf83a' into 'develop'"
This reverts commit fe7fd33126, reversing
changes made to 4fabf83ad0.
2019-09-16 17:55:04 +07:00
kaniini c623b4324d Revert "Merge branch 'streamer-refactoring' into 'develop'"
This reverts merge request !1653
2019-09-16 09:09:21 +00:00
Steven Fuchs aab264db82 Streamer refactoring 2019-09-16 07:44:03 +00:00
kaniini 17142a3720 Merge branch 'feature/delivery-tracking' into 'develop'
Track signed fetches of objects and use them for delete federation

See merge request pleroma/pleroma!1661
2019-09-16 07:39:58 +00:00
Maksim Pechnikov d75bc728e7 Merge branch 'develop' into issue/733 2019-09-16 07:34:22 +03:00
Maksim Pechnikov 8751809e1e Merge branch 'develop' into support/tests 2019-09-15 14:22:15 +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
rinpatch ba70a8cae6 Merge branch 'develop' into feature/delivery-tracking 2019-09-13 19:42:53 +03:00
Roman Chvanikov 0bd2b85edb Separate Subscription Notifications from regular Notifications 2019-09-13 18:25:27 +03:00
rinpatch 8900cb68ae Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-09-13 15:25:15 +00:00
rinpatch 2784962dba Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-09-13 15:23:03 +00:00
lain a7f31bf06c Merge remote-tracking branch 'origin/develop' into reactions 2019-09-13 16:31:27 +02:00
lain e5b3ad3d04 ActivityPub: Use is_unicode_emoji? function. 2019-09-13 16:06:34 +02:00
rinpatch 3896a51b8a Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-09-13 10:09:56 +00:00
rinpatch 5170170483 Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-09-13 10:09:46 +00:00
rinpatch fb96facc32 Remove unused functions and fix credo issues 2019-09-13 12:29:42 +03:00
rinpatch ce23529d91 Use delivery info when federating deletes 2019-09-13 11:38:17 +03:00
Egor Kislitsyn 39dc9b470c Cleanup Pleroma.Activity and Pleroma.Web.ActivityPub.Utils 2019-09-13 12:44:59 +07:00
Maksim Pechnikov 2b40e57a72 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-13 06:55:05 +03:00
rinpatch 769fb778d4 Track object/create activity fetches 2019-09-12 21:37:36 +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
minibikini 11e12b5761 Add Pleroma.Plugs.Cache 2019-09-09 18:53:08 +00:00
feld edbaf78176 Merge branch 'fix/read-inbox' into 'develop'
Fix `ActivityPubController.read_inbox/2`

Closes #1248

See merge request pleroma/pleroma!1649
2019-09-09 18:21:29 +00:00
Egor Kislitsyn e0f84d0043 Fix `ActivityPubController.read_inbox/2` 2019-09-10 01:11:57 +07:00
Ivan Tashkinov c3f00447af Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-09-08 08:41:10 +03:00
Maksim Pechnikov 39f99dc6cd Merge branch 'develop' into support/tests 2019-09-07 22:13:43 +03:00
Ariadne Conill 5effb2cbca activitypub: help ecto build a better query for thread mute filtering
using an indexed value in thread_mute table helps ecto build a better query.
2019-09-06 23:11:26 +00:00
Alex S 79dde58044 one more temp commit 2019-09-05 16:02:20 +03:00
Maksim Pechnikov ae506ca997 fix formatting 2019-09-04 21:40:53 +03:00
Maksim e2011a667c Apply suggestion to lib/pleroma/web/activity_pub/utils.ex 2019-09-04 18:35:01 +00:00
Maksim 8306078de1 Apply suggestion to lib/pleroma/web/activity_pub/utils.ex 2019-09-04 17:31:14 +00:00
Maksim Pechnikov a890451187 fetch_announcements -> take_announcements 2019-09-04 17:42:27 +03:00
Maksim Pechnikov 8cbad5500c add tests for activity_pub/utils.ex 2019-09-04 15:25:12 +03:00
lain 9bc12b88b3 ActivityPub: Save emoji reactions in object. 2019-09-03 16:50:04 -05: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
feld 7853b3f17d Fix AntiFollowbotPolicy when trying to follow a relay 2019-08-30 00:38:03 +00:00
Haelwenn d9d7765383 Merge branch 'fix-osada-follow' into 'develop'
Transmogrifier: Fix follow handling when the actor is an object.

Closes #1211

See merge request pleroma/pleroma!1604
2019-08-28 07:10:35 +00:00
lain f017260cdc Merge remote-tracking branch 'origin/develop' into reactions 2019-08-27 16:38:51 -05:00
Maksim ffcd742aa0 Apply suggestion to lib/pleroma/web/activity_pub/activity_pub_controller.ex 2019-08-27 17:37:19 +00:00
lain c30cc039e4 Transmogrifier: Use Containment.get_actor to get actors. 2019-08-27 12:22:30 -05:00
Maksim Pechnikov 00abe099cd added tests for ActivityPub.like\unlike 2019-08-27 16:21:03 +03:00
lain a0b21c8928 Transmogrifier: Handle incoming emoji reactions. 2019-08-26 16:47:31 -05:00
lain 6e1ec4c5da ActivityPub: Basic EmojiReactions. 2019-08-26 16:29:51 -05:00
lain 3da65292b3 Transmogrifier: Fix follow handling when the actor is an object. 2019-08-26 14:34:52 -05:00
Maksim Pechnikov 654d291b6d update tests 2019-08-24 17:41:53 +03:00
Maksim Pechnikov 6062017493 put_resp_header("content-type", "application/activity+json") -> put_resp_content_type("application/activity+json") 2019-08-24 17:17:17 +03:00
Maksim Pechnikov 8dc6a6b210 fix /inbox for Relay 2019-08-22 22:48:07 +03:00
Maksim Pechnikov 399ca9133b fix test 2019-08-22 21:54:37 +03: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
Maksim Pechnikov 64bfb41c55 fixed unfollow for relay actor 2019-08-22 06:57:55 +03:00
lain 74f7f308f8 Merge branch 'fix/admin-api-user-deletion' into 'develop'
Fix deactivated user deletion

See merge request pleroma/pleroma!1546
2019-08-20 19:34:47 +00:00
lain ef43016b2c Merge branch 'feature/custom-fields' into 'develop'
Add custom profile fields

See merge request pleroma/pleroma!1488
2019-08-20 12:44:14 +00:00
Maxim Filippov 5171aa5b4d Refactor check_actor_is_active 2019-08-19 20:36:25 +03:00
kaniini 18c8c8d176 Merge branch 'feature/hide-muted-threads-from-timeline' into 'develop'
Hide muted theads from home/public timelines unless `with_muted` is set

See merge request pleroma/pleroma!1575
2019-08-18 21:57:55 +00:00
rinpatch a4a3e3becd Hide muted theads from home/public timelines unless `with_muted` is set 2019-08-15 17:37:30 +03:00
Maxim Filippov ec969eec51 Merge branch 'develop' into 'fix/admin-api-user-deletion'
# Conflicts:
#   CHANGELOG.md
2019-08-14 22:45:32 +00:00
Maxim Filippov 2b94ae3b39 Do not check if actor is active when deleting a user 2019-08-15 01:35:29 +03:00
rinpatch bd5ad0af78 Cache follow state 2019-08-15 00:47:30 +03:00
rinpatch dc902ad3df Merge branch 'fix/http-signatures-post' into 'develop'
activitypub: publisher: add (request-target) to http signature when POSTing

See merge request pleroma/pleroma!1569
2019-08-14 19:16:52 +00:00
kaniini 1754f8ce6d Apply suggestion to lib/pleroma/web/activity_pub/publisher.ex 2019-08-14 19:05:44 +00:00
Ariadne Conill 5bb418a90d activitypub: publisher: add (request-target) to http signature when POSTing 2019-08-14 19:01:51 +00:00
Ariadne Conill 626e094589 MRF: fix up unserializable option lists in describe implementations 2019-08-14 18:54:17 +00: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 7d6f8a7fd7 Linkify custom fields values in ActivityPub.UserViewx 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
Egor Kislitsyn 88598c9baf Add profile custom fields to ActivityPub.UserView 2019-08-14 14:52:54 +07:00
kaniini 5c35d2f1d8 Merge branch 'preload-user-timelines' into 'develop'
Preload thread mutes/bookmarks in user_statuses

See merge request pleroma/pleroma!1563
2019-08-14 01:04:07 +00:00
kaniini fe42844bda Merge branch 'get-context-optimizations' into 'develop'
Preload thread mutes/bookmarks in get_context

See merge request pleroma/pleroma!1562
2019-08-14 01:03:54 +00:00
rinpatch 8202f1634a Preload thread mutes/bookmarks in user_statuses 2019-08-14 03:02:09 +03:00
rinpatch f4e087ee48 Preload thread mutes/bookmarks in get_context
Also removes filtering for creates (was done on the database side
already) and filtering for the requested activity (moved to the database
side) from application side.
2019-08-14 02:36:54 +03:00
rinpatch 9ef31767f2 Merge branch 'feature/mrf-vocabulary' into 'develop'
MRF Vocabulary

See merge request pleroma/pleroma!1559
2019-08-13 22:51:15 +00:00
Ariadne Conill abfbcfdcb3 mrf_vocabulary: add describe API support 2019-08-13 22:39:26 +00:00
Ariadne Conill 4244e17de0 fix credo 2019-08-13 22:36:24 +00:00
Ariadne Conill c574b7a1fc MRF: add describe() to all modules, add base MRF configuration to base describe() 2019-08-13 22:08:58 +00:00
Ariadne Conill 694bc43123 MRF: add describe() for gathering and describing the MRF configuration 2019-08-13 21:26:24 +00:00
Maksim fea4d89e9f tests for Web/ActivityPub/Relay 2019-08-13 21:12:59 +00:00
Ariadne Conill 3fdbeb7087 MRF: add vocabulary policy module 2019-08-13 20:55:38 +00: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
Ariadne Conill 9cfc289594 MRF: ensure that subdomain_match calls are case-insensitive 2019-08-10 21:19:26 +00:00
Sergey Suprunenko af4cf35e20 Strip internal fields including likes from incoming and outgoing activities 2019-08-10 18:47:40 +00:00
Maxim Filippov dfae61c25c Fix deactivated user deletion 2019-08-09 23:05:28 +03:00
Ivan Tashkinov 267262491e Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-09 20:09:56 +03:00
Ivan Tashkinov b7fad8d395 [#1149] Oban jobs implementation for :federator_incoming and :federator_outgoing queues. 2019-08-09 20:08:01 +03:00
rinpatch 4f1b9c54b9 Do not rembed the object after updating it 2019-08-07 01:02:29 +03:00
rinpatch 73d8d5c49f Stop depending on the embedded object in restrict_favorited_by 2019-08-07 00:12:42 +03:00
Sergey Suprunenko e8ad116c2a Do not add the "next" key to likes.json if there is no more items 2019-08-04 17:13:06 +00:00
kaniini 86fffe9c27 Merge branch 'patch-2' into 'develop'
Add preferredUsername to service actors so Mastodon can resolve them

See merge request pleroma/pleroma!1526
2019-08-03 18:55:09 +00:00
Thibaut Girka 1fce56c7df Refactor 2019-08-03 18:37:20 +00:00
Thibaut Girka 16cfb89240 Only add `preferredUsername` to service actor json when the underlying user actually has a username 2019-08-03 18:28:08 +00:00
Sergey Suprunenko 8b2fa31fed Handle MRF rejections of incoming AP activities 2019-08-03 18:12:38 +00:00
Thibaut Girka a187dbb326 Add preferredUsername to service actors so Mastodon can resolve them 2019-08-03 17:24:57 +00:00
Ivan Tashkinov 23d279e03e [#1149] Replaced RetryQueue with oban-based retries. 2019-08-01 17:28:00 +03: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 41e0304757 Merge branch 'develop' into feature/hide-follows-remote 2019-07-25 18:43:30 +03:00
Maxim Filippov f46805bb40 Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-24 02:42:28 +03:00
Maxim Filippov 03471151d6 AdminAPI: Add "godmode" while fetching user statuses (i.e. admin can see private statuses) 2019-07-24 01:51:36 +03:00
Maksim c49a09ed88 tests for Pleroma.Web.ActivityPub.Publisher 2019-07-23 19:15:48 +00:00
Alexander Strizhakov b70e659304 Feature/1087 wildcard option for blocks 2019-07-22 14:33:58 +00:00
Ariadne Conill 56019d53a8 activitypub: publisher: align sharedinbox usage with AP specification rules
While debugging the follow breakage, I observed that our sharedInbox usage
did not match the rules in the specification.  Accordingly, I have better
aligned our usage of sharedInbox with the rules outlined in the ActivityPub
specification.
2019-07-22 02:38:31 +00:00
rinpatch 196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
Ariadne Conill cf9cb953d5 activitypub: represent internal fetch actor 2019-07-17 17:34:57 +00:00
Ariadne Conill d930e5d5c3 activitypub: introduce internal fetch service actor 2019-07-17 17:14:08 +00:00
Ariadne Conill a9d6a12bb3 activitypub: controller: rework the way the relay actor is presented so the code can be reused 2019-07-17 16:33:08 +00:00
Ariadne Conill 4885473be2 user: refactor get_or_create_instance_user() into get_or_create_service_actor_by_id() 2019-07-17 16:03:05 +00:00
RX14 96a2890a9e
Add MRF MentionPolicy for dropping posts which mention specific actors 2019-07-17 15:16:55 +01:00
Egor Kislitsyn 70439494af Fix typo 2019-07-16 14:56:07 +07:00
Maksim c32384c1ea tests for Pleroma.Signature 2019-07-15 13:01:22 +00:00
Egor Kislitsyn de13c9bb8f List messages must be visible for mentioned users 2019-07-15 14:54:40 +07:00
Egor Kislitsyn d86a97abfb Add an explanation comment to Publisher.publish/2 2019-07-15 14:20:31 +07:00
Egor Kislitsyn 64a946643e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-07-15 14:11:54 +07:00
Ariadne Conill 739bbe0d3b security: detect object containment violations at the IR level
It is more efficient to check for object containment violations at the IR
level instead of in the protocol handlers.  OStatus containment is especially
a tricky situation, as the containment rules don't match those of IR and
ActivityPub.

Accordingly, we just always do a final containment check at the IR level
before the object is added to the IR object graph.
2019-07-14 17:47:08 +00:00
rinpatch 0c2dcb4c69 Add follow information refetching after following/unfollowing 2019-07-14 01:58:39 +03:00
rinpatch 183da33e00 Add tests for fetch_follow_information_for_user and check object type
when fetching the page
2019-07-14 00:56:02 +03:00
rinpatch d06d1b751d Use atoms when updating user info 2019-07-14 00:21:35 +03:00
rinpatch e5b850a991 Refactor fetching follow information to a separate function 2019-07-13 23:56:10 +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
rinpatch 97b79efbcd ActivityPub Controller: Actually pass for_user to following/followers
views and give 403 errors when trying to request hidden follower pages
when unauthenticated
2019-07-12 20:54:20 +03:00
rinpatch 1f6ac7680d ActivityPub User view: Following/Followers refactoring
- Render the collection items if the user requesting == the user
rendered
- Do not render the first page if hide_{followers,follows} is set, just
give the URI to it
2019-07-12 19:41:55 +03:00
Egor Kislitsyn 9e06873d58 Add `list` to Visibility 2019-07-11 19:29:24 +07:00
Egor Kislitsyn 958fb9aa80 Add "listMessage" 2019-07-11 16:36:08 +07: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
Alex S f8786fa6f2 adding following_address field to user 2019-07-10 17:42:18 +03:00
Egor Kislitsyn 5104f65b69 Wrap error messages into gettext helpers 2019-07-10 18:10:09 +07:00
Sergey Suprunenko 2d2b50ccca Send and handle "Delete" activity for deleted users 2019-07-10 05:16:08 +00:00
feld 93a0eeab16 Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
Maksim bb8065a1fd tests MRF filters 2019-07-10 05:12:21 +00:00
Haelwenn 95c085174d Merge branch 'test-speedup' into 'develop'
Testing: Don't federate in testing.

See merge request pleroma/pleroma!1391
2019-07-09 15:35:28 +00:00
lain abe2e8881f Testing: Don't federate in testing. 2019-07-09 15:30:51 +09: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
William Pitcock 034986e1fd MRF: add mediaproxy warming policy 2019-06-28 23:19:20 +00:00
Sergey Suprunenko 2c63c67512 Rework user deletion 2019-06-24 18:59:12 +00:00
Eugenij f2c03425b0 Broadcast conversation update when DM is deleted 2019-06-24 07:14:04 +00:00
William Pitcock 127a5a7d65 change the anti-link-spam MRF implementation to use old_user? instead of the previous name 2019-06-21 22:27:14 +00:00
William Pitcock 21dacd4b15 unbreak polls 2019-06-19 16:33:49 +00:00
William Pitcock 736d8ad6be implement anti link spam MRF 2019-06-19 15:58:32 +00:00
Alexander Strizhakov c2ca1f22a2 it is changed in compile time
we can't change module attributes and endpoint settings in runtime
2019-06-14 15:45:05 +00: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 ad19bfc7fe Utils: Split update_follow_state and update_follow_state_for_all. 2019-06-05 16:43:35 +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 6ba9055b51 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-05 12:54:30 +07:00
Maksim Pechnikov 1e7bb69a95 update ActivityPub#fetch_activities_query 2019-06-04 15:21:18 +03:00
Maksim Pechnikov d3d1704e84 Merge branch 'develop' into issue/941 2019-06-04 15:06:58 +03:00
Maksim Pechnikov 0acfcf6c52 update ActivityPub#fetch_activities_query 2019-06-04 15:04:36 +03:00
rinpatch 29b022bb59 Restrict `get_existing_votes` to only get Create activities 2019-06-04 12:42:10 +03:00
Egor Kislitsyn 9ce928d823 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-06-04 16:28:23 +07:00
William Pitcock 37a4ba0624 utils: access inReplyTo as an explicit string when fetching poll results` 2019-06-04 08:45:03 +00:00
Maksim Pechnikov 4f2e359687 Merge branch 'develop' into issue/941 2019-06-04 09:49:08 +03:00
kaniini 9f0d0d0805 Merge branch 'feature/mrf-subchain' into 'develop'
MRF: subchain policy

See merge request pleroma/pleroma!1233
2019-06-04 05:49:54 +00:00
Maksim Pechnikov 080e1aa70e add option skip_thread_containment 2019-06-03 16:13:37 +03:00
rinpatch 026b245dbc Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 11:14:52 +03:00
rinpatch 5bd41fef8b Change query order in fetch_activities_for_context_query to make poll vote exclusion work 2019-06-03 10:58:37 +03:00
William Pitcock 561a21986d formatting 2019-06-02 10:29:15 +00:00
William Pitcock 4087ccdab8 mrf: add subchain policy 2019-06-02 10:07:42 +00:00
William Pitcock edf772d41e mrf: allow a policy chain to be specified when filtering 2019-06-02 09:44:42 +00:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
rinpatch 300d94c628 Add poll votes
Also in this commit by accident:
- Fix query ordering causing exclude_poll_votes to not work
- Do not create notifications for Answer objects
2019-06-01 16:17:46 +03:00
kaniini e706b42f51 Merge branch 'bugfix/visibility-indicator-litepub-dm' into 'develop'
visibility: if litepub:directMessage is asserted, always report the object as "direct" visibility

See merge request pleroma/pleroma!1230
2019-06-01 03:39:13 +00:00
Sergey Suprunenko 2bbc2a801f Remove all follower collections but actor's from "cc" 2019-06-01 03:26:45 +00:00
William Pitcock f2efe24cf8 visibility: if litepub:directMessage is asserted, always report the object as "direct" visibility 2019-06-01 03:24:08 +00:00
lambda 2993361075 Merge branch 'hotfix/leaking-lists' into 'develop'
Mastodon API: Fix lists leaking private posts

See merge request pleroma/pleroma!1222
2019-05-31 13:26:48 +00:00
rinpatch d9c0650ff9 Mastodon API: Fix lists leaking private posts
Our previous list visibility resolver grabbed posts if either follower
collection of the user in a list who is followed is in `to` or if
follower collection of the user in a list was in `cc`. This not only
missed unlisted posts but also lead to leaking private posts when
`fix_explicit_addressing` mistakingly started putting follower collections
to `cc` (also fixed in this MR).

Reported by @kurisu@iscute.moe via a DM
2019-05-31 15:25:17 +03: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
Egor Kislitsyn 99f70c7e20 Use Pleroma.Config everywhere 2019-05-30 15:33:58 +07:00
lambda 5bb843ceec Merge branch 'refactor/die-httpoison-die' into 'develop'
remove @httpoison, @ostatus and @websub compile-time constants

See merge request pleroma/pleroma!1203
2019-05-26 13:33:11 +00:00
William Pitcock 79503ce90f mrf: simple policy: fix matching imported activitypub and ostatus statuses 2019-05-26 02:01:24 +00:00
William Pitcock 9bec891eb4 kill @httpoison 2019-05-25 04:24:21 +00:00
Egor Kislitsyn f333041a0a Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-24 21:05:57 +07:00
rinpatch 8b2d39c1ec Change the order of preloading when fetching activities for context 2019-05-23 14:03:16 +03:00
William Pitcock baf72d6c58 mrf: simple policy: add the ability to strip avatars and banners from user profiles 2019-05-22 18:53:12 +00:00
William Pitcock 60f882b09f activitypub: run user objects through MRF filters 2019-05-22 18:53:12 +00:00
William Pitcock 75b6c4b004 mrf: defang policy modules for filtering user profile objects 2019-05-22 18:53:12 +00:00
rinpatch ac7702f800 Exclude Answers from fetching by default 2019-05-22 21:52:12 +03:00
rinpatch 19c90d47c4 Normalize poll votes to Answer objects 2019-05-22 21:17:57 +03:00
William Pitcock 045803346d move key generation functions into Pleroma.Keys module 2019-05-22 03:58:15 +00:00
rinpatch ee68244141 Do not stream out poll replies 2019-05-21 16:58:15 +03:00
rinpatch d7c4d029c8 Restrict poll replies when fetching activiites for context 2019-05-21 14:35:20 +03:00
rinpatch aafe30d94e Handle poll votes 2019-05-21 14:12:10 +03:00
Aaron Tinio eb02edcad9 Add virtual :thread_muted? field
that may be set when fetching activities
2019-05-21 00:35:46 +08:00
Aaron Tinio 2375e9a95b Add report filtering to MRF.SimplePolicy 2019-05-20 06:02:50 +08:00
rinpatch 6430cb1bf7 Restrict poll replies from fetch queries by default 2019-05-19 17:44:18 +03:00
rinpatch 5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
William Pitcock 78588dbd80 mrf: simple policy: mark all posts instead of posts with media as sensitive if they match media_nsfw 2019-05-17 18:49:10 +00:00
Egor Kislitsyn 3b71612d3d Improve Pleroma.Web.ActivityPub.ActivityPub.maybe_update_cc/3 2019-05-18 01:17:14 +07: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
Aaron Tinio 70235ce840 Fix typo: s/"tags"/"tag"/g 2019-05-17 09:02:34 +08:00
Sergey Suprunenko e2b3a27204 Add Reports to Admin API 2019-05-16 19:09:18 +00:00
feld e190b3022b Merge branch 'fix/domain-unblocked-reblogs' into 'develop'
Fix domain-unblocked reblogs

Closes #892

See merge request pleroma/pleroma!1157
2019-05-16 18:57:14 +00:00
Mark Felder ebb0482116 Merge branch 'develop' into conversations-import 2019-05-16 13:11:17 -05:00
Egor Kislitsyn fc7246d715 Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-16 17:54:24 +07:00
Aaron Tinio 793f1834d2 Use named binding to conditionally join object 2019-05-16 06:25:14 +08:00
Aaron Tinio 2b6119dfbf Restrict reblogs of activities from blocked domains 2019-05-16 05:53:51 +08:00
rinpatch 62e42b03ab Handle incoming Question objects 2019-05-15 20:10:16 +03:00
William Pitcock a591ab6112 activity pub: remove Ecto SQL query dumps 2019-05-15 16:56:46 +00:00
William Pitcock 31db31c587 activitypub: visibility: use SQL thread_visibility() function instead of manually walking the thread 2019-05-15 15:54:10 +00:00
William Pitcock de114ffbb0 activitypub: remove contain_timeline() 2019-05-15 15:53:06 +00:00
William Pitcock 0387f52138 activitypub: add restrict_thread_visibility() 2019-05-15 15:53:06 +00:00
lain f168a1cbdc Merge remote-tracking branch 'origin/develop' into conversations-import 2019-05-15 17:47:29 +02:00
lambda 4440e23547 Merge branch 'chore/extricate-http-signatures' into 'develop'
switch to pleroma/http_signatures library

See merge request pleroma/pleroma!1155
2019-05-15 15:37:31 +00:00
lain cbb3451023 CommonAPI: Refactor visibility, forbid public to private replies. 2019-05-15 16:30:08 +02:00
Egor Kislitsyn a7a8f3bc2c Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-15 14:31:24 +07:00
William Pitcock 071f78733a switch to pleroma/http_signatures library 2019-05-14 20:03:13 +00:00
lambda 692919c7d2 Merge branch 'refactor/use-job-queue-everywhere' into 'develop'
use job queue everywhere

Closes #862

See merge request pleroma/pleroma!1142
2019-05-14 15:27:34 +00:00
Egor Kislitsyn e82e73478e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-05-14 19:00:07 +07:00
Egor Kislitsyn 5e2b491276 Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-14 18:15:56 +07:00
Mark Felder 498bfdf403 Switch to Jason over Poison 2019-05-13 15:37:38 -05:00
William Pitcock 57d11ac9db activitypub: move post rich media fetching to job queue 2019-05-13 19:36:00 +00:00
Egor Kislitsyn 23276e8d68 Use pseudo ap id of a list in BCC 2019-05-13 16:15:14 +07:00
William Pitcock 44b182732e nodeinfo: gather supported protocol names from federation modules 2019-05-12 19:15:29 +00:00
William Pitcock 28f7f4c6de webfinger: build the response based on enabled federation modules 2019-05-12 19:05:03 +00:00
William Pitcock c23276a59a activitypub: publisher: fixups 2019-05-12 05:04:24 +00:00
William Pitcock 85377c0b67 federator: move activitypub relaying to the AP publisher module 2019-05-12 05:04:16 +00:00
William Pitcock ef1f9e8d4e activitypub: split out outgoing federation into a federation module 2019-05-12 05:04:11 +00:00
lain a33bec7d58 Conversations: Import order, import as read. 2019-05-09 16:39:28 +02:00
lain e6d7f8d223 Credo fixes. 2019-05-08 18:19:20 +02:00
lain a4598b5e8b Visibility: Make it more resilient. 2019-05-08 18:08:50 +02:00
lain 920bd47055 ActivityPub: Remove leftover printf debugging. 2019-05-08 17:40:24 +02:00
lain fcf2f38d20 Conversations: Add a function to 'import' old DMs. 2019-05-08 17:37:00 +02:00
kaniini 14deed7f7d Merge branch 'refactor/preload-bookmarks-with-activities' into 'develop'
Optimize bookmarks by preloading them with activities

Closes #861

See merge request pleroma/pleroma!1121
2019-05-07 19:37:41 +00:00
William Pitcock 6020ff3fb6 activitypub: add optional order constraint to timeline query builder 2019-05-07 19:33:22 +00:00
rinpatch 4c5125dedc Remove `bookmarks` assoc and add a fake `bookmark` assoc instead 2019-05-07 19:33:22 +00:00
rinpatch f841eb7cdb Preload bookmarks wherever the object is preloaded 2019-05-07 19:33:22 +00:00
kaniini a1a0df19c4 Merge branch 'docs/MRF-modules' into 'develop'
Documentation: MRF Modules

See merge request pleroma/pleroma!1122
2019-05-07 16:15:27 +00:00
lambda 238dd72fad Merge branch 'conversations_three' into 'develop'
Conversations once more.

See merge request pleroma/pleroma!1119
2019-05-07 14:43:21 +00:00
Egor Kislitsyn 1557b99beb Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-07 16:51:11 +07:00
Haelwenn (lanodan) Monnier e41a2f98d5
mrf/tag_policy.ex: Add some documentation
mrf_tag:disable-remote-subscription exact way of working is quite
unclear to me. Is it the requester that is denied if they have a tag,
or is it the requestee if they have one?
2019-05-06 04:53:11 +02:00
Haelwenn (lanodan) Monnier af62ace954
Add short documentation on every MRF Policy 2019-05-06 04:49:50 +02:00
Haelwenn (lanodan) Monnier 2f76a40d02
formatter.ex: Add get_emoji_map/1 2019-05-03 16:27:50 +02:00
lain 81d1aa424d Streamer: Stream out Conversations/Participations. 2019-05-03 13:39:14 +02:00
lain 45f790becc Merge remote-tracking branch 'origin/develop' into conversations_three 2019-05-01 18:40:41 +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
rinpatch ce4825c1dc Do not normalize objects in stream_out unless the activity type is
Create

Saves quite a bit of time with delete activities because they would
always query the db
2019-04-30 20:21:28 +03:00
Egor Kislitsyn c157e27a00 Merge branch 'develop' into feature/disable-account 2019-04-25 13:41:10 +07:00
William Pitcock 0fd0ffcd76 activitypub: transmogrifier: send reject follow if following does not succeed 2019-04-25 00:48:45 +00:00
rinpatch d21d921def Replace Object.normalize(activity.data[object] with Object.normalize(acitivty) to benefit from preloading 2019-04-22 11:27:29 +03:00
Egor b9cdf6d3b9 Use `User.get_cached*` everywhere 2019-04-22 07:20:43 +00:00
Egor Kislitsyn e8c2f9a73a Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-04-22 13:08:30 +07:00
Roman Chvanikov 24073f829f Refactor query to return only 1 message instead of 20 2019-04-21 00:40:41 +07:00
kaniini 9da8b287f8 Merge branch 'feature/database-compaction' into 'develop'
database compaction

See merge request pleroma/pleroma!473
2019-04-19 16:55:33 +00:00
rinpatch f9865cf943 Stream out deletes, mistakingly removed when resolving merge conflicts 2019-04-19 00:47:02 +03:00
rinpatch 83589ca6a5 Merge branch 'develop' into feature/database-compaction 2019-04-18 12:56:38 +03:00
rinpatch 6069d0fd36 Fix object search depending on embeded object 2019-04-18 09:28:20 +03:00
rinpatch e31a22043b Fix media timeline depending on embeded object and add some guards 2019-04-18 08:31:08 +03:00
rinpatch 2abc09570f Use the preloaded object in tag queries 2019-04-18 01:37:04 +03:00
William Pitcock 36f78c6dcd activitypub: fix filtering of boosts from blocked users 2019-04-17 22:27:59 +00:00
William Pitcock 2140e164d7 activitypub: properly filter out transitive activities concerning blocked users 2019-04-17 20:05:09 +00:00
rinpatch 35ac672b8d Remove containment tests from transmogrifier and fix thread visibility solver 2019-04-17 17:59:15 +03:00
rinpatch 8e4d950f31 Remove updating reply count for embeded objects 2019-04-17 15:54:09 +03: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
William Pitcock 750b369d04 activitypub: allow indirect messages from users being followed at a personal inbox 2019-04-16 18:31:12 +00:00
rinpatch 5d73dca064 Remove inReplyToStatusId 2019-04-15 11:50:36 +03:00
lambda 184ae60b21 Merge branch 'bugfix/pleroma-email-naming' into 'develop'
Make the filename and module name of Pleroma.Emails.* orthogonal

See merge request pleroma/pleroma!1029
2019-04-12 10:41:09 +00:00
lambda 0a09692c7d Merge branch 'features/mastoapi/2.6.0-min_id-pagination' into 'develop'
Features: mastoapi-2.6.0 `min_id` pagination

Closes #351

See merge request pleroma/pleroma!976
2019-04-12 09:34:12 +00:00
Egor Kislitsyn db4badc6aa move user disable into deactivation 2019-04-11 17:22:42 +07:00
Egor Kislitsyn 0f2f7d2cec Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-04-11 15:51:52 +07:00
lain 280172f6f6 Conversations: Create or bump on inserting a dm. 2019-04-10 16:33:45 +02:00
Haelwenn (lanodan) Monnier cae0231731
s/Pleroma.AdminEmail/Pleroma.Emails.AdminEmail/ 2019-04-10 06:33:20 +02:00
Haelwenn (lanodan) Monnier 1791ee8ec4
s/Pleroma.Mailer/Pleroma.Emails.Mailer/ 2019-04-10 06:33:19 +02: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
lambda e19590c93f Merge branch 'improve_upgrade_user_from_ap_id' into 'develop'
Improve Transmogrifier.upgrade_user_from_ap_id/2

See merge request pleroma/pleroma!1019
2019-04-08 11:42:20 +00:00
Alexander Strizhakov 36c0a10fdf adding language tag 2019-04-08 11:03:10 +00:00
Egor Kislitsyn cfa6e7289f Improve Transmogrifier.upgrade_user_from_ap_id/2 2019-04-04 16:10:43 +07:00
Haelwenn 0cb94cfa94 Merge branch 'fix-slow-relationships' into 'develop'
ActivityPub Utils: Greatly speed up the follow / block activity fetching.

See merge request pleroma/pleroma!1011
2019-04-02 18:43:48 +00:00
lambda a79ce94dd4 Merge branch 'feature/fake-statuses' into 'develop'
Add fake status submit

See merge request pleroma/pleroma!995
2019-04-02 14:17:43 +00:00
lain 39bcf93007 Merge remote-tracking branch 'origin/develop' into fix-slow-relationships 2019-04-02 16:10:38 +02:00
lain fd07745d1b ActivityPub Utils: Greatly speed up the follow / block activity fetching. 2019-04-02 16:08:55 +02:00
Egor Kislitsyn 4212527928 change `Repo.get(Activity, id)` => `Activity.get_by_id(id)` 2019-04-02 16:50:31 +07:00
rinpatch fe5145eeaa Move putting fake attribute to lib/pleroma/web/activity_pub/utils.ex 2019-04-01 12:25:53 +03:00
rinpatch 975482f091 insert object defaults for fake activities and make credo happy 2019-04-01 12:16:51 +03:00
rinpatch d866b59eea oof 2019-04-01 11:58:08 +03:00
rinpatch 45ba10bf47 Fix the issue with HTML scrubber 2019-04-01 11:55:59 +03:00
rinpatch cd387f8693 Add a fake option to lazy_put_actvity_defaults 2019-03-30 13:57:54 +03:00
rinpatch 1bb4d5d65b Implement fake status submit 2019-03-29 21:59:04 +03:00
Haelwenn (lanodan) Monnier 6f15224053
activity_pub.ex: Move limit/max_id restrictions to Pagination helpers 2019-03-28 17:18:59 +01:00
rinpatch ce6d64bbd8 Fix missing announces in MastoAPI home timeline
Closes #762
2019-03-27 12:28:53 +03:00
lambda ff3b09f6b3 Merge branch 'fix/ap-icon' into 'develop'
Do not federate instance avatar

Closes #759

See merge request pleroma/pleroma!977
2019-03-26 16:12:50 +00:00
lain 10a7a4a868 AP UserView: Refactor banner / avatar display code, add test. 2019-03-26 16:59:28 +01:00
eugenijm 568e348588 Increment replies_count on replies (MastoAPI) 2019-03-26 15:27:04 +03:00
Mark Felder c410296120 Try sending an empty map 2019-03-25 19:00:35 -05:00
Mark Felder 6f090f981b Attempt to fix incorrect federation of default instance avatars 2019-03-25 18:47:04 -05:00
rinpatch 750de7d842 Merge branch 'features/mrf-keyword-nil-summary' into 'develop'
mrf/keyword_policy.ex: Fix when summary == nil, do not whitelist content == nil

See merge request pleroma/pleroma!968
2019-03-24 15:02:13 +00:00
Haelwenn (lanodan) Monnier eab9425cc4
mrf/keyword_policy.ex: Fix when summary == nil, do not whitelist content == nil 2019-03-24 15:47:50 +01:00
William Pitcock 8c70156157 activitypub: object view: use preloaded object when possible 2019-03-23 03:05:14 +00:00
William Pitcock ce47eb8b29 activitypub: when fetching objects, use the preloaded object from the synthesized activity 2019-03-23 03:05:10 +00:00
William Pitcock 4cedf45423 relay: use preloaded object since we always have it 2019-03-23 02:28:56 +00:00
William Pitcock 73efe95368 activitypub: allow skipping preload in some cases (like certain tests where the preload is obnoxious) 2019-03-23 01:09:12 +00:00
William Pitcock ba7299fc87 activitypub: add missing with_preloaded_object() 2019-03-23 00:53:35 +00:00
William Pitcock e4307cadc8 activitypub: splice in the child object if we have one 2019-03-23 00:40:08 +00:00
William Pitcock 9aea7cc224 activitypub: preload child objects when fetching timelines 2019-03-23 00:10:17 +00: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
kaniini 6d6f48d079 Merge branch 'feature/federated-flags' into 'develop'
Federated reports

See merge request pleroma/pleroma!935
2019-03-16 19:27:56 +00:00
Karen Konou d8244c2a1b remove unused function 2019-03-15 15:03:03 +01:00
Karen Konou 15b21d1983 refactor filtering mechanism 2019-03-15 14:18:53 +01:00
Karen Konou c8f31e0bc2 Implement mastodon's reblog hiding feature 2019-03-15 14:18:21 +01:00
William Pitcock 423fd07928 activitypub: inject to/cc fields on non-forwarded reports since Flag activities are now Forwardable 2019-03-14 19:52:08 +00:00
William Pitcock 5c7b774f09 reports: unify sending e-mail for both remote and local reports 2019-03-14 19:44:08 +00:00
William Pitcock 64b0120d67 activitypub: add support for forwarding reports 2019-03-14 19:36:17 +00:00
William Pitcock 379442ad17 activitypub: utils: also match Activity objects 2019-03-14 19:29:04 +00:00
William Pitcock 0f3ecb2bfb activitypub: transmogrifier: accept remote Flag activities 2019-03-14 19:06:02 +00:00
William Pitcock f86f7dbb8f activitypub: utils: rework make_flag_data to accept either activity payloads or IRIs 2019-03-14 19:05:42 +00:00
rinpatch 34fc0dca2e Merge branch 'hotfix/delete-activities' into 'develop'
Fix delete activities not federating

See merge request pleroma/pleroma!933
2019-03-14 17:49:00 +00:00
rinpatch e630e5e135 Fix delete activities not federating 2019-03-14 20:43:14 +03:00
Haelwenn (lanodan) Monnier 23960309a0
[Credo] Change quoted string with 3+ quotes to sigils 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier c42d34b2ec
[Credo] fix Credo.Check.Readability.MaxLineLength 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier c3d41b2b6e
[Credo] make all variables use snake_case 2019-03-13 04:26:56 +01:00
Haelwenn (lanodan) Monnier fb82f6fc7c
[Credo] Remove parentesis on argument-less functions 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
kaniini 130fc9eae6 Merge branch 'fetch-posts-on-first-federation' into 'develop'
Fetch user's outbox posts on first federation with that user

Closes #131

See merge request pleroma/pleroma!907
2019-03-08 22:33:31 +00:00
Ekaterina Vaartis 5021b7836f Fetch user's outbox posts on first federation with that user 2019-03-08 16:27:56 +03:00
William Pitcock e53a9fd15e MRF: anti followbot: gracefully handle accounts without a display name 2019-03-07 12:13:48 +00:00
rinpatch 992145e64c Merge branch 'bugfix/delete-activity-audience' into 'develop'
expand the audience of delete activities to all recipients of the deleted object

Closes #682

See merge request pleroma/pleroma!891
2019-03-07 11:31:08 +00:00
Karen Konou c2faae70df Adjust delete activity audience to match the deleted object 2019-03-07 12:26:03 +01:00
Karen Konou 6a69ece437 Revert existing object check 2019-03-07 11:53:15 +01:00
Karen Konou 28d5b40d0a Add handling of objects not in database 2019-03-05 23:15:22 +01:00
rinpatch 33c614bce0 Stop adresssing like activities to actor's follower collection on non-public posts 2019-03-04 18:09:58 +03:00
Egor Kislitsyn eb84de0143 allow users to disable their own account 2019-03-04 19:55:11 +07:00
Karen Konou 1445dc25d4 fix format 2019-03-04 11:18:45 +01:00
Karen Konou aab86698a5 Expand "to" of delete activities 2019-03-04 11:18:45 +01:00
kaniini c93479c6f5 Merge branch 'count-only-public-statuses' into 'develop'
Increment user note count only on public activities #703

See merge request pleroma/pleroma!884
2019-03-03 15:49:19 +00:00
eugenijm d5418e9ff7 Remove follow_request_count as it's not needed for FE anymore.
MastoFE uses `GET /api/v1/follow_requests` and PleromaFE uses
`GET /api/pleroma/friend_requests` which they query on the initial page
load.
2019-03-03 18:42:27 +03:00
lambda 9b63fda9c7 Merge branch 'fix/dont-show-dms-in-mentions-timeline' into 'develop'
[#675] Do not show DMs in mentions timeline

See merge request pleroma/pleroma!877
2019-03-03 11:13:59 +00:00
eugenijm c46950d3b1 Increment user note count only on public activities 2019-03-03 14:08:43 +03:00
William Pitcock 689b0730f8 activitypub: fix date header format
HTTP date header specification says that days must always be two-digit.
Accordingly, change the format string used to ensure days are always
represented as two-digit (e.g. 01).
2019-03-01 12:22:45 +00:00
rinpatch 1341ee650e [#675] Do not show DMs in mentions timeline 2019-03-01 09:37:29 +03:00
lain c4235f96bd Add `with_muted` param. 2019-02-27 16:37:42 +01:00
lain 9e0686efa6 Move visibility into own module. 2019-02-22 13:29:52 +01:00
lain 62296f5a25 Fix private post card handling. 2019-02-22 12:02:51 +01:00
KZ 7c722c08f5 Fix: Fixing an outbox related bug when local user activity is empty 2019-02-22 04:37:48 +00:00
William Pitcock f8a72f2997 activitypub: sign http date header 2019-02-21 00:23:17 +00:00
Egor bff9eb5ef7 Reports 2019-02-20 16:51:25 +00:00
Ekaterina Vaartis 5a46d37af9 Update the mute implementation to the current codebase
Make it part of the info thing (and do a migration to ensure it's there)
2019-02-19 23:09:16 +03:00
Ekaterina Vaartis f41f017bbc Implement muting, add it to the mastodon API 2019-02-19 21:49:55 +03:00
lambda f25a3f4f78 Merge branch 'fix/check-follower-collection-in-is_private' into 'develop'
properly check for follower address in is_private?

See merge request pleroma/pleroma!841
2019-02-19 14:08:19 +00:00
rinpatch 96dcacade1 properly check for follower address in is_private? 2019-02-19 13:23:13 +03:00
kaniini 833161b5d2 Merge branch 'feature/jobs' into 'develop'
Job Queue

See merge request pleroma/pleroma!732
2019-02-18 19:43:06 +00:00
kaniini cd019a5927 Merge branch 'follow-request-count' into 'develop'
Follow request count

See merge request pleroma/pleroma!817
2019-02-18 04:01:26 +00:00
rinpatch 8f98d970c1 Fix recipient count in hellthread policy 2019-02-17 13:46:40 +03:00
rinpatch 921571c19b Merge branch 'hellthread-filter-fix' into 'develop'
Hellthread filter fix

Closes #634

See merge request pleroma/pleroma!831
2019-02-15 13:18:35 +00:00
Karen Konou c2e0a0c8d4 Readd threshold is not 0 check, optmization? 2019-02-15 14:05:20 +01:00
Karen Konou dca6bee2f7 Rename test, add check for follower collection when delisting 2019-02-15 13:43:14 +01:00
rinpatch b63a5e309d Merge branch 'bugfix/actor-containment' into 'develop'
activitypub: correctly handle bare URIs in user lookup

Closes #645

See merge request pleroma/pleroma!829
2019-02-15 12:27:03 +00:00
Karen Konou d943c90249 Add tests, change default config values, fix a bug 2019-02-15 12:47:50 +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
lambda ea2698beb7 Merge branch 'bugfix/activitypub-reserialization' into 'develop'
activitypub transmogrifier: fix reserialization edge cases

See merge request pleroma/pleroma!826
2019-02-14 19:54:16 +00:00
William Pitcock 56862f4ce1 activitypub: clean up logging statements a little 2019-02-14 19:42:33 +00:00
William Pitcock 72ba5b4ab7 activitypub: user view: formatting 2019-02-14 03:13:07 +00:00
William Pitcock 5307c211b8 activitypub: user view: report totalItems=0 for follows/followers when hidden 2019-02-14 03:10:00 +00:00
William Pitcock 6542b86292 activitypub: user view: remove totalItems from user outbox
(this is based on a counter in User.Info, but the counter is not reliable.)
2019-02-14 03:02:45 +00:00
William Pitcock ee2fa1a314 activitypub: user view: remove totalInbox from user inbox view
It is not really feasible to quickly calculate the totalItems value and
it shouldn't be trusted anyway.
2019-02-14 03:01:39 +00:00
William Pitcock 64620d8980 activitypub: user view: do not expose oAuth endpoints for instance users 2019-02-14 02:41:21 +00: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
William Pitcock 9bd6ed975e activitypub: user view: use route helpers instead of hardcoded URIs 2019-02-13 19:34:43 +00:00
William Pitcock 29e946ace4 activitypub: user view: add oauthRegistrationEndpoint to user profiles 2019-02-13 19:34:43 +00:00
William Pitcock db8abd958d activitypub: user view: fix up endpoints rendering 2019-02-13 19:34:43 +00:00
William Pitcock 90facd3598 user view: add AP C2S oauth endpoints to local user profiles 2019-02-13 19:34:43 +00:00
Karen Konou bef9b9cb66 refactored code 2019-02-13 16:23:09 +01:00
Karen Konou adcdd21f16 Merge branch 'develop' into hellthread-filter-fix 2019-02-13 16:22:14 +01:00
Karen Konou 1d727cd069 added checks for public url and follower collections 2019-02-13 00:01:34 +01:00
rinpatch 379d04692c Filter summary in keywordpolicy 2019-02-11 21:35:40 +03:00
lambda d53e36bf1e Revert "Merge branch 'object-creation' into 'develop'"
This reverts merge request !802
2019-02-11 08:07:39 +00:00
Egor Kislitsyn 305d219413 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts:
#	lib/pleroma/web/federator/federator.ex
#	lib/pleroma/web/websub/websub.ex
2019-02-11 13:54:21 +07:00
kaniini 6c8d15da11 Merge branch 'fix/credo-issues' into 'develop'
Fix credo issues

See merge request pleroma/pleroma!786
2019-02-10 20:54:21 +00:00
lain f8388be9c6 Do object insertion through Cachex
So we don't flood our postgres logs with errors. Should also make things
slightly faster.
2019-02-09 22:01:08 +01:00
Haelwenn (lanodan) Monnier 6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier d2e4eb7c74
Web.ActivityPub.ActivityPub: assign the Enum.filter to recipients & simplify it 2019-02-09 14:59:21 +01:00
Haelwenn (lanodan) Monnier 60ea29dfe6
Credo fixes: alias grouping/ordering 2019-02-09 14:59:20 +01:00
Haelwenn (lanodan) Monnier 8bcfac93a8
Make credo happy 2019-02-09 14:59:20 +01:00
rinpatch 7356659273 wow 2019-02-08 15:12:13 +03:00
rinpatch f88dec8b33 What idiot did that? (me) 2019-02-08 13:16:50 +03:00
rinpatch 6c21f5aa16 Merge branch 'develop' into feature/keyword-policy 2019-02-08 13:12:33 +03:00
rinpatch 8a0b755c19 rename ftl_removal to federated_timeline_removal to keep consistent naming with SimplePolicy 2019-02-08 13:12:09 +03:00
rinpatch 46aa8c18a2 Add keyword policy 2019-02-08 12:38:24 +03:00
Mark Felder 74518d0b60 hide_followings was renamed to hide_followers in the FE, but never synced up in the BE
This was a dirty regex replace which worked on my server
2019-02-06 22:34:44 +00:00
rinpatch f7aedbcc55 Merge branch 'fix/activitypub-user-view-badmap' into 'develop'
Fix if clause in activity_pub user_view

See merge request pleroma/pleroma!783
2019-02-06 17:47:58 +00:00
href f753043ce0
Fix if clause in activity_pub user_view 2019-02-06 18:42:19 +01:00
Egor Kislitsyn 6f05f448f8 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs 2019-02-06 11:33:00 +07:00
kaniini d120aa63f0 Merge branch 'fix-dm-index' into 'develop'
Massage index until it actually does the stuff we want.

See merge request pleroma/pleroma!772
2019-02-05 20:27:31 +00:00
kaniini 681ba1e52f Merge branch 'feature/ap-c2s-whoami' into 'develop'
activitypub: c2s: add /api/ap/whoami endpoint for andstatus

See merge request pleroma/pleroma!773
2019-02-05 20:26:31 +00:00
kaniini eb2b1960e0 Merge branch 'feature/split-hide-network-v2' into 'develop'
Split hide_network into hide_followers & hide_followings (fixed)

See merge request pleroma/pleroma!765
2019-02-05 18:56:59 +00:00
William Pitcock e71ab5a10f activitypub: transmogrifier: fix bare tags 2019-02-05 00:43:28 +00:00
William Pitcock db1165f70f activitypub: c2s: add /api/ap/whoami endpoint for andstatus 2019-02-04 22:58:29 +00:00
lain f3c8b02d65 Massage index until it actually does the stuff we want.
Also makes the index a lot smoler.
2019-02-04 23:47:29 +01:00
William Pitcock 7d110be119 activitypub: mrf: tag policy: fix force-unlisted and sandbox actions 2019-02-04 19:03:54 +00:00
William Pitcock 64a3993425 activitypub: mrf: tag policy: add support for subscription control 2019-02-04 17:48:48 +00:00
William Pitcock ff2c28fd6d activitypub: mrf: tag policy: refactor the filtering hook a bit 2019-02-04 17:06:37 +00:00
William Pitcock 9a69f08e86 activitypub: mrf: tag policy: add support for processing follow requests 2019-02-04 17:04:05 +00:00
William Pitcock 084bb8ccd5 activitypub: mrf: tag policy: implement force-unlisted and sandbox 2019-02-04 17:04:05 +00:00
William Pitcock 88e32a32ce mrf: add initial MRF.TagPolicy engine 2019-02-04 17:04:05 +00:00
Egor Kislitsyn 3a3a3996b7 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/federator/federator.ex
2019-02-04 20:50:28 +07:00
rinpatch 89762ad230 Merge branch 'feature/hellthread-filter-improvements' into 'develop'
Improve hellthread filter

Closes #584

See merge request pleroma/pleroma!766
2019-02-04 12:36:50 +00:00
Karen Konou 58262a8b8a removed a debug thingy 2019-02-04 11:22:25 +00:00
Karen Konou 4430641349 squished a bug 2019-02-04 12:09:00 +01:00
Karen Konou 3cf046babb actually commited the changes 2019-02-04 10:23:43 +01:00
Karen Konou 63a4f4b7be fixed Map,put arguments, updated nomenclature 2019-02-04 10:23:07 +01:00
Karen Konou 583c4e0f17 more tweaks, fixed silly mistakes... 2019-02-03 23:56:20 +01:00
Karen Konou e10cda7541 implemented tweaks 2019-02-03 22:46:06 +01:00
Karen Konou 531507a635 fixed things 2019-02-03 20:45:32 +01:00
Karen Konou 10130fa7d6 made toggleable, added docs 2019-02-03 20:27:28 +01:00
Karen Konou 0ef0ae35ab added optional delist feature 2019-02-03 20:12:23 +01:00
Maxim Filippov 16ce129e38 Split hide_network into hide_followers & hide_followings (fixed) 2019-02-03 21:55:04 +03:00
lambda 69a38644bc Merge branch '589-fix-cache' into 'develop'
Resolve "Update object cache on favs/boosts"

Closes #589

See merge request pleroma/pleroma!764
2019-02-03 18:19:40 +00:00
lain 505a084058 Still do caching in tests. 2019-02-03 18:28:14 +01:00
Ivan Tashkinov 3913b0196e [#582] Made single-pub task call Instance.set_reachable/1 if `set_reachable` is not specified.
Added tests.
2019-02-03 13:28:13 +03:00
Ivan Tashkinov b40b4bc4e5 [#582] Optimized federation retirement by reducing the number of SQL calls
(calling `Instances.set_reachable/1` only if instance had `unreachable_since`,
calling `Instances.set_unreachable/1` only if instance had nil `unreachable_since`).
2019-02-03 12:41:27 +03:00
kaniini 486749064f Revert "Merge branch 'feature/split-hide-network' into 'develop'"
This reverts merge request !733
2019-02-01 20:22:58 +00:00
kaniini 0a82a7e6d6 Merge branch 'feature/split-hide-network' into 'develop'
Split hide_network into hide_followers & hide_followings

See merge request pleroma/pleroma!733
2019-02-01 17:05:29 +00:00
href b3b0855456 Merge branch '534_federation_targets_reachability' into 'develop'
[#534] Unreachable federation targets retirement

Closes #534

See merge request pleroma/pleroma!703
2019-02-01 09:14:35 +00:00
Egor Kislitsyn d3677d2b4d Merge remote-tracking branch 'MAIN/develop' into feature/jobs 2019-01-31 15:07:49 +07:00
William Pitcock 57549f6043 activitypub: utils: update the state of *any* pending follow relationship that matches the actor and target 2019-01-29 12:21:02 +00:00
William Pitcock cbb2b709de activitypub: transmogrifier: fix follow request rejections 2019-01-29 11:57:46 +00:00
Ivan Tashkinov 92753b0cd9 [#534] Made federation push sender be determined basing on content instead of `referer` header. Updated tests. 2019-01-29 13:12:28 +03:00
Maxim Filippov 50d6183893 Split hide_network into hide_followers & hide_followings 2019-01-28 21:40:08 +03:00
Egor Kislitsyn 55affbca7f add a job queue 2019-01-28 22:17:17 +07:00
Ivan Tashkinov d3f9e6f6fe [#534] Merged `upstream/develop`. 2019-01-28 15:39:14 +03:00
Ivan Tashkinov 1d2f41642c [#534] Various tweaks. Tests for Instances and Instance. 2019-01-28 15:25:06 +03:00
Ivan Tashkinov 9560abea10 [#534] Refactoring / tweaks per MR review. 2019-01-28 11:03:52 +03:00
William Pitcock 91ef64a1ec activitypub: prime OGP crawler cache when new messages are inserted into the database 2019-01-28 06:07:18 +00:00
kaniini ea12371a01 Merge branch 'discard-invalid-likes' into 'develop'
Transmogrifier: fix incoming objects with invalid likes

See merge request pleroma/pleroma!724
2019-01-27 19:10:15 +00:00
href 77f2137383
Transmogrifier: fix incoming objects with invalid likes 2019-01-27 19:33:21 +01:00
kaniini 5eb81d2c72 Merge branch 'features/mastoapi-multi-hashtag' into 'develop'
MastodonAPI multi-hashtag

See merge request pleroma/pleroma!652
2019-01-27 12:45:50 +00:00
Haelwenn (lanodan) Monnier 5a84def6a6
Fix the logic in multi-hashtag TLs 2019-01-26 04:46:02 +01:00
Haelwenn (lanodan) Monnier 4ad0ad14ed
Web.ActivityPub.ActivityPub: Simplify multi-hashtag, add tests 2019-01-26 04:46:01 +01:00
Haelwenn (lanodan) Monnier 1a9bb4daa0
[Web.ActivityPub.ActivityPub]: Fix restrict_tag()
Thanks to Senko-san <kurisu@iscute.moe> for the help on array-matching
2019-01-26 04:46:01 +01:00
Haelwenn (lanodan) Monnier f9cae0d04f
[WIP,MastoAPI] Multi-tag timelines 2019-01-26 04:45:36 +01:00
Haelwenn (lanodan) Monnier 15aa45ae8a
Web.ActivityPub.ActivityPub: Fix check_remote_limit/1 against activities with content: nil 2019-01-26 03:50:49 +01:00
kaniini 4c99b6d35a Merge branch 'fix/tusky-dm' into 'develop'
Add actor to recipients list

Closes #390

See merge request pleroma/pleroma!683
2019-01-25 05:19:32 +00: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
Ivan Tashkinov 3e9399ec0b [#534] Optimized bulk publish ops to filter on reachability early. `Instance` refactoring. 2019-01-24 19:15:23 +03:00
Ivan Tashkinov 8654a591f0 [#534] Updating external instances reachability on incoming federation. 2019-01-24 17:37:23 +03:00
William Pitcock 54ec6d09b0 mrf: add anti-followbot policy 2019-01-24 09:35:19 +00:00
Ivan Tashkinov 20b54366ee [#534] Federation publish requests status control (enforced 2xx response code check). 2019-01-24 11:54:52 +03:00
Ivan Tashkinov f161a92cb1 [#534] Initial implementation of unreachable federation targets retirement. 2019-01-23 18:37:25 +03:00
lain 2de208817c Merge branch 'develop' into rename/pleroma_activity_consistency 2019-01-23 13:05:58 +01:00
href cdc5e6ff5c
ActivityPub: restrict_since/restrict_max: ignore empty param 2019-01-23 11:26:35 +01:00
href 28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
lambda 8cd853ce0c Merge branch '530_federator_user_info_overwrite_fix' into 'develop'
[#530] Prevents user `info` from being overwritten because of race conditions

Closes #530

See merge request pleroma/pleroma!691
2019-01-21 13:03:32 +00:00
lambda 69454c8345 Merge branch 'feature/dm-sanity' into 'develop'
DM sanitization

See merge request pleroma/pleroma!458
2019-01-21 12:35:10 +00:00
Ivan Tashkinov a4d3fec8a7 [#502] Code comments update. 2019-01-21 14:52:41 +03:00
Ivan Tashkinov aa480f4a8b [#530] Prevents user `info` from being overwritten because of race conditions
and non-partial update of embed (in WebFinger.ensure_keys_present and other places).
2019-01-21 14:16:51 +03: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
Haelwenn (lanodan) Monnier f8ab1b7427
Activity: get_all_by_object_ap_id/1 → get_all_create_by_object_ap_id/1 2019-01-21 08:00:38 +01:00
Haelwenn (lanodan) Monnier b82c6dc536
Activity: all_by_object_ap_id/1 → get_all_by_object_ap_id/1 2019-01-21 07:49:59 +01:00
lain cf1f35a93a Send delete event over Mastodon streaming api
Closes #116
2019-01-20 13:00:46 +01:00
William Pitcock aa37313416 activitypub: short-circuit is_public?() with directMessage flag check 2019-01-20 02:33:21 +00: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 ddae43eb43 activitypub: add is_private?/is_direct? helpers 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 8d06be35e0 activitypub: utils: add determine_explicit_mentions() and tests 2019-01-20 02:27:48 +00:00
kaniini 42612b1c8d Merge branch 'bugfix/improve-boost-targeting' into 'develop'
improve handling of non-public Announces

See merge request pleroma/pleroma!681
2019-01-19 23:44:08 +00:00
Maxim Filippov e116e55cab Add actor to recipients 2019-01-18 22:40:52 +03:00
William Pitcock 75a9b2a851 activitypub: add a match clause for objects, not just activities 2019-01-17 23:32:16 +00:00
William Pitcock dbc4e92509 activitypub: transmogrifier: do not clobber the addressing on relayed announcements 2019-01-17 23:21:31 +00:00
William Pitcock 33b473cc02 activitypub: allow is_public?() to work on any type of map representing an AS2 object 2019-01-17 23:21:31 +00:00
William Pitcock 8e9f1d5587 activitypub: relay: chase selective public announce changes 2019-01-17 23:21:31 +00:00
William Pitcock 2479e88815 activitypub: announce: add new public parameter 2019-01-17 23:21:31 +00:00
sxsdv1 948fba6f76 Fix bad link in likes collection
Don't copy and paste, mkay
2019-01-17 18:21:43 +01:00
lambda fd2f1258fb Merge branch 'load-all-dms' into 'develop'
Remove recent activity restriction.

See merge request pleroma/pleroma!644
2019-01-14 18:49:53 +00:00
kaniini fa0392e49c Merge branch 'activitypub-likes' into 'develop'
Activitypub c2s likes

See merge request pleroma/pleroma!658
2019-01-14 07:27:05 +00:00
William Pitcock 6e5b0406b9 mrf: add no placeholder-text policy, strips pointless "." content from posts with images 2019-01-14 05:42:38 +00:00
sxsdv1 868034375c Add likes to activitypub object representation
Top level of the likes OrderedCollection is inlined to get immediate
access to totalItems. Because the count can be returned without scanning
the database for like activities the extra query is saved when the
client only wants to display the total.
2019-01-12 20:24:41 +01:00
sxsdv1 581edd5a91 Add route to get object like activities 2019-01-12 20:24:38 +01:00
sxsdv1 36711e1c83 Handle client submitted activitypub like activity 2019-01-12 20:24:35 +01:00
sxsdv1 1eb7318831 Prepare all types objects before serialising
Activities returned from inbox can include other types of objects like
Article
2019-01-12 20:24:32 +01:00
kaniini e4afe1359b Merge branch 'activitypub-dereference-activity-id' into 'develop'
Support activity+json request for activity

See merge request pleroma/pleroma!641
2019-01-10 18:42:36 +00:00
kaniini 7f5efddd6e Merge branch 'feature/pinned-posts' into 'develop'
Pinned Statuses

Closes #440

See merge request pleroma/pleroma!636
2019-01-10 02:39:53 +00:00
lain 5027f82cde Add activity visibility index. 2019-01-09 16:45:09 +01:00
lain 9854978b8b Remove recent activity restriction.
This should be fine now, everything should be covered by indices.
2019-01-09 12:38:23 +01:00
sxsdv1 20c0dd1e24 Support activity+json request for activity 2019-01-09 09:33:30 +01:00
Egor Kislitsyn 380e9fba21 add pinned posts 2019-01-07 20:45:33 +07:00
sxsdv1 2d7da5f437 Don't crash on AP request for tombstone
Because tombstone objects has no addressing the is_public?-predicate
would cause an error that propagated as a 500 error in the api
2019-01-05 11:16:05 +01:00
sxsdv1 4e1cc2bab6 Implement delete activity 2019-01-01 23:20:43 +01:00
sxsdv1 551c3d9391 Split create activity specifics from update_outbox 2019-01-01 23:20:28 +01:00
lain 096a927805 Merge remote-tracking branch 'origin/develop' into pool-usage 2019-01-01 14:19:55 +01:00
lain d4799e0dc2 Remove default pool, it's used automatically anyway. 2019-01-01 13:49:24 +01:00
William Pitcock 980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
sxsdv1 f40562b4e1 Respond with full activity to outbox post 2018-12-30 12:01:39 +01:00
sxsdv1 1e781715c8 Limit activity types accepted to outbox to only 'Create' 2018-12-30 12:01:39 +01:00
sxsdv1 569bad8210 Create activity when client posts to outbox 2018-12-30 12:01:39 +01:00
sxsdv1 26dc2dddab Implement ActivityPub inbox view
More or less verbatim copied from the outbox template with only changes
to the activities fetched and url reported
2018-12-30 12:01:39 +01:00
sxsdv1 aa082ca7b6 Wire up stub routes for client calls of activitypub inbox/outbox
Code style: remove wrapping function of outbox
2018-12-29 22:22:03 +01:00
kaniini 3dc5f04976 Merge branch 'carrot-bullying' into 'develop'
Add some hard limits on inserted activities.

See merge request pleroma/pleroma!595
2018-12-29 11:46:06 +00:00
Vyr Cossont e4562105e7 Implement exclude_reblogs and include_rts 2018-12-26 21:38:00 -08:00
lain 5811e65e67 Add some hard limits on inserted activities. 2018-12-26 12:39:35 +01:00
William Pitcock 2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
William Pitcock 71f6d9f418 transmogrifier: significantly rework handling of peertube videos, add test 2018-12-23 13:31:08 +00:00
Haelwenn (lanodan) Monnier 3aff8067e4 transmogrifier: When it’s a Video move "url" to "attachment" 2018-12-23 13:00:25 +00:00
Karen Konou a7f07bb6e5 Implement kaniini's tweaks 2018-12-23 12:24:53 +01:00
Karen Konou c76179419d Renamed the things 2018-12-23 11:14:29 +01:00
Karen Konou 409ff60bf8 Fix formatting 2018-12-22 23:32:38 +01:00
Karen Konou 92362e1e22 Implement large thread filter 2018-12-22 23:18:31 +01:00
Maksim Pechnikov 074fa790ba fix compile warnings 2018-12-09 20:50:08 +03:00
kaniini abead01ab6 Merge branch 'correct-and-improve-http-options' into 'develop'
Correct and improve http options

See merge request pleroma/pleroma!505
2018-12-06 15:57:56 +00:00
kaniini b0adea30b3 Merge branch 're-mrf' into 'develop'
Add a MRF Policy for appending re: to identical subjects in replies.

See merge request pleroma/pleroma!499
2018-12-06 15:36:41 +00:00
scarlett d27e3f269f Rename regular expression 'have_re' to 'reply_prefix'. 2018-12-06 14:00:41 +00:00
scarlett 3dff61ebec Harden re: detection. 2018-12-06 13:48:12 +00:00
scarlett 6a6aaa0e1a Use object.normalize. 2018-12-06 11:37:29 +00:00
Hakaba Hitoyo a09ed0f5af avoid mix format bug 2018-12-06 18:41:29 +09:00
kaniini ccf0b46dd6 Merge branch '210_twitter_api_uploads_alt_text' into 'develop'
[#210] TwitterAPI: alt text support for uploaded images. Mastodon API uploads security fix.

See merge request pleroma/pleroma!496
2018-12-06 07:36:21 +00:00
Ivan Tashkinov 3e90f688f1 [#210] Mastodon: actor storing for media uploads, ownership check to update_media.
Refactoring.
2018-12-06 10:26:17 +03:00
Hakaba Hitoyo 96ba95df2e remove follow_redirect options 2018-12-06 11:38:33 +09:00
Hakaba Hitoyo 27792b2d77 remove pool and timeout options which duplicate with the default 2018-12-06 11:23:15 +09:00
lain 76d6b1c6ab Merge remote-tracking branch 'origin' into follower-hiding 2018-12-05 21:27:56 +01:00
Ivan Tashkinov 3b5be09f45 [#210] Stylistic change. 2018-12-05 21:48:21 +03:00
Ivan Tashkinov c4f3c5e939 [#210] Stylistic change. 2018-12-05 20:23:28 +03:00
Ivan Tashkinov 848151f7cb [#210] [TwitterAPI] Made actor be stored for uploads. Added ownership check
to `update_media` action. Added controller tests for `upload` and `update_media` actions.
Refactoring.
2018-12-05 13:37:06 +03:00
scarlett 8a1df182cf Add a MRF Policy for appending re: to identical subjects in replies. 2018-12-04 23:35:07 +00:00
kaniini 114b95cee2 Merge branch 'feature/integration_tesla' into 'develop'
[#354] Move all http interactions to Tesla

See merge request pleroma/pleroma!487
2018-12-04 18:41:00 +00:00
William Pitcock b57d83e3c9 MRF: simple policy: fix media removal 2018-12-04 18:30:01 +00:00
Maksim Pechnikov 87109482f3 status_code -> status 2018-12-04 14:04:06 +03:00
William Pitcock b3b52b58c3 activitypub: transmogrifier: remove obsolete fetch_obj_helper() 2018-12-04 04:52:09 +00:00
William Pitcock f85949cc69 object: factor out fetching functions into Pleroma.Object.Fetcher module 2018-12-04 04:52:09 +00:00
William Pitcock e8caecb5c7 object: move object containment out of transmogrifier into it's own module 2018-12-04 04:52:09 +00:00
William Pitcock 6f90f2c3ac activitypub: rework thread filtering for split object view 2018-12-04 04:52:09 +00:00
William Pitcock cf139e3eec activitypub: transmogrifier: ensure we send nested object in Create 2018-12-04 04:52:09 +00:00
William Pitcock d13d953385 activitypub: implement activity flattening 2018-12-04 04:52:09 +00:00
William Pitcock 57d90e7afe activitypub: relay: fix improper use of Object.normalize() 2018-12-04 04:52:09 +00:00
William Pitcock 4482ce7e2d activitypub: normalize objects when streaming them out 2018-12-04 04:52:09 +00:00
lain 6be0ab1e55 Hide network in ap. 2018-12-02 17:35:32 +01:00
lain c443c9bd72 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into validate-user-info 2018-12-01 09:55:46 +01:00
href b19597f602
reverse proxy / uploads 2018-11-30 18:00:47 +01:00
lain d0ec2812bd Merge remote-tracking branch 'origin' into validate-user-info 2018-11-30 17:34:20 +01:00
lain 8f1fffebc6 Fix transmogrifier test. 2018-11-30 17:31:05 +01:00
William Pitcock 8c05d19c7f MRF: add user allowlist module 2018-11-26 23:51:58 +00:00
kaniini 675653ceb7 Merge branch 'feature/admin-api' into 'develop'
Add a admin API

See merge request pleroma/pleroma!366
2018-11-22 00:28:04 +00:00
lain 0896cf4c0f Fix most mastodon api bugs. 2018-11-20 20:12:39 +01:00
lain 40d9d2098c Fix user updating from AP. 2018-11-18 22:15:03 +01:00
lain 4c918392c6 Fix most User tests. 2018-11-18 21:40:52 +01:00
William Pitcock f6be980f4f activitypub: object view: avoid leaking private details 2018-11-17 22:30:53 +00:00
William Pitcock dfcfb184b1 activitypub: transmogrifier: make deletes secure 2018-11-17 21:22:57 +00:00
Haelwenn (lanodan) Monnier 12ccf0c4f8
Change Relay from `status` to `{status, message}` 2018-11-17 22:12:13 +01:00
William Pitcock c88533209c activitypub: user fetching: use fetch_and_contain_remote_object_from_id() 2018-11-17 20:16:03 +00:00
William Pitcock daa8ec3d62 activitypub: factor out AP object fetching to it's own function and add ID-based containment 2018-11-17 20:15:59 +00:00
Haelwenn (lanodan) Monnier 265c8c5209
Pleroma.Web.ActivityPub.Relay: make {un,}follow return :ok only if it worked, :error if it didn’t 2018-11-17 20:25:56 +01:00
William Pitcock 603fccf175 activitypub: fetch_object_from_id(): prefer `actor` over `attributedTo` to avoid spoofing 2018-11-17 18:17:17 +00:00
William Pitcock 97e50f3191 activitypub: transmogrifier: sanitize internal representation details from outgoing objects
this causes JSON-LD parsers to get upset and has also lead to developer confusion from outside
projects which tried to parse our internal data.  accordingly, it seems better to just remove
it.
2018-11-10 12:24:20 +00:00
William Pitcock f8310114a6 activitypub: object view: sanitize both the activity and the object when an activity is given for rendering 2018-11-10 12:04:09 +00:00
kaniini 7daa102fa4 Merge branch 'bugfix/local-jsonld-context' into 'develop'
Host LitePub JSON-LD context locally

See merge request pleroma/pleroma!435
2018-11-10 11:37:44 +00:00
William Pitcock e4971553c7 activitypub: utils: use same object type list for mention extraction as insertion 2018-11-09 13:40:39 +00:00
William Pitcock b9871e7e5a activitypub: utils: wrap Note objects in a Create when extracting mentions 2018-11-09 09:01:40 +00:00
William Pitcock 6cadfcb21e activitypub: utils: switch to using new Notification.get_notified_from_activity(). 2018-11-09 09:01:40 +00:00
William Pitcock 6b4064fa5d activitypub: transmogrifier: unify mention extraction 2018-11-08 19:41:36 +00:00
Haelwenn (lanodan) Monnier 934125695d
Move /litepub-1.0.jsonld to /schemas/litepub-0.1.jsonld 2018-11-08 20:21:45 +01:00
William Pitcock 3e33479c05 activitypub: transmogrifier: only consider `to` users as mention targets 2018-11-08 18:58:27 +00:00
Haelwenn (lanodan) Monnier abcacec97d
Pleroma.Web.ActivityPub.Utils: Use locally-served JSON-LD Litepub context instead of Github-hosted one 2018-11-08 19:38:38 +01:00
William Pitcock da16ada424 utils: use litepub @context instead of that huge mess 2018-11-08 16:52:14 +00:00
William Pitcock f733470037 user view: unify a @context entry that was missed 2018-11-08 16:51:48 +00:00
lambda 59cf7cf235 Merge branch 'small-jsonld-refactor' into 'develop'
Small jsonld refactor

See merge request pleroma/pleroma!433
2018-11-08 16:23:58 +00:00
lain 34bd411781 Unify json ld header handling. 2018-11-08 16:39:38 +01:00
lain 3b02fd9fb7 Small refactor. 2018-11-08 16:05:28 +01:00
kaniini b451a92d78 Merge branch 'runtime-config' into 'develop'
Runtime configuration

See merge request pleroma/pleroma!430
2018-11-07 22:32:34 +00:00
href 9070588493
Runtime config: MRF changes 2018-11-07 10:40:24 +01:00
href 5bb88fd174
Runtime configuration
Related to #85

Everything should now be configured at runtime, with the exception of
the `Pleroma.HTML` scrubbers (the scrubbers used can be
changed at runtime, but their configuration is compile-time) because
it's building a module with a macro.
2018-11-06 19:41:15 +01:00
kaniini 0f3e78addb Merge branch 'runtime-router' into 'develop'
Runtime configured router

See merge request pleroma/pleroma!426
2018-11-06 15:35:19 +00:00
href 2bc924ba45
Get rid of Pleroma.Config in favor of Application
Discussed in https://git.pleroma.social/pleroma/pleroma/merge_requests/426#note_7232
2018-11-06 15:12:53 +01:00
href 6fe23c5458
Runtime configured router 2018-11-05 15:19:03 +01:00
William Pitcock 9f03b5c4f7 activitypub: transmogrifier: add support for Page objects 2018-11-01 09:59:43 +00:00
kaniini eba9a62024 Merge branch 'feature/relay-tests' into 'develop'
relay tests

See merge request pleroma/pleroma!411
2018-11-01 09:10:51 +00:00
Haelwenn 40676d7683 Merge branch 'bugfix/prismo.news_article_url' into 'develop'
Bugfix/prismo.news article url

Closes #352

See merge request pleroma/pleroma!410
2018-11-01 09:05:16 +00:00
lain 1e9ced5af4 Test Relay, switch to runtime configuration. 2018-11-01 09:01:43 +00:00
Haelwenn (lanodan) Monnier b2da5262ea
Pleroma.Web.ActivityPub.Transmogrifier: fix_url when not a string/empty
Thanks prismo.news, I hate it
2018-11-01 09:56:37 +01:00
William Pitcock 10f3958468 object: return the deleted object as well 2018-11-01 07:47:50 +00:00
William Pitcock 2bf358d7b4 activitypub: use Object.delete() instead of mutating the database and cache directly 2018-11-01 07:29:12 +00:00
scarlett b92e38d2d4 Add user reactivation task. 2018-10-29 23:13:15 +00:00
William Pitcock 167d3789a5 activitypub: upload: pass through an upload limit if one is provided 2018-10-29 16:43:05 +00:00
William Pitcock 72ea54de6e activitypub: fix possible false positives with broken thread filtering 2018-10-28 05:45:33 +00:00
William Pitcock 26eb11c172 activitypub: add support for filtering broken threads out of timelines 2018-10-26 06:16:51 +00:00
William Pitcock f6cb963df2 activitypub utils: fix recipient check when the message is unaddressed (mastodon) 2018-10-26 01:24:22 +00:00
William Pitcock ce70eb8c00 activitypub utils: fix user splicing 2018-10-25 05:24:01 +00:00
William Pitcock 2f1f1a4f30 activitypub: splice users into recipient lists when they receive messages at their personal inbox
closes #343
2018-10-25 05:02:21 +00:00
William Pitcock 5383887bd4 transmogrifier: do not try to contain origin of something which doesn't have one 2018-10-25 04:27:33 +00:00
William Pitcock a71b822013 activitypub: always track following state for async reasons 2018-10-05 23:31:00 +00:00
William Pitcock 8ce217776d activitypub transmogrifier: better manage follow state 2018-10-05 23:30:34 +00:00
William Pitcock 4db1bc2c0e activitypub: fix error condition match 2018-09-30 05:26:13 +00:00
William Pitcock 707077edde activitypub: don't fall back to OStatus fetching when MRF rejects an object 2018-09-28 00:45:10 +00:00
William Pitcock 5c312ad677 activitypub inbox: only accept unsigned/invalid-signature relayed creates, nothing else
although the previous handling assumed any unsigned/invalid signature message was a Create,
lets make it more explicit
2018-09-28 00:03:59 +00:00
Haelwenn (lanodan) Monnier c739737998
transmogrifier: get_actor called without casting attributedTo in actor and actor is nil 2018-09-27 20:00:48 +02:00
Haelwenn (lanodan) Monnier 9446b02bdf
transmogrifier: Just make attachement maps into a list and reroll 2018-09-27 20:00:48 +02:00
Haelwenn (lanodan) Monnier e53da692fb
transmogrifier: Use the correct variable and prefer inspect in case of a bad type being passed on 2018-09-27 20:00:48 +02:00
William Pitcock d830a243a3
transmogrifier: more robustly handle dereferencing pointer URIs 2018-09-27 20:00:48 +02:00
Haelwenn (lanodan) Monnier 4c3a80de96
transmogrifier: Use oneliners when applicable 2018-09-27 20:00:47 +02:00
William Pitcock ed8dfa3029
transmogrifier: reformat `cond` block by hand 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier eebe33e86a
transmogrifier: Add support for array-less hashtags, add broken announce, harden get_actor 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier f3291acc91
transmogrifier: pro-actively add support for Hashtag without array in tag 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier 22927f3a34
transmogrifier: Use a cond, add proactive support for arrays 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 0aac72f1d3
[Pleroma.Web.ActivityPub.Transmogrifier]: quick fix when tag is a Map 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 28e8a8ab36
[Pleroma.Web.ActivityPub.Transmogrifier]: fix emoji in tag when it’s not in a array [kroeg]
Also simplified the code for name trimming.

And not copying the Map.merge part as it looks buggy.
See: https://queer.hacktivis.me/objects/a9f21ebc-9a12-4a6c-89d5-3d46955c6ee8
2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier f8a0cb9c0b
[Pleroma.Web.ActivityPub.Transmogrifier]: fix when attachment contain is just a Map [kroeg] 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier a4abb124ea
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix when inReplyTo is a inlined post [kroeg] 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 523757be52
[Pleroma.Web.ActivityPub.ActivityPub]: Harden getting endpoints [kroeg] 2018-09-27 20:00:45 +02:00
William Pitcock 342ed84446 MRF: add policy for normalizing HTML markup (local and remote) to a specific policy 2018-09-16 01:25:36 +00:00
William Pitcock d3248e13e3 activitypub: transmogrifier: allow profile updates from bots 2018-09-10 01:57:03 +00:00
William Pitcock e0b8c0ccba MRF: reject non-public: use pattern match to remove unnecessary if block 2018-09-10 01:16:03 +00:00
William Pitcock 88094c266d MRF: simple policy: refactor module to use guards and pattern matching 2018-09-10 01:16:02 +00:00
William Pitcock 97253df3ee MRF: simple policy: contain media removal/nsfw ops to create activities only 2018-09-10 01:16:01 +00:00
kaniini 1c9e539b47 Merge branch 'feature/mastodon_api_2.4.x' into 'develop'
Add/Fix Mastodon endpoints for 2.4.3 compatibility

See merge request pleroma/pleroma!266
2018-09-03 12:33:36 +00:00
William Pitcock 03e92977cb transmogrifier: fix peertube/plume actor handling 2018-09-01 23:44:19 +00:00
William Pitcock 0b2c051a04 activitypub: fix possibility of spoofing by containing remote objects to the same domain as their actor 2018-09-01 23:20:02 +00:00
William Pitcock 29b5e30c46 activity: drop recipients_to/recipients_cc fields 2018-08-29 18:41:02 +00:00
William Pitcock de9acebbf3 activitypub: use jsonb query for containment instead of recipients_to/recipients_cc. 2018-08-29 18:41:02 +00:00
William Pitcock 643fae6e36 activitypub: allow querying the activity/object graph bounded to a specific to/cc set 2018-08-29 08:51:23 +00:00
William Pitcock 81673b8136 activity: add recipients_to and recipients_cc fields 2018-08-29 08:42:33 +00:00
Haelwenn (lanodan) Monnier 97e20d2932
[MastodonAPI] the tag field isn’t fixed to a static type in pleroma 2018-08-27 15:08:25 +02:00
Haelwenn (lanodan) Monnier 83efaa3af6
[MastodonAPI] Add streaming of hashtags 2018-08-27 15:08:25 +02:00
lambda 46c7c2380c Merge branch 'feature/relay' into 'develop'
message relay

Closes #144

See merge request pleroma/pleroma!264
2018-08-27 08:29:25 +00:00
lambda 440b459cd1 Merge branch 'bugfix/announce-timeline-flooding' into 'develop'
activitypub: filter destination list for announce activities differently than normal (closes #164)

Closes #164

See merge request pleroma/pleroma!227
2018-08-27 08:25:27 +00:00
kaniini 63094cfd3e Merge branch 'feature/emoji-in-local-users' into 'develop'
Add emoji to local user profiles.

Closes #202

See merge request pleroma/pleroma!271
2018-08-26 23:24:41 +00:00
kaniini 0f5bff8c66 Merge branch 'develop' into 'feature/relay'
# Conflicts:
#   lib/pleroma/web/activity_pub/utils.ex
2018-08-26 21:06:15 +00:00
William Pitcock 52b44184b4 transmogrifier: reject activities lacking a valid ID 2018-08-23 01:25:26 +00:00
Haelwenn (lanodan) Monnier f5b056e3ce
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix likes 2018-08-21 18:26:12 +02:00
Haelwenn (lanodan) Monnier 74c74decf5
Basic peertube support. 2018-08-21 18:24:09 +02:00
Haelwenn (lanodan) Monnier ef4f982e2c
Pleroma.Web.ActivityPub.Transmogrifier: Fix actor being a list of objects (Peertube) 2018-08-21 18:24:06 +02:00
eal f1c407e777 Merge branch 'fix/redirect-on-user-fetch' into 'develop'
ActivityPub: follow redirects when fetching user

See merge request pleroma/pleroma!278
2018-08-20 12:13:07 +00:00
eal 51a21284c6 ActivityPub: follow redirects when fetching user 2018-08-20 15:03:25 +03:00
kaniini 5fbb14f5ec Merge branch 'bugfix/federation-kroeg' into 'develop'
fix federation with kroeg

See merge request pleroma/pleroma!272
2018-08-16 15:20:15 +00:00
kaniini 38361e7b5e Merge branch 'fix/put-repeats-at-activitypub-outbox' into 'develop'
Fix: Output repeats at ActivityPub outbox

Closes #191

See merge request pleroma/pleroma!175
2018-08-16 15:19:46 +00:00
William Pitcock f446e75577 activitypub: transmogrifier: add necessary translations for kroeg 2018-08-14 17:09:11 +00:00
eal 1ed1ff17a4 ActivityPub user view: include tag if present. 2018-08-13 16:11:48 +03:00
William Pitcock de6be63b1b activitypub: do not show observable effects of non-public boosts 2018-08-06 11:28:57 +00:00
William Pitcock 0ca9b9ff96 run mix format 2018-08-06 08:26:36 +00:00
William Pitcock 1e1a29f084 activitypub: relay: fix up AS2 actor object 2018-08-06 08:22:17 +00:00
William Pitcock 2b628f2341 relay: only relay create activities 2018-08-06 08:22:16 +00:00
William Pitcock 56dc8db582 activitypub: relay: add relay following/followers collection URLs 2018-08-06 08:22:14 +00:00
William Pitcock 1c40a631e8 federator: actually relay the public activities 2018-08-06 08:22:14 +00:00
William Pitcock 266b314051 relay: fix invoking federator, use a timer to sleep the mix task to force a context switch 2018-08-06 08:22:12 +00:00
William Pitcock 99be3d3dcc relay: add relay follow/unfollow tasks 2018-08-06 08:22:12 +00:00
William Pitcock 1c90f88393 user: remote actors can have no nickname if they are virtual services 2018-08-06 08:22:11 +00:00
William Pitcock b7ca7f282a activitypub: refactor relay concerns into new relay module 2018-08-06 08:22:10 +00:00
William Pitcock 00e890264c activitypub: represent relay actor at instance root 2018-08-06 08:22:09 +00:00
William Pitcock 3be58ad34e activitypub: actually send digest header when federating
this is needed for backwards compatibility with non-digest pleroma instances
2018-08-01 10:32:02 +00:00
William Pitcock 2890aef9e8 activitypub: add digest header to outbound messages and sign it 2018-07-31 23:24:30 +00:00
Haelwenn (lanodan) Monnier 7501481db4
[Pleroma.Web.ActivityPub.Transmogrifier] Add Person finding 2018-07-12 23:37:07 +02:00
Haelwenn (lanodan) Monnier 8472fba2a7
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix actor key outside of object
The code here is copied from feature/peertube by lain.

Co-authored-by: lain <lain@soykaf.club>
2018-07-12 23:37:00 +02:00
lambda d93789dfde Merge branch 'feature/object-normalization' into 'develop'
object normalization

See merge request pleroma/pleroma!238
2018-07-12 16:48:15 +00:00
William Pitcock 590d4df77c activitypub: more robustly handle object-to-actor associations 2018-07-12 16:39:03 +00:00
lambda 4a922305af Merge branch 'feature/article-support' into 'develop'
article support (plume, etc)

See merge request pleroma/pleroma!240
2018-07-12 05:58:39 +00:00
William Pitcock 8546551257 activitypub: switch to using x509 representation for public keys instead of pkcs#1 2018-07-12 03:30:22 +00:00
William Pitcock 971bb4f2bd activity interpretation: formatting 2018-06-27 13:38:19 +00:00
William Pitcock bd479606ba utils: make_create_data: add support for Article objects 2018-06-27 13:37:35 +00:00
William Pitcock c42f28b82c transmogrifier: accept Article activities 2018-06-27 13:37:26 +00:00
William Pitcock 7c63e70de1 activitypub: use Activity.normalize() in several places instead of using Activity.get_by_ap_id() directly. 2018-06-27 13:08:12 +00:00
William Pitcock 15d624e077 activitypub: use Object.normalize() instead of Object.get_by_ap_id() directly. 2018-06-27 13:07:29 +00:00
lambda dfc96f222c Merge branch 'feature/configurable-blocks' into 'develop'
Add more configurability to how blocks work

See merge request pleroma/pleroma!203
2018-06-25 06:12:29 +00:00
squidboi ea214b8ba6
combined outgoing_blocks with statement 2018-06-24 23:05:44 -07:00
squidboi c4038ede07
fix mind-crushingly dumb syntax error 2018-06-23 14:32:00 -07:00
squidboi f4990283de
change moved attributes into normal variables 2018-06-23 14:27:07 -07:00
squidboi 4e099fcfa9
move configurable module attributes into relevant functions 2018-06-23 14:16:08 -07:00
Haelwenn (lanodan) Monnier c45133377a
lib/pleroma/web/activity_pub/mrf/simple_policy.ex: mix format
Hnng!
2018-06-23 16:12:57 +02:00
William Pitcock 60d6038be5 mrf simple: add accept lists
accept lists supplement reject lists by requiring that any message accepted by contained
by the accept list.

in other words, this functionality can be used to implement instances similar to
awoo.space.
2018-06-19 21:28:24 +00:00
lambda 90cf75f4a7 Merge branch 'features/column_media_streaming' into 'develop'
Add streaming to media tabs of federated and local TLs

See merge request pleroma/pleroma!225
2018-06-19 09:50:05 +00:00
lambda db0731b6ac Merge branch 'feature/exclude-replies-filter' into 'develop'
activitypub: support filtering activities by whether or not they are a reply (closes #109)

Closes #109

See merge request pleroma/pleroma!226
2018-06-19 05:15:11 +00:00
William Pitcock c95941e64d activitypub transmogrifier: fix handling of contentMap. 2018-06-18 22:14:50 +00:00
William Pitcock 591c82620e activitypub: filter destination list for announce activities differently than normal (closes #164) 2018-06-18 04:36:25 +00:00
William Pitcock 4f589998ee activitypub: support filtering activities by whether or not they are a reply (closes #109) 2018-06-18 03:21:32 +00:00
Haelwenn (lanodan) Monnier b670d4d683
MastodonAPI: Add streaming to media tabs of federated and local TLs 2018-06-17 16:17:15 +02:00
squidboi 2e294ee44a Merge branch 'develop' into feature/configurable-blocks 2018-06-16 15:37:16 -07:00
lambda 1ea4a18ad8 Merge branch 'feature/configure-mrf-rejectnonpublic' into 'develop'
Configs for mrf_rejectnonpublic

See merge request pleroma/pleroma!205
2018-06-16 10:39:36 +00:00
lambda 2723fb5150 Merge branch 'bugfix/mrf-orphaning' into 'develop'
activitypub transmogrifier: handle activity lookup failure

Closes #156

See merge request pleroma/pleroma!216
2018-06-14 07:20:54 +00:00
lambda 8c7fdcb31b Merge branch 'feature/twitterapi-unrepeat' into 'develop'
Add TwitterAPI unretweet endpoint and cleanup AP.unannounce

See merge request pleroma/pleroma!218
2018-06-14 07:19:36 +00:00
Francis Dinh 1555c66650 Add unretweet TwAPI endpoint and cleanup AP.unannounce 2018-06-13 21:33:36 -04:00
William Pitcock 401e8af943 activitypub transmogrifier: handle activity lookup failure
with the introduction of MRF, it is possible that an activity may be orphaned from it's parent, if
an activity in the chain was rejected by the active MRF policies.  accordingly, handle this in the
same way as any other orphaned activity.

closes #156
2018-06-13 22:19:38 +00:00
lambda 3f42806b1b Merge branch 'develop' into 'develop'
Dedupe uploads

See merge request pleroma/pleroma!115
2018-06-12 08:26:26 +00:00
lambda 564c73ab24 Merge branch 'feature/list-streaming' into 'develop'
MastoAPI: Add streaming for lists.

See merge request pleroma/pleroma!183
2018-06-12 07:19:45 +00:00
William Pitcock d96377f359 activitypub transmogrifier: accept/reject outgoing: we might send the actual object instead of the URI in some cases, handle it 2018-06-11 22:15:53 +00:00
William Pitcock 5eed1ea181 run mix format 2018-06-11 22:15:53 +00:00
William Pitcock 4084889a2d activitypub transmogrifier: remove debug code 2018-06-11 22:15:53 +00:00
William Pitcock 76f80ba8c2 activitypub: when unfollowing, update the follow activity's disposition to 'cancelled' so it cannot be reused 2018-06-11 22:15:53 +00:00
William Pitcock f328de8eb7 activitypub transmogrifier: send Rejects in the format Mastodon wants 2018-06-11 22:15:53 +00:00
William Pitcock 876ad6aa38 activitypub transmogrifier: send @context on accept activities 2018-06-11 22:15:53 +00:00
William Pitcock 760eb72a38 add a bunch of stuff 2018-06-11 22:15:53 +00:00
William Pitcock 9c88933422 implement tracking of follow requests 2018-06-11 22:15:53 +00:00
William Pitcock 6041380774 activitypub transmogrifier: learn locked state in Update messages 2018-06-11 22:15:27 +00:00
William Pitcock e5206752e1 activitypub: only send accept back automatically if the account is not locked 2018-06-11 22:15:27 +00:00
lambda 7f79b467b1 Merge branch 'feature/domain-blocks' into 'develop'
Domain blocks

See merge request pleroma/pleroma!190
2018-06-11 11:19:45 +00:00
squidboi 07f0cfa53f
add allow_followersonly and allow_direct options for configuring mrf_rejectnonpublic 2018-06-10 16:40:51 -07:00
squidboi 4f9ecfc77a formatting 2018-06-09 04:28:11 +00:00
squidboi 8903f1ad4d more fixes 2018-06-08 19:07:14 -07:00
squidboi 16d896f526 fixes 2018-06-08 19:01:14 -07:00
squidboi 2847fc8f90 add option to not unfollow on block, and option to not federate outgoing blocks 2018-06-08 17:12:16 -07:00
lambda 45a935f0bd Merge branch 'users' into 'develop'
Fix users lookup/return type

See merge request pleroma/pleroma!201
2018-06-08 11:10:10 +00:00
lambda bb639a362e Merge branch 'feature/rejectnonpublic' into 'develop'
Add MRF to drop all posts with "followers-only" or "direct" privacy settings

See merge request pleroma/pleroma!202
2018-06-08 11:08:50 +00:00
Rachel H fa0c2727d8 Fix users lookup/return type
* Allow viewing user in frontend by id on pageload
2018-06-07 23:18:45 -07:00
squidboi e2c4013c88
s/get_by_ap_id/get_cached_by_ap_id/ 2018-06-07 22:33:50 -07:00
squidboi 6e7f91bf8f
final format 2018-06-07 22:14:39 -07:00
squidboi 82225dfc8d
even more formatting 2018-06-07 22:10:11 -07:00
lambda c86823f724 Merge branch 'bugfix/locked-account-regression' into 'develop'
security fix: locked account regression

See merge request pleroma/pleroma!200
2018-06-08 05:10:08 +00:00
squidboi 990cde7439
more formatting 2018-06-07 22:03:24 -07:00
squidboi 5b9e1f228a
formatting 2018-06-07 21:55:58 -07:00
squidboi f69d38e455
add mrf for dropping follower-only and direct posts 2018-06-07 21:00:57 -07:00
William Pitcock 47c7e259c4 activitypub transmogrifier: fix locked account state from being clobbered 2018-06-08 02:52:29 +00:00
William Pitcock a003bdc30a activitypub transmogrifier: learn locked state in Update messages 2018-06-08 02:52:24 +00:00
William Pitcock 09604182d0 add the ability to 'quarantine' an activitypub peer, causing them to be treated as an OStatus peer. 2018-06-07 14:38:09 +00:00
Sir_Boops 3f0440ac3c
Dedupe uploads 2018-06-06 13:25:44 -06:00
eal 29c9c8d93b Extract host from ap_id, add index 2018-06-06 21:13:40 +03:00
eal 9075b6d25b ActivityPub.ex: filter domain blocked activities. 2018-06-03 23:33:33 +03:00
lain 06439f64d0 Better error handling for ActivityPubController 2018-06-03 19:58:59 +02:00
lain 5e76adb07e Fix url guessing attacks. 2018-05-30 20:00:45 +02:00
eal 5d3fdbc082 MastoAPI: Add streaming for lists. 2018-05-30 16:48:59 +03:00
lain 841ee8e3e4 Simplify DM query.
Should also use indexes better.
2018-05-26 16:25:32 +02:00
lain 4b3ec53514 Merge branch 'develop' into csaurus/pleroma-feature/mstdn-direct-api 2018-05-26 16:00:59 +02:00
lain 745072b2cc Merge branch 'kaniini/pleroma-feature/activitypub-accept-reject-conformance' into develop 2018-05-26 15:15:52 +02:00
lain 0a6c897c94 Formatting. 2018-05-26 15:11:50 +02:00
lain bfce29866f Make Mastodon follow hack more explicit. 2018-05-26 15:07:21 +02:00
lain 3839a11ef5 Don't treat remote accepts/rejects as local.
Also, use specialized functions to get safe data.
2018-05-26 14:07:46 +02:00
lain dd9bb37893 Rename id helper method. 2018-05-26 13:57:11 +02:00
William Pitcock 7e873756e7 activitypub transmogrifier: use fetch_latest_follow to verify a follow object exists 2018-05-26 11:20:52 +00:00
William Pitcock 1c926c7b60 activitypub: allow mastodon S2S block extension support to be disabled 2018-05-26 08:30:41 +00:00
Hakaba Hitoyo e90b734f1c debug 2018-05-26 14:10:12 +09:00
Hakaba Hitoyo 9c7da2ef48 output repeats at ActivityPub outbox 2018-05-26 14:02:57 +09:00
William Pitcock 7cf3cf77cf activitypub transmogrifier: cleanups and tests for incoming accepts/rejects 2018-05-25 12:53:12 +00:00
William Pitcock f35e6bf75b activitypub transmogrifier: clean up accept/reject handling a bit 2018-05-25 09:40:11 +00:00
William Pitcock 62c95e8d4d run mix format 2018-05-25 09:39:46 +00:00
William Pitcock 502ba33d01 activitypub: fix up accept/reject semantics for following
fixes #175
2018-05-25 06:14:18 +00:00
William Pitcock c0ca9f82b9 mastodon api: properly track if an account is locked or not 2018-05-25 06:14:09 +00:00
William Pitcock 47dc52a758 activitypub utils: optimize block and follow activity lookup
multi-field @> comparison is very expensive, so only use @> for the field where it matters
this makes the query take only a few usec to execute verses many msec on a busy instance
2018-05-25 05:23:49 +00:00
lambda c2dcd767cf Merge branch 'feature/incoming-remote-unfollow' into 'develop'
Add support for incoming remote unfollows and blocks/unblocks

See merge request pleroma/pleroma!158
2018-05-24 19:52:24 +00:00
Francis Dinh 1197ec10a8 Rewrite block fetch query 2018-05-24 13:26:59 -04:00
lain 1cd6194dee More efficient queries. 2018-05-24 12:44:26 +02:00
lambda 06c97f211f Merge branch 'feature/deps-migration' into 'develop'
Migrate to comeonin 4 and Cachex 3

See merge request pleroma/pleroma!162
2018-05-23 09:03:11 +00:00
csaurus 4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
William Pitcock 9a2d097ed8 activitypub controller: note that the HTTP Host header must be forwarded for http signature validation to work 2018-05-21 19:22:30 +00:00
Francis Dinh 46427cb90f Pass correct number of arguments to unfollow 2018-05-21 11:57:15 -04:00
Francis Dinh cc5373b846 Fix unblock handling 2018-05-21 05:00:58 -04:00
Francis Dinh 2573332214 Add undo block handler 2018-05-21 04:35:43 -04:00
Francis Dinh c8a16f334d Format 2018-05-20 21:02:06 -04:00
Francis Dinh 89c5de9096 Fix unfollows 2018-05-20 21:01:14 -04:00
Francis Dinh 1afd6d37bd Merge remote-tracking branch 'upstream/develop' into feature/incoming-remote-unfollow
Fixed some conflicts in transmogrifier.ex
2018-05-20 19:17:15 -04:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain 434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
Francis Dinh a9141d88aa Pass user instead of their ap_id to User.block 2018-05-19 22:02:13 -04:00
Francis Dinh 3b706ea493 Remove handler for incoming undos with object references 2018-05-19 21:34:30 -04:00
Francis Dinh 1e43de0f86 Formatting and add tests for blocks/unblocks 2018-05-19 21:23:52 -04:00
Francis Dinh da9744eb84 Use correct variable names in unfollow 2018-05-19 20:57:37 -04:00
Thog 6f39ecc41b
Support Undo like activities (Fix #139) 2018-05-19 22:14:15 +02:00
lambda ad563669c8 Merge branch 'feature/remote-user-deactivation' into 'develop'
remote user deactivation

See merge request pleroma/pleroma!154
2018-05-19 09:30:09 +00:00
William Pitcock 2051530868 activitypub transmogrifier: handle hubzilla AP actor quirks 2018-05-19 03:28:29 -05:00
William Pitcock 4d2c6707c2 activitypub: normalize the actor to ensure we have its URI 2018-05-19 03:28:28 -05:00
William Pitcock 13d4b6d2b5 remote user deactivation: fix test failures 2018-05-19 01:26:13 -05:00
Francis Dinh 0ec1abb3b6 Add federated blocks 2018-05-18 18:09:56 -04:00
Francis Dinh 8d11bae0d5 Revert "Undo formatting in user.ex"
This reverts commit e6dc15b96c.
2018-05-17 23:55:00 -04:00
Francis Dinh e6dc15b96c Undo formatting in user.ex 2018-05-17 23:53:34 -04:00
Francis Dinh d8c842a771 Add support for incoming remote unfollows 2018-05-17 22:15:57 -04:00
csaurus 4dfb40a546 Handle cases where a to/cc field is absent on a status 2018-05-14 21:54:25 -04:00
William Pitcock 9390492138 ActivityPub create: discard activities from deactivated users 2018-05-13 19:05:02 -05:00
csaurus 2ce48c1a42 Formatting 2018-05-13 15:36:41 -04:00
csaurus 9aabff4883 Fix tests. 2018-05-13 15:33:59 -04:00
lain c7a85de35c Revert "Remove 'unlisted' handling for now."
This reverts commit 1027d1f696.
2018-05-13 12:38:13 +02:00
lain 1027d1f696 Remove 'unlisted' handling for now.
It's just too slow (over 1 second on small systems, haven't looked at
the queries in detail yet). We'll need some other way to handle it.
2018-05-13 12:07:11 +02:00
lain a5c9dd0a2a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2018-05-13 11:59:35 +02:00
lain 3c3933e40b Unlisted fetching: Reverse logic
Generates a faster query.
2018-05-13 11:58:03 +02:00
lambda aeff2d6474 Merge branch 'feature/unrepeats' into 'develop'
Add unrepeats

Closes #69

See merge request pleroma/pleroma!113
2018-05-13 09:32:29 +00:00
lain ec531ca281 Add test. 2018-05-13 11:18:48 +02:00
lain 29376fcc13 Format. 2018-05-13 10:56:44 +02:00
lain 76722ea9c8 Merge branch 'develop' into kaniini/pleroma-bugfix/unlisted-statuses 2018-05-13 10:56:11 +02:00
Francis Dinh 54ccbd8479 Use original status id instead of announce id 2018-05-13 03:42:31 -04:00
csaurus c8d418acdd api/v1/timelines/direct implementation 2018-05-12 21:50:59 -04:00
csaurus 392bd9ef56 Stream function to handle direct messages. 2018-05-12 17:40:59 -04:00
csaurus c60a5405db Detect and try to stream incoming "direct" messages 2018-05-12 17:40:59 -04:00
Francis Dinh 4d88747561 Revert "Log error when handling unrepeats"
This reverts commit c17c55e989.
2018-05-11 15:34:46 -04:00
Francis Dinh c17c55e989 Log error when handling unrepeats 2018-05-11 15:29:19 -04:00
href c220a6db43
format & made get_policies/1 private 2018-05-10 18:51:58 +02:00
href e9e6f37bda
Chain policies
- The `:pleroma, :instance, :rewrite_policy` can now be either a policy
or a list of policies
- Made a behaviour for MRF policies
2018-05-10 18:41:06 +02:00
Francis Dinh 900c735467 Match proper number of values from unannounce 2018-05-09 00:04:14 -04:00
Francis Dinh 54f6628590 Change argument order and call correct # of args 2018-05-08 23:59:36 -04:00
Francis Dinh e55f69a676 Handle Undo activites containing an Announce 2018-05-08 23:50:19 -04:00
Francis Dinh 4d5ec883b7 Federate correct activity 2018-05-08 21:52:21 -04:00
lain ffe028cd73 More warning fixes. 2018-05-07 18:11:37 +02:00
lambda 6c2903d9a1 Merge branch 'feld-warnings' into 'develop'
Clean up warnings

See merge request pleroma/pleroma!144
2018-05-06 18:42:31 +00:00
eal bfad57c7c9 Get rid of unsafe variables. 2018-05-06 09:58:59 +03:00
Mark Felder 7a884d70d8 Group def renders here as well 2018-05-04 22:31:46 +00:00
Mark Felder 14c0c6d16b Fix formatting 2018-05-04 22:03:14 +00:00
Mark Felder a24eed0f57 That last change was stupid. Multiline comments in Elixir don't really exist.
Instead we'll just pad with # intstead of playing stupid games with the compiler.
2018-05-04 21:53:52 +00:00
Mark Felder 79d41aa12e Dirty hack to remove the warning
warning: code block contains unused literal "internal -> Mastodon\n" (remove the literal or assign it to _ to avoid warnings)
  lib/pleroma/web/activity_pub/transmogrifier.ex
2018-05-04 21:48:30 +00:00
Mark Felder aaacebd906 Fix unused variables, imports, and aliases 2018-05-04 21:42:20 +00:00
Mark Felder 42f1a098aa Fix build. Too eager with the fixing of unused variables.
== Compilation error in file lib/pleroma/web/activity_pub/views/user_view.ex ==
** (CompileError) lib/pleroma/web/activity_pub/views/user_view.ex:54: undefined function _total/0
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
2018-05-04 21:26:33 +00:00
Mark Felder 636f0fa402 Clean up unused aliases and imports 2018-05-04 21:25:31 +00:00
Mark Felder 943820ae29 More unused variables 2018-05-04 21:16:02 +00:00
Mark Felder ab4aa5720a Fix a bunch of unused variable warnings 2018-05-04 20:59:01 +00:00
William Pitcock a3d1d4894f ActivityPub core: fix handling of unlisted statuses by leveraging a similar strategy as for blocks 2018-04-28 22:32:46 -05:00
lain 4d55d7c95e Insert object after being rewritten. 2018-04-28 16:10:24 +02:00
lambda a7a40bb8f1 Merge branch 'fix/blocked-user-boosts' into 'develop'
ActivityPub.ex: do not return boosted statuses from blocked users.

See merge request pleroma/pleroma!111
2018-04-28 13:49:12 +00:00
William Pitcock 90bbd94614 ActivityPub MRF SimplePolicy: fix media stripping 2018-04-25 16:28:53 -05:00
Francis Dinh 2d775bf1be Merge branch 'feature/unrepeats' of git.pleroma.social:normandy/pleroma into feature/unrepeats 2018-04-25 01:58:50 -04:00
Francis Dinh 9e0dd21ed6 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/unrepeats 2018-04-25 00:46:28 -04:00
lain c78e7d8b11 Fix formatting. 2018-04-24 21:25:31 +02:00
lambda 7a52c4549c Merge branch 'feature/message-rewrite-facility' into 'develop'
message rewrite facility

See merge request pleroma/pleroma!112
2018-04-24 17:21:28 +00:00
Dashie 9972678a68
Add User.decrease_note_count and call it from ActivityPub.delete 2018-04-24 11:34:18 +02:00
Francis Dinh 8c0806539c Embed announce activity data instead of linking to it 2018-04-22 21:28:51 -04:00
Francis Dinh b1742eca42 Revert "Rename make_unannounce_data helper to make_undo_data"
This reverts commit c649ca8958.
2018-04-22 19:42:28 -04:00
Francis Dinh c649ca8958 Rename make_unannounce_data helper to make_undo_data
This makes it a bit more easier to adapt for unlikes as well in the
future.
2018-04-22 01:55:41 -04:00
eal 22bfeac256 Update note count in ActivityPub.create. 2018-04-21 12:58:04 +03:00
lain 9e6ae44729 Formatting fixes. 2018-04-21 09:43:53 +02:00
Francis Dinh f0798440de Use correct activity for undo 2018-04-20 23:22:16 -04:00
Francis Dinh 4b9f2ab526 Fix federation of unreblog activity 2018-04-20 23:09:19 -04:00
nenolod@dereferenced.org f08f9d4498 ActivityPub MRF: fix nsfw tagging of objects with attachments by looking at the right object (the child in this case) 2018-04-19 07:45:09 -05:00
Francis Dinh 7b4f55238e Handle unrepeats via the TwitterAPI 2018-04-18 06:00:40 -04:00
Francis Dinh 687db1bc3a Expose unannounce activity so that it can be tested 2018-04-18 03:39:42 -04:00
Francis Dinh 0251690e96 Add federation for unrepeats 2018-04-17 20:35:07 -04:00
Francis Dinh c9e7b984d5 Add make_unannounce_data helper function 2018-04-17 04:13:08 -04:00
Francis Dinh d16877251a doc fixes 2018-04-16 10:59:32 -04:00
Francis Dinh b949577472 Add unrepeat functionality 2018-04-14 20:19:48 -04:00
William Pitcock d24ddd9fb9 ActivityPub MRF: implement the SimplePolicy policy 2018-04-14 06:32:45 -05:00
William Pitcock 4a178b3d65 ActivityPub: implement MRF core hook and baseline noop policy object 2018-04-14 06:32:44 -05:00
eal 48380aeccc ActivityPub.ex: do not return boosted statuses from blocked users. 2018-04-14 14:26:20 +03:00
lain b3b7ab5d9a Load all users at once in timelines. 2018-04-02 16:35:41 +02:00
lain bc31bee7c4 Generates contexts and ids on insertion time. 2018-04-02 15:17:09 +02:00
lain 2222e5599c Don't fetch anything except ap_id for follower / following
collections.

Should speed up the queries because ecto doesn't have to parse the json.
2018-03-31 20:02:09 +02:00
lain 4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
lain d2099c849d More Jason changes. 2018-03-27 16:45:38 +02:00
lain 2c1c221301 Fix follower collection id. 2018-03-25 19:34:33 +02:00
William Pitcock 2aea3bc632 activitypub transmogrifier: rewrite incoming hashtags 2018-03-24 16:42:17 -05:00
lain 5da2355e71 For outgoing objects, fake mastodon style ap id for ostatus. 2018-03-23 16:07:02 +01:00
William Pitcock 3fcdfb75d0 activitypub: add outbox endpoint 2018-03-22 00:26:54 -05:00
William Pitcock 381ba256bf activitypub: add restrict_limit 2018-03-22 00:26:47 -05:00
William Pitcock 1a94704230 activitypub: implement following/followers endpoints 2018-03-22 00:26:39 -05:00
lain c50c7745bc Fetch relayed messages from source while we don't have linked data sigs. 2018-03-21 07:12:14 +01:00
lambda 9b97b023c5 Merge branch 'feld-Logger' into 'develop'
Logging cleanup

See merge request pleroma/pleroma!76
2018-03-20 05:57:47 +00:00
Mark Felder 16d102c153 Clarify that this error is about a problem decoding the expected JSON
payload
2018-03-19 18:18:52 +00:00
Mark Felder 9a858621d6 AP and WebFinger need love here 2018-03-19 17:56:49 +00:00
Mark Felder 04395cb9bd Grammar consistency
Most log messages are sentence fragments so make them consistent by
removing periods. Log messages that are expressing urgency with ! or
pending more work with "..." are OK.
2018-03-19 17:31:58 +00:00
lain ec83175100 Use connection pools. 2018-03-19 17:42:09 +01:00
lain 4d5161b16d Only fetch if it's http. 2018-03-19 10:28:28 +01:00
William Pitcock 59a76ea464 activitypub transmogrifier: rewrite non-http URLs using the object's external URL
Signed-off-by: lain <lain@soykaf.club>
2018-03-14 08:53:29 +01:00
lain 30d65639c1 Fix Mastodon emojis.
Code by Kaniini
2018-03-13 08:05:43 +01:00
lain ff7bc16a7e Restrict activity fixing more.
If we need it for older ones, we can add a task for that later.
2018-03-08 19:09:46 +01:00
lain 8228ae96d8 Only run the fix-up tasks once. 2018-03-07 20:19:48 +01:00
lain d2ad99298e Handle incoming deletes. 2018-03-03 18:38:40 +01:00
lain 1377b2e569 Restrict public by recipients.
This is much faster than going through the json. This does break
unlisted, for which we'll probably have to add another table field.
2018-02-26 10:09:30 +01:00
lain 82df16f7c3 Actual real fix. 2018-02-25 22:28:53 +01:00
lain 0d69bbc1fb One more fix. 2018-02-25 22:20:38 +01:00
lain 8c712b3198 Fix context stitching. 2018-02-25 21:42:28 +01:00
lain e9de04b74b Add support for outgoing update. 2018-02-25 21:08:32 +01:00
lain f61fd00db5 Make likes and announces public. 2018-02-25 18:20:06 +01:00
lain 4d13cc0dc6 Fix specs. 2018-02-25 16:52:33 +01:00
lain dfaddeb765 Use update_and_set cache. 2018-02-25 16:34:24 +01:00
lain e3629af4da Handle remote update activities. 2018-02-25 16:14:25 +01:00
lain dd97193311 Set conversation to parent conversation. 2018-02-25 13:35:08 +01:00
lain b76de1ecd3 Some fixes to AP fetching. 2018-02-25 10:56:01 +01:00
lain 82e34cae95 Unify object representation. 2018-02-24 20:16:41 +01:00
lain 2b5d265954 Don't deliver to local followers. 2018-02-24 19:04:56 +01:00
lain df73a9c6d6 . 2018-02-24 18:50:02 +01:00
lain 5bc7628022 Fix. 2018-02-24 18:49:09 +01:00
lain 59ad395ffa Better signature errors messages. 2018-02-24 18:47:08 +01:00
lain fb5add56fa Bit more signature debugging. 2018-02-24 18:01:49 +01:00
lain e5fcc51a06 Remove unneccesary subscriptions on update. 2018-02-24 17:36:02 +01:00
lain 9a4d400ff4 Fix remote following. 2018-02-24 12:49:56 +01:00
lain 06b512acf1 Never update local users from foreign sources. 2018-02-24 12:05:40 +01:00
lain 541a4cbbb6 Oh no! More fixes! 2018-02-24 10:51:15 +01:00
lain 01d5ef65fa More fixes to user upgrading. 2018-02-24 10:42:47 +01:00
lain efd4d04933 Fix user upgrading code. 2018-02-24 10:28:38 +01:00
lain aa79d64e0d Correctly stitch mastodon -> ostatus replies. 2018-02-23 15:00:41 +01:00
lain 2583a9f6e8 More logging. 2018-02-23 15:00:19 +01:00
lain 5dc68d303b Get objects that people you know favorite. 2018-02-22 09:02:34 +01:00
lain c443aec83d Add banner image to user json. 2018-02-22 08:24:18 +01:00
lain 37e406ae36 Get avatar and banner from AP users. 2018-02-22 08:14:15 +01:00
lain 4816b09fa7 Add user upgrade function. 2018-02-21 22:21:40 +01:00
lain a06b9a3e0b Logging. 2018-02-21 16:22:20 +01:00
lain 810cf8618f ActivityPub: Fetch missing activities on reply. 2018-02-21 15:22:24 +01:00
lain 279e1ce556 Typo. 2018-02-21 08:54:48 +01:00
lain b52672294e Move incoming AP to Federator. 2018-02-21 08:51:03 +01:00
lain 9c89916969 ActivityPub: One queue item per server. 2018-02-20 08:51:19 +01:00
lain 297a2c7d3f Ignore duplicate create activities. 2018-02-19 17:37:45 +01:00
lain 6b6ab592ab AP: Fix incoming conversations. 2018-02-19 10:39:03 +01:00
lain 6b32b9e346 Notifications: Use all recipients, not just "to". 2018-02-19 10:05:26 +01:00
lain 932d346d35 fix typo. 2018-02-18 23:13:19 +01:00
lain 8b11546334 For existing users, just replace info. 2018-02-18 23:11:31 +01:00
lain decbf3a47f fix typo. 2018-02-18 23:02:44 +01:00
lain 342d0b01d1 Only push to followers if they are addressed. 2018-02-18 23:01:37 +01:00
lain dc1d3ceb72 Fix log. 2018-02-18 22:41:38 +01:00
lain e368b68dcf Log but ignore signature errors. 2018-02-18 22:40:08 +01:00
lain 76e71f47d3 Inbox: Don't add the same thing twice. 2018-02-18 22:37:44 +01:00
lain 010f818a29 Fix conversations. 2018-02-18 20:52:07 +01:00
lain deaad6d97a Fix delivery to CC. 2018-02-18 16:59:41 +01:00
lain 803bdc1a67 Federate non-public over ActivityPub only, do some better signing. 2018-02-18 16:05:25 +01:00
lain 4bc57ef20c Don't relay non-public messages. 2018-02-18 15:58:18 +01:00
lain 5d89997a70 Respect visibility in API. 2018-02-18 15:50:34 +01:00
lain 5729233c36 Don't show unlisted in public. 2018-02-18 15:32:11 +01:00
lain c974f6544f Show users their own posts in timeline. 2018-02-18 15:20:36 +01:00
lain 44586f2967 ActivityPub: Fallback for unhandled outgoing activities. 2018-02-18 15:20:03 +01:00
lain 20e6190ead Transmogrify outgoing nsfw. 2018-02-18 14:07:13 +01:00
lain 8ca66b5961 ActivityPub: Add conversation id. 2018-02-18 13:58:52 +01:00
lain 6ab0aba50a Transmogrify outgoing hashtags. 2018-02-18 13:51:03 +01:00
lain 6046f10431 Actually fix incoming attachments. 2018-02-18 13:06:51 +01:00
lain 6352dffd13 Drop unhandle activities. 2018-02-18 12:51:35 +01:00
lain b99eeb2bdf Try to fetch AP user data first. 2018-02-18 12:27:05 +01:00
lain 68752b2047 Switch protocols to AP when post come in through AP. 2018-02-18 12:04:59 +01:00
lain 77c6c424a6 ActivityPub: Make fake Create activities for objects without one. 2018-02-18 11:24:54 +01:00
lain 81ea359a7c ActivityPub: Handle incoming announces. 2018-02-17 21:57:31 +01:00
lain 5e36b750c1 ActivityPub: Fetch an object from an id. 2018-02-17 21:56:33 +01:00
lain 0f2ad25a7b AcitvityPub: Outgoing Announces. 2018-02-17 20:47:45 +01:00
lain 32b995fbb6 ActivityPub: Implement outgoing likes. 2018-02-17 20:22:14 +01:00
lain e1b12a7782 ActivityPub: Handle incoming likes. 2018-02-17 20:13:12 +01:00
lain ab27c90c9f ActivityPub: Handle attachments. 2018-02-17 18:38:58 +01:00
lain c2d0cb1a29 ActivtyPub Delivery: Use shared inbox if possible. 2018-02-17 16:18:10 +01:00
lain 7b26443a76 ActivityPub: Send out Accept after Follow. 2018-02-17 16:08:55 +01:00
lain e7b73359e3 ActivityPub: Partly handle incoming follows. 2018-02-17 14:55:44 +01:00
lain 5682e48a25 ActivityPub: tags -> tag. 2018-02-17 14:20:53 +01:00
lain 05ba6ca1b8 Do some transmogrifying for the output. 2018-02-17 14:11:20 +01:00
lain 5a371892a0 Fix specs. 2018-02-17 10:26:44 +01:00
lain 7851b9ba81 ActivityPub: Use recipients fields. 2018-02-15 20:32:07 +01:00
lain 5454ec6a6c ActivityPubController: Handle inbox data. 2018-02-15 20:00:43 +01:00
lain ef0300889d Transmogrifier: Handle basic notice creation. 2018-02-15 20:00:06 +01:00
lain ae26604378 ActivityPub: Refactor create function. 2018-02-15 19:59:35 +01:00
lain 8cf97ee8e1 ActivityPub: Basic note federation with Mastodon. 2018-02-11 20:43:33 +01:00
Roger Braun ae1ec858f4 Basic AP user building. 2018-02-11 17:20:43 +01:00
Lain Iwakura 4a13b84887 Add recipients field to activities.
Also do some very basic checks for AP message insertion.
2017-12-12 18:07:14 +01:00
Roger Braun 888ec9e579 ActivityPub: Check inbox requests for valid signature. 2017-12-12 10:17:50 +01:00
Lain Iwakura 64330d9455 ActivityPub: Add object routes / controller. 2017-12-11 18:21:33 +01:00
Lain Iwakura a89a613e4e ActivityPub: Use only string keys in views. 2017-12-11 18:20:41 +01:00
Lain Iwakura da005d3332 ActivityPub: Add Objects View. 2017-12-11 18:19:46 +01:00
Roger Braun 5599c5920c Basic incoming AP support. 2017-12-11 10:37:22 +01:00
Lain Iwakura e31a5ff4af Priority queue fixes. 2017-12-06 16:51:11 +01:00
Roger Braun 5ff5d583b6 MastodonAPI: Streaming fixes.
Now shows repeats in the home tl.
2017-11-19 13:47:50 +01:00
Thog 59770c3f5c
Fix all compilation warnings 2017-11-19 02:22:07 +01:00
Roger Braun a743940463 MastoAPI: Implement all streaming functions. 2017-11-16 16:49:51 +01:00
Roger Braun 5719f69ae3 MastodonAPI: Stream fixes. 2017-11-16 13:48:58 +01:00
eal 06c3ee3bac Accept 1 as true. 2017-11-14 15:54:50 +02:00
eal c84723b679 MastoAPI: Add media timelines. 2017-11-14 15:41:16 +02:00
Roger Braun bd5bdc4c24 MastoAPI: Basic streaming. 2017-11-11 14:59:25 +01:00
Roger Braun f1d27a5fbb Add actor column to activities. 2017-11-09 10:41:19 +01:00
Roger Braun d2430d5007 Look through whole db for user timelines.
They already have an index that's good enough.
2017-11-08 17:25:18 +01:00
Roger Braun 7252f6b054 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2017-11-05 12:12:19 +01:00
Roger Braun 046bee34d3 Fix bug when no posts are in the db. 2017-11-05 12:11:59 +01:00
Roger Braun 867ac1e4f5 Handle nil cases. 2017-11-02 22:47:48 +01:00
Roger Braun 8ef58a266b Don't return blocked users' activities in contexts. 2017-11-02 22:44:36 +01:00
Roger Braun a47727adde Don't return activities from blocked users. 2017-11-02 22:37:26 +01:00
Roger Braun 3037814fde Only search through last 100_000 activities for fetches.
This is purely a performance enhancement
2017-10-31 15:26:37 +01:00
Roger Braun 5293516730 Use more efficient query to fetch likes. 2017-10-24 14:39:01 +02:00
Roger Braun 9f417fd5e9 Speed up deletion and related queries. 2017-10-23 18:30:09 +02:00
Roger Braun 38f3908c14 Revert "Simplify query."
This reverts commit a17b261379.
2017-10-19 17:56:27 +02:00
Roger Braun a17b261379 Simplify query. 2017-10-18 11:56:47 +02:00
Roger Braun 260f09dd6c MastoAPI: Return reblogs, too. 2017-09-17 14:20:54 +02:00
Roger Braun 422d0f324f MastodonAPI: Add user favorites endpoint. 2017-09-17 13:09:49 +02:00
Roger Braun 678dd4c8ec Use desc id to sort instead of desc inserted_at
Should mean the same and is indexed.
2017-09-17 11:16:08 +02:00
Roger Braun fc85c9f086 Add tag timelines. 2017-09-14 13:22:09 +02:00
Roger Braun 07b694814e Optimize conversation fetching. 2017-09-12 13:48:48 +02:00
Roger Braun 61adf676d5 Add basic mastodon notification support. 2017-09-11 18:53:19 +02:00