Commit Graph

4807 Commits

Author SHA1 Message Date
Ekaterina Vaartis b791a08656 Implement API actions on packs
That incldues listing them and downloading them from other instances
or from the remote url
2019-09-19 00:16:33 +03:00
Ekaterina Vaartis 6a42641b8d Add pack.toml loading 2019-09-19 00:16:33 +03: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
feld 25b4365656 Merge branch 'admin_api_invite_tokens' into 'develop'
POST for creating invite tokens in admin api

See merge request pleroma/pleroma!1637
2019-09-18 21:11:37 +00:00
Haelwenn e32d099a3a Merge branch 'feature/poll-refresh' into 'develop'
Poll refetching

See merge request pleroma/pleroma!1694
2019-09-18 20:58:53 +00:00
rinpatch 5028b7b578 Fix credo issues 2019-09-18 22:09:03 +03:00
rinpatch c096dd86e5 Do not refetch local objects 2019-09-18 20:01:26 +03:00
rinpatch eb87a86b5b Preserve internal fields when reinjecting 2019-09-18 19:53:51 +03:00
rinpatch d32894ae51 Move object internal fields to a constant 2019-09-18 19:24:20 +03:00
rinpatch e3f902b3a1 Set updated_at even if the object stayed the same 2019-09-18 19:07:25 +03:00
rinpatch a9c700ff15 Fix wrong argument order when calling NaiveDateTime.diff 2019-09-18 18:52:33 +03:00
rinpatch 7ef575d11e Initial poll refresh support
Implement refreshing the object with an interval and call the function
when getting the poll.
2019-09-18 18:13:21 +03:00
Maxim Filippov 384b7dd40d Fix response 2019-09-18 18:06:49 +03:00
Maxim Filippov f89728ad95 Merge branch 'develop' into feature/return-link-for-password-reset 2019-09-18 16:44:11 +03:00
Ivan Tashkinov e4f3d7f69d Apply suggestion to lib/pleroma/plugs/oauth_scopes_plug.ex 2019-09-18 10:31:10 +00:00
Ivan Tashkinov 551f2fa59e [#1234] Added changelog entry, removed admin OAuth scopes. 2019-09-18 12:31:33 +03:00
Ivan Tashkinov c98e761d28 Merge remote-tracking branch 'remotes/upstream/develop' into 1260-rate-limited-auth-actions 2019-09-18 12:06:38 +03:00
Alex S a18f1e7cd7 namings 2019-09-18 10:49:14 +03:00
Alex S 2263c8b6b9 little fixes 2019-09-18 10:49:14 +03:00
Alex S 4faf2b1555 post for creating invite tokens in admin api 2019-09-18 10:49:14 +03:00
Haelwenn (lanodan) Monnier e501c822c9
markdown.ex: put two-spaces before the description-newline 2019-09-17 23:05:27 +02:00
Haelwenn (lanodan) Monnier 4785596a2c
markdown.ex: end suggestions list with a newline
Otherwise we end up with suggestion on the same level as the childs

Markdown is a fuck…
2019-09-17 23:05:27 +02:00
Haelwenn (lanodan) Monnier d2097fd0f5
markdown.ex: \n\n on >1 suggestions, 2-spaces on one 2019-09-17 23:05:27 +02:00
Haelwenn (lanodan) Monnier d6182a3c8f
markdown.ex: Make suggestion(s) plural only if on >1 2019-09-17 23:05:27 +02:00
Haelwenn (lanodan) Monnier c0c5628200
description.exs: remove empty strings on descriptions 2019-09-17 23:05:26 +02:00
Haelwenn (lanodan) Monnier 106afaed58
markdown.ex: do not fail if there is no children 2019-09-17 23:05:26 +02:00
Haelwenn (lanodan) Monnier e0d8c8897e
docs/markdown.ex: do no print empty suggestions 2019-09-17 23:05:26 +02:00
Ivan Tashkinov b4d775161c [#1234] Undone reordering-related changes in router.ex. 2019-09-17 23:24:55 +03:00
Maxim Filippov f9dd121ad3 Admin API: Return link alongside with token on password reset 2019-09-17 23:09:08 +03:00
Ivan Tashkinov 01c1078015 [#1234] Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub_controller.ex
2019-09-17 22:53:26 +03:00
Haelwenn (lanodan) Monnier 7f211a48e0
docs/markdown.ex: child header as "- key (type): description" 2019-09-17 21:47:32 +02:00
Maksim Pechnikov 0447c42715 Merge branch 'develop' into issue/733 2019-09-17 22:20:39 +03:00
Ivan Tashkinov 76068873db [#1234] Defined admin OAuth scopes, refined other scopes. Added tests. 2019-09-17 22:19:39 +03:00
rinpatch ef2e2c5e12 Merge branch 'feature/return-total-for-reports' into 'develop'
Admin API: Return total for reports

See merge request pleroma/pleroma!1628
2019-09-17 19:09:56 +00:00
Maksim Pechnikov 7dd51652f9 Merge branch 'develop' into issue/733 2019-09-17 21:20:08 +03:00
Steven Fuchs 6193157f19 Fix notification warnings 2019-09-17 18:12:27 +00: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
Steven Fuchs 80c5c3495b remove remaining errors from tests 2019-09-17 14:44:52 +00:00
Roman Chvanikov 9fa2586abd Refactor SubscriptionNotificationView 2019-09-17 17:44:10 +03:00
Roman Chvanikov e9f69a3eb7 Move pleroma_api controllers into controllers sub-folders 2019-09-17 16:52:23 +03:00
Roman Chvanikov 7d1773bc6b Rename SubscriptionNotificationController list and get actions to index and show 2019-09-17 16:48:24 +03:00
Roman Chvanikov a76168e743 Cleanup PleromaAPIController 2019-09-17 16:44:54 +03:00
Roman Chvanikov a81f80233d Apply suggestion to lib/pleroma/web/router.ex 2019-09-17 13:43:10 +00:00
Roman Chvanikov f9be517c7f Apply suggestion to lib/pleroma/web/pleroma_api/subscription_notification_controller.ex 2019-09-17 13:42:40 +00:00
Roman Chvanikov c0f776faec Apply suggestion to lib/pleroma/web/pleroma_api/subscription_notification_controller.ex 2019-09-17 13:42:36 +00:00
Roman Chvanikov 2688b876ab Apply suggestion to lib/pleroma/web/pleroma_api/subscription_notification_controller.ex 2019-09-17 13:42:28 +00:00
Ivan Tashkinov e7afb67c5c [#1260] Rate-limiting for create authentication and related requests. 2019-09-17 16:16:11 +03: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
rinpatch a21584556f Update oban to 0.8.1
This version uses a different locking mechanism, which gets rid of
`WARNING:  you don't own a lock of type ShareLock` log spam
2019-09-17 13:04:43 +03:00
Roman Chvanikov 6042e21b25 Move subscription notifications to a separate controller 2019-09-16 21:59:49 +03:00
Roman Chvanikov 56b60798c2 Code style fixes 2019-09-16 20:50:14 +03:00
Roman Chvanikov 76c3e290fc Merge develop 2019-09-16 20:30:42 +03:00
Maxim Filippov df15ed13d1 Merge branch 'develop' into feature/moderation-log-filters 2019-09-16 19:44:06 +03:00
Egor Kislitsyn 085d014f08 Fix `Transmogrifier.upgrade_user_from_ap_id/1` 2019-09-16 19:26:00 +07:00
Maxim Filippov 219dca1b00 Merge branch 'develop' into feature/return-total-for-reports 2019-09-16 14:40:17 +03: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
kaniini d1a84ceec8 Merge branch 'feature/optimize_rich_media_parser' into 'develop'
added prepare html for RichMedia.Parser

See merge request pleroma/pleroma!1672
2019-09-16 07:37:54 +00:00
Maksim Pechnikov d75bc728e7 Merge branch 'develop' into issue/733 2019-09-16 07:34:22 +03:00
Ivan Tashkinov efbc2edba1 [#1234] Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub_controller.ex
#	lib/pleroma/web/router.ex
2019-09-15 18:52:27 +03:00
Ivan Tashkinov e6f43a831b [#1234] Permissions-related fixes / new functionality (Masto 2.4.3 scopes). 2019-09-15 18:22:08 +03:00
Maksim Pechnikov b4cf74c106 added prepare html for RichMedia.Parser 2019-09-15 14:53:58 +03:00
Maksim Pechnikov 8751809e1e Merge branch 'develop' into support/tests 2019-09-15 14:22:15 +03:00
Ivan Tashkinov 610236d6be [#1149] Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	docs/config.md
2019-09-15 10:12:24 +03:00
rinpatch 9c64a25713 Merge branch 'config-changes' into 'develop'
two separate files for config.md and generated config.md

See merge request pleroma/pleroma!1666
2019-09-14 17:26:35 +00:00
rinpatch 62bbba80f3 Merge branch 'fix/truncate-remote-user-fields' into 'develop'
Truncate remote user fields

See merge request pleroma/pleroma!1619
2019-09-14 16:39:42 +00:00
Roman Chvanikov d7457c9165 Merge branch 'develop' into refactor/subscription 2019-09-14 18:29:51 +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 5c5ebd3861 Mastodon API: Respect post privacy in favourited/reblogged endpoints 2019-09-14 01:50:15 +03:00
lain 1be09bde2d Merge branch 'refactor/add_link_headers' into 'develop'
Refactor `add_link_headers/7` -> `add_link_headers/3`

See merge request pleroma/pleroma!1636
2019-09-13 17:06:38 +00:00
rinpatch ba70a8cae6 Merge branch 'develop' into feature/delivery-tracking 2019-09-13 19:42:53 +03:00
rinpatch ac4a748fad Disallow NULLs in deliveries 2019-09-13 19:28:35 +03:00
Alex S 69faec031d markdown generation to the new file 2019-09-13 19:02:42 +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 05f8a066a1 Apply suggestion to lib/pleroma/delivery.ex 2019-09-13 15:23:26 +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 53a3ad6043 Merge branch 'cleanup-activity' into 'develop'
Cleanup `Pleroma.Activity` and add more tests

See merge request pleroma/pleroma!1623
2019-09-13 14:48:00 +00:00
Haelwenn 0d9609894f Merge branch 'feature/change-email' into 'develop'
Add email change endpoint

Closes #1156

See merge request pleroma/pleroma!1580
2019-09-13 12:46:16 +00:00
rinpatch f884987ace Merge branch 'admin-config-description' into 'develop'
Admin config description

Closes #1178 and #1209

See merge request pleroma/pleroma!1611
2019-09-13 12:36:24 +00: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 25d8216804 Add email change endpoint 2019-09-13 13:09:35 +07:00
Egor Kislitsyn 39dc9b470c Cleanup Pleroma.Activity and Pleroma.Web.ActivityPub.Utils 2019-09-13 12:44:59 +07:00
Maksim Pechnikov d8a178274b fix Activity.get_by_id 2019-09-13 07:12:34 +03:00
Maksim Pechnikov 2b40e57a72 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-13 06:55:05 +03:00
Haelwenn 51609217c2 Merge branch 'fix/error-log-double-quotes' into 'develop'
Fix double quotes in error logs

See merge request pleroma/pleroma!1656
2019-09-12 20:21:56 +00:00
rinpatch b0e6058021 Parse http signature for request to objects/activities 2019-09-12 23:03:52 +03:00
Maksim Pechnikov 936951826e Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-12 22:15:43 +03:00
rinpatch dabc4a00f5 Put the cache with the right key when using a tracking function 2019-09-12 22:10:15 +03:00
rinpatch 769fb778d4 Track object/create activity fetches 2019-09-12 21:37:36 +03: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
rinpatch 56828abf6d Use Jason for rendering responses
Although Jason readme says Phoenix 1.4+ already does it by default, [it actually does it only for new projects](3bfb9f6e90/lib/phoenix.ex (L58-L59))
2019-09-11 23:06:31 +03:00
Haelwenn 46ae62d159 Merge branch 'patch-5' into 'develop'
Mastodon API: URI encode hashtag name in generated URLs

See merge request pleroma/pleroma!1642
2019-09-11 17:47:19 +00:00
lain fb7332aec7 Merge branch 'fix/oom-parallel-rendering' into 'develop'
Revert "Parallelize template rendering"

See merge request pleroma/pleroma!1654
2019-09-11 11:21:03 +00:00
rinpatch 5a76d5d239 Add extended benchmark 2019-09-11 11:13:17 +03:00
Alex S 38b29779c3 refactoring 2019-09-11 09:25:33 +03:00
Alex S be32d90a0c little refactor 2019-09-11 09:25:33 +03:00
Alex S 5ff12e7df1 some changes 2019-09-11 09:25:33 +03:00
Alex S 57dc59d98d little fix 2019-09-11 09:25:33 +03:00
Alex S 35757b6d0e don't add behaviour to suggestions 2019-09-11 09:25:33 +03:00
Alex S 0624e06a9c little fix 2019-09-11 09:25:33 +03:00
Alex S 8f5ee7db06 typo fix 2019-09-11 09:25:33 +03:00
Alex S 6721301086 some changes 2019-09-11 09:25:33 +03:00
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
Maksim Pechnikov fcf604fa43 added tests 2019-09-11 07:23: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
Maksim Pechnikov a31af93e1d added tests /activity_pub/transmogrifier.ex 2019-09-10 16:43:10 +03:00
Egor Kislitsyn b40b10b53d Add an endpoint to get multiple statuses by IDs 2019-09-10 13:39:45 +07:00
Maxim Filippov d1abf7a358 Merge branch 'develop' into feature/moderation-log-filters 2019-09-10 01:23:20 +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 b63faf9819 [#1234] Mastodon 2.4.3 hierarchical scopes initial support (WIP). 2019-09-08 15:00:03 +03:00
Ivan Tashkinov c3f00447af Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue 2019-09-08 08:41:10 +03:00
shadowfacts 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 8c6cdff3cc Merge branch 'develop' into issue/1218 2019-09-07 22:17:32 +03: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
Maksim Pechnikov ab2f21e470 tests for mastodon_api_controller.ex 2019-09-06 21:50:00 +03:00
Alex S b3f6f6a409 generating remote users 2019-09-06 20:14:02 +03:00
Alex S 252e5db45c docs fixes 2019-09-06 16:37:18 +03:00
Maksim Pechnikov eb74c3d5c7 Merge branch 'develop' into issue/1218 2019-09-06 14:01:07 +03: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
Alex S a1125bd564 generatoin and fetching 2019-09-05 16:02:20 +03:00
Alex S 79dde58044 one more temp commit 2019-09-05 16:02:20 +03:00
Alex S db690bede9 temp commit 2019-09-05 16:02:20 +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
Maxim Filippov 3542ca6702 Merge branch 'develop' into feature/moderation-log-filters 2019-09-04 19:40:07 +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
Maxim Filippov 9c96b17e16 Add pagination to logs 2019-09-01 21:23:30 +03:00
Ivan Tashkinov dd017c65a4 [#1149] Refactored Oban workers API (introduced `enqueue/3`). 2019-08-31 21:58:42 +03:00
Ivan Tashkinov a90ea8ba15 [#1149] Addressed code review comments (code style, jobs pruning etc.). 2019-08-31 19:08:56 +03:00
Ivan Tashkinov e890ea7e82 [#1149] Added Oban job for "activity_expiration". Merged remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
# Conflicts:
#	config/config.exs
2019-08-31 14:25:43 +03:00
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
Maksim Pechnikov 6ef0103ca0 added Emoji struct 2019-08-31 10:14:53 +03:00
Maxim Filippov 4d6e22bb9b Style 2019-08-31 01:09:48 +03:00
Maxim Filippov f182f0f6bd Add ability to search moderation logs 2019-08-31 00:57:15 +03:00
Maksim Pechnikov d8098d142a added Emoji.Formatter 2019-08-30 22:04:17 +03:00
Maksim 5c90b70733 Apply suggestion to lib/pleroma/emoji/loader.ex 2019-08-30 07:30:54 +03:00
Maksim Pechnikov d7808b5db4 added code\path fields without html tags in ets 2019-08-30 07:30:54 +03:00
Maksim Pechnikov cef2e980b1 division emoji.ex on loader.ex and emoji.ex 2019-08-30 07:30:54 +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 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
Maxim Filippov 5e4fde1d3d Filter logs by date 2019-08-27 20:48:16 +03: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
kPherox 8ca4f145a5
Extract if block into private function 2019-08-26 17:09:32 +09: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 b15e226593
Change to delete empty name field 2019-08-25 07:34:15 +09:00
kPherox 705b5adfc4
Fix type of fields_attributes
Convert tuple list to map list when parameters is `:urlencoded` or `:multipart`
2019-08-25 07:34:14 +09:00
kPherox 45e21a9df4
Rename fields to fields_attributes 2019-08-25 07:34:11 +09: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
Sergey Suprunenko 040347b248 Remove spaces from the domain search 2019-08-03 18:13:20 +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
Haelwenn (lanodan) Monnier 8815f07058
tasks/pleroma/user.ex: Fix documentation of --max-use and --expire-at
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1155

[ci skip]
2019-08-02 23:38:02 +02:00
lain eee98aaa73 Pleroma API: Add endpoint to get conversation statuses. 2019-08-02 19:53:08 +02:00
feld d93d777915 Fix/mediaproxy whitelist base url 2019-08-02 17:07:09 +00:00
Roman Chvanikov 9d4f34fbcb Merge branch 'develop' into feature/digest-email 2019-08-02 18:16:04 +03:00
lain 56b1c3af13 CommonAPI: Extend api with conversation replies. 2019-08-02 15:05:27 +02:00
lain 5ff8f07ca9 Merge branch 'feature/hide-follows-remote' into 'develop'
Refactor Follows/Followers counter syncronization and set hide_followers/hide_follows for remote users

See merge request pleroma/pleroma!1411
2019-08-02 11:23:07 +00:00
lain f88560accd Conversations: Add recipient list to conversation participation.
This enables to address the same group of people every time.
2019-08-02 11:55:41 +02:00
Ivan Tashkinov 23d279e03e [#1149] Replaced RetryQueue with oban-based retries. 2019-08-01 17:28:00 +03:00
Egor Kislitsyn 9ca4506355 Add configurable length limits for `User.bio` and `User.name` 2019-08-01 15:53:37 +07:00
kaniini 6c06529cd4 Merge branch 'fix/disallow-ostatus-follows-locked' into 'develop'
Disallow following locked accounts over OStatus

See merge request pleroma/pleroma!1512
2019-07-31 19:13:56 +00:00
rinpatch 813c686dd7 Disallow following locked accounts over OStatus 2019-07-31 22:05:12 +03:00
Maksim 6eb33e7303 test for Pleroma.Web.CommonAPI.Utils.get_by_id_or_ap_id 2019-07-31 18:35:15 +00:00
Ariadne Conill f72e0b7cad ostatus: explicitly disallow protocol downgrade from activitypub
This closes embargoed bug #1135.
2019-07-31 18:17:31 +00:00
rinpatch 301ea0dc04 Add tests for counters being updated on follow 2019-07-31 21:09:13 +03:00
Maksim 58443d0cd6 tests for TwitterApi/UtilController 2019-07-31 15:14:36 +00:00
lain 7483679a7b StatusView: Return direct conversation id. 2019-07-31 15:12:29 +02:00
rinpatch f42719506c Fix credo issues 2019-07-31 14:20:34 +03:00
rinpatch c88a5d3251 Merge branch 'develop' into feature/hide-follows-remote 2019-07-31 14:12:29 +03:00
Alexander Strizhakov 51b3b6d816 Admin changes 2019-07-30 16:36:05 +00:00
Ariadne Conill 3850812503 twitter api: utils: rework do_remote_follow() to use CommonAPI
Closes #1138
2019-07-29 20:00:57 +00:00
kaniini 5835069215 Revert "Merge branch 'bugfix/clean-up-markdown-rendering' into 'develop'"
This reverts merge request !1504
2019-07-29 19:42:26 +00:00
Ariadne Conill 5795a890e9 markdown: clean up html generated by earmark 2019-07-29 19:09:58 +00:00
lain 1dfde4151c Merge branch 'refactor/use-constants' into 'develop'
refactoring: begin to use constants

See merge request pleroma/pleroma!1500
2019-07-29 16:30:47 +00:00
Eugenij 0bee2131ce Add `mailerEnabled` to the NodeInfo metadata 2019-07-29 16:17:40 +00:00
Sergey Suprunenko c0e258cf21 Redirect not logged-in users to the MastoFE login page on private instances 2019-07-29 16:17:22 +00:00
Maksim 159bbec570 added tests for OstatusController 2019-07-29 05:02:20 +00: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
Sachin Joshi 242f5c585e add account confirmation email resend in mastodon api 2019-07-28 20:30:10 +00:00
Maksim 6a4b8b2681 fixed User.update_and_set_cache for stale user 2019-07-28 20:29:26 +00:00
kaniini 488c06b6f5 Merge branch 'develop' into 'develop'
Fix HTTP sig tweak on KeyId

See merge request pleroma/pleroma!1496
2019-07-28 20:25:35 +00:00
Sergey Suprunenko 02dc651828 Handle 303 redirects 2019-07-28 20:24:39 +00:00
Thomas Sileo 961e778531 Fix HTTP sig tweak on KeyId 2019-07-28 14:17:56 +02:00
Maksim 6b77a88365 [#1097] added redirect: /pleroma/admin -> /pleroma/admin/ 2019-07-26 20:27:38 +00:00
rinpatch 41e0304757 Merge branch 'develop' into feature/hide-follows-remote 2019-07-25 18:43:30 +03:00
kaniini 19835be067 Merge branch 'fix-remote-follow-from-ostatus-subscribe' into 'develop'
Fix remote follow from /ostatus_subscribe

Closes #1103

See merge request pleroma/pleroma!1472
2019-07-24 19:29:01 +00:00
Sergey Suprunenko b20020da16 Show the url advertised in the Activity in the Status JSON response 2019-07-24 19:28:21 +00:00
feld 84fca14c3c Do not prepend /media/ when using base_url
This ensures admin has full control over the path where media resides.
2019-07-24 15:35:25 +00:00
kPherox ac27b94ffa
Change to not require `magic-public-key` on WebFinger 2019-07-25 00:21:32 +09:00
Maksim 55341ac717 tests WebFinger 2019-07-24 15:13:10 +00:00
Eugenij 4504135894 Add `domain_blocking` to the relationship API (GET /api/v1/accounts/relationships) 2019-07-24 15:12:27 +00:00
Mike Verdone 2c83eb0b15 Revert "squash! Expose expires_at datetime in mastoAPI only for the activity actor"
This reverts commit 2981821db8.
2019-07-24 17:09:59 +02:00
Mike Verdone 2981821db8 squash! Expose expires_at datetime in mastoAPI only for the activity actor
NOTE: rewrite the commit msg
2019-07-24 16:51:09 +02:00
Roman Chvanikov d2da3d30f3 Merge branch 'develop' into feature/digest-email 2019-07-24 16:37:52 +03:00
Mike Verdone 3cb471ec06 Expose expires_at datetime in mastoAPI only for the activity actor
In the "pleroma" section of the MastoAPI for status activities you can
see an expires_at item that states when the activity will expire, or
nothing if the activity will not expire.

The expires_at date is only visible to the person who posted the
activity. This is the conservative approach in case some attacker
decides to write a logger for expiring posts. However, in the future of
OCAP, signed requests, and all that stuff, this attack might not be that
likely. Some other pleroma dev should remove the restriction in the code
at that time, if they're satisfied with the security implications of
doing so.
2019-07-24 14:47:22 +02:00
Mike Verdone 36012ef6c1 Require that ephemeral posts live for at least one hour
If we didn't put some kind of lifetime requirement on these, I guess you
could annoy people by sending large numbers of ephemeral posts that
provoke notifications but then disappear before anyone can read them.
2019-07-24 14:46:08 +02:00
Mike Verdone 704960b3c1 Add support for activity expiration to common and Masto API
The "expires_at" parameter accepts an ISO8601-formatted date which
defines when the activity will expire.

At this point the API will not give you any feedback about if your post
will expire or not.
2019-07-24 14:45:14 +02:00
Mike Verdone 378f5f0fbe Add activity expiration worker
This is a worker that runs every minute and deletes expired activities.
It's based heavily on the scheduled activities worker.
2019-07-24 13:14:52 +02:00
Mike Verdone 666514194a Add activity expirations table
Add a table to store activity expirations. An activity can have zero or
one expirations. The expiration has a scheduled_at field which stores
the time at which the activity should expire and be deleted.
2019-07-24 13:14:52 +02:00
sadposter f5d574f4ed check both item and parent domain blocks 2019-07-24 11:35:16 +01:00
Sadposter 48bd3be9cb move domain block check to with block 2019-07-24 11:11:33 +01:00
Sadposter 4af4f6166b honour domain blocks on streaming notifications 2019-07-24 11:09:06 +01:00
kaniini 9c6357324e Merge branch 'feature/admin-api-user-statuses' into 'develop'
Admin API: Endpoint for fetching latest user's statuses

See merge request pleroma/pleroma!1413
2019-07-23 23:59:21 +00:00
Ariadne Conill d3bdb8e704 rich media: parser: splice the given URL into the result 2019-07-23 23:51:29 +00: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
kaniini bd265acf91 Merge branch 'chore/adminapi-deprecated-endpoints' into 'develop'
Router: Remove deprecated AdminAPI endpoints

See merge request pleroma/pleroma!1466
2019-07-23 19:48:34 +00:00
Haelwenn (lanodan) Monnier 90be91b0e0
Router: Remove deprecated AdminAPI endpoints 2019-07-23 21:35:25 +02:00
Alexander Strizhakov 5e72554f3c Admin config fix 2019-07-23 19:17:00 +00:00
Maksim c49a09ed88 tests for Pleroma.Web.ActivityPub.Publisher 2019-07-23 19:15:48 +00:00
kaniini 8d3cf7e519 Merge branch 'bugfix/unauthed-liked-by' into 'develop'
Bugfix: don't error out on unauthorized request to liked/favourited_by

See merge request pleroma/pleroma!1474
2019-07-23 19:14:43 +00:00
kaniini 03d89e182e Merge branch 'fix/subscriber-notifications' into 'develop'
Do not notify subscribers for messages from users which are replies to others

See merge request pleroma/pleroma!1477
2019-07-23 19:13:55 +00:00
Mark Felder 6a79bb12c3 Fix function 2019-07-23 13:53:05 -05:00
Sadposter 54a161cb7a move unauth'd user blocks?/2 check 2019-07-23 19:44:47 +01:00
Mark Felder fd287387a0 Do not notify subscribers for messages from users which are replies to others 2019-07-23 13:14:26 -05:00
Ariadne Conill e7c64f106e signature: properly deduce the actor from misskey key IDs 2019-07-23 16:47:22 +00:00
Sadposter 452980652d Mix format 2019-07-23 15:13:05 +01:00
Sadposter eacf61d823 fix unauthenticated req to favourited/rebloggd_by 2019-07-23 15:08:33 +01:00
kPherox e818381042
Use User.get_or_fetch/1 instead of OStatus.find_or_make_user/1 2019-07-23 19:47:27 +09:00
Alexander Strizhakov b70e659304 Feature/1087 wildcard option for blocks 2019-07-22 14:33:58 +00:00
Haelwenn 674ad5e1df Merge branch 'hardening/stop-misusing-sharedinbox' into 'develop'
activitypub: publisher: align sharedinbox usage with AP specification rules

See merge request pleroma/pleroma!1464
2019-07-22 11:01:35 +00:00
Sadposter f712ee879a Bugfix: muted/blocked user notification streaming 2019-07-22 02:43:55 +00:00
Sergey Suprunenko 05b5af8075 Add tests for users tasks and PleromaAuthenticator 2019-07-22 02:43:15 +00:00
Sadposter a5d6287ba8 Hide blocked users from interactions 2019-07-22 02:42:29 +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
kaniini a00aab3402 Merge branch 'fix/rich-media-ttl-fallback' into 'develop'
Fix rich media parser failing when no TTL can be found by image TTL setters

See merge request pleroma/pleroma!1460
2019-07-21 16:05:58 +00:00
rinpatch 3368174785 Fix rich media parser failing when no TTL can be found by image TTL
setters
2019-07-21 18:22:22 +03:00
Ariadne Conill bc6c5c513a router: ensure the AP sharedinbox path is registered first 2019-07-21 03:52:06 +00:00
rinpatch 196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
rinpatch c3ecaea64d Apply suggestion to lib/pleroma/object/fetcher.ex 2019-07-20 18:53:00 +00:00
rinpatch d4ee76ab63 Apply suggestion to lib/pleroma/user.ex 2019-07-20 18:52:41 +00:00
Roman Chvanikov 8292331b35 Merge branch 'develop' into feature/digest-email 2019-07-20 16:41:58 +03:00
Ivan Tashkinov d0198fe215 [#1112] Preserving `id` on user insert conflict on order not to violate conversation_partipations_user_id_fkey constraint. 2019-07-20 13:03:34 +03:00
Roman Chvanikov ae4fc58589 Remove flavour from userinfo 2019-07-20 01:24:01 +03:00
Roman Chvanikov 36049f08ef Merge develop 2019-07-20 01:03:25 +03:00
feld 93df0796f0 Merge branch 'feature/matstodon-statuses-by-name' into 'develop'
Feature/matstodon statuses by name

See merge request pleroma/pleroma!1211
2019-07-19 21:59:18 +00:00
Mark Felder 9169f331b6 Merge branch 'develop' into feature/matstodon-statuses-by-name 2019-07-19 16:55:10 -05:00
kaniini 33729bbb28 Merge branch 'feature/richmedia-ttl' into 'develop'
add the rich media ttl based on image exp time

See merge request pleroma/pleroma!1438
2019-07-19 21:36:36 +00:00
Ariadne Conill 9a8eb2c94d mix: add pleroma.user unsubscribe_all_from_instance 2019-07-19 19:25:29 +00:00
kaniini 716afc83ce Merge branch 'refactor/http-signature-plug' into 'develop'
http signature plug: separation of concerns

See merge request pleroma/pleroma!1449
2019-07-19 16:57:24 +00:00
Maksim c2e2aadc42 #1110 fixed /api/pleroma/healthcheck 2019-07-19 16:20:23 +00:00
Sachin Joshi de9906ad56 change the structure of image ttl parsar 2019-07-19 11:43:42 +05:45
Maxim Filippov 9570a5be40 Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-18 23:38:38 +03:00
Ariadne Conill c947cfec5a mapped signature plug: use `user` assign like authentication plug 2019-07-18 20:31:25 +00:00
Maksim f435217e50 tests for Plugs.AuthenticationPlug 2019-07-18 20:29:51 +00:00
Ariadne Conill a8af0ac053 mapped signature plug: fix user lookup 2019-07-18 16:27:50 +00:00
Ariadne Conill 5ea0cd69f7 mapped signature plug: don't invalidate in cases where a signature is actually not present (testsuite) 2019-07-18 16:01:21 +00:00
Ariadne Conill 184fa61fb3 plugs: add MappedSignatureToIdentityPlug 2019-07-18 15:38:45 +00:00
Ariadne Conill 18d8d12d53 signature: make key_id_to_actor_id() public 2019-07-18 15:35:42 +00:00
Ariadne Conill 88d064d80e http signature plug: remove redundant checks handled by HTTPSignatures library
the redundant checks assumed a POST request, which will not work for signed GETs.
this check was originally needed because the HTTPSignatures adapter assumed that
the requests were also POST requests.  but now, the adapter has been corrected.
2019-07-18 15:11:21 +00:00
kaniini f9a0014681 Merge branch 'feature/signed-object-fetches' into 'develop'
signed object fetches

See merge request pleroma/pleroma!1446
2019-07-18 13:27:50 +00:00
Maksim b6b748d3e7 tests for Uploader with webhook 2019-07-18 12:30:18 +00:00
Ariadne Conill 399acd4c42 fetcher: sign object fetches if configured 2019-07-17 22:58:46 +00:00
kaniini 1e48af9acf Merge branch 'feature/instance-fetch-actor' into 'develop'
instance fetch service actor

See merge request pleroma/pleroma!1440
2019-07-17 19:45:40 +00:00
kaniini 60b54ee64a Merge branch 'feature/http-signatures-keyid' into 'develop'
http signatures: derive actor from key IDs

See merge request pleroma/pleroma!1442
2019-07-17 19:44:14 +00:00
Ariadne Conill f84fb340b7 http signatures: derive actor ID from key ID.
Almost all AP servers return their key ID as the actor URI with #main-key
added.  Hubzilla, which doesn't, uses a URL which refers to the actor
anyway, so worst case, Hubzilla users get refetched.
2019-07-17 19:18:19 +00:00
Eugenij 4bf2bb9cff Fix password reset for non-test env
Fixes `Plug.Conn.NotSentError` that causes a 5xx error in response
instead of 404 and 400.

Fixes pattern matching error caused by different response format
in test and non-test env: `Pleroma.Emails.Mailer.deliver_async` returns
:ok when PleromaJobQueue is enabled and `{:ok, _}` when it's disabled.
In tests, it's disabled.
2019-07-17 18:09:31 +00:00