fix: restart webchat tunnel on main actor

This commit is contained in:
Peter Steinberger
2025-12-08 17:12:42 +01:00
parent 466236e32f
commit 421924b73f

View File

@@ -98,15 +98,13 @@ final class WebChatWindowController: NSWindowController, WKNavigationDelegate {
tunnel.process.terminationHandler = { [weak self] _ in tunnel.process.terminationHandler = { [weak self] _ in
guard let self else { return } guard let self else { return }
webChatLogger.error("webchat tunnel terminated; restarting") webChatLogger.error("webchat tunnel terminated; restarting")
Task { [weak self] in Task { @MainActor [weak self] in
guard let self else { return } guard let self else { return }
do { do {
_ = try await self.startOrRestartTunnel() let base = try await self.startOrRestartTunnel()
if let base = self.baseEndpoint { self.loadPage(baseURL: base)
await MainActor.run { self.loadPage(baseURL: base) }
}
} catch { } catch {
await MainActor.run { self.showError(error.localizedDescription) } self.showError(error.localizedDescription)
} }
} }
} }