Moving the storage of user settings from the frontend to the backend #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What?
This PR shifts the storage of user preferences from the frontend to the backend.
Why?
Previously, the settings were saved in both the frontend and the backend. In the event of a crash, this could lead to inconsistencies between the user settings displayed in the frontend and the settings implemented in the backend. Therefore, the storage and management of user settings has been moved completely from the frontend to the backend.
How?
The backend stores all settings in a key-value store, with the key serving as the identifier for each setting and the corresponding value representing its current status. The frontend can modify these settings through backend calls. During initialization, the frontend retrieves the current status of the settings from the backend and can also query the current state of all saved settings at runtime.
Testing
Tested with two android smartphones (SDK 29 & 30).