Skip to content

Beta - #1

Merged
li63050a merged 3 commits into
mainfrom
beta
Oct 17, 2026
Merged

li63050a merged 3 commits into
mainfrom
beta

Conversation

@xgp2012

@xgp2012 xgp2012 commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

后端(Windows 上此前不可用):
- app.enforcePerms 改走 platform.CheckDataDirPerm:POSIX 权限位在 Windows
  上无意义(os.Stat 返回 0777),原实现会让服务直接拒绝启动
- gitcmd.ValidateRepoPath 不再禁止原生分隔符 '\':Windows 仓库路径必然带
  反斜杠,原实现使分支、文件树、clone/push 全部在进入 git 前被拒
- gitcmd.resolveOnce 的可执行位检查仅在 POSIX 生效:否则显式配置 [git] bin
  在 Windows 上无法启动
- /auth/login 返回 publicUser 而非 {id,username}:前端据此置 loaded=true 后
  不再回读 /user/me,is_admin 缺失会让管理员被守卫挡在 /admin 之外
- 补充 gitcmd 回归测试:原生路径放行、5 种逃逸拒绝、POSIX 可疑字符仍受限、
  非可执行仍被拒绝

测试(Windows 上 go test ./... 恢复全绿):
- 集成测试的 TOML 路径转义(C:\Users 会被当作非法 \U 转义)
- fsrepo 钩子可执行位断言按平台能力守卫
- lfs 测试读句柄在 Delete 前关闭(Windows 不允许删除已打开文件)

文档:
- 删除与 ARCHITECTURE.md 大小写冲突的 architecture.md,消除大小写不敏感
  文件系统上的互相覆盖,并更新 docs/README.md
web-nuxt/(与现有 web/ 并行,Go embed 仍指向 web/dist):
- ssr:false + nitro preset=static:产物是纯静态文件,不引入 Node 运行时,
  守住单二进制、无外部强依赖、空闲内存 <150MB 的约束
- 16 条路由与 beta 分支 web/src/router/index.ts 逐条对应;页面壳只负责
  definePageMeta,视图文件原样复用(保持相对导入深度不变)
- middleware/auth.global.ts 复刻路由守卫:public 放行、未初始化实例重定向
  /setup、登录态与 requiresAuth/requiresAdmin/guestOnly 判定
- 仍用 vue-i18n 9.14.5(与旧前端同版本,避免行为漂移),经 client 插件注入
- 42 个行为测试 + 测试类型门禁(tests/tsconfig.json 继承 .nuxt),
  npm run verify 走 scripts/verify.mjs 规避 npm && 链在 Windows 上命中全局 nuxt
- 覆盖:暗色模式、Ctrl+K、g i/g p/c// 快捷键、SSE 解析与退避重连、未读计数、
  i18n 中英切换、CSRF 头、登录回读 /user/me、Tab 契约、TopNav 管理入口、
  16 视图与页面壳导入契约

web/:
- 补齐 web/src/constants/tabs.ts 与 web/src/utils/error.ts:beta 上已有 8 个文件
  import 它们却未提交,fresh clone 后构建会失败
- 重建 web/dist(router 变更后的 embed 产物)

验证:nuxt typecheck / npm run verify / nuxt generate / vue-tsc + vite build
均通过;Go 侧 gofmt / go vet / go test ./... / go build 全绿。
docs/ARCHITECTURE.md 与 docs/architecture.md 在大小写不敏感的文件系统上会互相覆盖,导致权威架构文档内容被精简版覆盖。现只保留 ARCHITECTURE.md,并更新 docs/README.md 的链接。
@li63050a
li63050a merged commit bd75f89 into main Oct 17, 2026
1 check 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

Development

Successfully merging this pull request may close these issues.

2 participants