Skip to content

[Bug] 浏览器插件页面识别不稳定问题 #50

Description

@1923213756

Summary / 问题概述

标签组状态管理问题

Affected Area / 影响范围

CLI / Backend

Version / 版本

No response

Install Method / 安装方式

Source with Bun

Operating System / 操作系统

macOS

Steps To Reproduce / 复现步骤

正常使用时偶发

Expected Behavior / 预期结果

只要当前窗口存在有效 Nine1Bot 标签组且组内有可自动化 tab,browser_status 和后续浏览器工具都必须在扩展重连、service worker 重启、sidepanel 重载后自动恢复,不要求用户重新建组。
sidepanel 重开不能无故改写当前窗口的活跃标签组绑定。
多窗口下每个窗口的 Nine1Bot 标签组互不污染;一个窗口的重绑或重连不能让另一个窗口“丢 tab”。
当确实没有可用标签组或组内没有可自动化 tab 时,诊断信息必须明确说明原因,而不是静默回退。

Actual Behavior / 实际结果

扩展当前只用一个全局 activeNine1TabGroupId 记录“当前受控标签组”,不是按窗口或 sidepanel 会话隔离;组还在,不代表程序还承认它。
sidepanel 初始化会再次触发“确保专属标签组”,容易把当前活跃组重绑到别的 tab/window,导致旧组仍存在但被 runtime 放弃。
extension 和 server 各自维护一份 tab/target 状态;server 侧 connectedTargets 主要靠增量事件维护,断连、重连、group 切换后容易和真实标签组脱节。
sessionId 现在是每次 attach 随机生成,导致 reconnect 之后 target 身份不稳定,缓存难以重建。
关键路径大量静默吞错,最终对外只表现为“没有标签页”或“标签组不存在”,缺少明确诊断。
现有测试没有覆盖标签组恢复、重连重建、multi-window 隔离这几条核心回归路径。

Logs Or Screenshots / 日志或截图

Additional Context / 其他补充

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions