Skip to content

fix: 浏览器登录优先默认浏览器并规避夸克 CDP 目标 - #9

Closed
MYCF711 wants to merge 1 commit into
mainfrom
fix/browser-login-cdp
Closed

MYCF711 wants to merge 1 commit into
mainfrom
fix/browser-login-cdp

Conversation

@MYCF711

@MYCF711 MYCF711 commented Nov 13, 2026

Copy link
Copy Markdown
Owner

问题

#7 指出 Windows 候选顺序会先选中注册了 App Paths 的夸克,而不是系统默认 Edge;夸克的内部页又会扰动 /json/list 并回收登录 page target,最终把“目标消失”误报成“用户关了窗口”。

改动

  • 读取 Windows UserChoice 与默认浏览器 open command,仅让 CDP 稳定白名单浏览器优先;夸克降为所有候选的最后兜底。
  • 新增 MAGPIE_BROWSER 与 MAGPIE_BROWSER_PREFER_DEFAULT=0 两个显式控制入口。
  • 两条浏览器登录路都按登录 URL origin 选择 page target,不再直接取 /json/list 第一项。
  • WS 断开时按 target id / 同源 target / 调试端口可达性区分“目标消失”“连接断开”“浏览器关闭”,不再一律误报窗口被关。
  • 两条登录路的 cdpSend 与 WS 握手均有 close/error/timeout/构造器异常清理;覆盖 WS OPEN 但 target 已消失的形态。
  • reg query 丢弃正常探测产生的 stderr。
  • 扩充离线语义回归(含 close-only 的 kill + profile 删除断言);不启动真实浏览器、不读真实账号缓存。独立静态复审 GO(无 blocker/high)。

验证

维护者本地:补丁直接相关的 tests/browser-login.test.mjs + tests/session-login.test.mjs 19/19 通过;node scripts/check.mjs、npm pack --dry-run、git diff --check 通过。全量 npm test 中 tests/today-spend.test.mjs 有 2 项失败,已在干净 main 基线 worktree 复现同样 2 项(既有时区/日期问题,与本补丁无关),未夹带修改;以 PR CI(UTC)结果为准。

未验证

真实 Windows + 夸克/Edge 的端到端登录仍需真机复验;本 PR 不把“断开原因分类”写成“自动重连”。既有 chromiumLogin 默认 cookieNames=[] 的必然超时问题单列,未夹带在本 PR。

Refs #7

@MYCF711

MYCF711 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

维护方向调整:这个修复基于 issue #7 报告者的根因分析,应由报告者自己提交 PR 以保留署名贡献。本 PR 关闭,分支 fix/browser-login-cdp 保留(含全部修复与测试),供报告者 fork cherry-pick 或参考。

@MYCF711 MYCF711 closed this Nov 13, 2026
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.

1 participant