v0.8.33 — 修复 Windows 桌面版启动无响应 / Fix Windows desktop launch
修复 Windows 桌面版「安装后点击打开没反应」的问题(issue #9)。
根因:桌面版内部会 fork 一个本地服务进程,其标准输出此前继承了主进程的句柄;Windows 的 GUI 应用没有控制台,该句柄无效,服务进程一启动就崩溃、本地端口从未起来,窗口因此永远不出现——而且整个失败是静默的(没有任何提示)。macOS 从 Finder 启动继承到的是有效句柄,所以只在 Windows 复现。
修复:
- 子进程输出改为写入日志文件、不再继承无效句柄(根因修复)。
- 启动 / 页面加载失败时弹出可见的错误对话框并附日志路径,不再静默退出。
- 子进程崩溃时立即失败,不再空等;首次启动超时放宽(15s→30s),给 Windows 首启 + Defender 扫描留余量。
若更新后仍有问题,请把日志文件发到 issue #9 协助排查:
%APPDATA%\ClipForge\logs\server.log
- macOS (Apple Silicon):下载
.dmg,未签名,首次打开右键「打开」绕过 Gatekeeper。 - Windows (x64):下载
.exe安装。内置 ffmpeg / sqlite,无需安装 Node。
首次启动后数据存于系统用户目录(macOS:~/Library/Application Support/ClipForge;Windows:%APPDATA%\ClipForge)。
Fixes the Windows desktop "installed, clicked, nothing happens" issue (#9).
Root cause: the desktop app forks a local server process whose stdout/stderr previously inherited the main-process handles. A packaged Windows GUI app has no console, so those handles are invalid — the server crashed on startup before binding its port, the window never appeared, and the failure was completely silent. macOS launches from Finder with valid handles, so it only reproduced on Windows.
Fix:
- Redirect the child process output to a log file instead of inheriting invalid handles (root-cause fix).
- Show a visible error dialog (with the log path) on startup / page-load failure instead of quitting silently.
- Fail fast if the child crashes; raise the first-launch timeout (15s→30s) for Windows cold start + Defender scanning.
If it still fails after updating, please attach the log file to issue #9: %APPDATA%\ClipForge\logs\server.log
- macOS (Apple Silicon): download the
.dmg. Unsigned — on first launch, right-click → "Open" to bypass Gatekeeper. - Windows (x64): download the
.exeinstaller. FFmpeg / SQLite bundled, no Node install required.