fix: restore web widget realtime replies (HH-556) (#136)
* fix: restore web widget realtime replies (HH-556) * fix: make realtime delivery durable (HH-556) * fix: make realtime message outbox atomic (HH-556) --------- Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
@@ -786,11 +786,14 @@ func Bootstrap(env string) (*App, error) {
|
||||
}
|
||||
})
|
||||
eventPublisher := wspkg.NewEventPublisher(wsHub, nil, wsRelay)
|
||||
eventPublisher.SetWorkerPool(workerPool)
|
||||
presenceTracker := wspkg.NewPresenceTracker(rdb, wsRelay)
|
||||
|
||||
// Bridge channel dispatcher events to the WebSocket EventPublisher so that
|
||||
// message/conversation/contact events reach connected WS/SSE clients.
|
||||
channelDispatcher.Register(wsevent.New(eventPublisher))
|
||||
realtimeBridge := wsevent.New(eventPublisher)
|
||||
channelDispatcher.Register(realtimeBridge)
|
||||
messageService.SetRealtimeEventBridge(realtimeBridge)
|
||||
|
||||
// Widget service + handler (M11 — WebWidget channel completion)
|
||||
// hubTypingAdapter delegates typing events to the WS hub's direct broadcast,
|
||||
@@ -802,6 +805,7 @@ func Bootstrap(env string) (*App, error) {
|
||||
widgetService := service.NewWidgetService(inboxRepo, contactRepo, contactInboxRepo, conversationRepo, messageRepo, widgetTypingAdapter, widgetThemeConfigRepo, preChatFormRepo, widgetFileUploadRepo, widgetOfflineMessageRepo, inboxMemberRepo, tagRepo, campaignRepo)
|
||||
widgetService.SetWorkerPool(workerPool)
|
||||
widgetService.SetDispatcher(channelDispatcher)
|
||||
widgetService.SetRealtimeEventBridge(realtimeBridge)
|
||||
widgetHandler := widget.NewHandler(widgetService)
|
||||
|
||||
// Upload: DirectUpload repo + service + handler (account-level + widget direct uploads)
|
||||
|
||||
Reference in New Issue
Block a user