1 parent
58633bf682
commit
34f6389503
3 files changed
+90
-13
No files matched your search
@@ -39,7 +39,7 @@ import { useExternalSqlFileChanges } from "@/composables/useExternalSqlFileChang
|
||||
import { useWebDavAutoUpload } from "@/composables/useWebDavAutoUpload";
|
||||
import { useScheduledDatabaseBackups } from "@/composables/useScheduledDatabaseBackups";
|
||||
import { shouldDrawDesktopWindowFrame } from "@/composables/useWindowControls";
|
||||
import { createOpenTabsRestorationBarrier, initializeDesktopOpenTabs, type OpenTabsRestorationBarrier } from "@/lib/app/openTabsStartup";
|
||||
import { createOpenTabsRestorationBarrier, initializeDesktopOpenTabs, initializeOpenTabs, type OpenTabsRestorationBarrier } from "@/lib/app/openTabsStartup";
|
||||
import { useSaveSqlFolderSelection } from "@/composables/useSaveSqlFolderSelection";
|
||||
import "@/i18n";
|
||||
import { translateBackendError } from "@/i18n/backend-errors";
|
||||
@@ -2376,7 +2376,6 @@ async function initApp() {
|
||||
console.log(`[STARTUP] queryStore.initOpenTabs: ${(performance.now() - t0).toFixed(0)}ms`);
|
||||
};
|
||||
|
||||
if (!desktopOpenTabsRestorationBarrier) await settingsStore.initAiConfigs();
|
||||
try {
|
||||
if (desktopOpenTabsRestorationBarrier) {
|
||||
await initializeDesktopOpenTabs({
|
||||
@@ -2386,7 +2385,11 @@ async function initApp() {
|
||||
onOptionalStateError: (error) => console.error("[STARTUP] settingsStore.initAiConfigs failed", error),
|
||||
});
|
||||
} else {
|
||||
await restoreOpenTabs();
|
||||
await initializeOpenTabs({
|
||||
initializeOptionalState: () => settingsStore.initAiConfigs(),
|
||||
restoreOpenTabs,
|
||||
onOptionalStateError: (error) => console.error("[STARTUP] settingsStore.initAiConfigs failed", error),
|
||||
});
|
||||
}
|
||||
await settingsStore.initDesktopSettings().catch(() => {});
|
||||
|
||||
|
||||
@@ -20,21 +20,28 @@ export function createOpenTabsRestorationBarrier(): OpenTabsRestorationBarrier {
|
||||
};
|
||||
}
|
||||
|
||||
interface InitializeDesktopOpenTabsOptions {
|
||||
barrier: OpenTabsRestorationBarrier;
|
||||
interface InitializeOpenTabsOptions {
|
||||
initializeOptionalState: () => Promise<void>;
|
||||
restoreOpenTabs: () => Promise<void>;
|
||||
onOptionalStateError: (error: unknown) => void;
|
||||
}
|
||||
|
||||
export async function initializeDesktopOpenTabs({ barrier, initializeOptionalState, restoreOpenTabs, onOptionalStateError }: InitializeDesktopOpenTabsOptions): Promise<void> {
|
||||
export async function initializeOpenTabs({ initializeOptionalState, restoreOpenTabs, onOptionalStateError }: InitializeOpenTabsOptions): Promise<void> {
|
||||
try {
|
||||
try {
|
||||
await initializeOptionalState();
|
||||
} catch (error) {
|
||||
onOptionalStateError(error);
|
||||
}
|
||||
await restoreOpenTabs();
|
||||
await initializeOptionalState();
|
||||
} catch (error) {
|
||||
onOptionalStateError(error);
|
||||
}
|
||||
await restoreOpenTabs();
|
||||
}
|
||||
|
||||
interface InitializeDesktopOpenTabsOptions extends InitializeOpenTabsOptions {
|
||||
barrier: OpenTabsRestorationBarrier;
|
||||
}
|
||||
|
||||
export async function initializeDesktopOpenTabs({ barrier, ...options }: InitializeDesktopOpenTabsOptions): Promise<void> {
|
||||
try {
|
||||
await initializeOpenTabs(options);
|
||||
} finally {
|
||||
barrier.settle();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user