Settings overhaul/refactoring
Master-task for improving settings and customization experience
Settings unification and synchronization
- User settings must be merged with with just settings to avoid confusion that's there already.
- Settings synchronization must be implemented
- Settings import/export must be implemented.
Merging settings screens.
Problem: There are too many tabs - user settings/profile barely fit on english version already, adding settings tabs will make them extremely clunky to use.
Proposed solution: Tabs could be rearranged when merging, but neater way would be using vertical tabs - this would make UI more in line with other settings screens in other software, which gives ease of use due to familiarity. We can rearrange tabs in such way that there aren't too many of them.
Problem: It's not entirely clear what settings affect current FE and what affect all clients, which you need to submit and which not.
Proposed Solution: Luckily, there's not a whole lot of such options so they could be grouped together with a hint saying that it affects all clients. And stuff like import/export mutes/blocks is already kinda implies required action.
Settings synchronization and import/export
Problem: There is a case where synchronization is undesirable just one or two little settings, personal example - i want images ON on my home computer but OFF on my work laptop.
Proposed Solution: have an advanced feature "subprofiles", which require explicit editing and track specific changes only. Editing is available only in "advanced" mode, while by default "Work" and "Streamer" modes provided by default - work mode disables displaying of images in posts (existing feature), streamer mode disables showing DMs (needs to be implemented), initially you can only apply one mode and currently active mode isn't synced.
Problem: There needs to me some control over syncing since you could have conflicts from using pleroma from two machines at same time, among other things.
Proposed solution: Provide indicator that sync is being done, keep track of time sync was being made, warn about conflicts when syncing (check what is there before uploading), allow pausing of syncing, manual load and save. This will also allow better control over syncing mechanism so that you can for example debug someone else's state by pausing your sync (should be done automatically) to not fuck up your own state on server (and possibly everywhere).
User profile edit
User profile edit should be more intuitive and based off actual user profile, i.e. like other services allow it - to edit profile on what looks like your own profile card.