- i18n.js: the zh block (loading.*/setup.*) shipped with every Chinese
character mangled into literal '?' (a non-UTF-8 save when the file was
first added in 1bcb41d). Restore all 22 keys from the intact en block.
- Surface first-run prepare failures instead of silently opening the setup
window: store the error, expose it via get_prepare_error, show it in
fallback.html, and write runtime/prepare_error.log.
- Windows CI: deploy app-local UCRT (api-ms-win-crt-*.dll + ucrtbase.dll
from the SDK redist) next to the embedded python so python.exe loads on
images lacking an in-box Universal CRT. Pure SDK source, hard-fail if absent.
Clears the Node.js 20 deprecation warnings on the desktop packaging
workflow. No download-artifact in use, so upload-artifact v5 has no
version-mismatch counterpart; release path uses gh CLI.
Co-locate desktop packaging scripts with the Tauri app, declutter repo
root. Drop legacy manual-install flow (install.bat/start_windows.bat/
README_WINDOWS.md) and unused apps/ placeholder tree. Update CI workflow
paths and TODO references accordingly.
Ship uninstall.bat (top-level, double-click entry) + uninstall_windows.ps1
(worker under runtime/) in the Windows portable bundle. The uninstaller:
- gracefully stops the bridge, then force-kills bundle-owned processes on
ports 14168/8900 (filtered by exe path so other bundles are untouched)
- removes the desktop shortcut only when it targets this bundle
- removes ~/.ga_desktop_settings.json
- schedules deletion of the bundle folder after exit (detached cmd)
Wire both scripts into the release-package workflow.
Conductor and its subagents always used the first model (llm_no=0)
because GenericAgent() defaults to index 0 and conductor never switched.
Read ui.llmNo from ~/.ga_desktop_settings.json and apply it before each
conductor task (live follow) and on every subagent spawn, so the
conductor uses whatever model the user picked in the desktop UI.
Also enable the three desktop package workflows on the test_yiqi branch
and add frontends/conductor.py to their path filters so conductor
changes trigger a build.
cp -R broke the symlinks and ad-hoc code signature inside GenericAgent.app,
which makes Apple Silicon report the bundle as damaged. Copy with ditto and
re-apply an ad-hoc signature so it verifies. Also ship a 'Start
GenericAgent.command' that runs xattr -cr to clear the download quarantine
flag before launching, so users avoid the damaged/Gatekeeper prompt without
touching a terminal. README and SHA256SUMS updated accordingly.
The assemble step queried api.github.com/releases/latest anonymously,
which is capped at 60 requests/hour/IP on shared runners and failed with
HTTP 403 rate limit exceeded. Pass GITHUB_TOKEN via GH_TOKEN env and add
an Authorization header so the call uses the 1000/hour authenticated limit.
The mac workflow enabled cache: npm with cache-dependency-path pointing
at package-lock.json, but that file is gitignored and never committed, so
setup-node failed with 'unable to cache dependencies' and npm ci would
also fail without a lockfile. Align with the win/linux workflows which use
plain npm install and no cache.
- 新增 windows-desktop-release-package.yml: CI 构建+组装 Windows 自包含便携包
(exe + runtime/{python,wheels,install_windows.ps1,app}),对标 Linux workflow
- loading.html: 去掉进度条下方'首次启动正在准备运行环境,仅此一次'小字