Fix: reduced theme blinking on desktop app start (windows). #10119
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.
This pull request improves theme management in the desktop UI by introducing persistent theme selection and better handling of theme initialization, especially for Windows users. The changes ensure that the user's last selected theme is saved and restored, and that the UI's background color updates appropriately for light and dark themes.
Theme persistence and management improvements:
localStoragewhenever the theme is set, and to check if the theme is unknown before determining the OS theme. (desktop/src/ui/titleBarMenu.ts,MenuBar.lastUsedThemeKey,MenuBar#setTheme,MenuBar#lastUsedThemeIsUnknown)localStorageduring page load, ensuring UI consistency across sessions. (desktop/src/ui/index.ejs)ThemeManagerto remove the default theme from the constructor and to make theme setting static, simplifying theme updates across the app. (desktop/src/ui/titleBarMenu.ts,ThemeManager) [1] [2]UI and style updates:
--bg-bodyvariable for the body background color, with appropriate values for light and dark themes. (desktop/src/ui/index.ejs) [1] [2]Initialization logic:
desktop/src/ui/index.ts)