Fix update checker not detecting new versions

enable() was called before invoke("version") resolved, so the first
checkNewVersion() could run while sanitizedCurrentVersion was still
undefined. Even though newVersion is a derived value, Svelte 5 may
not reliably recompute it when state changes asynchronously on a
module-level class instance.

Moving enable() inside the invoke callback ensures sanitizedCurrentVersion
is always set before any version comparison runs.
This commit is contained in:
Rūdolfs Ošiņš
2026-04-14 09:45:51 +02:00
parent 7fa9c42c2b
commit b6facd02a7
+3 -3
View File
@@ -58,9 +58,6 @@ class UpdateChecker {
public static init(): UpdateChecker {
const updateChecker = new UpdateChecker();
if (isEnabledStore.value) {
updateChecker.enable();
}
void invoke<string>("version").then(currentVersion => {
updateChecker.currentVersion = currentVersion.toString();
@@ -68,6 +65,9 @@ class UpdateChecker {
if (version) {
updateChecker.sanitizedCurrentVersion = version.toString();
}
if (isEnabledStore.value) {
updateChecker.enable();
}
});
return updateChecker;