Tak Hoffman
ae1d1e7e23
fix(feishu): share inbound processing claim dedupe
2026-03-13 18:46:24 -05:00
yunweibang
e9c1ab2e94
fix(feishu): simplify eventDedup key — drop redundant accountId prefix
...
eventDedup is already scoped per account (one instance per
registerEventHandlers call), so the accountId prefix in the cache key
is redundant. Use `evt:${messageId}` instead.
2026-03-13 18:45:37 -05:00
yunweibang
f7154988af
fix(feishu): correct inverted dedup condition
...
check() returns false on first call (new key) and true on subsequent
calls (duplicate). The previous `!check()` guard was inverted —
dropping every first delivery and passing all duplicates.
Remove the negation so the guard correctly drops duplicates.
2026-03-13 18:45:37 -05:00
yunweibang
a8ae682bda
fix(feishu): add early event-level dedup to prevent duplicate replies
...
Add synchronous in-memory dedup at EventDispatcher handler level using
message_id as key with 5-minute TTL and 2000-entry cap.
This catches duplicate events immediately when they arrive from the Lark
SDK — before the inbound debouncer or processing queue — preventing the
race condition where two concurrent dispatches enter the pipeline before
either records the messageId in the downstream dedup layer.
Fixes the root cause reported in #42687 .
2026-03-13 18:45:37 -05:00
Peter Steinberger
a474a9c45d
test: reuse feishu streaming merge helper
2026-03-13 23:35:28 +00:00
Peter Steinberger
b6c297af8c
test: share matrix sdk test mocks
2026-03-13 23:35:28 +00:00
Peter Steinberger
4df8722edf
test: share feishu monitor startup mocks
2026-03-13 23:35:28 +00:00
Peter Steinberger
0f8531dea6
test: share synology channel harness
2026-03-13 23:35:28 +00:00
Peter Steinberger
9b0e333f2c
refactor: share bluebubbles multipart helpers
2026-03-13 23:35:28 +00:00
Peter Steinberger
d7aa3cc1c3
test: share zalouser test helpers
2026-03-13 23:35:28 +00:00
Peter Steinberger
66979bcc2f
refactor: share self hosted provider auth flow
2026-03-13 23:35:28 +00:00
Peter Steinberger
bbb52087ed
test: dedupe llm task embedded run setup
2026-03-13 23:35:27 +00:00
Peter Steinberger
a5671ea3d8
test: dedupe discord delivery target setup
2026-03-13 23:35:27 +00:00
Peter Steinberger
ccd763aef7
test: dedupe gemini oauth fallback checks
2026-03-13 23:35:27 +00:00
Peter Steinberger
b4719455bc
test: dedupe gemini oauth project assertions
2026-03-13 23:35:27 +00:00
Peter Steinberger
088d6432a4
test: dedupe diffs file artifact assertions
2026-03-13 23:35:27 +00:00
Peter Steinberger
f7b9cfebe1
test: dedupe diffs http local get setup
2026-03-13 23:35:27 +00:00
Peter Steinberger
86caf454f4
refactor: share device pair ipv4 parsing
2026-03-13 23:35:27 +00:00
Peter Steinberger
9b24f890b2
refactor: share voice call message actions
2026-03-13 23:35:27 +00:00
Peter Steinberger
017c0dce32
test: dedupe msteams attachment redirects
2026-03-13 23:35:27 +00:00
Peter Steinberger
fd58268f04
test: dedupe bluebubbles normalize fixtures
2026-03-13 23:35:27 +00:00
Peter Steinberger
2ebc7e3ded
test: dedupe msteams revoked thread context
2026-03-13 23:35:27 +00:00
Peter Steinberger
40b0cbd713
test: dedupe thread ownership send checks
2026-03-13 23:35:27 +00:00
Peter Steinberger
8ca510a669
test: dedupe feishu media account setup
2026-03-13 23:35:26 +00:00
Peter Steinberger
b213348665
test: dedupe feishu signed webhook posts
2026-03-13 23:35:26 +00:00
Peter Steinberger
4d1fcc1df2
test: share memory lancedb temp config harness
2026-03-13 23:35:26 +00:00
Peter Steinberger
1ea5bba848
test: dedupe feishu startup preflight waits
2026-03-13 23:35:26 +00:00
Peter Steinberger
5af8322ff5
refactor: share tlon channel put requests
2026-03-13 23:35:26 +00:00
Peter Steinberger
7ca8804a33
test: share feishu schema and reaction assertions
2026-03-13 23:35:26 +00:00
Peter Steinberger
a7e5925ec1
test: dedupe feishu account resolution fixtures
2026-03-13 23:35:26 +00:00
Peter Steinberger
9a14696f30
test: dedupe feishu config schema checks
2026-03-13 23:35:26 +00:00
Peter Steinberger
b5eb329f94
test: dedupe feishu outbound setup
2026-03-13 23:35:26 +00:00
Peter Steinberger
2cf6e2e4f6
test: dedupe matrix target resolution cases
2026-03-13 23:35:26 +00:00
Peter Steinberger
1dc8e17371
refactor: share line outbound media loop
2026-03-13 23:35:26 +00:00
Peter Steinberger
407d0d296d
refactor: share tlon outbound send context
2026-03-13 23:35:26 +00:00
Peter Steinberger
a57c590a71
refactor: share telegram outbound send options
2026-03-13 23:35:26 +00:00
Peter Steinberger
d0337a18b6
fix: clear typecheck backlog
2026-03-13 22:09:06 +00:00
Peter Steinberger
a9d8518e7c
test: dedupe msteams consent auth fixtures
2026-03-13 21:54:39 +00:00
Peter Steinberger
110eeec5b8
test: dedupe twitch access control checks
2026-03-13 21:54:39 +00:00
Peter Steinberger
0530d1c530
test: dedupe twitch access control assertions
2026-03-13 21:54:39 +00:00
Peter Steinberger
f2300f4522
test: dedupe msteams policy route fixtures
2026-03-13 21:54:39 +00:00
Peter Steinberger
b23bfef8cc
test: dedupe feishu probe fixtures
2026-03-13 21:54:39 +00:00
Peter Steinberger
5b51d92f3e
test: dedupe synology channel account fixtures
2026-03-13 21:54:39 +00:00
Peter Steinberger
d964c15040
test: dedupe synology webhook request helpers
2026-03-13 21:54:39 +00:00
Peter Steinberger
8896a477df
test: dedupe bluebubbles local media send cases
2026-03-13 21:54:39 +00:00
Peter Steinberger
168394980f
refactor: share slack allowlist target mapping
2026-03-13 21:54:39 +00:00
Peter Steinberger
f0d0ad39c4
test: dedupe nostr profile http assertions
2026-03-13 21:54:39 +00:00
Peter Steinberger
58baf22230
refactor: share zalo monitor processing context
2026-03-13 21:54:39 +00:00
Peter Steinberger
b9f0effd55
test: dedupe synology chat client timer setup
2026-03-13 21:54:39 +00:00
Peter Steinberger
853999fd7f
refactor: dedupe synology chat client webhook payloads
2026-03-13 21:54:39 +00:00