Skip to content

feat: 解决 CDC 去重、集中备份与首次初始化问题 - #105

Merged
Awuqing merged 6 commits into
mainfrom
codex/resolve-open-issues
Aug 7, 2026
Merged

feat: 解决 CDC 去重、集中备份与首次初始化问题#105
Awuqing merged 6 commits into
mainfrom
codex/resolve-open-issues

Conversation

@Awuqing

@Awuqing Awuqing commented Aug 7, 2026

Copy link
Copy Markdown
Owner

变更概览

兼容性与安全

  • 既有未配置 masterRelay 的本地磁盘目标继续保持 Agent 本机存储语义。
  • 集中中转校验任务、节点、存储目标、传输模式、字节数和 SHA-256,并清理不完整产物。
  • CDC 仓库保持 Master 单写者,内容标识支持 HMAC,pack 支持压缩与 AES-GCM 加密。
  • 前端新增代码未引入阴影、渐变、独立字体、加粗样式或超过 4px 的圆角。

验证

  • go test ./...
  • go vet ./...
  • npm test -- --run:13 个测试文件、28 个用例通过
  • npm run build
  • 文档站中英文生产构建
  • sh -n deploy/install.sh
  • 使用全新数据库完成真实浏览器验收:中英文切换、首次管理员页面、SVG 渲染、样式约束与控制台日志均通过

Awuqing added 4 commits August 7, 2026 05:53
使用内容定义分块、不可变 pack 与快照索引实现跨文件和跨快照去重。

接入多目标上传、软配额、恢复、下载、校验、保留和安全垃圾回收,并补充前端入口、中英文文档及端到端测试。

Closes #94
为 Master 本地磁盘增加可选流式中转,远程 Agent 可直接把产物写入中央存储并通过反向通道恢复。

持久化并校验传输模式,兼容既有 Agent 本机磁盘目标,补齐鉴权、完整性、配额、访问保护、前端配置及双向链路测试。

Closes #101
在登录和首个管理员创建前提供中英文切换,并在初始化状态不可达时展示可重试错误,避免误入登录页。

对齐源码构建产物与安装脚本路径,增加 systemd/API 就绪检查、失败诊断及中英文裸机文档。

Closes #104
建立本地图标出口,统一项目内 Arco SVG 图标依赖并抽取登录页服务器插画。

以可复用的存储目标名称组件替换字符星标,补充可访问语义与组件测试。
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
Comment thread server/internal/backup/repository.go Fixed
@Awuqing
Awuqing marked this pull request as ready for review August 7, 2026 15:01
@Awuqing
Awuqing merged commit 00151e4 into main Aug 7, 2026
6 checks passed
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