Commit Graph

492 Commits

Author SHA1 Message Date
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
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 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 8ba7a151ad Cleanup: fix a comment 2019-07-24 13:14:52 +02:00
Ariadne Conill d3bdb8e704 rich media: parser: splice the given URL into the result 2019-07-23 23:51:29 +00:00
Sadposter c400565427 fix test names because i cannot type 2019-07-23 15:47:17 +01:00
Sadposter 299c0e965b actually reblog on the reblog test 2019-07-23 15:38:19 +01:00
Sadposter 7026018c8c Use correct URL for tests 2019-07-23 15:31:35 +01:00
Sadposter 452980652d Mix format 2019-07-23 15:13:05 +01:00
Sadposter fd1fa5a2ec add tests for unauthed reqs to liked/reblogged_by 2019-07-23 15:08:41 +01:00
Sadposter a5d6287ba8 Hide blocked users from interactions 2019-07-22 02:42:29 +00:00
Sergey Suprunenko 43a7cd27fe [tests] Mock :crypt.crypt/2 function in AuthenticationPlugTest 2019-07-20 13:07:51 +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
Alexander Strizhakov 10f82c88b8 mastoapi password reset
added rate limit to password reset

configure rate limit in runtime
2019-07-16 21:44:50 +00:00
Eugenij 520ee6c591 Add `pleroma.deactivated` to the Account entity (Mastodon API) 2019-07-16 11:14:46 +00:00
Eugenij c4ca142e14 Add the `blocked_by` attribute to the relationship API (`GET /api/v1/accounts/relationships`) 2019-07-16 11:04:11 +00:00
rinpatch 996fd58ac4 Merge branch 'bugfix/poll-id-as-string' into 'develop'
Status View: Poll ids are strings.

