cicy-desktop 2.1.244 → 2.1.245

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.244",
3
+ "version": "2.1.245",
4
4
  "description": "CiCy - AI-powered operating system browser",
5
5
  "main": "src/main.js",
6
6
  "bin": {
@@ -631,6 +631,28 @@ function register({ sidecarLogPath } = {}) {
631
631
  try { return cc ? await cc.listTunnels() : { ok: false, tunnelLimit: 0 }; } catch (e) { return { ok: false, tunnelLimit: 0, error: e.message }; }
632
632
  });
633
633
 
634
+ // 「容器内使用 Docker」(Docker-outside-of-Docker)开关: 读/写 dood flag。set 后重建容器
635
+ // 让 docker.sock + WSL 的 docker 客户端挂载生效(runContainer 内部读 dood flag)。
636
+ ipcMain.handle("sidecar:get-dood", () => {
637
+ try { return { ok: true, dood: sidecar.isDood() }; } catch (e) { return { ok: false, dood: false, error: e.message }; }
638
+ });
639
+ ipcMain.handle("sidecar:set-dood", async (e, on) => {
640
+ const emit = (ev) => { try { e.sender.send("sidecar:op-progress", { op: "restart", ...ev }); } catch {} };
641
+ try {
642
+ sidecar.setDood(!!on);
643
+ emit({ phase: "swap", status: "running", message: `容器 Docker 访问已${on ? "开启" : "关闭"},正在重建容器…` });
644
+ try { await appDocker.recreate({ ...(await appOpts()), onProgress: emit }); }
645
+ catch (err) { try { await appDocker.dockerRestart?.({ onProgress: emit }); } catch {} }
646
+ let up = false;
647
+ for (let i = 0; i < 240; i++) { if ((await appDocker.probeHealth?.(PORT)) || (await sidecar.probeExisting(PORT))) { up = true; break; } await new Promise((r) => setTimeout(r, 500)); }
648
+ emit({ phase: "done", status: up ? "done" : "error", message: up ? `容器 Docker 访问已${on ? "开启" : "关闭"}` : "重建后 :8008 未就绪——稍等或重试" });
649
+ return { ok: up, dood: !!on };
650
+ } catch (err) {
651
+ emit({ phase: "done", status: "error", message: `设置失败:${err.message}` });
652
+ return { ok: false, error: err.message };
653
+ }
654
+ });
655
+
634
656
  // Update: stop + spawn cicy-code@latest (or reload the Docker image on
635
657
  // win32). The npx re-resolve / image pull can take a while on a cold cache,
636
658
  // so allow a longer window for :8008 to come back.