refactor: enhance realtime message handling and conversation state management

This commit is contained in:
mlogclub
2026-04-25 17:24:26 +08:00
parent 0b22c003b0
commit 96fde7aaab
7 changed files with 496 additions and 126 deletions
+7 -9
View File
@@ -1,18 +1,16 @@
import { createWebSocketBaseUrl } from "@/lib/api/websocket"
import { getImVisitorId } from "@/lib/api/im"
import { getImVisitorId, type ImMessage } from "@/lib/api/im"
import { readKefuWidgetConfig } from "@/lib/kefu-widget-config"
import type {
RealtimeConversationPatch,
RealtimeMessageCreatedPayload,
} from "@/lib/im-realtime-state"
export type ImRealtimeEnvelope = {
type: string
topic?: string
data?: {
conversationId?: number
messageId?: number
}
payload?: {
conversationId?: number
messageId?: number
}
data?: RealtimeMessageCreatedPayload<ImMessage> & RealtimeConversationPatch
payload?: RealtimeMessageCreatedPayload<ImMessage> & RealtimeConversationPatch
}
export function createImRealtimeConnection() {