v1.43.0
[1.43.0] — 2026-05-18
User-requested — career-ops-ui open + autostart browser-raise.
✨ Features
feat(cli): career-ops-ui open — open AND raise the dashboard tab— aftersetup/run, bareopen/xdg-openleft the dashboard tab in the background when the browser was already running, so the user had to hunt for it. Newscripts/open-dashboard.mjsbuilds the URL from HOST/PORT (rewriting a0.0.0.0bind to loopback), optionally waits for/api/health, opens the default browser, then force-raises it — macOSosascriptactivating whichever of Chrome/Brave/Edge/Safari/Arc/Firefox is running, Linuxxdg-open+wmctrl, Windowsstart. Exposed as thecareer-ops-ui openverb (aliasesdash,focus).bin/start.shautostart now delegates to it so the tab is raised automatically;NO_OPEN=1disables auto-open for headless/CI starts. Verified live:career-ops-ui open→ URL printed, browser raised, exit 0.
🧪 Tests
test: tests/open-dashboard.test.mjs— 8 cases:dashboardUrl(defaults / PORT /0.0.0.0→loopback / explicit HOST),openAndRaiseplatform routing (darwin/win32/linux, no real browser),waitForHealthbounded-timeout against a dead port, and static guarantees that the dispatcher routesopen|dash|focusandstart.shdelegates + honorsNO_OPEN(old bare-openpath gone). 636 → 644.
📝 Documentation
- README ×8 + help-bundle §1 ×8 — the
openverb added to the launch block + a note thatsetup/runnow raises the tab automatically andNO_OPEN=1disables it. H2-section parity preserved (17).
Verification
$ npm run test:ci
# 644 / 644 · ✓ no .also( leftovers · ✓ CHANGELOG parity: all 8 locales at v1.43.0
$ career-ops-ui open --no-wait # URL printed, browser raised, exit 0