bonfire-networks / bonfire-app

Bonfire - tend to your digital life in community. Customise and host your own online space and control your experience at the most granular level.
https://bonfirenetworks.org
GNU Affero General Public License v3.0
522 stars 37 forks source link

Refactoring Feed logic and unify how feeds are handled across different extensions #900

Open mayel opened 4 months ago

mayel commented 4 months ago

Rationale

We've included lot of options, filters and sorting in feed, but part of the logic is still implemented separately for each feed ( pagination, filtering, etc)...

By refactoring the feed logic we may end up with just one feed - and the possibility to apply any filter or sorting options to that feed programmatically or defined by user. This would make the feed much more maintanable and less bugs prone. We would end up with one main feed and the eventual possibility for users or devs to define custom feeds and add them in the navigation sidebar.

Custom feed would basically be presets of filters & sorting options applied to the [same] feed (Eg. show only local media activities, filtered by Link, sorted by most replied to show the instance most discussed links, etc. ) and by default those wouldn't be pre-loaded / cached in background.

To enable this we need to add filters for all of these, add them to the feed filter widget, and then deprecate the separate feed views:

ivanminutillo commented 1 week ago

Need also to fix duplicated id issue