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:
Rogee
2026-08-23 22:35:10 +08:00
committed by GitHub
co-authored by rogee
parent 17244bcc9d
commit 60a6ac4785
13 changed files with 987 additions and 136 deletions
@@ -168,17 +168,20 @@ func (s *MessageHandlerTestSuite) SetupTest() {
contact := &model.Contact{AccountID: account.ID, Name: "MsgHandlerTestContact"}
s.Require().NoError(s.db.Create(contact).Error)
s.testContact = contact
contactInbox := &model.ContactInbox{ContactID: contact.ID, InboxID: inbox.ID, SourceID: "message-handler-contact", PubsubToken: "message-handler-token"}
s.Require().NoError(s.db.Create(contactInbox).Error)
displayID := uint(4242)
conv := &model.Conversation{
AccountID: account.ID,
DisplayID: &displayID,
InboxID: inbox.ID,
ContactID: contact.ID,
Status: string(model.ConversationStatusOpen),
Priority: string(model.ConversationPriorityMedium),
ChannelType: "web_widget",
Channel: "web_widget",
AccountID: account.ID,
DisplayID: &displayID,
InboxID: inbox.ID,
ContactID: contact.ID,
ContactInboxID: &contactInbox.ID,
Status: string(model.ConversationStatusOpen),
Priority: string(model.ConversationPriorityMedium),
ChannelType: "web_widget",
Channel: "web_widget",
}
s.Require().NoError(s.db.Create(conv).Error)
s.testConv = conv