From c5ae8dc9ebf1c935707ba420b20ef4329da300fc Mon Sep 17 00:00:00 2001 From: Lawrence Chen Date: Tue, 17 Mar 2026 03:23:18 -0700 Subject: [PATCH] Defer browser import dialog presentation --- Sources/Panels/BrowserPanelView.swift | 8 +++++--- Sources/cmuxApp.swift | 10 +++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Sources/Panels/BrowserPanelView.swift b/Sources/Panels/BrowserPanelView.swift index 8192fba8..7108d183 100644 --- a/Sources/Panels/BrowserPanelView.swift +++ b/Sources/Panels/BrowserPanelView.swift @@ -1470,9 +1470,11 @@ struct BrowserPanelView: View { private func presentImportDialogFromHint() { isBrowserImportHintPopoverPresented = false - BrowserDataImportCoordinator.shared.presentImportDialog( - defaultDestinationProfileID: panel.profileID - ) + DispatchQueue.main.async { + BrowserDataImportCoordinator.shared.presentImportDialog( + defaultDestinationProfileID: panel.profileID + ) + } } private func openBrowserImportSettings() { diff --git a/Sources/cmuxApp.swift b/Sources/cmuxApp.swift index 15ceaa47..5c5dd445 100644 --- a/Sources/cmuxApp.swift +++ b/Sources/cmuxApp.swift @@ -2037,7 +2037,9 @@ private struct BrowserImportHintDebugView: View { AppDelegate.presentPreferencesWindow(navigationTarget: .browser) } Button("Open Import Dialog") { - BrowserDataImportCoordinator.shared.presentImportDialog() + DispatchQueue.main.async { + BrowserDataImportCoordinator.shared.presentImportDialog() + } } } @@ -4650,8 +4652,10 @@ struct SettingsView: View { HStack(spacing: 8) { Button(String(localized: "settings.browser.import.choose", defaultValue: "Choose…")) { - BrowserDataImportCoordinator.shared.presentImportDialog() - refreshDetectedImportBrowsers() + DispatchQueue.main.async { + BrowserDataImportCoordinator.shared.presentImportDialog() + refreshDetectedImportBrowsers() + } } .buttonStyle(.bordered) .controlSize(.small)