H-337: fix Web Channel availability and realtime delivery (#60)

* H-337: fix Web Channel availability and realtime delivery

* fix(widget): preserve realtime sender and activity contracts

* fix(widget): keep realtime sender payloads consistent

* fix(widget): make public message persistence atomic

* fix(inbox): keep availability projection out of schema

---------

Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
Rogee
2026-08-20 14:30:05 +08:00
committed by GitHub
co-authored by rogee
parent 55b56ee172
commit 3d9817c9f5
17 changed files with 769 additions and 247 deletions
@@ -224,21 +224,6 @@ func TestWidgetHandler_Cov3_PublicGetContact_InvalidInbox_Cov3(t *testing.T) {
assert.True(t, w.Code == http.StatusNotFound || w.Code == http.StatusBadRequest, "expected 404 or 400, got %d: %s", w.Code, w.Body.String())
}
// ---------- uintFromPayload unit test ----------
func TestWidgetHandler_Cov3_UintFromPayload_Cov3(t *testing.T) {
assert.Equal(t, uint(42), uintFromPayload(uint(42)))
assert.Equal(t, uint(42), uintFromPayload(int(42)))
assert.Equal(t, uint(0), uintFromPayload(int(-1)))
assert.Equal(t, uint(42), uintFromPayload(int64(42)))
assert.Equal(t, uint(0), uintFromPayload(int64(-1)))
assert.Equal(t, uint(42), uintFromPayload(float64(42)))
assert.Equal(t, uint(0), uintFromPayload(float64(-1)))
assert.Equal(t, uint(0), uintFromPayload("not a number"))
assert.Equal(t, uint(0), uintFromPayload(nil))
assert.Equal(t, uint(0), uintFromPayload(uint(0)))
}
// ---------- GetCableToken ----------
func TestWidgetHandler_Cov3_GetCableToken_NoToken_Cov3(t *testing.T) {