Fix sync event typing

This commit is contained in:
weishu
2026-01-03 14:57:00 +08:00
parent e2028b6914
commit 8ce568ea70
4 changed files with 19 additions and 22 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ export function extractMessageEventType(event: SyncEvent): string | null {
return null
}
const message = event.message?.content ?? event.data
const message = event.message?.content
const envelope = extractEventEnvelope(message)
if (!envelope) {
return null
+3 -3
View File
@@ -108,7 +108,7 @@ export class SSEManager {
}
if (event.type === 'message-received') {
return Boolean(event.sessionId && connection.sessionId === event.sessionId)
return connection.sessionId === event.sessionId
}
if (event.type === 'connection-changed') {
@@ -119,11 +119,11 @@ export class SSEManager {
return true
}
if (event.sessionId && connection.sessionId === event.sessionId) {
if ('sessionId' in event && connection.sessionId === event.sessionId) {
return true
}
if (event.machineId && connection.machineId === event.machineId) {
if ('machineId' in event && connection.machineId === event.machineId) {
return true
}
+3 -18
View File
@@ -128,32 +128,17 @@ export class SyncEngine {
}
}
const webappEvent: SyncEvent = event.type === 'message-received'
? {
type: event.type,
namespace,
sessionId: event.sessionId,
machineId: event.machineId,
message: event.message
}
: {
type: event.type,
namespace,
sessionId: event.sessionId,
machineId: event.machineId
}
this.sseManager.broadcast(webappEvent)
this.sseManager.broadcast(enrichedEvent)
}
private resolveNamespace(event: SyncEvent): string | undefined {
if (event.namespace) {
return event.namespace
}
if (event.sessionId) {
if ('sessionId' in event) {
return this.sessions.get(event.sessionId)?.namespace
}
if (event.machineId) {
if ('machineId' in event) {
return this.machines.get(event.machineId)?.namespace
}
return undefined