Files
openclaw/extensions
Yuval Dinodia 2364078063 fix(clickclack): thread replies stop being answered past the 100-reply thread window (#117225)
* fix(clickclack): answer thread replies past the server thread-reply window

Thread replies stopped being answered once a ClickClack thread passed 100
replies, with no reply, no transcript entry, no gateway warning, and no
replay after reconnect.

The gateway resolved a thread.reply_created event by fetching the whole
thread and searching its reply list. The ClickClack thread endpoint caps
that response at 100 earliest replies by default, so reply 101 was absent,
the lookup returned null, and the event was treated as handled while the
websocket cursor advanced past it. A DM thread reply was worse: it hit the
DM branch first, and thread replies never appear in the root DM timeline
that branch pages, so every DM thread reply was dropped.

Resolve the event's own message_id through the authoritative single-message
endpoint the plugin already uses, which collapses the three window
heuristics into one canonical path. Transient failures still propagate so
reconnect replays them; only a 404 resolves to unreadable, and that now
records an operator warning instead of counting as a handled event.

* test(clickclack): harden reply recovery proof

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-01 14:10:47 +08:00
..