Commit graph

274 commits

Author SHA1 Message Date
Egor Kislitsyn 30510ade0e Extract MastodonAPIController's list actions into MastodonAPI.ListController; Add more tests 2019-08-26 19:37:54 +07:00
lain cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02: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
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
rinpatch 1ad71592ad Parallelize template rendering 2019-08-15 18:05:50 +03:00
rinpatch bd5ad0af78 Cache follow state 2019-08-15 00:47:30 +03:00
lain 560dbad538 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-14 15:30:40 +02:00
Egor Kislitsyn f7bbf99caa Use info.fields instead of source_data for remote users 2019-08-14 14:52:54 +07:00
Egor Kislitsyn e0ac5c7a66 Add custom profile fields 2019-08-14 14:52:54 +07: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
lain 511ccea5aa ConversationView: Align parameter names with other views. 2019-08-12 14:23:06 +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
kaniini 84808e1697 Merge branch 'develop' into 'fix/hide-follows-counters'
# Conflicts:
#   CHANGELOG.md
2019-08-10 18:49:04 +00: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
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 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
lain 3af6d14da7 Pleroma Conversations API: Add a way to set recipients. 2019-08-05 15:09:19 +02:00
lain 7483679a7b StatusView: Return direct conversation id. 2019-07-31 15:12:29 +02:00
Sergey Suprunenko b20020da16 Show the url advertised in the Activity in the Status JSON response 2019-07-24 19:28:21 +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
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
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
lain 1ed24bcc76 Status View: Poll ids are strings.
All ids in mastodon are strings, in general.
2019-07-16 12:47:40 +09:00
Alexander Strizhakov e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00: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
feld 93a0eeab16 Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
rinpatch 72b88c82bc Mastodon API: Fix embedded relationships not being rendered inside of statuses 2019-07-08 12:07:08 +03: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
lain 5965efb216 AccountView: Add user background. 2019-06-13 19:08:05 +02: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 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 1fd8e19d76 Remove a TODO comment as the tests for poll view were written 2019-06-02 23:46:17 +03:00
rinpatch 444406167b Mastodon API: actually check for poll votes 2019-06-01 21:41:23 +03:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03: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
rinpatch e6b175ed6c Fix credo issues 2019-05-22 21:57:46 +03:00