Skip to content
  • rinpatch's avatar
    Mastodon API: Preloading and normalization optimizations · c1b6952d
    rinpatch authored
    - 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?)
    c1b6952d