pleroma/lib/pleroma
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
..
activity constants: add as_public constant and use it everywhere 2019-07-29 02:43:19 +00:00
bbs Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
captcha Wrap error messages into gettext helpers 2019-07-10 18:10:09 +07:00
config atom keys with leading : 2019-07-15 11:00:55 +03:00
conversation Conversations: Fetch users in one query. 2019-06-07 17:51:47 +02:00
emails Merge branch 'feature/digest-email' into 'develop' 2019-08-08 14:38:33 +00:00
gopher gopher: fix rendering of post content (closes #895) 2019-05-14 15:35:06 +00:00
helpers [#963] No redirect on OOB OAuth authorize request with existing authorization. OAuth-related refactoring. 2019-06-12 21:30:06 +03:00
http Handle 303 redirects 2019-07-28 20:24:39 +00:00
instances Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
object Resolve merge conflicts 2019-07-20 22:04:47 +03:00
plugs tests WebFinger 2019-07-24 15:13:10 +00:00
reverse_proxy Merge the default options with custom ones in ReverseProxy and 2019-07-12 23:52:26 +03:00
upload added tests for Pleroma.Upload.Filter 2019-07-16 21:35:43 +00:00
uploaders tests for Pleroma.Uploaders 2019-08-10 18:46:26 +00:00
user Merge branch 'feature/digest-email' into 'develop' 2019-08-08 14:38:33 +00:00
web Mastodon API: Preloading and normalization optimizations 2019-08-13 20:34:34 +03:00
activity.ex Mastodon API: Preloading and normalization optimizations 2019-08-13 20:34:34 +03:00
application.ex Merge develop 2019-07-20 01:03:25 +03:00
bookmark.ex Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
clippy.ex [Credo] fix Credo.Check.Readability.MaxLineLength 2019-03-13 04:26:56 +01:00
config.ex [#1026] Filter.AnonymizeFilename added ability to retain file extension with custom text 2019-06-30 07:28:35 +00:00
constants.ex constants: add as_public constant and use it everywhere 2019-07-29 02:43:19 +00:00
conversation.ex Accept question objects for conversations 2019-05-21 17:33:54 +03:00
digest_email_worker.ex Use PleromaJobQueue for scheduling 2019-07-16 16:49:50 +03:00
emoji.ex Make default pack extensions configurable and default to png and gif 2019-06-26 06:48:59 +03:00
filter.ex chase test failures 2019-05-15 16:23:01 +00:00
flake_id.ex test for Pleroma.Web.CommonAPI.Utils.get_by_id_or_ap_id 2019-07-31 18:35:15 +00:00
formatter.ex Mention all people in the beginning of DM 2019-05-24 20:34:23 +00:00
html.ex Rich Media: Skip Microformats hashtags 2019-06-19 00:46:30 +03:00
instances.ex Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
jwt.ex Digest emails 2019-04-20 19:42:19 +07:00
keys.ex tests for Pleroma.Signature 2019-07-15 13:01:22 +00:00
list.ex Add list to Visibility 2019-07-11 19:29:24 +07:00
mime.ex Mime: detect RIFF formats (wave, webp, avi) 2019-02-04 17:44:41 +01:00
notification.ex Merge develop 2019-07-16 16:19:19 +03:00
object_tombstone.ex Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
object.ex [#878] Merge remote-tracking branch 'remotes/upstream/develop' into 878-activity-object-decoupling-in-tests 2019-07-09 21:46:16 +03:00
pagination.ex 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
password_reset_token.ex [#184] small refactoring reset password 2019-06-24 19:01:56 +00:00
registration.ex [#923] Nickname & email selection for external registrations, option to connect to existing account. 2019-03-20 10:35:31 +03:00
release_tasks.ex Load the application before executing the create task 2019-06-22 04:33:46 +03:00
repo_streamer.ex Rework user deletion 2019-06-24 18:59:12 +00:00
repo.ex fix format 2019-05-06 17:51:03 +00:00
scheduled_activity_worker.ex Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
scheduled_activity.ex Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
signature.ex Fix HTTP sig tweak on KeyId 2019-07-28 14:17:56 +02:00
stats.ex Merge develop 2019-05-08 14:34:36 +00:00
thread_mute.ex [Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
upload.ex Do not prepend /media/ when using base_url 2019-07-24 15:35:25 +00:00
user_invite_token.ex Add tests for users tasks and PleromaAuthenticator 2019-07-22 02:43:15 +00:00
user.ex Merge branch 'develop' into feature/digest-email 2019-08-02 18:16:04 +03:00