feat(updater): decouple update notice from auto download

Closes #9329
This commit is contained in:
二丫讲梵 authored and GitHub committed 2026-09-16 23:50:18 +08:00
1 parent b891bf80fd
commit 2c97e44d82
20 files changed
+187 -18

No files matched your search

@@ -659,6 +659,7 @@ const editFormatSqlOnSqlFileSave = ref(settingsStore.editorSettings.formatSqlOnS
const editShowTableDdlHoverPreview = ref(settingsStore.editorSettings.showTableDdlHoverPreview);
const editClickTableNavigationTarget = ref<ClickTableNavigationTarget>(settingsStore.editorSettings.clickTableNavigationTarget);
const editUpdateNotificationsEnabled = ref(settingsStore.editorSettings.updateNotificationsEnabled);
const editAutoDownloadUpdates = ref(settingsStore.editorSettings.autoDownloadUpdates);
const editSidebarHiddenTablePrefixes = ref(settingsStore.editorSettings.sidebarHiddenTablePrefixes.join("\n"));
const editSidebarCopyTableNameSeparator = ref<ColumnNameCopySeparator>(settingsStore.editorSettings.sidebarCopyTableNameSeparator);
const editSidebarCopyTableNameIncludeSchema = ref(settingsStore.editorSettings.sidebarCopyTableNameIncludeSchema);
@@ -816,6 +817,7 @@ function currentEditorSettingsDraft(): EditorSettingsDraft {
formatSqlOnSqlFileSave: editFormatSqlOnSqlFileSave.value,
showTableDdlHoverPreview: editShowTableDdlHoverPreview.value,
updateNotificationsEnabled: editUpdateNotificationsEnabled.value,
autoDownloadUpdates: editAutoDownloadUpdates.value,
sidebarObjectInfoMode: editSidebarObjectInfoMode.value,
sidebarAllowHorizontalScroll: editSidebarAllowHorizontalScroll.value,
sidebarShowTooltips: editSidebarShowTooltips.value,
@@ -1341,6 +1343,7 @@ function syncEditorSettingsDraftFromStore() {
editShowTableDdlHoverPreview.value = settingsStore.editorSettings.showTableDdlHoverPreview;
editClickTableNavigationTarget.value = settingsStore.editorSettings.clickTableNavigationTarget;
editUpdateNotificationsEnabled.value = settingsStore.editorSettings.updateNotificationsEnabled;
editAutoDownloadUpdates.value = settingsStore.editorSettings.autoDownloadUpdates;
editSidebarHiddenTablePrefixes.value = settingsStore.editorSettings.sidebarHiddenTablePrefixes.join("\n");
editSidebarCopyTableNameSeparator.value = settingsStore.editorSettings.sidebarCopyTableNameSeparator;
editSidebarCopyTableNameIncludeSchema.value = settingsStore.editorSettings.sidebarCopyTableNameIncludeSchema;
@@ -1456,6 +1459,7 @@ const editorSettingsDraftRefs: EditorSettingsDraftRefMap = {
formatSqlOnSqlFileSave: editFormatSqlOnSqlFileSave,
showTableDdlHoverPreview: editShowTableDdlHoverPreview,
updateNotificationsEnabled: editUpdateNotificationsEnabled,
autoDownloadUpdates: editAutoDownloadUpdates,
sidebarObjectInfoMode: editSidebarObjectInfoMode,
sidebarAllowHorizontalScroll: editSidebarAllowHorizontalScroll,
sidebarShowTooltips: editSidebarShowTooltips,
@@ -1935,6 +1939,7 @@ function resetDefaultsForTab(tab: SettingsCategory) {
} else if (tab === "about") {
editUpdateDownloadSource.value = DEFAULT_EDITOR_SETTINGS.updateDownloadSource;
editUpdateNotificationsEnabled.value = DEFAULT_EDITOR_SETTINGS.updateNotificationsEnabled;
editAutoDownloadUpdates.value = DEFAULT_EDITOR_SETTINGS.autoDownloadUpdates;
}
}
@@ -2030,6 +2035,7 @@ function resetAllDefaults() {
editFormatSqlOnSqlFileSave.value = DEFAULT_EDITOR_SETTINGS.formatSqlOnSqlFileSave;
editShowTableDdlHoverPreview.value = DEFAULT_EDITOR_SETTINGS.showTableDdlHoverPreview;
editUpdateNotificationsEnabled.value = DEFAULT_EDITOR_SETTINGS.updateNotificationsEnabled;
editAutoDownloadUpdates.value = DEFAULT_EDITOR_SETTINGS.autoDownloadUpdates;
editSidebarObjectInfoMode.value = DEFAULT_EDITOR_SETTINGS.sidebarObjectInfoMode;
editSidebarAllowHorizontalScroll.value = DEFAULT_EDITOR_SETTINGS.sidebarAllowHorizontalScroll;
editSidebarShowTooltips.value = DEFAULT_EDITOR_SETTINGS.sidebarShowTooltips;
@@ -9631,6 +9637,15 @@ LIMIT 100;</pre
</div>
<Switch id="update-notifications-enabled" v-model="editUpdateNotificationsEnabled" />
</div>
<div class="flex items-center justify-between gap-4">
<div class="min-w-0 space-y-1">
<Label for="auto-download-updates">{{ t("settings.autoDownloadUpdates") }}</Label>
<p class="text-sm text-muted-foreground">
{{ t("settings.autoDownloadUpdatesDescription") }}
</p>
</div>
<Switch id="auto-download-updates" v-model="editAutoDownloadUpdates" />
</div>
<div class="flex flex-col gap-3 border-t border-border/60 pt-4 sm:flex-row sm:items-center sm:justify-between">
<div class="min-w-0 space-y-1">
<Label>{{ t("settings.updateDownloadSource") }}</Label>
+1 -1
View File
@@ -112,7 +112,7 @@ function buttonWithText(text: string): HTMLButtonElement | undefined {
}
function downloadButton(): HTMLButtonElement | undefined {
return buttonWithText("Retry Download");
return buttonWithText("Download in Background") ?? buttonWithText("Retry Download");
}
function cancelDownloadButton(): HTMLButtonElement | undefined {
@@ -194,7 +194,7 @@ watch(
</Button>
</template>
<Button v-else-if="updateDownloaded" class="shrink-0" :disabled="activeTaskCount > 0 || isIgnoringUpdate" @click="emit('install-downloaded')">{{ t("updates.restartAndUpdate") }}</Button>
<Button v-else-if="!checkingUpdates" class="shrink-0" :disabled="isIgnoringUpdate" @click="emit('download-in-background')">{{ t("updates.retryDownload") }}</Button>
<Button v-else-if="!checkingUpdates" class="shrink-0" :disabled="isIgnoringUpdate" @click="emit('download-in-background')">{{ t(updateCheckFailed ? "updates.retryDownload" : "updates.downloadInBackground") }}</Button>
</template>
</template>
<template v-else>