cicy-desktop 2.1.309 → 2.1.310

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cicy-desktop",
3
- "version": "2.1.309",
3
+ "version": "2.1.310",
4
4
  "description": "CiCy - AI-powered operating system browser",
5
5
  "main": "src/main.js",
6
6
  "bin": {
@@ -144,10 +144,10 @@
144
144
  "//optionalDependencies": "(2026-06 回调): mac/linux 改回 native cicy-code(:8008,colima 在 16G mac 上压垮内存)→ 重新内置 cicy-code-<plat> / cicy-mihomo-<plat>,localbin.fromBundle 零网络 seed(npm 仅作更新通道,带 npmmirror→npmjs 回退)。这些由 scripts/sync-runtime-deps.cjs 在 tag-push 时同步到最新版。npm 的 os/cpu 字段保证每个平台只装自己那份。Windows 仍走 docker(WSL :8009),它那份 cicy-code-windows 用不到但 bundle 着无害。",
145
145
  "optionalDependencies": {
146
146
  "electron": "41.0.3",
147
- "cicy-code-darwin-x64": "2.3.578",
148
- "cicy-code-darwin-arm64": "2.3.578",
149
- "cicy-code-linux-x64": "2.3.578",
150
- "cicy-code-linux-arm64": "2.3.578",
147
+ "cicy-code-darwin-x64": "2.3.580",
148
+ "cicy-code-darwin-arm64": "2.3.580",
149
+ "cicy-code-linux-x64": "2.3.580",
150
+ "cicy-code-linux-arm64": "2.3.580",
151
151
  "cicy-code-windows-x64": "2.3.193",
152
152
  "cicy-mihomo-darwin-x64": "1.10.4",
153
153
  "cicy-mihomo-darwin-arm64": "1.10.4",
@@ -240,7 +240,21 @@ function register({ sidecarLogPath } = {}) {
240
240
  _wslRepairDone = true;
241
241
  auditDestructiveIpc(log, "docker:self-heal-wsl-wedged", null, { streak: _unknownStreak });
242
242
  log.warn("[docker-daemon] WSL unresponsive for 3 checks → auto repair (kill wsl.exe, restart LxssManager)");
243
- try { const r = await appDocker.repairWsl({ emit: () => {} }); if (r && r.needsReboot) { _lastBootstrapError = { reason: "wsl_wedged", message: "WSL 卡死且服务重启无效,将自动重启 Windows 修复", ts: Date.now() }; scheduleReboot(90); } } catch (e) { log.warn(`[docker-daemon] auto repairWsl failed: ${e.message}`); }
243
+ try {
244
+ const r = await appDocker.repairWsl({ emit: () => {} });
245
+ if (r && r.needsReboot) {
246
+ // 旧版 WSL 死锁且服务重启无效:在重启前先装微软新版 WSL(一次 UAC),重启后就不再走
247
+ // 旧的 LxssManager 路径 —— 否则重启回来还会死锁。装成功时重置重启计数,给新版一次机会。
248
+ const dk = require("../sidecar/docker");
249
+ if (dk.modernWslInstalled && !dk.modernWslInstalled() && dk.elevatedWslSetup) {
250
+ log.warn("[docker-daemon] legacy WSL deadlocked → installing modern WSL before the reboot");
251
+ try { await dk.elevatedWslSetup({ emit: () => {}, need: {} }); } catch (e) { log.warn(`[docker-daemon] modern WSL install failed: ${e.message}`); }
252
+ if (dk.modernWslInstalled()) { try { rebootCount(-99); } catch {} }
253
+ }
254
+ _lastBootstrapError = { reason: "wsl_wedged", message: dk.modernWslInstalled && dk.modernWslInstalled() ? "已安装新版 WSL,将自动重启 Windows 生效" : "WSL 卡死且服务重启无效,将自动重启 Windows 修复", ts: Date.now() };
255
+ scheduleReboot(90);
256
+ }
257
+ } catch (e) { log.warn(`[docker-daemon] auto repairWsl failed: ${e.message}`); }
244
258
  await refreshDockerStatus(); return;
245
259
  }
246
260
  if (_unknownStreak >= 6 && !_rebootScheduled) { _lastBootstrapError = { reason: "wsl_wedged", message: "WSL 持续无响应,将自动重启 Windows 修复", ts: Date.now() }; scheduleReboot(90); }
@@ -156,3 +156,7 @@ test("legacy WSL trouble → install modern WSL (MSI mirrored to OSS) in the sin
156
156
  assert.match(d, /if \(!modernWslInstalled\(\) && legacyWslTroubleSeen\(\)\) \{/);
157
157
  assert.match(read(".github/workflows/windows-exe-release.yml"), /wsl\/wsl\.x64\.msi/);
158
158
  });
159
+
160
+ test("a deadlocked legacy WSL gets modern WSL installed before the automatic reboot", () => {
161
+ assert.match(read("src/backends/sidecar-ipc.js"), /legacy WSL deadlocked → installing modern WSL before the reboot/);
162
+ });