Commit Graph

4317 Commits

Author SHA1 Message Date
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 66519f2100 Merge branch 'list-controller' into 'develop'
Extract list actions from `MastodonAPIController` into `ListController`

See merge request pleroma/pleroma!1600
2019-08-27 21:15:54 +00: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
Ivan Tashkinov cd78e63a25 [#1149] Bugfix: Pleroma.Workers.Subscriber / "verify_websub" works with WebsubServerSubscription. 2019-08-27 14:34:37 +03:00
rinpatch eb1739c596 Remove most of TwitterAPIController 2019-08-27 12:29:19 +03:00
lain 3da65292b3 Transmogrifier: Fix follow handling when the actor is an object. 2019-08-26 14:34:52 -05:00
Egor Kislitsyn 4194abbc8f Move mastodon_api/*_controller.ex to mastodon_api/controllers/ 2019-08-26 19:37:57 +07:00
Egor Kislitsyn 30510ade0e Extract MastodonAPIController's list actions into MastodonAPI.ListController; Add more tests 2019-08-26 19:37:54 +07:00
Egor Kislitsyn 4d82bc8b0b Extract MastodonAPI.MastodonAPIController.errors/2 to MastodonAPI.FallbackController 2019-08-26 19:16:40 +07:00
Egor Kislitsyn 3b1b631c2a Add validation in Pleroma.List.create/2 2019-08-26 18:59:57 +07:00
kaniini 6dc24422dc Merge branch 'issue/1177' into 'develop'
[#1177] fixed unfollow for relay actor

See merge request pleroma/pleroma!1589
2019-08-25 19:43:27 +00:00
Maxim Filippov 37dd3867bb Log admin/moderator actions 2019-08-25 19:39:37 +00:00
kaniini 503139b343 Merge branch 'fix-all-custom-fields-deleted' into 'develop'
Fix not to use unupdated attachments when all fields are deleted

See merge request pleroma/pleroma!1596
2019-08-25 19:35:28 +00:00
kPherox 3549cd9754
Change to use attachment only when fields do not exist 2019-08-25 01:28:38 +09:00
lain 90986667ce Merge branch 'admin-create-users' into 'develop'
user creation admin api will create multiple users

See merge request pleroma/pleroma!1170
2019-08-24 16:04:19 +00:00
lain efb8818e9e Activity Expiration: Switch to 'expires_in' system. 2019-08-24 17:22:48 +02:00
lain 1692fa8945 ActivityExpirationWorker: Fix merge issues. 2019-08-24 17:22:26 +02: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
lain cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02:00
Ivan Tashkinov 581123f8bb [#1149] Introduced `quantum` job scheduler. Documentation & config changes. 2019-08-23 18:28:23 +03:00
Ivan Tashkinov c056736daa [#1149] Publisher worker fix (atomized `params` keys). 2019-08-23 16:11:39 +03:00
Ivan Tashkinov c29686309e [#1149] Upgraded `oban` from 0.6.0 to 0.7.1. 2019-08-23 09:23:10 +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
Maksim Pechnikov f95b67c933 Merge branch 'develop' into issue/1177 2019-08-22 21:13:03 +03:00
Ivan Tashkinov 7101ba1a21 Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-08-22 21:01:28 +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
Egor Kislitsyn a79ebac592 Improve AP routes rate limit 2019-08-22 16:03:43 +07:00
Maksim Pechnikov 64bfb41c55 fixed unfollow for relay actor 2019-08-22 06:57:55 +03:00
Sachin Joshi 37229af15f remove old user create and delete routes for admin 2019-08-22 00:15:00 +05:45
lain f740d786a3 Merge branch 'rate-limit-ap-routes' into 'develop'
[#1174] Rate limit AP routes

See merge request pleroma/pleroma!1586
2019-08-21 16:45:20 +00: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
Egor Kislitsyn 8d899d6197 Add `:ap_routes` rate limit 2019-08-20 22:10:36 +07:00
lain 8340fe8fcc Merge branch 'digest-template' into 'develop'
Improve digest email template

See merge request pleroma/pleroma!1565
2019-08-20 12:55:51 +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
lain d2c9befc64 Merge branch 'develop' into 'fix/reverse-proxy-body-too-large'
# Conflicts:
#   CHANGELOG.md
2019-08-19 17:00:59 +00:00
Sergey Suprunenko 75a5dd41ee Add more tests for Database tasks and DigestEmailWorker 2019-08-19 16:10:00 +00:00
lain 49ae3191df Merge branch 'hotfix/user_unfollow' into 'develop'
[#1177] fixed User.unfollow with synchronization external user

See merge request pleroma/pleroma!1579
2019-08-19 14:36:10 +00:00
Maksim Pechnikov e652cef76b removes duplicates from relay subscription list 2019-08-19 13:39:18 +03:00
kaniini 475fcb3e6c Merge branch 'fix/bugfix-blocked-user-follow-reqs' into 'develop'
Clear follow requests when blocking a user

See merge request pleroma/pleroma!1583
2019-08-18 21:59:22 +00: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
Sadposter 94e336d9d5 clear follow requests when blocking a user 2019-08-18 20:30:57 +01:00
Mark Felder ef82f868d9 Formatting 2019-08-16 10:00:18 -05:00
Maksim Pechnikov 3315a2a1c3 fixed User.unfollow with synchronization external user 2019-08-16 15:58:42 +03:00
lain 7ab2dbbdb6 Merge branch 'pleroma-conversations' into 'develop'
Extended Pleroma Conversations

See merge request pleroma/pleroma!1535
2019-08-16 12:55:33 +00:00
Egor Kislitsyn 158231cd20 Add configurable colors and logo for the digest template 2019-08-16 18:32:25 +07:00
Mark Felder 6a3b1a526e max_body_size -> max_body_length, as it should be 2019-08-15 15:34:41 -05:00
rinpatch fba3c16d20 Fix OAuth cleanup worker unconditionally starting
!1576 removed enabled/disabled check from the worker, in favor of just
not starting it in application.ex if disabled. However a line
unconditionally starting the worker was removed
2019-08-15 20:36:20 +03:00
kaniini 1c8f58a30e Merge branch 'features/formatting-sub_sup' into 'develop'
html.ex: Allow sub and sup elements by default

Closes #1191

See merge request pleroma/pleroma!1572
2019-08-15 17:34:16 +00:00
rinpatch 1ad71592ad Parallelize template rendering 2019-08-15 18:05:50 +03:00
rinpatch a4a3e3becd Hide muted theads from home/public timelines unless `with_muted` is set 2019-08-15 17:37:30 +03:00
lain 9fb71ce7f4 Merge branch 'cache-follow-state' into 'develop'
Cache follow state

Closes #1180

See merge request pleroma/pleroma!1573
2019-08-15 14:06:27 +00: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 e8a8d50138 Collect stats immediately after init 2019-08-15 01:01:13 +03:00
rinpatch bd5ad0af78 Cache follow state 2019-08-15 00:47:30 +03:00
rinpatch a9e75fa6a4 Add a task to benchmark timeline rendering 2019-08-15 00:43:02 +03:00
Haelwenn (lanodan) Monnier a6a814420d
html.ex: Allow sub and sup elements by default
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1191
2019-08-14 22:49:13 +02:00
rinpatch 31d576de0c Merge branch 'misc-otp-issues' into 'develop'
Misc OTP issues

See merge request pleroma/pleroma!1567
2019-08-14 19:22:15 +00: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
Ivan Tashkinov a180c1360e [#1149] Oban mailer job. Adjusted tests. 2019-08-14 21:42:21 +03:00
stwf c43152f6c1 fix formatting 2019-08-14 14:01:11 -04:00
stwf d81f63845a Implement Pleroma.Stats as GenServer 2019-08-14 11:59:33 -04:00
stwf 574856ef01 streamline Streamer pings 2019-08-14 11:58:32 -04:00
stwf 15ef521009 Isolate OAuth.Token.CleanWorker 2019-08-14 11:57:50 -04:00
stwf 51bdf0cab6 use default child_specs 2019-08-14 11:55:17 -04:00
lain d3af9e19ed Conversations: Load relations in one query. 2019-08-14 17:01:11 +02:00
Egor Kislitsyn c9970feee2 Fix compatibility with Elixir 1.8 2019-08-14 21:03:25 +07:00
lain f73212b2a3 Conversation: Render new participation on update. 2019-08-14 15:56:15 +02:00
lain df81abb68c Conversations: Use correct oauth paths for extended api. 2019-08-14 15:55:43 +02:00
Egor Kislitsyn 4b7f1c6995 Improve digest email template 2019-08-14 20:46:05 +07:00
lain 560dbad538 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-14 15:30:40 +02:00
Egor Kislitsyn 672fcbc7b7 Limit custom fields for old remote users 2019-08-14 14:58:06 +07: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 2c35d4b0b0 Add configurable account field name length limit 2019-08-14 14:52:54 +07:00
Egor Kislitsyn db3c05f6b4 Add configurable account field value length limit 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
Egor Kislitsyn a22f540fc4 Add custom fields to TwitterAPI.UserView 2019-08-14 14:52:54 +07:00
Egor Kislitsyn e0ac5c7a66 Add custom profile fields 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
kaniini c3a54cc34d Merge branch 'feature/mrf-describe' into 'develop'
MRF describe API

See merge request pleroma/pleroma!1561
2019-08-13 22:46:19 +00:00
rinpatch 83a3de8cc4 Merge branch 'length-limit-bio' into 'develop'
Add configurable length limits for `User.bio` and `User.name`

See merge request pleroma/pleroma!1515
2019-08-13 22:40:13 +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
Haelwenn 47c20ab796 Merge branch 'fix/mastoapi-more-object-preloads' into 'develop'
Mastodon API: Preloading and normalization optimizations

See merge request pleroma/pleroma!1558
2019-08-13 22:32:49 +00:00
rinpatch 46d7bef7e7 Nicer formatting for safe_render errors 2019-08-14 01:15:18 +03:00
Ariadne Conill f305e97eeb nodeinfo: use MRF.describe() instead of hardcoded MRF transparency stuff 2019-08-13 22:09:02 +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
Maksim 04da1166db tests for /web/mastodon_api/mastodon_api.ex 2019-08-13 21:12:37 +00:00
Ariadne Conill 3fdbeb7087 MRF: add vocabulary policy module 2019-08-13 20:55:38 +00:00
rinpatch c1b6952d2a Mastodon API: Preloading and normalization optimizations
- Try to normalize the activity instead of object wherever possible
- Put the `user` key on non-home timelines as well so bookmarks and
thread mutes are preloaded there as well
- Skip trying to get the user when rendering mentions if the id ==
as:Public or user's follower collection
- Preload the object when getting replied to activities and do not crash
if it's not present

This almost solves the problem of Pleroma hammering the db with a lot
of queries when rendering timelines, the things left are
1. When rendering mentions and the user is not in cache, save it for
later and request all uncached users in one go
2. Somehow get rid of needing to get the latest follow activity to
detect the value of `requested` in a relationship. (create a database
view for user relationship and cache it maybe?)
2019-08-13 20:34:34 +03: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
lain 511ccea5aa ConversationView: Align parameter names with other views. 2019-08-12 14:23:06 +02:00
lain 60231ec7bd Conversation: Add endpoint to get a conversation by id. 2019-08-12 13:58:04 +02:00
lain 23c46f7e72 Conversations: Use 'recipients' for accounts in conversation view.
According to gargron, this is the intended usage.
2019-08-12 12:51:08 +02: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
kaniini 84808e1697 Merge branch 'develop' into 'fix/hide-follows-counters'
# Conflicts:
#   CHANGELOG.md
2019-08-10 18:49:04 +00:00
Sergey Suprunenko af4cf35e20 Strip internal fields including likes from incoming and outgoing activities 2019-08-10 18:47:40 +00:00
Maksim 11d08c2de0 tests for Pleroma.Uploaders 2019-08-10 18:46:26 +00:00
Ivan Tashkinov 33a5fc4a70 [#1149] Fixed failing tests. Ensured Instance.set_unreachable/2 supports ISO 8601 datetime. 2019-08-10 20:38:31 +03:00
rinpatch 0802a08871 Mastodon API: Fix thread mute detection
It was calling CommonAPI.thread_muted? with post author's account
instead of viewer's one.
2019-08-10 16:27:46 +03:00
Maksim bb9c539580 Uploader.S3 added support stream uploads 2019-08-10 11:27:59 +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 409bcad54b Mastodon API: Set follower/following counters to 0 when hiding
followers/following is enabled

We are already doing that in AP representation, so I think we should do
it here as well for consistency.
2019-08-09 16:53:55 +03:00
lain 29807ef6a5 Merge branch 'feature/digest-email' into 'develop'
Feature/digest email

See merge request pleroma/pleroma!1078
2019-08-08 14:38:33 +00:00
lain a2b98f6d58 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-08 16:04:20 +02:00
Thibaut Girka 9c0da1009a Return profile URL in MastodonAPI's `url` field 2019-08-07 21:40:53 +00:00
Thibaut Girka 089d53a961 Simplify logic to mention.js `url` field
`User.profile_url` already fallbacks to ap_id
2019-08-07 20:55:37 +00:00
Thibaut Girka a10c840aba Return profile URL when available instead of actor URI for MastodonAPI mention URL
Fixes #1165
2019-08-07 20:29:30 +00:00
Haelwenn aa718ab8f6 Merge branch 'fix/object-reembeds' into 'develop'
Do not rembed the object after updating it

Closes #1142

See merge request pleroma/pleroma!1538
2019-08-06 22:14:00 +00:00
rinpatch 4f1b9c54b9 Do not rembed the object after updating it 2019-08-07 01:02:29 +03:00
rinpatch 03ad31328c OStatus Announce Representer: Do not depend on the object being embedded
in the Create activity
2019-08-07 00:23:58 +03:00
rinpatch 73d8d5c49f Stop depending on the embedded object in restrict_favorited_by 2019-08-07 00:12:42 +03:00
Maksim 139b196bc0 [#1150] fixed parser TwitterCard 2019-08-06 20:19:28 +00:00
lain e4a01d253e Conversation: Rename function to better express what it does. 2019-08-06 15:06:19 +02:00
lain a49c92f6ae Participation: Setting recipients will always add the owner. 2019-08-06 14:51:17 +02:00
Maksim bdc9a7222c tests for CommonApi/Utils 2019-08-05 15:37:05 +00:00
lain d6fe220e32 Linting. 2019-08-05 16:11:23 +02:00
lain b64b6fee2a CommonAPI: Replies to conversations also get the correct context id. 2019-08-05 15:33:22 +02:00
lain 3af6d14da7 Pleroma Conversations API: Add a way to set recipients. 2019-08-05 15:09:19 +02:00
Eugenij 96028cd585 Remove Reply-To from report emails 2019-08-04 22:24:50 +00:00
kaniini f7fc902c29 Merge branch 'feature/relay-list-task' into 'develop'
tasks: relay: add list task

Closes #1101

See merge request pleroma/pleroma!1528
2019-08-04 17:14:37 +00: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
Ariadne Conill cef3af5536 tasks: relay: add list task 2019-08-03 23:17:17 +00:00
Haelwenn (lanodan) Monnier a035ab8c1d
templates/layout/app.html.eex: Style anchors
[ci skip]
2019-08-03 23:18:22 +02: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
Alexander Strizhakov de0f3b73dd Admin fixes 2019-08-03 18:16:09 +00:00