Skip to content

Commit 62d133c

Browse files
leifericfclaude
andcommitted
feat(launcher): point noum ui at leifericf/noumenon-app
After the repo split, the Electron app lives in noumenon-app with its own release pipeline. The auto-updater now downloads from that repo instead of leifericf/noumenon (which no longer publishes Electron artifacts). Dev-mode resolution updated for the sibling-checkout layout: 1. $NOUMENON_APP_ROOT (explicit override) 2. $NOUMENON_ROOT/../noumenon-app (sibling clone) 3. fall back to installed app Replaces the old "$NOUMENON_ROOT means dev mode and ui/ is a child" assumption, which is no longer valid. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b007971 commit 62d133c

2 files changed

Lines changed: 25 additions & 14 deletions

File tree

launcher/src/noum/electron.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[noum.tui.core :as tui]
1010
[noum.tui.spinner :as spinner]))
1111

12-
(def ^:private github-repo "leifericf/noumenon")
12+
(def ^:private github-repo "leifericf/noumenon-app")
1313

1414
(defn installed? []
1515
(fs/exists? paths/electron-app))

launcher/src/noum/main.clj

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -403,22 +403,34 @@
403403
(tui/eprintln "Daemon: not reachable"))))
404404
0)
405405

406+
(defn- app-dev-root
407+
"Locate a noumenon-app source checkout for dev-mode launch.
408+
Resolution order: $NOUMENON_APP_ROOT, then ../noumenon-app sibling
409+
of $NOUMENON_ROOT, else nil (caller falls back to installed app)."
410+
[]
411+
(let [explicit (System/getenv "NOUMENON_APP_ROOT")
412+
sibling (some-> (System/getenv "NOUMENON_ROOT")
413+
(io/file ".." "noumenon-app")
414+
.getCanonicalFile
415+
str)]
416+
(some #(when (and % (fs/exists? %)) %) [explicit sibling])))
417+
406418
(defn- do-open [{:keys [flags]}]
407-
(let [conn (api/ensure-backend! flags)
408-
port (:port conn)
409-
dev? (System/getenv "NOUMENON_ROOT")]
419+
(let [conn (api/ensure-backend! flags)
420+
port (:port conn)
421+
dev-root (app-dev-root)]
410422
(tui/eprintln (str "Opening Noumenon UI (daemon on port " port ")..."))
411423
(let [exit-code
412424
(try
413-
(if dev?
414-
;; Dev mode: source checkout with npx
425+
(if dev-root
426+
;; Dev mode: noumenon-app source checkout with npx
415427
(:exit @(proc/process
416-
{:cmd ["npx" "electron" "ui/"]
417-
:dir dev?
428+
{:cmd ["npx" "electron" "."]
429+
:dir dev-root
418430
:env (assoc (into {} (System/getenv))
419431
"NOUMENON_PORT" (str port))
420432
:inherit true}))
421-
;; Installed: download packaged app and launch
433+
;; Installed: download packaged app from leifericf/noumenon-app and launch
422434
(let [app-path (electron/ensure!)]
423435
(:exit @(proc/process
424436
{:cmd (electron/launch-cmd app-path port)
@@ -429,11 +441,10 @@
429441
127))]
430442
(when-not (zero? (or exit-code 0))
431443
(tui/eprintln (str (style/red "Error: ") "Electron UI exited with code " exit-code "."))
432-
(when dev?
433-
(tui/eprintln " Ensure Node.js is installed (https://nodejs.org) and Electron is available:")
434-
(tui/eprintln " node --version && npx electron --version")
435-
(tui/eprintln " Then run:")
436-
(tui/eprintln " cd ui && npm install")))
444+
(when dev-root
445+
(tui/eprintln (str " Dev-mode launched from " dev-root "."))
446+
(tui/eprintln " Ensure Node.js is installed (https://nodejs.org) and dependencies are installed:")
447+
(tui/eprintln (str " cd " dev-root " && npm install"))))
437448
(or exit-code 0))))
438449

439450
;; --- Query (raw + as-of) ---

0 commit comments

Comments
 (0)