akkoma/lib/pleroma/web/mastodon_api/views
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
..
account_view.ex Mastodon API: Set follower/following counters to 0 when hiding 2019-08-09 16:53:55 +03:00
app_view.ex Add vapid_key to the `POST /api/v1/apps` response 2019-03-26 23:27:37 +03:00
conversation_view.ex Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
filter_view.ex Make credo happy 2019-02-09 14:59:20 +01:00
list_view.ex update copyright years to 2019 2018-12-31 15:41:47 +00:00
mastodon_view.ex update copyright years to 2019 2018-12-31 15:41:47 +00:00
notification_view.ex Add `is_seen` to MastoAPI notifications, extract rendering logic into separate NotificationView, add tests 2019-03-15 01:35:48 +03:00
push_subscription_view.ex [#647] tests for web push 2019-03-06 13:20:12 +00:00
report_view.ex Reports 2019-02-20 16:51:25 +00:00
scheduled_activity_view.ex Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
status_view.ex Mastodon API: Preloading and normalization optimizations 2019-08-13 20:34:34 +03:00