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
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