See merge request pleroma/pleroma!1430
2019-07-16 06:06:22 +00:00
lain 7a24def473 Mastodon Controller: Fix tests. 2019-07-16 14:01:18 +09:00
lain 1ed24bcc76 Status View: Poll ids are strings.
All ids in mastodon are strings, in general.
2019-07-16 12:47:40 +09:00
Sergey Suprunenko b74300bc7a Add more tests for MastodonAPIController and CommonAPI 2019-07-15 19:47:23 +00:00
Egor Kislitsyn 64a946643e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-07-15 14:11:54 +07:00
Egor Kislitsyn a87c313309 Support `list` visibility in StatusView 2019-07-15 14:00:29 +07:00
Alexander Strizhakov e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00:00
Mark Felder 360e4cdaa2 Move these to pleroma namespace in Mastodon API 2019-07-12 11:25:58 -05:00
Eugenij 4198c3ac39 Extend Pleroma.Pagination to support offset-based pagination, use async/await to execute status and account search in parallel 2019-07-11 13:55:31 +00:00
Haelwenn (lanodan) Monnier 252e129b1e
MastoAPI: Add categories to custom emojis
Note: This isn’t in a release yet, can be seen in mastofe on the
rebase/glitch-soc branch.
2019-07-10 17:02:37 +02:00
Sergey Suprunenko ff55e3c16f Create mentions only for explicitly mentioned users 2019-07-10 13:29:50 +00:00
Maksim 008c55e4e9 add test for search_controller/ 100% coverage 2019-07-10 08:28:03 +00:00
Ivan Tashkinov 829e997223 [#878] Merge remote-tracking branch 'remotes/upstream/develop' into 878-activity-object-decoupling-in-tests
# Conflicts:
#	lib/pleroma/object.ex
#	test/web/activity_pub/transmogrifier_test.exs
#	test/web/ostatus/ostatus_test.exs
2019-07-09 21:46:16 +03:00
kaniini 1417627d07 Merge branch 'remove-avatar-header' into 'develop'
Ability to reset avatar, profile banner and backgroud

See merge request pleroma/pleroma!1187
2019-07-09 17:51:41 +00:00
Ivan Tashkinov daff85a985 [#878] Refactored assumptions on embedded object presence in tests. Adjusted note factory to not embed object into activity. 2019-07-08 19:53:02 +03:00
rinpatch 72b88c82bc Mastodon API: Fix embedded relationships not being rendered inside of statuses 2019-07-08 12:07:08 +03:00
Eugenij 1f76740e10 Add hashtag filter to user statuses (GET /api/v1/accounts/:id/statuses) 2019-06-30 09:08:46 +00:00
Sergey Suprunenko d53fb55bb7 Return correct response when reply to a direct message is not direct itself 2019-06-26 10:59:27 +00:00
Maksim Pechnikov 4ad15ad2a9 add ignore hosts and TLDs for rich_media 2019-06-25 22:25:37 +03:00
Sachin Joshi a0c65bbd6c Merge branch 'develop' into 'remove-avatar-header'
# Conflicts:
#   CHANGELOG.md
2019-06-23 03:25:50 +00:00
rinpatch c7acca2abb Mastodon API: Sanitize display names
Closes #1000
2019-06-18 14:12:11 +03:00
lain a440cf856d Mastodon API: Return the token needed for the chat. 2019-06-15 10:59:35 +02:00
rinpatch 62ffc00a5d Merge branch 'feature/add-background-image-to-mastoapi' into 'develop'
AccountView: Add user background.

See merge request pleroma/pleroma!1280
2019-06-14 16:49:28 +00:00
Maksim ee4ed87fb4 [#948] /api/v1/account_search added optional parameters (limit, offset, following) 2019-06-14 11:39:57 +00:00
lain eac298083f MastodonAPI: Add a way to update the background image. 2019-06-14 11:19:22 +02:00
lain 5965efb216 AccountView: Add user background. 2019-06-13 19:08:05 +02:00
lain 63ab3c30eb Merge branch 'feature/rate-limiter' into 'develop'
Feature/Rate Limiter

Closes #943

See merge request pleroma/pleroma!1266
2019-06-11 11:32:01 +00:00
Egor Kislitsyn ad04d12de6 Replace `MastodonAPIController.account_register/2` rate limiter 2019-06-11 16:06:03 +07:00
Sergey Suprunenko 365268d522 Add more tests for using media_proxy and whitelists 2019-06-10 11:34:11 +00:00
lain 7e9f7ea0c2 MastodonAPI: Add test for user search. 2019-06-06 16:16:22 +02:00
Egor Kislitsyn 5b04f07a1e Limit search for unauthenticated users to local users only 2019-06-05 16:51:04 +07:00
Maksim Pechnikov 4f2e359687 Merge branch 'develop' into issue/941 2019-06-04 09:49:08 +03:00
kaniini 9d2563a3de Merge branch 'generic-fe-settings' into 'develop'
Generic settings store for frontend user settings

See merge request pleroma/pleroma!1221
2019-06-04 05:43:43 +00:00
Maksim Pechnikov 64ada7f960 fix tests 2019-06-03 22:51:14 +03:00
Maksim Pechnikov f13d6c7f78 update api to set skip_thread_containment 2019-06-03 21:02:57 +03:00
rinpatch dc91bcc0af Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 13:16:17 +03:00
lambda 314758c25b Merge branch 'align-mastodon-conversations' into 'develop'
Mastodon Conversations API: Align to Mastodon behavior

See merge request pleroma/pleroma!1215
2019-06-03 09:48:37 +00:00
rinpatch 026b245dbc Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 11:14:52 +03:00
rinpatch 2fe3a20638 Make error message about author's inability to vote more sensible 2019-06-02 23:33:15 +03:00
rinpatch c47da0e65d Add tests for poll view 2019-06-02 23:25:33 +03:00
kaniini 5402d04e3c Merge branch 'feature/notification-control-part-2' into 'develop'
notification controls, part 2

See merge request pleroma/pleroma!1204
2019-06-02 08:25:37 +00:00
rinpatch cfa588e357 Fix Credo issues 2019-06-01 21:42:29 +03:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
rinpatch 300d94c628 Add poll votes
Also in this commit by accident:
- Fix query ordering causing exclude_poll_votes to not work
- Do not create notifications for Answer objects
2019-06-01 16:17:46 +03:00
Haelwenn (lanodan) Monnier 5d3ece2861
Remove now useless flavours switching 2019-06-01 01:44:10 +02:00
lain 7861974ab2 MastodonAPI: Add extension to set and get pleroma_settings_store. 2019-05-31 14:50:18 +02:00
lain aaad85c4d9 AccountView: settings -> settings_store 2019-05-31 14:49:46 +02:00
lain eb2963bc43 User: Add settings store to Info, AccountView
This is to provide a generic frontend settings storage mechanism for all kinds
of frontends.
2019-05-31 14:27:15 +02:00
lain 97fb50d9fa Mastodon Conversation API: Don't return own account in 'accounts'. 2019-05-31 11:27:14 +02:00
Sergey Suprunenko 1690be991e Replace missing non-nullable Card attributes with empty strings 2019-05-30 21:03:31 +00:00
Sachin Joshi 1452a96ad6 ability to set and reset avatar, profile banner and backgroud in Mastodon API 2019-05-27 15:31:01 +05:45
William Pitcock 45e4642a58 tests: chase remote/local removal 2019-05-26 00:20:54 +00:00
William Pitcock 1542cccbbc tests: chase notification setting changes 2019-05-25 05:22:13 +00:00
rinpatch cdac5efd10 Merge branch 'bugfix/account_view_source.note' into 'develop'
MastoAPI AccountView: fill source.note with plaintext version of note

Closes #926

See merge request pleroma/pleroma!1189
2019-05-22 05:39:01 +00:00
Haelwenn (lanodan) Monnier 0e2c215a00
MastoAPI AccountView: fill source.note with plaintext version of note
Closes: https://git.pleroma.social/pleroma/pleroma/issues/926
2019-05-22 07:22:19 +02:00
rinpatch 63b0b7190c MastoAPI: Add GET /api/v1/polls/:id 2019-05-21 20:40:35 +03:00
rinpatch 0407ffe75f Change validation error status codes to be more appropriate 2019-05-21 17:12:38 +03:00
rinpatch 3f96b3e4b8 Enforce poll limits and add error handling for MastodonAPI's post endpoint 2019-05-21 10:54:20 +03:00
rinpatch 76a7429bef Add poll limits to /api/v1/instance and initial state 2019-05-21 09:13:10 +03:00
Sadposter dc916ba15f
Format mascot tests 2019-05-20 12:58:17 +01:00
Sadposter e81f0fc6d4
Add mascot get/set tests 2019-05-20 12:58:06 +01:00
rinpatch 5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
rinpatch fd920c8973 Mastodon API: Add support for posting polls 2019-05-18 13:29:28 +03:00
Alexander Strizhakov 7ed682213f Fix/902 random compile failing 2019-05-17 07:25:20 +00:00
Sergey Suprunenko e2b3a27204 Add Reports to Admin API 2019-05-16 19:09:18 +00:00
Aaron Tinio 70c81b95d0 Pipe requests to public endpoints through EnsurePublicOrAuthenticatedPlug 2019-05-15 05:09:32 +08:00
Alexander Strizhakov a2be420f94 differences_in_mastoapi_responses.md: fullname & bio are optionnal
[ci skip]
2019-05-13 18:35:45 +00:00
Sachin Joshi 7701a4c841 Make irreversible field default to false in filters 2019-05-14 00:13:15 +05:45
rinpatch 3a7c14645e - Actually use preloaded bookmarks in views
- Preload bookmarks in bookmark timeline
- Rework bookmark preload tests
2019-05-07 19:33:22 +00:00
lambda 238dd72fad Merge branch 'conversations_three' into 'develop'
Conversations once more.

See merge request pleroma/pleroma!1119
2019-05-07 14:43:21 +00:00
Haelwenn (lanodan) Monnier b5ad1715b2
MastoAPI: profile update with emoji_map 2019-05-03 16:41:23 +02:00
lain 45f790becc Merge remote-tracking branch 'origin/develop' into conversations_three 2019-05-01 18:40:41 +02:00
rinpatch 0fd176b990 Merge branch 'fix/add-default-scope-mastoapi' into 'develop'
Add default_scope to /api/v1/update_credentials

See merge request pleroma/pleroma!1100
2019-04-29 06:45:18 +00:00
rinpatch ce3789e39a Add default_scope to /api/v1/update_credentials 2019-04-27 23:55:54 +03:00
rinpatch c3e9fcf098 Fix bookmarks depending on embeded object and move checking if the
status is bookmarked to SQL
2019-04-27 23:06:46 +03:00
lambda 4de5fef1f8 Merge branch 'feature/807-bookmark-endpoint-extension' into 'develop'
Feature/807 bookmark endpoint extension

Closes #807

See merge request pleroma/pleroma!1059
2019-04-26 11:59:47 +00:00
rinpatch dfc8425659 Move settings to Source subentity 2019-04-25 10:31:14 +03:00
Alex S 85953c0836 fixes for tests 2019-04-25 13:46:40 +07:00
rinpatch 4baea6e6d9 Fix leaking private configuration parameters in Mastodon and Twitter APIs, and add new configuration parameters to Mastodon API
This patch:
- Fixes `rights` in twitterapi ignoring `show_role`
- Fixes exposing default scope of the user to anyone in Mastodon API
- Extends Mastodon API to be able to show and set `no_rich_text`, `default_scope`, `hide_follows`, `hide_followers`, `hide_favorites` (requested by the FE in #674)

Sorry in advance for 500 line one commit diff, I should have split it up to separate MRs
2019-04-24 20:01:42 +03:00
Sergey Suprunenko 9dd36e5bcb Extend Mastodon API with public endpoint for getting Favorites timeline of any user (#789) 2019-04-23 02:47:43 +00:00
rinpatch f60d072bbb Add `pleroma.in_reply_to_account_acct` to MastoAPI status entity 2019-04-22 11:54:27 +03:00
Egor b9cdf6d3b9 Use `User.get_cached*` everywhere 2019-04-22 07:20:43 +00:00
Roman Chvanikov 2662bea4e0 Add accounts and last_status to conversation read response 2019-04-21 20:26:13 +07:00
eugenijm 375fd21055 Set correct values in the MastoAPI reblog status view 2019-04-21 05:40:22 +03:00
eugenijm fa48532387 Handle `reblogs` on the first follow request in MastoAPI 2019-04-20 04:39:49 +03:00
rinpatch 4ef237f26a Fix my incorrect search test fix 2019-04-18 14:37:57 +03:00
rinpatch ff8d76c670 Refactor all tests that acessed the embeded object 2019-04-17 15:46:59 +03:00
rinpatch ad681877df Make credo happy 2019-04-17 14:52:01 +03:00
rinpatch e7c3c36766 Update functions in object fetcher for tesla and set up a proper mock for tests 2019-04-17 14:21:39 +03:00
rinpatch b09ae02c04 Added some more normalization calls all in mastodon api controller 2019-04-17 13:04:58 +03:00
rinpatch 627e5a0a49 Merge branch 'develop' into feature/database-compaction 2019-04-17 12:22:32 +03:00
kaniini 73df3046e0 Merge branch 'feature/788-separate-email-addresses' into 'develop'
Feature/788 separate email addresses

Closes #788

See merge request pleroma/pleroma!1040
2019-04-16 18:44:07 +00:00
lain 76999c73a7 Conversation: Add accounts to output. 2019-04-15 22:28:42 +02:00
lain 0da985182f Conversation: Return full status object, id is a string. 2019-04-15 21:58:58 +02:00
lambda 56956de6fa Merge branch 'fix/status-reblogged' into 'develop'
Assign reblogged in the Mastodon reblog status view

Closes #812

See merge request pleroma/pleroma!1057
2019-04-15 10:26:23 +00:00
lambda f358295cbe Merge branch 'unfollow-oneself' into 'develop'
Consistent response for self follow/unfollow

Closes #819

See merge request pleroma/pleroma!1061
2019-04-15 10:24:37 +00:00
eugenijm 27d78dc526 Use User.get_cached_by* 2019-04-15 12:37:49 +03:00
rinpatch 5d73dca064 Remove inReplyToStatusId 2019-04-15 11:50:36 +03:00
eugenijm 507e7821e3 Handle follow/unfollow directed to themselves 2019-04-15 10:21:18 +03:00
eugenijm 679a8ef629 Assign reblogged in the Mastodon reblog status view 2019-04-14 11:35:15 +03:00
Alex S c349573791 Merge develop to 788-separate-email-addresses
Merge conflicts:
test/web/twitter_api/twitter_api_test.exs
test/web/twitter_api/twitter_api_controller_test.exs
test/web/admin_api/admin_api_controller_test.exs
2019-04-13 12:24:38 +07:00
lambda 0a09692c7d Merge branch 'features/mastoapi/2.6.0-min_id-pagination' into 'develop'
Features: mastoapi-2.6.0 `min_id` pagination

Closes #351

See merge request pleroma/pleroma!976
2019-04-12 09:34:12 +00:00
Alexander Strizhakov 711ade961e adding destroy multiple for mastofe 2019-04-12 02:28:46 +00:00
Alexander Strizhakov e03d24af96 in_reply_to_id - null 2019-04-12 02:21:32 +00:00
lain c352a0aba6 Conversations: Make tests run. 2019-04-10 17:48:31 +02:00
Alex S fe511a6c65 Merge branch 'develop' into feature/788-separate-email-addresses 2019-04-10 18:06:54 +07:00
Alex S fe13a1d78c adding notify_email setting for trigger emails 2019-04-10 17:57:41 +07:00
Sadposter be8350baa2
Merge branch 'develop' into feature/user-status-subscriptions 2019-04-10 10:44:54 +01:00
lain b5cecebbc1 Conversations: Fix specs. 2019-04-10 09:32:17 +02:00
kaniini 97395e013e Merge branch 'notification-pleroma-settings' into 'develop'
Notification controls

Closes #738

See merge request pleroma/pleroma!988
2019-04-10 02:10:31 +00:00
lain a9f805c871 Merge remote-tracking branch 'origin/develop' into features/mastoapi/2.6.0-conversations 2019-04-08 14:10:51 +02:00
lambda 23067908de Merge branch 'feature/770-add-emoji-tags' into 'develop'
Feature/770 add emoji tags

See merge request pleroma/pleroma!998
2019-04-08 09:50:00 +00:00
eugenijm 2056efa714 Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
eugenijm fc92a0fd8d Added limits and media attachments for scheduled activities. 2019-04-06 23:55:58 +03:00
eugenijm b3870df51f Handle `scheduled_at` on status creation. 2019-04-06 23:55:58 +03:00
eugenijm 7bf622ce73 Add scheduled activities 2019-04-06 23:55:58 +03:00
Alex S 7410aee886 Merge develop to 770-add-emoji-tags
Merge conflict in test/web/mastodon_api/mastodon_api_controller_test.exs
2019-04-06 20:34:00 +07:00
Sergey Suprunenko 325a268017 Redirect to the referer url after mastofe authorization 2019-04-05 23:36:42 +00:00
Sadposter 9ca91cbb87 Change relationship direction of subscriptions 2019-04-05 17:02:07 +01:00
lambda a79ce94dd4 Merge branch 'feature/fake-statuses' into 'develop'
Add fake status submit

See merge request pleroma/pleroma!995
2019-04-02 14:17:43 +00:00
Alex S fa8483cb80 Merging develop into feature/770-add-emoji-tags
Conflict test/web/twitter_api/util_controller_test.exs
2019-04-02 20:39:52 +07:00
lambda b95cf3d490 Merge branch 'get_by_id' into 'develop'
Replace `Repo.get_by` with existing functions

See merge request pleroma/pleroma!1010
2019-04-02 12:43:28 +00:00
Alex S 9e0567ec52 Merge develop into feature/770-add-emoji-tags 2019-04-02 19:16:29 +07:00
rinpatch fdb4357e9b Rename fake param to preview and make the tests check that the object was not inserted to the db 2019-04-02 14:31:18 +03:00
lambda 26d509cc86 Merge branch 'get_by_id' into 'develop'
Replace `Repo.get(Module, id)` with `Module.get_by_id(id)` where possible

See merge request pleroma/pleroma!1009
2019-04-02 10:52:29 +00:00
cascode 95c92c49c9 Fix account lookup for nicknames beginning with numbers 2019-04-02 10:51:33 +00:00
Egor Kislitsyn 9a59c26619 replace `Repo.get_by(User, ap_id: ap_id)` with `User.get_by_ap_id(ap_id)` 2019-04-02 17:47:52 +07:00
Egor Kislitsyn 11c2d6bdc4 change `Repo.get(Activity, id)` => `Activity.get_by_id(id)` in tests 2019-04-02 17:08:03 +07:00
Egor Kislitsyn 1b3d921921 change `Repo.get(User, id)` => `User.get_by_id(id)` 2019-04-02 17:01:26 +07:00
Ivan Tashkinov aac48d0cc6 Merge remote-tracking branch 'remotes/upstream/develop' into features/mastoapi/2.6.0-conversations 2019-04-02 09:19:10 +03:00
Alex S 3601f03147 Adding tag to emoji ets table
changes in apis
2019-04-01 17:17:57 +07:00
rinpatch 1bb4d5d65b Implement fake status submit 2019-03-29 21:59:04 +03:00
Haelwenn (lanodan) Monnier 6b407872b4
mastodon_api_controller.ex: Use min_id in link header instead of since_id 2019-03-28 17:23:21 +01:00
eugenijm cd90695a34 Add PUT /api/pleroma/notification_settings endpoint 2019-03-28 18:55:16 +03:00