diff --git a/TablePro/Core/Database/DatabaseManager.swift b/TablePro/Core/Database/DatabaseManager.swift index 693a4a21..f9bb5bdd 100644 --- a/TablePro/Core/Database/DatabaseManager.swift +++ b/TablePro/Core/Database/DatabaseManager.swift @@ -184,8 +184,12 @@ final class DatabaseManager { if resolvedConnection.database.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty, let adapter = driver as? PluginDriverAdapter, let savedDb = AppSettingsStorage.shared.loadLastDatabase(for: connection.id) { - try? await adapter.switchDatabase(to: savedDb) - activeSessions[connection.id]?.currentDatabase = savedDb + do { + try await adapter.switchDatabase(to: savedDb) + activeSessions[connection.id]?.currentDatabase = savedDb + } catch { + Self.logger.warning("Failed to restore saved database '\(savedDb, privacy: .public)' for \(connection.id): \(error.localizedDescription, privacy: .public)") + } } case .selectDatabaseFromConnectionField(let fieldId): // Select database from a connection field (e.g. Redis database index). diff --git a/TablePro/Models/UI/RightPanelState.swift b/TablePro/Models/UI/RightPanelState.swift index 4c088816..ba461698 100644 --- a/TablePro/Models/UI/RightPanelState.swift +++ b/TablePro/Models/UI/RightPanelState.swift @@ -24,10 +24,8 @@ import os var isPresented: Bool { didSet { guard !isSyncing else { return } - DispatchQueue.main.async { [self] in - UserDefaults.standard.set(self.isPresented, forKey: Self.isPresentedKey) - NotificationCenter.default.post(name: Self.isPresentedChangedNotification, object: self) - } + UserDefaults.standard.set(isPresented, forKey: Self.isPresentedKey) + NotificationCenter.default.post(name: Self.isPresentedChangedNotification, object: self) } }