[Bug][Windows] 新 GitHub Token 有效但同步认证返回 401,登录与退出入口同时消失
维护者通常 1 天内回复
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- github, rust, tauri, typescript
调研方向
Start with CloudSyncSection.tsx around the login and logout conditions, then trace how syncState=sign_in_required is produced in service.rs and how Marketplace::auth_status() determines local sign-in state. Review linked pull request #1286 and the issue’s latest investigation before changing behavior. Done means the reported state exposes a way to reauthenticate or sign out, and the listed auth and network failure cases are covered.
由索引模型根据 Issue 内容生成。
描述
2026-10-28 后续定位:新 OAuth Token 调用 GitHub
/user返回 200,但官方同步/v1/auth/github返回 401,直连与代理均复现。线上/revision为40b519ae15ee5029578f377ff8baa8f25833e692,与同步服务连接文档 声明的“仅供指定账号联调”版本一致;该版本源码会把未进入 restricted 允许名单的有效账号也返回成同样的 401。高度怀疑账号开放范围与稳定版功能展示不一致,需维护者确认实际线上配置和拒绝分支。详细脱敏接口结果和 requestId:排查记录。最新评论附线上提交对应源码、名单判断与建议。当前完整同步仍未修复;本地重新登录/凭据恢复不能解决服务访问资格问题。
环境与操作
Windows 桌面版 2.0.1+build.20261016,GitHub OAuth,未配置自定义同步服务器。
- 完成 GitHub 登录,但未完成加密云同步后续设置/绑定。
- 隔天打开「设置 → 权限与数据 → 加密云同步」,尝试开启同步。
- 页面停在「第 1 步,共 3 步:开启同步」「此设备尚未解锁」「尚未检查云端备份」,红字提示「请重新登录 GitHub」。
- 点击刷新无效;重新启动应用后再次尝试仍复现。
- 页面既没有 GitHub 登录按钮,也没有退出按钮,无法按提示重新登录。
“隔天/未完成设置”是用户操作背景,不能据此断定 Token 过期。
本机脱敏日志
[e2ee-token] prepare_enable: failed code=PermissionDenied message=sign_in_required
重启后再次操作仍记录相同错误。没有上传 Token、用户名、服务密钥或完整用户日志。
源码定位
CloudSyncSection.tsx,v2.0.1-tauri:
- 登录按钮要求
!syncSignedIn && !authSignedIn(约 734 行)。 - 退出按钮只在
syncSignedIn为 true 时显示(约 744–762 行)。 - 同步返回
sign_in_required后,syncSignedIn=false;如果 Marketplace 因本地 Token 仍存在而保持authSignedIn=true,两个入口会同时隐藏。刷新只是重新读取相同状态。
Marketplace::auth_status() 主要检查本地 Token 是否存在,不能证明同步认证有效。
另一个排查点:service.rs 将 sync_identity() 的错误统一映射成 sign_in_required,可能混淆网络失败与凭据失效;本次底层认证失败的具体原因尚未确认。
预期行为与回归建议
- 同步要求重新认证时,不论本地是否残留 Token,都显示「重新登录 GitHub」。
- 尚未完成首次同步配置时也能退出当前 GitHub 账号,不要求清空服务 Key、历史或云端备份。
- 登录成功后清理旧错误并重新进入设置流程。
- 覆盖
authSignedIn=true+syncState=sign_in_required、authState=expired、登录后未完成同步并重启,以及真正的网络失败。
目前已确认本机现象及 UI 条件冲突,尚未独立复现“隔天”必然触发凭据失效。
- 主要语言
- Rust
- 星标
- 3.7k
- 派生
- 349
- 平均合并
- 2 天 14 小时
- 30 天内合并 PR
- 97
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Open-Less/openless 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
[windows] 录音快捷键还不支持设置为ScrllLock键可能已有人在做 @HKLHaoBin 于 9 天前认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 75/100
Open-Less/openless#1241 · 5 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 18/100
维护者通常 1 天内回复
-
[omni] 多模态模式开启翻译后,译文时有时无,或混在 JSON 字段里可能已有人在做 @Breadswim 于 2 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 52/100
维护者通常 1 天内回复
-
[omni] 多模态「验证」对 OpenAI gpt-audio-1.5 必然返回 400可能已有人在做 @Breadswim 于 2 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 58/100
维护者通常 1 天内回复
查看 Open-Less/openless 的全部 Issue
相似的 Issue
-
area:docs documentation good first issue priority:medium
难度 1/5 1 小时以内 新手友好度 78/100
维护者通常 1 天内回复
-
feature
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
[Bug]: streamed Responses API flex_unavailable error maps to 500 InternalServerError instead of 429未关闭llm translation
难度 2/5 1 小时以内 新手友好度 85/100
BerriAI/litellm#49736 · 1 条评论 ·
维护者通常 1 天内回复
-
question
难度 1/5 1 小时以内 新手友好度 72/100
维护者通常 1 天内回复
-
field-report
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复