yunweibang
f4a2bbe0c9
fix(feishu): add early event-level dedup to prevent duplicate replies ( #43762 )
...
* 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 .
* 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.
* 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.
* fix(feishu): share inbound processing claim dedupe
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-13 22:37:40 -05:00
Peter Steinberger
8bc163d15f
fix(ci): repair helper typing regressions
2026-03-14 03:22:53 +00:00
Peter Steinberger
6a61d5504c
refactor: share extension deferred and runtime helpers
2026-03-14 02:40:28 +00:00
Peter Steinberger
1ac4bac8b1
refactor: share extension monitor runtime setup
2026-03-14 02:40:28 +00:00
Peter Steinberger
6decaebcf2
test: share plugin api test harness
2026-03-14 02:40:27 +00:00
Peter Steinberger
c3e78908c7
test: share feishu startup mock modules
2026-03-14 02:40:27 +00:00
Peter Steinberger
97dc493e2a
refactor: share extension channel status summaries
2026-03-14 02:40:27 +00:00
Peter Steinberger
e885f1999f
refactor: reduce extension channel setup duplication
2026-03-14 02:40:27 +00:00
Peter Steinberger
74e50d3be3
test: share send cfg threading helpers
2026-03-14 02:40:27 +00:00
Peter Steinberger
55ebdce9c3
refactor: share open allowFrom config checks
2026-03-14 02:40:27 +00:00
Peter Steinberger
38b09866b8
test: share directory runtime helpers
2026-03-14 02:40:27 +00:00
Peter Steinberger
27e863ce40
chore: update dependencies
2026-03-14 02:09:53 +00:00
Peter Steinberger
258945d4d0
test: share status issue assertion helpers
2026-03-14 01:41:17 +00:00
Peter Steinberger
0acd1f63fc
test: share startup account lifecycle helpers
2026-03-14 01:41:17 +00:00
Peter Steinberger
b61bc4948e
refactor: share dual text command gating
2026-03-14 01:41:17 +00:00
Peter Steinberger
91d9573b55
refactor: declone model picker model ref parsing
2026-03-14 01:41:17 +00:00
Peter Steinberger
c0831927b0
refactor: share allowlist wildcard matching
2026-03-14 01:41:17 +00:00
Peter Steinberger
66de7311c7
test: share whatsapp outbound poll fixtures
2026-03-14 01:41:17 +00:00
Peter Steinberger
1ec6b012f8
refactor: share zalo status issue helpers
2026-03-14 01:41:17 +00:00
Peter Steinberger
7285e04ead
refactor: share whatsapp outbound adapter base
2026-03-14 01:41:17 +00:00
Peter Steinberger
827b166bbc
refactor: share zalo send context validation
2026-03-14 01:41:16 +00:00
Peter Steinberger
d55fa78e40
refactor: share delimited channel entry parsing
2026-03-14 01:41:16 +00:00
Peter Steinberger
81ea997d40
refactor: share self hosted provider plugin helpers
2026-03-14 01:40:41 +00:00
Peter Steinberger
8de2f7339c
test: fix current ci regressions
2026-03-14 01:29:04 +00:00
fabiaodemianyang
983fecc106
fix(feishu): preserve non-ASCII filenames in file uploads ( #33912 ) ( #34262 )
...
* fix(feishu): preserve non-ASCII filenames in file uploads (#33912 )
* style(feishu): format media test file
* fix(feishu): preserve UTF-8 filenames in file uploads (openclaw#34262) thanks @fabiaodemianyang
---------
Co-authored-by: Robin Waslander <r.waslander@gmail.com>
2026-03-14 01:42:46 +01:00
Val Alexander
0e8672af87
fix(ui): stop dashboard chat history reload storm ( #45541 )
...
* UI: stop dashboard chat history reload storm
* Changelog: add PR number for chat reload fix
* fix: resolve branch typecheck regressions
2026-03-13 19:19:53 -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