cicy-desktop 2.1.119 → 2.1.121
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.
|
@@ -95,6 +95,27 @@ jobs:
|
|
|
95
95
|
path: dist/*.exe
|
|
96
96
|
if-no-files-found: error
|
|
97
97
|
|
|
98
|
+
# 把最新的安装 exe 推到 OSS 的**单一固定 key**(主人:latest 只发一个)。
|
|
99
|
+
# 每次发版覆盖同一个文件,永远只有一个 latest,URL 不变:
|
|
100
|
+
# https://cicy-1372193042-cn.oss-cn-shanghai.aliyuncs.com/releases/cicy-desktop-latest.exe
|
|
101
|
+
- name: Upload latest EXE to OSS (single 'latest' file, overwritten)
|
|
102
|
+
shell: pwsh
|
|
103
|
+
env:
|
|
104
|
+
OSS_AK: ${{ secrets.OSS_ACCESS_KEY_ID }}
|
|
105
|
+
OSS_SK: ${{ secrets.OSS_ACCESS_KEY_SECRET }}
|
|
106
|
+
run: |
|
|
107
|
+
Invoke-WebRequest -Uri "https://gosspublic.alicdn.com/ossutil/1.7.18/ossutil-v1.7.18-windows-amd64.zip" -OutFile ossutil.zip
|
|
108
|
+
Expand-Archive -LiteralPath ossutil.zip -DestinationPath ossutil-dir -Force
|
|
109
|
+
$oss = "ossutil-dir\ossutil-v1.7.18-windows-amd64\ossutil.exe"
|
|
110
|
+
& $oss config -e oss-cn-shanghai.aliyuncs.com -i "$env:OSS_AK" -k "$env:OSS_SK"
|
|
111
|
+
$exe = Get-ChildItem dist\*.exe | Where-Object { $_.Name -match 'Setup' } | Select-Object -First 1
|
|
112
|
+
if (-not $exe) { $exe = Get-ChildItem dist\*.exe | Select-Object -First 1 }
|
|
113
|
+
if (-not $exe) { Write-Error "no exe found in dist"; exit 1 }
|
|
114
|
+
Write-Host "Uploading $($exe.Name) -> oss://cicy-1372193042-cn/releases/cicy-desktop-latest.exe"
|
|
115
|
+
& $oss cp "$($exe.FullName)" "oss://cicy-1372193042-cn/releases/cicy-desktop-latest.exe" -f --acl public-read
|
|
116
|
+
if ($LASTEXITCODE -ne 0) { Write-Error "ossutil upload failed"; exit 1 }
|
|
117
|
+
Write-Host "Latest EXE: https://cicy-1372193042-cn.oss-cn-shanghai.aliyuncs.com/releases/cicy-desktop-latest.exe"
|
|
118
|
+
|
|
98
119
|
- name: Publish release (drop draft, mark latest)
|
|
99
120
|
# Only promote AFTER all assets uploaded successfully. autoUpdater on
|
|
100
121
|
# existing clients will pick up the new version on its next poll.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cicy-desktop",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.121",
|
|
4
4
|
"description": "CiCy - AI-powered operating system browser",
|
|
5
5
|
"main": "src/main.js",
|
|
6
6
|
"bin": {
|
|
@@ -98,7 +98,9 @@
|
|
|
98
98
|
"allowToChangeInstallationDirectory": false,
|
|
99
99
|
"oneClick": true,
|
|
100
100
|
"perMachine": false,
|
|
101
|
-
"allowElevation": true
|
|
101
|
+
"allowElevation": true,
|
|
102
|
+
"createDesktopShortcut": "always",
|
|
103
|
+
"createStartMenuShortcut": true
|
|
102
104
|
},
|
|
103
105
|
"electronVersion": "41.0.3"
|
|
104
106
|
},
|
|
@@ -193,13 +193,22 @@ async function startEngine() {
|
|
|
193
193
|
"if ! pgrep dockerd >/dev/null 2>&1; then rm -f /var/run/docker.pid /run/docker.pid /var/run/docker.sock /run/docker.sock; fi; " +
|
|
194
194
|
"pgrep dockerd >/dev/null 2>&1 || (nohup dockerd >/var/log/cicy-dockerd.log 2>&1 &); " +
|
|
195
195
|
// First boot of a freshly-imported distro: cold WSL2 VM + large pre-baked
|
|
196
|
-
// /var/lib/docker
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
// /var/lib/docker (restoring containers + overlay) can take well over 40s.
|
|
197
|
+
// Wait up to 120s — the 40s window was too short on cold boot, which made
|
|
198
|
+
// the next attempt pkill the STILL-INITIALIZING daemon and relaunch it
|
|
199
|
+
// cold again (a restart loop → 「引擎没起来」even though dockerd was fine).
|
|
200
|
+
"for i in $(seq 1 120); do [ -S /var/run/docker.sock ] && docker version >/dev/null 2>&1 && break; sleep 1; done",
|
|
201
|
+
{ timeout: 150000 });
|
|
199
202
|
} catch {}
|
|
200
203
|
if (await dockerEngineUp()) return true;
|
|
201
|
-
//
|
|
202
|
-
|
|
204
|
+
// Not up after the wait. Only hard-reset when dockerd actually DIED (crash) —
|
|
205
|
+
// if it's still alive it's just slow/mid-init, so leave it and let the next
|
|
206
|
+
// attempt's wait loop keep polling instead of killing a healthy daemon.
|
|
207
|
+
try {
|
|
208
|
+
await wslRun(
|
|
209
|
+
"if ! pgrep dockerd >/dev/null 2>&1; then rm -f /var/run/docker.pid /run/docker.pid /var/run/docker.sock /run/docker.sock; fi; sleep 1",
|
|
210
|
+
{ timeout: 15000 });
|
|
211
|
+
} catch {}
|
|
203
212
|
}
|
|
204
213
|
return false;
|
|
205
214
|
}
|