Commit Graph

8 Commits

Author SHA1 Message Date
bookworm
7c8540b542 feat(v3.1.1): E2E 护栏 + UX 4 项闭合 + 并发安全
闭合 v3.1.0 后续 4 个 HIGH 局限:

[L8] smoke 覆盖不到 .lnk 行为 → 引入 tools/test-launcher-e2e.ps1
  4 测试套: PARSE / wrapper 6 特性 / .lnk Args 6 契约 / profile 双注入契约
  集成到 build.ps1 后置, 失败 exit 1 拒绝发布
  闭合 v3.0.10 -or 类 PSParser 漏网 bug 风险

[L5] Phase 1 总结弹窗仅有动作时弹 → 始终弹
  老用户全就绪重跑 EXE 跳过总结不知是否完成
  v3.1.1 移除条件, 永远显示 (零新装也弹 OK 态)

[L6] 更新.bat 完成无反馈 → GUI YesNo 询问立即启动
  PS MessageBox: '同步完成. 是否立即启动 Claude?' Yes 触发 Start-Process 桌面 .lnk

[L7] profile 注入并发损坏 → FileShare.None 排他锁 + 5 次重试
  WriteAllText 隐式 FileShare.Read 改为显式 FileStream
  IOException catch sleep 50ms 重试, 5 次都失败 throw 触发 v3.1.0 显式弹窗

8/12 局限闭合 (剩余 L9-L12 计划 v3.1.2)
2026-04-25 23:16:08 +08:00
bookworm
7114f4e7a8 feat: 版本号 v1.6.0, 标题栏/弹窗/EXE 属性统一显示, build.ps1 自动读取 2026-04-10 11:11:13 +08:00
bookworm
353bbffada feat(admin): GUI 授权码生成器 Bookworm-AuthGen.exe
新增管理员可视化工具, 替代 CLI gen-authcode.js:
- WinForms GUI: 用户名/Sub-Key/有效期 + 一键生成 + 一键复制
- 品牌视觉: 白底 + #5865F2 蓝紫 + 深色标题栏 + 书虫学者图标
- PS2EXE -NoConsole -NoOutput (92 KB)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 01:59:27 +08:00
bookworm
1e8a7250c2 fix(build): EXE 内嵌图标改用 bookworm-desktop.ico (B 圆)
旧 bookworm.ico (galaxy 神经螺旋) 在 Explorer 32x32 显示时
中心亮点变成一个像素, 整体看起来像深色空白方块, 用户体感"没图标".

新 bookworm-desktop.ico (蓝紫渐变 B 圆) 在 16/32/48px 都保持
高对比度和强辨识, 与桌面快捷方式图标统一.

build.ps1 优先用 desktop.ico, 不存在时回退 bookworm.ico.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:52:18 +08:00
bookworm
17c600fe93 feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化
修复 v1.5.1 用户实测发现的两个体验问题:

1. **uv 安装失败 + RemoteException 弹窗** (auto-setup.ps1)
   - 旧逻辑: python -m pip install uv (网络/权限/$ErrorActionPreference=Stop 易触发)
   - 新逻辑: 三层 fallback (winget → Astral 官方脚本 → pip), 全程 SilentlyContinue
   - 失败仅写入 $TEMP/bookworm-uv-install.log, 不阻断不弹窗 (uv 是可选依赖)

2. **PS2EXE -NoConsole 把 Log-X 弹窗化** (build.ps1)
   - 加 -NoOutput + -NoError, 所有 Write-Host 静默吞掉
   - 用户不再被 70+ 个 [!] 弹窗轰炸

3. **静默后无进度反馈 → GUI 进度窗口** (auto-setup.ps1)
   - 新增 Show-ProgressForm/Update-Progress/Update-Progress-SubStatus/Close-ProgressForm
   - 顶部常驻 Form: 标题 + Phase 标签 + 当前状态 + 进度条 + 日志路径
   - 所有 Log-X 改写日志文件 ($TEMP/bookworm-setup-{ts}.log) + 更新进度窗口

4. **桌面专用图标** (auto-setup.ps1 + bookworm-desktop.ico)
   - 从 og-image.png 自动检测蓝紫渐变 B 圆 → 圆形 alpha mask → 7 尺寸 ICO (86 KB)
   - New-DesktopShortcuts 增加 IconLocation, 桌面快捷方式显示 Bookworm 主图标
   - 主图比 favicon 神经螺旋更突出, 48px 也清晰可辨

5. **Phase 7 安装完成 banner**: Write-Host → Show-MsgBox
6. **Claude Code 启动**: 主进程启动 → Start-Process cmd /k claude (新窗口)

构建验证: 7/7 补丁字符串 (Show-ProgressForm/BWLogFile/winget/astral/
bookworm-desktop.ico/IconLocation 等) 经 EXE 字符串扫描确认编译进 build artifact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:02:53 +08:00
bookworm
a2a7ff1edb feat: EXE 图标支持 (bookworm.ico 16/32/48/256px + rcedit 注入) 2026-04-07 01:08:41 +08:00
bookworm
ee8fa10fdc fix: build.ps1 pkg PATH 修复 + gen-authcode pkg路径兼容 2026-04-07 00:20:02 +08:00
bookworm
b06f6cc582 feat: 打包脚本 + pkg 路径兼容修复
build.ps1:
  - auto-setup.ps1 → dist/Bookworm-Setup.exe (PS2EXE, 无控制台窗口)
  - gen-authcode.js → dist/gen-authcode.exe (pkg, 内嵌 Node.js)
  - 自动安装依赖 (PS2EXE / pkg),输出大小提示

gen-authcode.js:
  - SCRIPT_DIR 兼容 pkg 打包环境 (process.pkg → process.execPath)

.gitignore:
  - 新增 dist/ (EXE 输出目录,不提交二进制)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:01:46 +08:00