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
Peter Steinberger
f5b9095108
refactor: share zalo send result handling
2026-03-13 21:54:39 +00:00
Peter Steinberger
a6375a2094
refactor: share zalouser account resolution
2026-03-13 21:40:54 +00:00
Peter Steinberger
4ec0a120df
test: share zalo api request assertion
2026-03-13 21:40:54 +00:00