You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(auto-reply): narrow room_event source-suppression bypass for explicit command turns; deliver /compact + notifyUser independently of internal callbacks
Three distinct silent-delivery failures of /compact and compaction
notices on 2026.5.22 (#87107):
1. dispatch-from-config previously rejected the
deliverDespiteSourceReplySuppression marker for every room_event,
so a marked authorized /compact reply (Feishu group / WebChat
room-event) was silently dropped. Narrow the bypass to honor the
marker when the current ctx represents an explicit command turn
(isExplicitCommandTurn: native or authorized text-slash); ambient
marked runtime failure notices and sendPolicy: deny stay
suppressed.
2. handleInlineActions terminal replies (/compact, /status, skill
tool blocked / error replies) did not carry the marker, so the
same suppress branch silently dropped them under
messages.visibleReplies: "message_tool" configs. Wrap every
{ kind: "reply", reply } exit in a local helper that calls
markReplyPayloadForSourceSuppressionDelivery.
3. The compaction-event handler in runAgentTurnWithFallback gated
notifyUser on the absence of onCompactionStart / onCompactionEnd
callbacks, conflating internal Control-UI callbacks with the
opt-in user-channel notice. Drop the callback predicates from the
gate so notifyUser fires whenever configured; keep hookMessages
overlap suppression (same user-channel audience).
Refs #87107
it("marks command-handler terminal replies with deliverDespiteSourceReplySuppression so they are not dropped under message_tool_only delivery (#87107)",async()=>{
0 commit comments