@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.
Files changed (2) hide show
  1. package/launcher.js +18 -1
  2. 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
- if (forceSetup || !fs.existsSync(userEnvPath)) {
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geravant/sinain",
3
- "version": "1.15.3",
3
+ "version": "1.15.4",
4
4
  "description": "Ambient intelligence that sees what you see, hears what you hear, and acts on your behalf",
5
5
  "type": "module",
6
6
  "bin": {