Skip to content

fix(連接器): 修正第一銀行 010103 CDP 等待競態 - #113

Merged
TedLin1993 merged 1 commit into
mainfrom
cursor/firstbank-cdp-wait-race-ffc1
Aug 29, 2026
Merged

fix(連接器): 修正第一銀行 010103 CDP 等待競態#113
TedLin1993 merged 1 commit into
mainfrom
cursor/firstbank-cdp-wait-race-ffc1

Conversation

@TedLin1993

Copy link
Copy Markdown
Owner

問題

PR #112 合併後,本機 wrangler 可成功擷取 010103,但 production Browser Rendering 仍可能在 capture/verify 階段回 502。送出 0101 查詢後只等 2 秒找 live iframe;只有 CDP requestIds 已經在 Set 裡才再多等 1 秒。若 Cloudflare Browser Run 的 responseReceived / loadingFinished 在 2 秒後才到達,程式會丟出「交易明細讀取失敗」並拆除 CDP session/listeners。既有測試在 click 當下同步發出 CDP 事件,無法覆蓋延遲回應。

修正

  • 在送出查詢前先掛上 010103 document-body Promise,等待過程不依賴 requestIds Set 當下是否已有值。
  • 送出後統一等待約 10 秒,期間可接受 live result frame 序列化或已擷取的 CDP/HTTP HTML;等完才拆除 listeners。
  • 階段 log 只記錄 URL path、HTTP status、body length、是否含「交易日期」表頭;不記錄帳號、金額、cookie 或 HTML body。

測試

  • 新增 CDP responseReceivedloadingFinished 延遲到達的測試(含 requestIds 仍為空時仍等待 loadingFinished)。
  • 從 repo root 執行:npm run format:checknpm run typecheck、First Bank session tests(15 passed)。

本次未執行 production 或任何包含銀行登入資料的同步。請勿合併前再對第一銀行做 production 重試。

Open in Web Open in Cursor 

查詢送出前先掛上文件 body Promise,送出後等待約 10 秒以取得 live frame 或延遲到達的 CDP/HTTP HTML,並補上不含財務內容的階段 log。

Co-authored-by: Ted <TedLin1993@users.noreply.github.com>
@TedLin1993
TedLin1993 marked this pull request as ready for review August 29, 2026 05:57
@cloudflare-workers-and-pages

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
taiwan-fin-hub 732aa82 Aug 29 2026, 05:58 AM

@TedLin1993
TedLin1993 merged commit afa4a71 into main Aug 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants