Commit graph

4370 commits

Author SHA1 Message Date
Alex S
0559c82bdb fix 2019-09-11 09:25:33 +03:00
Alex S
a1f2dfb10a expanding regex sigils to use modifiers 2019-09-11 09:25:33 +03:00
Alex S
511d93fa54 mix docs generates config.md 2019-09-11 09:25:33 +03:00
Alex S
67e4300931 description formatters 2019-09-11 09:25:33 +03:00
rinpatch
43f02dfe38 Revert "Parallelize template rendering"
This reverts commit 1ad71592ad.

Since it had no limit on the number on concurrent processes it OOM killed
instances while rendering hellthreads. When I tried introducing a
concurrency limit with Task.async_stream/manual folds it lead to about 3 times
worse performance on threads larger than 1000 activities (we are talking
30s vs 1.2 minutes), I think this is not worth the about 1.5 times
performance increase on smaller threads when using it.
2019-09-10 22:01:45 +03:00
Egor Kislitsyn
b40b10b53d Add an endpoint to get multiple statuses by IDs 2019-09-10 13:39:45 +07:00
minibikini
11e12b5761 Add Pleroma.Plugs.Cache 2019-09-09 18:53:08 +00:00
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
e5c6bf3673 Mastodon API: URI encode hashtag name in generated URLs
Otherwise hashtags with word characters other than those allowed in URLs (e.g. Japanese characters) produce hashtag URLs that are invalid.
2019-09-07 19:50:45 +00:00
Maksim Pechnikov
39f99dc6cd Merge branch 'develop' into support/tests 2019-09-07 22:13:43 +03:00
Ariadne Conill
40a61532ca activity: when restricting deactivated users, precalculate the user list
the PostgreSQL query planner is easily confused due to the complexity of
certain queries we make.  while we plan to simplify these queries through
unification of activities and objects, we are not yet there.  it has been
discovered that using a precalculated list of deactivated users encourages
the query planner to prefer simpler indices instead of the
activity_visibility index.

accordingly, drop the subquery and precalc the user list instead.
2019-09-06 23:14:29 +00: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
Ivan Tashkinov
ca1ba1e272 [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	test/web/twitter_api/twitter_api_controller_test.exs
2019-09-06 13:26:05 +03:00
Egor Kislitsyn
40b3289c26 Refactor add_link_headers/7 -> add_link_headers/3 2019-09-06 17:08:47 +07:00
rinpatch
896ffabe37 Merge branch 'so-long-twitterapi' into 'develop'
Removing TwitterAPI

See merge request pleroma/pleroma!1605
2019-09-06 08:43:38 +00:00
rinpatch
3523bdcf26 Call TrailingFormatPlug for /api/pleroma/emoji
Apparently Pleroma-FE still calls it with trailing '.json'
2019-09-05 22:21:20 +03:00
Maxim Filippov
736165c082 Reverse reports list 2019-09-05 16:54:34 +03:00
Haelwenn
fe7cf44c40 Merge branch 'feature/mastoapi-accounts-external' into 'develop'
Mastdon API: Add ability to get a remote account by nickname to `/api/v1/accounts/:id`

See merge request pleroma/pleroma!1622
2019-09-05 12:48:27 +00:00
rinpatch
26fe6f70c9 Move checking for restrict_local to User.get_cached_by_id_or_nickname 2019-09-05 15:39:10 +03:00
rinpatch
b312ca3d52 Mastodon API Poll view: Fix handling of polls without an end date 2019-09-05 12:03:39 +03:00
Ivan Tashkinov
79cf629e1a Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-09-05 11:30:41 +03:00
rinpatch
3e30f6e198 Merge branch 'fix/safe-render-notifications' into 'develop'
Do not crash if one notification failed to render

See merge request pleroma/pleroma!1630
2019-09-05 05:47:06 +00:00
rinpatch
558969a0fd Do not crash if one notification failed to render 2019-09-05 08:32:49 +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
Maxim Filippov
af746fa4a8 Return total for reports 2019-09-04 20:08:13 +03:00
Sadposter
cb99cfcc65 don't try to truncate non-strings 2019-09-04 15:57:42 +01:00
Sadposter
2975da284b truncate remote user bio/display name 2019-09-04 15:45:40 +01: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
rinpatch
3face45467 Mastodon API: Add pleroma.thread_muted to Status entity
Needed for pleroma-fe!941
2019-09-04 14:17:23 +03:00
rinpatch
7c3838090f Apply suggestion to lib/pleroma/notification.ex 2019-09-04 10:14:15 +00:00
rinpatch
c2b6c1b089 Extend /api/pleroma/notifications/read to mark multiple notifications
as read and make it respond with Mastoapi entities
2019-09-04 12:38:27 +03:00
rinpatch
cc1d1ee406 Mastdon API: Add ability to get a remote account by nickname to
`/api/v1/accounts/:id`
2019-09-03 19:26:10 +03:00
Ivan Tashkinov
eb17cc17a1 [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	CHANGELOG.md
2019-09-03 17:12:15 +03:00
Maxim Filippov
b15cfd80ef Return "total" optionally 2019-09-03 13:58:27 +03:00
Maxim Filippov
a4c5f71e93 Return total from pagination + tests 2019-09-02 22:48:52 +03:00
Ivan Tashkinov
b49085c156 [#1149] Refactoring: GenServer workers renamed to daemons, use Oban.Worker moved to helper. 2019-09-02 14:57:40 +03:00
Sadposter
d0f07e55d2 use atom key for fields 2019-09-02 12:31:23 +01:00
Sadposter
05c935c396 mix format 2019-09-02 12:15:40 +01:00
Sadposter
35ef470d00 truncate fields for remote users instead 2019-09-02 12:15:21 +01: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
rinpatch
70eed0594c credo fixes 2019-08-31 13:08:43 +03:00
rinpatch
bd3ed3a622 Add back /api/qvitter/statuses/notifications/read.json 2019-08-31 11:43:06 +03:00
rinpatch
64410497d2 Remove TwitterAPI representers 2019-08-31 10:41:15 +03:00
rinpatch
985122cc03 Remove Activity, User and Notification views from TwitterAPI 2019-08-31 10:31:15 +03:00
rinpatch
90c2dae9a4 Remove most of Pleroma.Web.TwitterAPI.TwitterAPI 2019-08-31 10:20:34 +03:00
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
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