Skip to content

fix(sync): 校验下载内容并收紧 GitHub 同步边界 - #108

Merged
ranger1112 merged 2 commits into
mainfrom
fix/sync-data-safety
Nov 4, 2026
Merged

ranger1112 merged 2 commits into
mainfrom
fix/sync-data-safety

Conversation

@ranger1112

@ranger1112 ranger1112 commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

改动

  • WebDAV 下载拒绝 text/html / application/xhtml+xml 响应,避免 SSO 或反向代理的登录页被当作笔记写盘。
  • GitHub 原始文件改为流式读取,累计超过 2 MiB 立即中止;错误响应正文最多读取 8 KiB。
  • GitHub 连接测试解析仓库 permissions,只有 Contents: Read 的令牌会直接报「缺少 Contents: write」。
  • GitHub 仓库地址解析会去掉 query/fragment,并且只取 /tree/ 后的第一段作为分支,目录页路径不再被拼进分支名。
  • 旧版同步密码迁移只在写入新凭据成功后删除旧条目,写失败时保留原凭据。

验证

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --locked -- -D warnings
  • cargo test --locked:229 passed / 0 failed / 2 ignored
  • 本批无前端改动;上一批 npm test 70 passed、npm run build 通过

Closes #94
Closes #96
Closes #97
Closes #98
Closes #99

本 PR 基于 main(#110 合并后),#107 基于 fix/security-hardening(#106)。合并顺序:#106 → #107 → 本 PR。

🤖 Generated with Claude Code

ranger1112 and others added 2 commits November 4, 2026 11:35
- 检查到新版本后在版本行显示「立即更新」,无需关闭设置
- 下载、安装、失败重试与重启复用底部横幅的状态机
- 新增 3 个 DOM 测试覆盖检查、安装、失败重试

Co-Authored-By: Claude Code <noreply@anthropic.com>
- WebDAV 下载拒绝 HTML 登录页,避免覆盖本地笔记
- GitHub 原始文件流式读取并限制 2 MiB,错误正文限制 8 KiB
- GitHub 连接测试检查仓库写权限
- 仓库地址解析忽略 query/fragment 与 /tree/ 后的目录路径
- 旧密码迁移写入成功后才删除旧凭据

Co-Authored-By: Claude Code <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 4, 2026 03:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@ranger1112
ranger1112 changed the base branch from fix/inline-update-button to main November 4, 2026 05:37
@ranger1112
ranger1112 merged commit f68a748 into main Nov 4, 2026
1 check passed
@ranger1112
ranger1112 deleted the fix/sync-data-safety branch November 4, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants