diff --git a/ios/VibeTunnel/Services/SSEClient.swift b/ios/VibeTunnel/Services/SSEClient.swift index 740b8471..ff96c997 100644 --- a/ios/VibeTunnel/Services/SSEClient.swift +++ b/ios/VibeTunnel/Services/SSEClient.swift @@ -31,6 +31,7 @@ final class SSEClient: NSObject, @unchecked Sendable { self.session = URLSession(configuration: configuration, delegate: self, delegateQueue: .main) } + @MainActor func start() { var request = URLRequest(url: url) request.setValue("text/event-stream", forHTTPHeaderField: "Accept") diff --git a/ios/VibeTunnel/Views/SystemLogsView.swift b/ios/VibeTunnel/Views/SystemLogsView.swift index 56137637..f4d4bb19 100644 --- a/ios/VibeTunnel/Views/SystemLogsView.swift +++ b/ios/VibeTunnel/Views/SystemLogsView.swift @@ -80,7 +80,7 @@ struct SystemLogsView: View { var body: some View { NavigationStack { ZStack { - Theme.Colors.background + Theme.Colors.terminalBackground .ignoresSafeArea() VStack(spacing: 0) { @@ -96,10 +96,20 @@ struct SystemLogsView: View { .progressViewStyle(CircularProgressViewStyle(tint: Theme.Colors.primaryAccent)) .frame(maxWidth: .infinity, maxHeight: .infinity) } else if let error = error { - ErrorView(message: error) { - Task { - await loadLogs() + VStack { + Text("Error loading logs") + .font(.headline) + .foregroundColor(Theme.Colors.errorAccent) + Text(error) + .font(.subheadline) + .foregroundColor(Theme.Colors.terminalForeground) + .multilineTextAlignment(.center) + Button("Retry") { + Task { + await loadLogs() + } } + .terminalButton() } .frame(maxWidth: .infinity, maxHeight: .infinity) } else {