Add Favorites TL to user profile, add some initial support for MastoAPI
Originally i wanted to just add Favorites timeline and add support for passing timeline object as is instead of using timelineName.
Turns out we also don't have QvitterAPI for it!
Currently this MR strives to change architecture a bit:
Instead of computing various stuff in modules/statuses.js
(or users.js
or any module, really) and such we instead convert incoming data to some middle format and resolve missing stuff in place. So for example instead of calling fileTypeService.fileType()
for every attachment in templates we resolve it once for each attachment in each status when fetching the data. Another example is checking for #nsfw
in status.text
when adding statuses to timeline, instead check right after fetching.
This should decouple UI and logic code from specific API, light up several modules and allow for mixing and matching different APIs until we completely switch to MastoAPI and deprecate QvitterAPI.