Mattermost uses replyToId as rootId for thread context, same pattern as Slack's thread_ts. Without this, multi-payload assistant turns only keep the first message in-thread; subsequent payloads get posted unthreaded. Generalizes the Slack-specific exemption to all thread-based channels.
1.6 KiB
1.6 KiB
Signal quote reply fix
- Inspect current reply consumption and Signal quote validation flow
- Implement fix so invalid explicit Signal reply ids do not consume inherited reply state
- Add or update regression tests for outbound delivery and Signal send behavior
- Run targeted verification for touched test files and broader related tests if quick
- Review diff, update this file with results, and commit/push changes
Notes
- Status: pushed
- Shared Signal quote metadata validation now drives:
- Signal send param construction
- outbound reply consumption
- monitor reply consumption
- Regression coverage added for:
- malformed explicit Signal
replyToIdpreserving inherited reply state - group replies without
quoteAuthorpreserving inherited reply state - direct-message valid numeric replies still emitting
quote-timestamp - existing partial-chunk failure case using a valid Signal timestamp fixture
- malformed explicit Signal
- Verification:
pnpm exec vitest run --config vitest.unit.config.ts src/infra/outbound/deliver.test.ts src/signal/send.test.ts src/signal/monitor/reply-delivery.test.ts src/signal/monitor/event-handler.quote.test.tspnpm exec vitest run --config vitest.unit.config.ts src/signal/*.test.ts src/signal/monitor/*.test.tspnpm exec oxfmt --check src/infra/outbound/deliver.ts src/infra/outbound/deliver.test.ts src/signal/send.ts src/signal/send.test.ts src/signal/monitor.ts src/signal/monitor/reply-delivery.ts src/signal/monitor/reply-delivery.test.ts src/signal/reply-quote.ts tasks/todo.md
- Commit:
a1e5c2966Signal: preserve inherited quote state
- Push:
git push origin fix/signal-quote-reply