Commit Graph

824 Commits

Author SHA1 Message Date
Ivan Tashkinov fc81e5a49c Enforcement of OAuth scopes check for authenticated API endpoints, :skip_plug plug to mark a plug explicitly skipped (disabled). 2020-04-06 10:20:44 +03:00
Ivan Tashkinov 3fa51f7272 Merge remote-tracking branch 'remotes/origin/2323-accounts-relationships-hotfix' into output-of-relationships-in-statuses
# Conflicts:
#	lib/pleroma/web/mastodon_api/views/account_view.ex
#	lib/pleroma/web/mastodon_api/views/status_view.ex
2020-04-02 19:38:39 +03:00
Ivan Tashkinov aa78325117 [#2323] Fixed a typo causing /accounts/relationships to render default relationships. Improved the tests. 2020-04-02 19:23:30 +03:00
Maksim Pechnikov dbcfac11b4 Merge branch 'develop' into issue/1276 2020-04-02 14:47:17 +03:00
Egor Kislitsyn 23219e6fb3
Add OpenAPI 2020-04-01 23:13:08 +04:00
Ivan Tashkinov 98b96e45ab Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses
# Conflicts:
#	CHANGELOG.md
2020-04-01 20:08:14 +03:00
feld ef7d2b0f11 Merge branch 'gun' into 'develop'
Gun adapter

Closes #945

See merge request pleroma/pleroma!1861
2020-04-01 17:05:09 +00:00
Ivan Tashkinov 2f2bd7fe72 Ability to control the output of account/pleroma/relationship in statuses in order to improve the rendering performance.
See `[:extensions, output_relationships_in_statuses_by_default]` setting and `with_relationships` param.
2020-04-01 19:49:09 +03:00
Haelwenn (lanodan) Monnier 185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02:00
Haelwenn (lanodan) Monnier b30fb1f3bb
User: Fix use of source_data in profile_url/1 2020-03-31 23:54:20 +02:00
Haelwenn (lanodan) Monnier 2553400a66
Initial failing test statement against funkwhale channels 2020-03-31 23:54:20 +02:00
kPherox dbf9d719f9
split test for update profile fields 2020-04-01 02:52:30 +09:00
Alexander Strizhakov f497cf2f7c
Merge branch 'develop' into gun 2020-03-30 12:15:23 +03:00
Haelwenn e999c67cee Merge branch 'feature/funkwhale-audio' into 'develop'
Add support for funkwhale Audio activity

Closes #764 and #1624

See merge request pleroma/pleroma!2287
2020-03-29 19:18:22 +00:00
Maksim Pechnikov dfd2c74184 Merge branch 'develop' into issue/1276 2020-03-29 06:57:34 +03:00
Ivan Tashkinov be9d18461a FollowingRelationship storage & performance optimizations (state turned `ecto_enum`-driven integer, reorganized indices etc.). 2020-03-28 18:49:03 +03:00
Ivan Tashkinov dfbc05d496 Misc refactoring / tweaks (`ThreadMute.exists?/2`). 2020-03-27 08:01:03 +03:00
Ivan Tashkinov ff1baae7e9 Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering 2020-03-25 20:41:17 +03:00
Ivan Tashkinov 460e41585c Further preloading (more endpoints), refactoring, tests. 2020-03-25 20:33:34 +03:00
Egor Kislitsyn 9081a071ee
Add a test for accounts/update_credentials 2020-03-25 18:46:17 +04:00
Ivan Tashkinov 8f1d622b8d Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering 2020-03-24 22:15:37 +03:00
Ivan Tashkinov 13cbb9f6ad Implemented preloading of relationships with parent activities' actors for statuses/timeline rendering. Applied preloading for notifications rendering. Fixed announces rendering issue (preloading-related). 2020-03-24 22:14:26 +03:00
lain eec1fcaf55 Home timeline tests: Add failing test for relationships 2020-03-23 15:58:55 +01:00
Alexander Strizhakov a6ee6784bc
creating trusted app from adminFE & mix task 2020-03-23 10:44:47 +03:00
Haelwenn (lanodan) Monnier 15be6ba9c2
AccountView: fix for other forms of <br> in bio
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-03-22 16:41:01 +01:00
Alexander Strizhakov 9bae9b1b1b
Merge branch 'develop' into gun 2020-03-20 20:47:54 +03:00
Ivan Tashkinov 1c05f539aa Improved in-test `clear_config/n` applicability (setup / setup_all / in-test usage). 2020-03-20 18:33:00 +03:00
Ivan Tashkinov 0e27c274f4 Merge remote-tracking branch 'remotes/origin/develop' into clear-config-test-improvements
# Conflicts:
#	test/web/mastodon_api/controllers/account_controller_test.exs
2020-03-20 18:08:23 +03:00
lain 6c1232b486 NotificationController: Fix test. 2020-03-20 15:00:28 +01:00
lain 1aa8aa7d7f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-2 2020-03-20 14:52:58 +01:00
Alexander Strizhakov fe15f0ba15
restrict_unauthenticated setting 2020-03-20 16:36:20 +03:00
Alexander Strizhakov 98a60df41f
include_types parameter in /api/v1/notifications 2020-03-20 13:18:12 +03:00
lain 3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
Ivan Tashkinov ec3719f539 Improved in-test config management functions. 2020-03-18 20:30:31 +03:00
Alexander Strizhakov f9ecb513fa
Merge branch 'develop' into gun 2020-03-18 14:08:21 +03:00
Alexander Strizhakov f3791add99
removing with_move parameter 2020-03-16 20:07:45 +03:00
Alexander Strizhakov f0651730bd
Merge branch 'develop' into gun 2020-03-16 14:25:55 +03:00
rinpatch fc4496d4fa rate limiter: disable based on if remote ip was found, not on if the plug was enabled
The current rate limiter disable logic won't trigger when the remote ip
is not forwarded, only when the remoteip plug is not enabled, which is
not the case on most instances since it's enabled by default. This
changes the behavior to warn and disable  when the remote ip was not forwarded,
even if the RemoteIP plug is enabled.

Also closes #1620
2020-03-13 21:41:17 +03:00
Alexander Strizhakov 39ed608b13
Merge branch 'develop' into gun 2020-03-12 18:31:10 +03:00
feld 2019f3b3ff Merge branch 'fix/signup-without-email' into 'develop'
Allow account registration without an email

See merge request pleroma/pleroma!2246
2020-03-11 16:53:05 +00:00
Haelwenn (lanodan) Monnier 863ec33ba2
Add support for funkwhale Audio activity
reel2bits fixture not included as it lacks the Actor fixture for it.

Closes: https://git.pleroma.social/pleroma/pleroma/issues/1624
Closes: https://git.pleroma.social/pleroma/pleroma/issues/764
2020-03-11 13:46:42 +01:00
Maksim Pechnikov edb659dc57 Merge branch 'develop' into issue/1276 2020-03-08 14:10:59 +03:00
Alexander Strizhakov b2eb1124d1
Merge branch 'develop' into gun 2020-03-07 12:41:37 +03:00
Alexander Strizhakov f0753eed0f
removing try block in tesla request
added mocks for tests which fail with Tesla.Mock.Error
2020-03-05 17:31:06 +03:00
lain 4bce13fa2f MastodonController: Return 404 errors correctly. 2020-03-04 18:09:06 +01:00
lain 6f7a8c43a2 Merge branch 'fix/no-email-no-fail' into 'develop'
Do not fail when user has no email

See merge request pleroma/pleroma!2249
2020-03-04 12:43:06 +00:00
Mark Felder 05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Egor Kislitsyn 4a45b96a91
Merge branch 'develop' into fix/signup-without-email 2020-03-02 15:35:49 +04:00
Haelwenn (lanodan) Monnier 6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
Ivan Tashkinov 6f2efb1c45 Runtime configurability of RateLimiter. Refactoring. Disabled default rate limits in tests. 2020-02-27 18:46:05 +03:00
Egor Kislitsyn cb60a9c42f
Do not fail when user has no email 2020-02-27 17:27:49 +04:00
Egor Kislitsyn f446744a6a
Allow account registration without an email 2020-02-26 20:13:53 +04:00
Maksim Pechnikov 10f452ad1f Merge branch 'develop' into issue/1276 2020-02-25 07:22:56 +03:00
lain cf4ecffcea Merge branch 'tests-clear-config-tweaks' into 'develop'
Tweaks to `clear_config` calls in tests

See merge request pleroma/pleroma!2209
2020-02-20 11:36:48 +00:00
Ivan Tashkinov 226f4d5ef9 Merge remote-tracking branch 'remotes/origin/develop' into tests-clear-config-tweaks
# Conflicts:
#	test/web/admin_api/admin_api_controller_test.exs
2020-02-18 17:52:31 +03:00
Egor Kislitsyn ca7ac068f0
Add a test 2020-02-18 17:09:50 +04:00
Maksim Pechnikov 28701c08ad Merge branch 'develop' into issue/1276 2020-02-17 08:56:03 +03:00
Haelwenn (lanodan) Monnier 1257331291
MastodonAPI.StatusView: Do not use site_name
site_name allow to spoof the origin of the domain and so hacks like:

<!-- served on https://hacktivis.me/tmp/joinmastodon.org.html -->
<meta property="og:image" content="https://hacktivis.me/datalove/img/meme/pleroma/mastodon%2C%20forbidden%20amuse%20yourself.jpeg" />
<meta property="og:title" content="Mastodon: Forbidden Amuse Yourself" />
<meta property="og:site_name" content="joinmastodon.org" />
<meta http-equiv="refresh" content="0; url=http://joinmastodon.org/">
2020-02-15 00:36:09 +01:00
Ivan Tashkinov 4f8c3462a8 Tweaks to `clear_config` calls in tests in order to prevent side effects on config during test suite execution. 2020-02-13 21:55:47 +03:00
Maksim Pechnikov 6f9839c73c Merge branch 'develop' into issue/1276 2020-02-13 20:43:34 +03:00
Maksim Pechnikov da44ee5b0f Merge branch 'develop' into issue/1276 2020-02-13 09:20:34 +03:00
Egor Kislitsyn 19516af74e
Fix `status.expires_in` validation 2020-02-12 20:20:44 +04:00
lain 24c526a0b1 Merge remote-tracking branch 'origin/develop' into uguu-uwu-notices-bulge 2020-02-11 13:58:36 +01:00
Maksim Pechnikov 58574ef156 Merge branch 'develop' into issue/1276 2020-02-11 08:35:26 +03:00
Maksim Pechnikov 6813c0302c Merge branch 'develop' into issue/1383 2020-02-10 20:49:20 +03:00
Maksim Pechnikov b87533760b Merge branch 'develop' into issue/1276 2020-02-10 07:59:52 +03:00
Haelwenn 1262357ddb Merge branch 'cancel-follow-request' into 'develop'
Add support for cancellation of a follow request

Closes #1522

See merge request pleroma/pleroma!2175
2020-02-07 16:10:43 +00:00
Lain Soykaf d85bcc8627 Questions: Add timezone to `closed` property 2020-02-07 16:57:46 +01:00
Lain Soykaf f875b9650a EmojiReactions: Add Mastodon-aligned reaction endpoints, change response 2020-02-07 14:52:13 +01:00
Lain Soykaf 8a79f20c21 EmojiReactions: Rename to EmojiReacts 2020-02-06 18:09:57 +01:00
feld df0b00b32d Merge branch 'mastoapi-non-html-strings' into 'develop'
mastodon API: do not sanitize html in non-html fields

See merge request pleroma/pleroma!2167
2020-02-06 16:08:23 +00:00
Egor Kislitsyn 8c71f7e11a Add support for cancellation of a follow request 2020-02-05 20:22:15 +04:00
Maksim Pechnikov 2c40c8b4a2 Merge branch 'develop' into issue/1383 2020-02-03 21:42:36 +03:00
rinpatch 983a87175e mastodon API: do not sanitize html in non-html fields 2020-02-02 14:46:32 +03:00
rinpatch c27d1d65bf Merge branch 'fix/disable-rate-limiter-for-socket-localhost' into 'develop'
Disable rate limiter for socket/localhost

Closes #1380

See merge request pleroma/pleroma!2064
2020-01-30 19:24:04 +00:00
rinpatch 5b62acf6e9 Merge branch 'develop' into fix/disable-rate-limiter-for-socket-localhost 2020-01-30 22:16:55 +03:00
lain a802e07241 Emoji Reactions: Add `reacted` field to emoji reactions 2020-01-29 11:39:06 +01:00
Maksim Pechnikov ba5e8a6444 Merge branch 'develop' into issue/1276 2020-01-28 21:11:13 +03:00
Maksim Pechnikov 21a2a05407 Merge branch 'develop' into issue/1383 2020-01-28 20:39:20 +03:00
Maksim Pechnikov 02c3dd2e3d update ecto 2020-01-28 10:43:47 +03:00
Hakaba Hitoyo dabd535e43 Remove user recommendation by third party engine 2020-01-27 13:21:50 +00:00
Maksim Pechnikov e442ea5722 Merge branch 'develop' into issue/1276 2020-01-27 15:20:47 +03:00
Maksim Pechnikov bfc70fdf29 Merge branch 'develop' into issue/1383 2020-01-27 08:48:19 +03:00
lain 347f3ed2c6 Emoji reactions: Change api format once more 2020-01-24 10:52:24 +01:00
Maksim Pechnikov 5fc2fa8908 Merge branch 'develop' into issue/1383 2020-01-23 11:11:18 +03:00
lain 615b72238e Notifications: Add emoji reaction notifications 2020-01-22 20:06:12 +01:00
Maksim Pechnikov cf19bf3c7c Merge branch 'develop' into issue/1383 2020-01-22 20:20:39 +03:00
lain dd3fc50ea4 Emoji reactions: Change cache and reply format 2020-01-22 13:57:42 +01:00
Maksim Pechnikov b8d5c09f48 Merge branch 'develop' into issue/1383 2020-01-22 09:30:30 +03:00
rinpatch 04c9ca5d68 Merge branch 'emoji-reaction-extensions' into 'develop'
StatusView: Add `emoji_reactions`

See merge request pleroma/pleroma!2120
2020-01-21 13:13:17 +00:00
Maksim Pechnikov 6e88a7e591 exclude blocked user posts from search results 2020-01-21 07:40:13 +03:00
lain 7d8b709d29 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into emoji-reaction-extensions 2020-01-20 18:10:55 +01:00
lain 4c5b5f14dc StatusView: Add `emoji_reactions` 2020-01-20 16:24:20 +01:00
lain 2199d63ddc StatusControllerTest: Fix typo 2020-01-20 15:31:14 +01:00
lain 510776ba31 CommonAPI: Don't error out on double favs/repeats 2020-01-20 14:27:59 +01:00
Egor Kislitsyn 023b7f605b
Fix notification controller test 2020-01-15 16:51:09 +04:00
Egor Kislitsyn 3849053c6a
Merge branch 'develop' into notifications-from-account 2020-01-15 16:49:45 +04:00
Maksim Pechnikov b7908844f2 Merge branch 'develop' into issue/1383 2020-01-13 12:41:07 +03:00
Maksim Pechnikov 54c9db38c8 Merge branch 'develop' into issue/1383 2019-12-21 20:38:59 +03:00
Maxim Filippov e71a13ad57 Revert "Merge branch 'feature/status-counts-by-scope' into 'develop'"
This reverts merge request !2076
2019-12-21 11:41:19 +00:00
feld a54aa5af43 Merge branch 'feature/status-counts-by-scope' into 'develop'
Stats: return status counts by scope

See merge request pleroma/pleroma!2076
2019-12-20 16:30:26 +00:00
Ivan Tashkinov ead2d18826 Merge remote-tracking branch 'remotes/origin/develop' into oauth-scopes-tweaks-and-tests 2019-12-19 17:24:08 +03:00
Ivan Tashkinov 455e072d27 [#2068] Introduced proper OAuth tokens usage to controller tests. 2019-12-19 17:23:27 +03:00
Egor Kislitsyn 34d85f8a54
Return 404 if account to filter notifications from is not found 2019-12-19 20:45:44 +07:00
Maxim Filippov 404a9ccb9a Stats: return status counts by scope 2019-12-18 23:17:34 +03:00
Thomas Citharel d2f1c4f658
Add ActivityPub Object Event type support
Adds Event support in the same way Video objects are handled, with the
name of the object as message header.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 16:16:21 +01:00
Egor Kislitsyn 6c39fa20b1
Add support for `account_id` param to filter notifications by the account 2019-12-17 17:00:46 +07:00
Ivan Tashkinov 7973cbdb9f OAuthScopesPlug: disallowed nil token (unless with :fallback option). WIP: controller tests modification: OAuth scopes usage. 2019-12-15 22:32:42 +03:00
Maksim Pechnikov 67cb46e15d Merge branch 'develop' into issue/1383 2019-12-14 21:44:10 +03:00
Maxim Filippov eb11c60289 Disable rate limiter for socket/localhost (unless RemoteIp is enabled) 2019-12-14 03:06:43 +03:00
Hakaba Hitoyo 701815e64c [ActivityPub] Configurable ActivityPub actor type 2019-12-10 13:19:26 +00:00
rinpatch 37c34ccec3 Merge branch 'fix/prefer-url-over-search' into 'develop'
status search: prefer the status fetched by url over other results

See merge request pleroma/pleroma!2050
2019-12-09 17:55:48 +00:00
rinpatch f4b7f32d51 status search: prefer the status fetched by url over other results 2019-12-09 20:45:04 +03:00
Maksim Pechnikov 2b821036c4 Merge branch 'develop' into issue/1383 2019-12-09 19:41:43 +03:00
lain b3c80b8404 Merge branch 'exclude-visibilities-for-like-notifications' into 'develop'
Fix exclude_visibilities filter for followers-only Like notifications

See merge request pleroma/pleroma!1957
2019-12-09 14:55:42 +00:00
Maksim Pechnikov 95e6a2acd9 Merge branch 'develop' into issue/1342 2019-12-08 21:25:26 +03:00
Maksim Pechnikov 6fbafb1cdc Merge branch 'develop' into issue/1276 2019-12-08 20:14:28 +03:00
Maksim Pechnikov 5876a9cb79 Merge branch 'develop' into issue/1383 2019-12-08 19:52:46 +03:00
rinpatch 8404f8c8fb Merge branch 'improve-move-notificaions-api' into 'develop'
Add `with_move` query param to the notifications API

See merge request pleroma/pleroma!2032
2019-12-08 13:07:05 +00:00
lain e8cee4d9a0 ActivityPub: For user timelines, respects blocks.
Unless the timeline belongs to a blocked user.
2019-12-06 14:25:13 +01:00
Maksim Pechnikov 3fe7a1fd35 Merge branch 'develop' into issue/1342 2019-12-05 15:46:27 +03:00
Maksim Pechnikov 49bb0a130f Merge branch 'develop' into issue/1276 2019-12-05 12:22:19 +03:00
Egor Kislitsyn d4953474ac Merge branch 'develop' into improve-move-notificaions-api 2019-12-05 14:55:48 +07:00
Maksim Pechnikov 3c3bba0b7c fix ScheduledActivity 2019-12-04 21:18:05 +03:00
Ivan Tashkinov 30caf3e51e Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user.ex
2019-12-04 18:56:31 +03:00
lain e9993acdbb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-12-04 16:35:59 +01:00
Maksim Pechnikov 680e071dba Merge branch 'develop' into issue/1383 2019-12-04 16:31:45 +03:00
Maksim Pechnikov ed7f850ad2 fix test 2019-12-04 16:22:01 +03:00
Maksim Pechnikov 29a98b86b7 Merge branch 'develop' into issue/1383 2019-12-04 09:34:44 +03:00
Maksim Pechnikov 652cc6ba4b updated ScheduledActivity 2019-12-04 09:12:17 +03:00
Egor Kislitsyn 624e720aa4 Add `with_move` query param to the notifications API 2019-12-03 22:13:38 +07:00
lain 7722e5a67a Merge branch 'feature/move-activity' into 'develop'
Support "Move" activity

Closes #1316

See merge request pleroma/pleroma!1883
2019-12-02 16:26:19 +00:00
Ivan Tashkinov 52cc7de82c Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	mix.lock
2019-11-29 10:17:59 +03:00
Maksim Pechnikov a52da55eb9 added User.NotificationSetting struct 2019-11-28 22:08:30 +03:00
lain 50b152766f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into bugfix/1442-dont-return-nil-for-following-count 2019-11-27 14:48:28 +01:00
Egor Kislitsyn f595cfe623
Remove User.user_info/2 2019-11-27 19:43:47 +07:00
Egor Kislitsyn 1fc28a4b44
Add a view for the move notification 2019-11-27 17:52:02 +07:00
Ivan Tashkinov cad9b325e5 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user/search.ex
#	test/user_test.exs
2019-11-21 16:47:52 +03:00
lain 8feb5dcb42 Merge branch 'issue/1348' into 'develop'
[#1348] excluded invisible actors from gets  /api/v1/accounts/:id

See merge request pleroma/pleroma!1937
2019-11-21 13:13:14 +00:00
Ivan Tashkinov 4f88b1b435 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations 2019-11-20 15:47:11 +03:00
Ivan Tashkinov de892d2fe1 [#1335] Reorganized users.subscribers as UserRelationship. Added tests for UserRelationship-related functionality. 2019-11-20 15:46:11 +03:00
Egor Kislitsyn 63711258ce
Fix sporadically failing test 2019-11-20 14:25:00 +07:00
Ivan Tashkinov ba5cc30165 [#1335] Implemented notification mutes and reblog mutes as UserRelationships. User to UserRelationship relations and functions refactoring. 2019-11-19 23:22:10 +03:00
Maksim Pechnikov b9041c2097 added recount unread notifications to markers 2019-11-15 22:46:58 +03:00
Ivan Tashkinov c31ddce51e [#1335] Reorganized `users.mutes` as relation to UserMute entity. 2019-11-15 21:38:54 +03:00
Egor Kislitsyn 3c0abfca53
Merge remote-tracking branch 'upstream/develop' into feature/move-activity 2019-11-14 16:39:45 +07:00
Egor Kislitsyn e6d7e27bd6
Add `allow_following_move` setting to User 2019-11-12 18:45:28 +07:00
eugenijm f86a7d5d8b Fix exclude_visibilities filter for followers-only Like notifications 2019-11-11 23:57:30 +03:00
Ivan Tashkinov 3db988250b [#1335] User: refactored :blocks field into :blocked_users relation.
Introduced UserBlock.
2019-11-10 16:30:21 +03:00
eugenijm 7888803ffe Mastodon API: Add the `recipients` parameter to `GET /api/v1/conversations` 2019-11-07 08:26:24 +03:00