release: 2.0.90 — #114 OTT 端点全坏 紧急绕路 sessionToken 直接当 apiKey
lnqdev 在 v2.0.89 又报 ERR_TOKEN_FETCH_FAILED。e2e 实测 3 账号 × 4 OTT host 组合 = 12/12 全 401 invalid_token。Auth1 + PostAuth 链路前段 都 200 OK 给 sessionToken 但任何 sessionToken 在任何 OTT host 都被 拒。v2.0.61 / v2.0.75 / v2.0.79 三层 fallback 救不了 — 是上游 GetOneTimeAuthToken 端点本身废了。 反向工程 windsurf-assistant v17.42.20 (2026-04-27 仍活跃) 走 Devin-only: Auth1 → PostAuth → sessionToken 直接当 IDE auth credential,跳过 OTT + RegisterUser。实测 Cascade gRPC backend (server.codeium.com / server.self-serve.windsurf.com) 接受裸 sessionToken 当 metadata.apiKey 4/4 200 OK 拿到 planName=Trial。 修法:windsurfLoginViaAuth1 链路从 Auth1 → PostAuth → OTT → registerWithCodeium → apiKey (sk-ws-01-) 塌成 Auth1 → PostAuth → apiKey = sessionToken。删 60 行加 10 行净减 20 行。 Firebase signInWithPassword 现在被 Google App Check 挡了 server-side 也走不通,dispatcher 实际 fall through 到 Auth1 路径,所以邮箱密码登录 功能完整恢复。 测试 904 → 910 (+6 source-level invariants v2090-ott-bypass.test.js) 全测 0 fail / 0 回归。 升级 docker compose pull && docker compose up -d --force-recreate
D
dwgx committed
c1acab6aaea81ad959ea1275fd5d6195a7124586
Parent: d972b07