Patch 1.5.3, Fixes theme sync issue on first startup

Addresses a bug where the email viewer's dark mode setting was not correctly synchronized with the selected theme on the first application launch.

This ensures a consistent user experience regarding light/dark mode across the application and email viewer.
This commit is contained in:
Flavio Fois
2026-02-10 19:57:53 +01:00
parent 4c99c14be7
commit fc98f0ed74
5 changed files with 16 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
[EMLy]
SDK_DECODER_SEMVER = 1.3.2
SDK_DECODER_RELEASE_CHANNEL = stable
GUI_SEMVER = 1.5.2
GUI_SEMVER = 1.5.3
GUI_RELEASE_CHANNEL = beta
LANGUAGE = it
UPDATE_CHECK_ENABLED = false

View File

@@ -14,7 +14,7 @@
try {
const key = "emly_theme";
const stored = localStorage.getItem(key);
const theme = stored === "light" || stored === "dark" ? stored : "light";
const theme = stored === "light" || stored === "dark" ? stored : "dark";
document.documentElement.classList.toggle("dark", theme === "dark");
} catch {
// If storage is blocked, default to light.

View File

@@ -57,6 +57,9 @@ class SettingsStore {
this.settings.theme = storedTheme;
}
// Sync useDarkEmailViewer with theme
this.settings.useDarkEmailViewer = this.settings.theme === "dark";
// Apply the theme
applyTheme(this.settings.theme);

View File

@@ -211,6 +211,16 @@
})();
});
// Sync theme with email viewer dark mode
let previousTheme = $state<string | undefined>(undefined);
$effect(() => {
if (!browser) return;
if (previousTheme !== undefined && form.theme !== previousTheme) {
form.useDarkEmailViewer = form.theme === "dark";
}
previousTheme = form.theme;
});
async function exportSettings() {
try {
const settingsJSON = JSON.stringify(form, null, 2);

View File

@@ -1,6 +1,6 @@
#define ApplicationName 'EMLy'
#define ApplicationVersion GetVersionNumbersString('EMLy.exe')
#define ApplicationVersion '1.5.2'
#define ApplicationVersion '1.5.3_beta'
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"