element-hq / element-hq/element-meta
Provide a visual indicator that the app will be restarted/cache will be cleared for those settings that require it
- Dominant language
- No language data
- Stars
- 112
- Forks
- 25
- Avg merge
- 6h 6m
- Merged PRs (30d)
- 4
Description
### Your use case
#### What would you like to do?
Some labs settings on the various Element clients require either reloading the app for the setting to take effect, or clearing the message cache on the device and redownloading all messages from the server (a potentially heavy investment of time and bandwidth). When enabling/disabling these settings, Element will perform the reload/cache clear automatically.
Unfortunately, only a handful of these settings come with a warning that this action will happen when the setting is toggled. If this is not labelled, if can catch the user by surprise. In the case of a full cache clear, it can prevent the user from using the app for several minutes (especially inconvenient if they're currently out and about with poor signal!).
I propose adding a label/description to each option that requires an app reload/cache clear stating that such an action will occur when the setting is flipped.
The offending options are:
**Element Web**
The following require a restart of the app (equivalent to hitting Ctrl/Cmd-R in your web browser):
- New group call experience
- Element Call video rooms
- Low bandwidth mode (requires compatible homeserver)
- Let moderators hide messages pending moderation.
- Automatically send debug logs on any error
- Automatically send debug logs on decryption errors
**Element Android**
The following require clearing the messages cache (equivalent to hitting "Clear Cache and Reload" in settings):
- MSC3061: Sharing room keys for past messages
Another oddity: The "Enable Thread Messages" labs option is labeled correctly with "Note: app will be restarted", whereas the "Enable LaTeX mathematics" option says "Restart the application for the change to take effect". Ideally these would be consistent. (I personally prefer the "please restart the app" one so I can choose when to restart the app/flip multiple settings before needing to wait for the app to restart.)
**Element iOS**
*I don't have an iOS device, but hopefully someone can weigh in here.* :innocent:
### Have you considered any alternatives?
For now, I'd be happy with just a note on the options stating whether the app will be reloaded/cache cleared when I toggle the option.
Bonus points, though probably a separate step, would be to detect whether any settings that require an app restart have been changed. And if so, pop up a little modal with "Some of your changes require an app restart." and a "Restart Now" button.
This is so you can toggle a batch of settings, and then restart the app. Today, we have to wait for the app to restart on every, single, change.
### Additional context
This has been a problem for a while, and there's been support from multiple people in the company for this change. While Labs settings are a power user feature, this feels like a very low-effort, high-frustration avoidance fix!

### Are you willing to provide a PR?
Yes
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.