61 Commits

Author SHA1 Message Date
4521ee3119 fix(local-tool): Inno Setup 6.3+ 不再內建 ChineseTraditional.isl
Inno Setup 6.3 起官方只保留 ChineseSimplified,繁體中文語系需額外下載。
改為以 WITH_TRAD_CHINESE 宏條件啟用,預設只用英文 installer UI,
避免在新版 Inno Setup 上直接 compile error。

這只影響「安裝精靈本身」的語系,應用程式 UI 的 i18n 不受影響。
未來若要帶繁體中文 installer,下載 istrans 檔案後用 iscc /DWITH_TRAD_CHINESE=1 編譯。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:45:51 +08:00
80252b12dc chore(local-tool): 為 make exe 加診斷輸出
印出 iscc 的 cwd、exit code、dist/ 實際內容,
避免靜默失敗讓人找不到產物去向。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:41:51 +08:00
dbad729da3 fix(local-tool): Inno Setup 偵測加入 user-scope 安裝路徑
winget 7.x 的 Inno Setup 可能裝到 %LOCALAPPDATA%\Programs\Inno Setup 6\
而非傳統的 Program Files (x86)。新增 user-scope 固定路徑 + HKCU 登錄檔 +
%LOCALAPPDATA%\Programs 遞迴掃描三種偵測方式。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:35:13 +08:00
e6f7afe8db fix(local-tool): 強化 Inno Setup 偵測,支援 ISCC 環境變數 override
Makefile (exe target):
- 新增 ISCC 環境變數 override(絕對路徑優先)
- 偵測順序:\$ISCC → command -v iscc → 已知絕對路徑
- 找不到時列出已嘗試路徑方便 debug

bootstrap-windows.ps1:
- Find-Iscc 函數改用多層策略:固定路徑 → 登錄檔 InstallLocation → Program Files 遞迴掃描
- 偵測不到就自動 winget --force 重裝再試一次
- 同時 export PATH 和 ISCC 雙保險傳給 Makefile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:27:38 +08:00
634e4011fd fix(local-tool): bootstrap 把 Inno Setup 目錄加進 MSYS2 bash PATH
winget 裝的 Inno Setup 6 在 'C:\Program Files (x86)\Inno Setup 6\',
不在 PATH 裡,MSYS2 bash 找不到 iscc.exe 導致 make exe 失敗。
改由 bootstrap 主動偵測安裝路徑並 export 進 bash session PATH。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:23:37 +08:00
13ce654ac2 fix(local-tool): ffmpeg zip 下載改用相對路徑
Windows 版 python.exe 不懂 MSYS2 的 /tmp 路徑語法,會拿著字面值 '/tmp/...'
去 Windows filesystem 找不到檔案。改下載到 vendor/ffmpeg/windows/ffmpeg-win.zip
相對路徑,bash 跟 python 都看得懂。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:17:18 +08:00
a66fd5665b fix(local-tool): 繞過 Windows Store 的 python stub
- Makefile:vendor-wheels-windows / vendor-ffmpeg-windows 改用迴圈偵測真實 python
  排除 WindowsApps 路徑下的 Store alias stub,優先使用 VISIONA_PYTHON 環境變數
- Makefile:vendor-ffmpeg-windows 解壓完驗證檔案存在,失敗時 exit 1 而非靜默
- bootstrap-windows.ps1:主動找 winget 裝的真實 python.exe(LOCALAPPDATA / Program Files / py launcher),
  轉成 MSYS2 路徑後以 VISIONA_PYTHON 傳給 Makefile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:11:16 +08:00
071964bddd fix(local-tool): Windows build 跨平台相容性修正
Makefile:
- vendor-wheels-windows 自動偵測 pip3/pip/python -m pip,MSYS2 bash 裡沒 pip3 也能跑
- vendor-ffmpeg-windows 改用 python zipfile 解壓,移除 unzip 依賴
- 新增 build-server-windows / build-server-linux 兩個 cross-build target
- payload-windows / payload-linux 改依賴對應的 build-server-*,不再只印警告

bootstrap-windows.ps1:
- 設定 MSYS2_PATH_TYPE=inherit,讓 MSYS2 bash 繼承 Windows PATH 找到 go/pnpm/python/wails

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:58:25 +08:00
ba15097e9d fix(local-tool): PowerShell 5.1 compatibility for bootstrap-windows.ps1
- 改用陣列 + -join ' && ' 組 bash 指令,避開 PS5.1 不支援 && 運算子
- 加入 UTF-8 BOM,避免 Windows 10 預設用 ANSI/Big5 解讀造成中文亂碼

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:44:06 +08:00
5a8d2797c2 chore(local-tool): rename local_tool → local-tool, add linux/windows bootstrap scripts
- 統一目錄名為 local-tool(連字號),修正所有文件中殘留的底線版本
- 新增 scripts/bootstrap-linux.sh 與 scripts/bootstrap-windows.ps1
  一鍵安裝依賴(Go/Node/pnpm/Wails/MSYS2)並執行 payload + installer build

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 23:23:29 +08:00
c54f16fca0 Initial commit: visionA monorepo with local-tool subproject
local-tool/: visionA-local desktop app
- M1: Wails shell + Go server + Next.js UI + Mock mode (macOS dmg ready)
- M2: i18n (zh-TW/en) + Settings 4-tab refactor
- M3: Embedded Python 3.12 runtime (python-build-standalone) + KneronPLUS wheels
- M4: Windows Inno Setup script (build on Windows runner)
- M5: Linux AppImage script + udev rule (build on Linux runner)
- M6: ffmpeg (GPL, pending legal review) + yt-dlp bundled
- Lifecycle: watchServer health check, fatal native dialog,
            Wails IPC raise endpoint, stale process cleanup

.autoflow/: full PRD / Design Spec / Architecture / Testing docs
            (4 rounds tri-party discussion + cross review)
.github/workflows/: macOS / Windows / Linux build CI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 22:10:38 +08:00