Commit Graph

303 Commits

Author SHA1 Message Date
Egor Kislitsyn d3c404af12
Add MastoFEController 2019-10-02 20:36:08 +07:00
Egor Kislitsyn 1c6e1055c8
Add CustomEmojiController 2019-10-02 19:16:34 +07:00
Egor Kislitsyn c8b01f6667
Extract instance actions from `MastodonAPIController` to `InstanceController` 2019-10-02 14:13:52 +07:00
Thibaut Girka 43e3db0951 Fix returned visibility of announces in MastodonAPI 2019-10-01 20:38:29 +02:00
Egor Kislitsyn 36a34c36fe
Extract poll actions from `MastodonAPIController` to `PollController` 2019-10-01 11:44:34 +07:00
Egor Kislitsyn e7aef27c00
Fix merge 2019-09-30 19:10:54 +07:00
kaniini 0e356cc800 Merge branch 'split-masto-api/reports' into 'develop'
Extract report actions from `MastodonAPIController` to `ReportController`

See merge request pleroma/pleroma!1744
2019-09-30 11:17:30 +00:00
kaniini 74d8fadf37 Merge branch 'split-masto-api/conversations' into 'develop'
Extract conversation actions from `MastodonAPIController` to ConversationController

See merge request pleroma/pleroma!1743
2019-09-30 10:49:40 +00:00
Egor Kislitsyn b7f27a4f58
Extract report actions from `MastodonAPIController` to `ReportController`
Update MastodonAPI.ReportView
2019-09-30 17:44:10 +07:00
Ariadne Conill 7cad6ea67a pleroma api: hook up scrobbler controller 2019-09-30 10:39:17 +00:00
Ariadne Conill b7877e9b1c mastodon api: implement rendering of listen activities 2019-09-30 10:39:17 +00:00
Egor Kislitsyn d4d88b3361
Extract conversation actions from `MastodonAPIController` to ConversationController 2019-09-30 16:52:07 +07:00
kaniini 6d74a7528c Merge branch 'feature/follow-requests-count' into 'develop'
Mastodon API: add follow_requests_count

See merge request pleroma/pleroma!1726
2019-09-29 11:44:31 +00:00
Maksim Pechnikov 1053319cd6 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-28 10:36:04 +03:00
Egor Kislitsyn 8d31530119 Cleanup ScheduledActivityView 2019-09-27 13:36:28 +07:00
Ariadne Conill 14294243a2 mastodon api: implement follow_requests_count 2019-09-27 04:22:40 +00:00
Egor Kislitsyn 5ea5c58a85 Move view logic from StatusController.context to StatusView and add a test 2019-09-27 10:52:47 +07:00
Egor Kislitsyn 98d1347a4e Extract status actions from `MastodonAPIController` into `StatusController` 2019-09-27 10:51:15 +07:00
Maksim Pechnikov 3d722dc200 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-26 16:16:30 +03:00
Hakaba Hitoyo 5fb72170a7 Revert "add _discoverable_ keyword into ActivityPub @context"
This reverts commit 3aef4bdf8f37efd1055a84c5fca12ec4559a17f5.
2019-09-26 02:57:41 +00:00
Maksim Pechnikov 494bb6bac6 updated tests 2019-09-23 22:37:30 +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
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
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
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
rinpatch b312ca3d52 Mastodon API Poll view: Fix handling of polls without an end date 2019-09-05 12:03:39 +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
rinpatch 3face45467 Mastodon API: Add `pleroma.thread_muted` to Status entity
Needed for pleroma-fe!941
2019-09-04 14:17:23 +03:00
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