lwy-2
33c1e6224c
fix(feishu): catch unhandled promise rejection in streaming card flush timer ( #99301 )
...
* fix(feishu): catch unhandled promise rejection in streaming card flush timer
## What Problem This Solves
The scheduled flush update in FeishuStreamingSession called
`this.update(pending)` without catching potential rejections, which
could cause unhandled promise rejections when card content updates
fail due to transient network errors.
## Why This Change Was Made
Add a `.catch()` with diagnostic logging to the scheduled flush
timer's `update()` call so transient card update failures are visible
without causing unhandled promise rejections.
## User Impact
Scheduled streaming-card updates that fail transiently will log a
diagnostic instead of producing an unhandled promise rejection.
## Evidence
node scripts/run-vitest.mjs extensions/feishu/src/media.test.ts
Test Files 1 passed (1)
Tests 44 passed (44)
pnpm exec oxfmt --check ...
All matched files use the correct format.
node scripts/run-oxlint.mjs ...
oxlint_exit=0
git diff --check
exit=0
Co-Authored-By: Claude <noreply@anthropic.com >
* test(feishu): cover rejected scheduled card flush
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 02:20:43 -07:00
..
2026-07-02 21:16:26 -07:00
2026-07-01 00:59:47 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 15:54:12 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 18:45:48 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-01 20:42:25 -07:00
2026-07-03 02:20:43 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 19:08:11 -07:00
2026-06-30 15:54:12 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-01 08:55:41 -07:00
2026-07-02 19:08:11 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-07-02 00:40:24 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 15:54:12 -07:00
2026-06-30 15:54:12 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 15:54:12 -07:00
2026-07-01 18:10:38 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 15:54:12 -07:00
2026-07-03 01:14:30 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-07-01 23:01:46 +08:00
2026-07-02 22:50:58 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 15:54:12 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 21:48:29 -07:00
2026-07-02 22:12:53 -07:00
2026-07-01 23:15:33 -07:00
2026-06-30 11:31:08 -07:00
2026-07-03 15:02:58 +08:00
2026-06-30 11:31:08 -07:00
2026-06-30 15:54:12 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-07-02 18:45:48 -07:00
2026-07-01 04:12:55 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 22:57:01 -07:00
2026-06-30 11:31:08 -07:00
2026-07-01 06:57:21 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-01 19:49:38 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 19:08:11 -07:00
2026-07-02 19:08:11 -07:00