refactor(macos): extract gateway payload decoding

This commit is contained in:
Peter Steinberger
2025-12-12 22:26:48 +00:00
parent 14e3b34a8e
commit c7bd4b5c1d
3 changed files with 19 additions and 9 deletions

View File

@@ -213,8 +213,7 @@ final class WebChatViewModel: ObservableObject {
private func handleGatewayEvent(_ evt: EventFrame) {
guard evt.event == "chat" else { return }
guard let payload = evt.payload else { return }
guard let data = try? JSONEncoder().encode(payload) else { return }
guard let chat = try? JSONDecoder().decode(ChatEventPayload.self, from: data) else { return }
guard let chat = try? GatewayPayloadDecoding.decode(payload, as: ChatEventPayload.self) else { return }
guard chat.sessionKey == nil || chat.sessionKey == self.sessionKey else { return }
if let runId = chat.runId, !self.pendingRuns.contains(runId) {