Skip to content

v0.2.2 — macOS GUI mostly stable

Choose a tag to compare

@revolutionaryPhoton revolutionaryPhoton released this 26 Apr 11:09

Phase 7.5 closeout: the desktop GUI is now usable for daily local work on macOS. Path resolution, Stop/Start cycles, Reset confirmation, and the Ollama picker all behave correctly. The shell wizard and the GUI now write to the same generated/ tree, so cross-surface stop/reset Just Works.

ℹ️ Mostly stable, not yet hardened. We have not checked every possible combination of state transitions, error paths, and inputs. Edge cases may still surface bugs. Treat as good for daily local exploration on macOS; for production-adjacent work, the shell wizard (bin/f13-config) remains the recommended surface.

What's new

Phase 7.5 — loop fixes

  • bba394d S32f13-reset and f13-stop honour F13_GENERATED_DIR (bats-verified).
  • b192f98 S34 — Wizard's keep-state path emits per-stage skipped:true events; the GUI's six-stage pipeline graph now fills instantly on re-runs instead of looking stuck.

HF1 — path resolution (4 iterations)

  • 6510ca1d2defe1387699c18cbacf — settled on detecting dev mode by the executable's own path (target/debug/ or target/release/), since Tauri symlinks resources into the dev binary's directory and made sentinel-file checks unreliable. Final off-by-one in the workspace walk-up was the actual blocker.

Status page UX

  • 86cc560 Stop/Start cycle — Stop stays on /status and flips the badge to "Stopped" with a contextual white "Start F13" CTA in the hero card. Postgres data preserved between cycles.
  • 46549ac Stopped badge reads "Stopped" with a red pulsing dot rather than the ambiguous "Running · Issues".
  • 7bcaac4 Reset modal submits on Enter once RESET is typed, with a small <kbd>Enter</kbd> hint.

Ollama picker

  • 84dde9b Free-text "Use any model name" input below the radio list — works for cloud-hosted models (which never appear in /api/tags) and any model Ollama can pull on first request. Cloud-tag inline note reminds about ollama signin.
  • 7317918 Empty-state pull hint generalised to ollama pull modelname:tag, with a clickable ollama.com/search link via the Tauri opener plugin. Cloud-tag example unified at gemma4:31b-cloud.

Security & dependencies

  • f7cb906 Dependabot #1cookie@0.6.00.7.2 via npm overrides. The two Rust alerts (rand@0.7.3 and glib@0.18.5) traced to Tauri 2.10.3's deep dep stack and were dismissed via gh api with tolerable_risk rationale (no exploit path in our usage; null GitHub severity).

Test maintenance

  • d452fc3 Refresh 27 vitest assertions stale from v0.2.1 polish. Suite restored to 288/288 green.

Known issues / on the backlog

These are tracked but didn't block this release:

  • HF2 — Cancel button mid-launch only flips a JS-side flag; the underlying bash subprocess keeps running. No orphan-container cleanup on cancel. Workaround: let the pipeline complete, then Stop or Reset.
  • HF3 — Sporadic pull access denied for the locally built f13-frontend:configurator-v1 image when compose's first pass races with image presence checks. Not seen since HF1 v4 landed but the precondition guard isn't in place yet.
  • Linux GUI — Untouched. Wizard runs fine on Linux from the shell, but the Tauri app hasn't been validated. Phase 8 lands this in v0.3.0.

What's stable

The shell wizard from v0.1.0 is unchanged and remains the trustable surface for any production-adjacent work — bin/f13-config for first-time deployment, bin/f13-stop / bin/f13-reset / bin/f13-rebuild-frontend for ops.

What's coming

  • v0.3.0 — Phase 8: validate the GUI end-to-end on Linux (Ubuntu 22.04 / 24.04). No new screens.
  • v0.4.0 — Phase 9: signed .dmg, .AppImage + .deb, GitHub Releases automation, optional auto-update. appLocalDataDir swap for bundled mode.

See PRD for the full story sequence.