KamoCRM

A message that did not go stays in the box and says why

Fixkamo-internal
已装运
2026年9月27日 06:39 UTC
作者
Kamo
提交
765bf48

A failed send was swallowed in useChatConversation.onSend ("matching the old ChatBox"). The core removed the optimistic bubble, the Composer took the resolved promise for success and discarded the draft, and the member's message was simply gone — no bubble, no notice, nothing left to send again. That is the "nothing was sent until I sent a second message" report. The Composer was already written to keep the draft and show a notice on a rejection; it was never given one. - onSend rejects now. The Composer keeps the draft (and ChatBox keeps the reply target), and the notice quotes the server when it refused the message (the org's chat policy) or says plainly that the server did not answer. Never a request path. - @kamo/chat-core 0.1.22: the history load and a send retry a transient failure by themselves before reporting it — so "Couldn't load messages" no longer appears for a failure that clears a moment later — a send carries a clientMessageId so its retries are written once, and opening a conversation no longer marks it read beside the history load it used to collide with. The server half (MediaService retrying the YugabyteDB 40001 that caused both) is mediaservice 279a389; the notice text is kamo-translation-dictionary 1e7a924b. npm test: the 6 files / 56 failing tests (ToolDock, MaximizedTabStrip, devMachineSections, ...) fail identically on origin/main without this change.

所有更改

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价