fix: restart webchat tunnel on main actor
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user