Codex CLI Audit 3b4866f57a fix(signal): complete bidirectional quote-reply support
Outbound:
- Map [[reply_to:]] tag to signal-cli quote-timestamp + quote-author RPC params
- Validate reply IDs are decimal-only (reject hex/scientific notation)
- Track quote consumption across dispatcher callbacks (turnReplyConsumed flag)
- Strip replyToId from payload after first delivery; prevents duplicate quote bubbles
- Preserve explicit null as reply suppression signal (distinct from unset)
- Materialize resolved replyToId on sendPayload payloads for downstream correctness
- Handle sendPayload partial failure: only consume on valid messageId

Inbound:
- Surface ReplyToId, ReplyToBody, ReplyToSender, ReplyToIsQuote on MsgContext
- Resolve quoted authors from LRU cache (uuid: prefix normalization for signal-cli)
- Preserve quote metadata through debounce coalescing
- Index skipped group messages for later author resolution
- Drop wrong-person fallback for unresolvable explicit reply IDs

Type safety:
- Extend OutboundReplyPayload.replyToId to string | null | undefined
- Fix null propagation in googlechat, irc, nextcloud-talk, imessage, telegram adapters
- Fix Feishu SDK type errors (timeout not in call param types)

Requires patched signal-cli at /opt/signal-cli-0.14.1-patched/ until
upstream publishes lib v140 to JitPack.
2026-03-20 19:27:09 -04:00
..
2026-03-18 15:34:27 +00:00