thunder-app/thunder

Save feed's "Sort Options" choice when switching feeds

Opened this issue · 2 comments

Is Your Feature Request Related to a Problem?

Right now in Settings > General, you can choose a setting for "Default Feed Sort Type", which assigns that preset to all feed views: Subscriptions, Local Posts, All Posts, and all Communities. You can still change the sorting manually when you're actually viewing a feed, but the sorting style reverts to the preset if you leave and come back. This global one-setting-to-rule-them-all configuration is cumbersome because changing to another feed almost always means I have to tap on the "Sort Options" hamburger menu so it looks the way I want. I don't want every feed to be sorted the same way upon load. Sometimes you just want the memes community to be sorted by "New" whenever you load it, you know?

The option to choose a default sort type is not a bad feature in and of itself; its persistence in spite of manual user changes to individual feeds is what makes it an inconvenience.

Feature Description

I propose persistent sorting choices across all feeds in Thunder. In an implementation such as this, the chosen "Default Feed Sort Type" will be honored in all feed views except for the ones in which the user makes a manual sorting change.

For example: let's say this change to the codebase is implemented and that I have updated the app. I view the Subscriptions feed, then I manually sort the list by "Active." Now this feed is exempt from the "Default Feed Sort Type" and will remember my manual sort change. From this point forward, whenever I visit Subscriptions, it is always sorted by "Active," even if I change the "Default Feed Sort Type."

Alternative Solutions

No response

Additional Context

No response

Related to #703, specifically this comment.

Thanks for the feedback! I think this is reasonable.

For devs:

I think we can introduce a new setting "Remember Feed Sort Type" (or a better name), and store this information in the app's SharedPreferences. We can optionally exclude this from the import/export settings.

I'm thinking of maybe a format accountId_communityId: sortType would work here since we'd want it to be on a per-account basis. If we also want to handle "Subscriptions/Local/All", then the format could change to accountId_postListingType: sortType