v0.2.1 — 修「开了 CSSwitch 仍要登录」
v0.2.1 — 修「开了 CSSwitch 仍要登录」
0.2.0 有两个会导致「一键开始走完仍落登录页」的缺陷,本版各修一个、各补一条回归测试。链路方案本身没坏(虚拟 OAuth 结构自洽、代理此前成功处理过真实聊天),坏在「重开 / 取入口 URL」这两条路径。
修复 Fixed
- 入口 URL 解析:
claude-science url现在输出多行(第一行是真 URL,第二行是「single-use…」说明)。旧代码把整段 stdout 当 URL 交给浏览器,参数带上换行与说明文字 → 单次性 nonce 未被正确消费 → 最终落到/login。新增first_http_url(),只取第一条合法http(s)://URL。 - 健康快捷路径绕过登录修复:0.2.0 只要沙箱 daemon 活着就「连 auth 文件都不读」直接重开窗口,导致旧版遗留 / 凭证损坏 / 已落登录页的健康 daemon 永不自愈。现在健康分支先做只读校验(
login_intact):登录自洽 → 只重开(org 不动、旧对话不丢);健康但登录失效 → 停沙箱,走「修复保 org + 重启」自愈。
升级安全 Update safety
更新只替换 app,不动 ~/.csswitch:你的 API key 与沙箱会话原样保留。经全仓删除路径审计,无任何生产代码路径会删除会话数据(orgs/)。
受影响用户临时绕法(装 0.2.1 后不再需要)
先点「停止代理与沙箱」,确认已停,再点「一键开始」——绕开健康快捷路径、生成新入口,不会删除历史组织数据。
验证
cargo test --lib 49 全绿(新增 first_http_url_* / login_intact_* 两条回归)、cargo fmt --check CLEAN、test/run_all.sh ALL GREEN。
铁律:全程只碰隔离沙箱(~/.csswitch/sandbox),绝不触碰真实 ~/.claude-science 与端口 8765。