@geravant/sinain 1.15.3 → 1.15.4
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/launcher.js +18 -1
- package/package.json +1 -1
package/launcher.js
CHANGED
|
@@ -65,8 +65,12 @@ async function main() {
|
|
|
65
65
|
|
|
66
66
|
// Run setup wizard on first launch (no ~/.sinain/.env) or when --setup flag is passed
|
|
67
67
|
const userEnvPath = path.join(SINAIN_DIR, ".env");
|
|
68
|
-
|
|
68
|
+
const envExists = fs.existsSync(userEnvPath);
|
|
69
|
+
if (forceSetup || !envExists) {
|
|
70
|
+
log(envExists ? "Re-running setup wizard (--setup flag)..." : "First-time setup — running wizard...");
|
|
69
71
|
await setupWizard(userEnvPath);
|
|
72
|
+
} else {
|
|
73
|
+
log(`Existing config found at ${DIM}${userEnvPath}${RESET} — skipping wizard. (Use ${BOLD}--setup${RESET} to re-configure.)`);
|
|
70
74
|
}
|
|
71
75
|
|
|
72
76
|
// Load user config
|
|
@@ -176,6 +180,19 @@ async function main() {
|
|
|
176
180
|
// Start overlay
|
|
177
181
|
let overlayStatus = "skipped";
|
|
178
182
|
if (!skipOverlay) {
|
|
183
|
+
// ALWAYS check for an overlay update before launching — setup-overlay's
|
|
184
|
+
// own version.json marker decides whether to skip a download (fast)
|
|
185
|
+
// or fetch a new release (slow). Previously we only ran setup-overlay
|
|
186
|
+
// when no binary existed, which meant users with a stale binary from
|
|
187
|
+
// a months-old install ran an outdated overlay forever (no flash icon,
|
|
188
|
+
// no AgentSelectorPanel, no per-lane routing UI). When --setup is
|
|
189
|
+
// passed, force-update regardless of the marker.
|
|
190
|
+
try {
|
|
191
|
+
const { downloadOverlay } = await import("./setup-overlay.js");
|
|
192
|
+
await downloadOverlay({ silent: false, forceUpdate: forceSetup });
|
|
193
|
+
} catch (e) {
|
|
194
|
+
warn(`overlay update check failed: ${e.message} — using local binary`);
|
|
195
|
+
}
|
|
179
196
|
const overlay = findOverlay();
|
|
180
197
|
if (overlay?.type === "prebuilt") {
|
|
181
198
|
// Remove macOS quarantine if present (ad-hoc signed app)
|