Skip to content

fix(dash): render real bundle name in banners + install progress (#214)#331

Merged
thinmintdev merged 1 commit into
mainfrom
fix/dashboard-mock-cleanup-2026-05-25
May 27, 2026
Merged

fix(dash): render real bundle name in banners + install progress (#214)#331
thinmintdev merged 1 commit into
mainfrom
fix/dashboard-mock-cleanup-2026-05-25

Conversation

@thinmintdev
Copy link
Copy Markdown
Contributor

Summary

  • GET /api/install/state now includes the persisted bundle pick (bundle: {name, npu_opt_in, skipped, …} | null) sourced from bundle_store.read_choice().
  • New useInstallState() hook + bundleNameOr() resolver in the UI.
  • BannerStack interpolates {bundleName} (and view-supplied vars) so a single banner-catalog entry tracks live state. Headings in primitives.jsx + useBannerStore.ts switched from literal hal0-Pro to {bundleName}.
  • FirstRunProgress takes bundleId and renders the picked tier in "Installing hal0-Pro…". This was the only place the hardcode actually rendered today; the banner-catalog entries are now correct for when they get toggled active.

Dropped the (Qwen3.6-27B-MTP) parenthetical in the post-install hero — it pretended to know which primary model was loaded.

Test plan

  • pytest tests/api/test_installer_routes.py — 14 pass (3 new)
  • ruff check + ruff format --check
  • Manual: pick hal0-Default in the wizard → progress card reads "Installing hal0-Default…"; post-install hero (when toggled in Tweaks demo) reads "Welcome to hal0 — hal0-Default is loaded"
  • Manual: re-run picker → "You currently have hal0-Default installed" banner reflects the persisted choice

Part of the v3 dashboard mock-cleanup series (tracker #234). Follows up on PR #321 (Settings → Updates wire-up).

🤖 Generated with Claude Code

The post-install hero ("Welcome to hal0 — hal0-Pro is loaded"), the
re-entered-picker banner ("You currently have hal0-Pro installed"),
and the install-progress heading all hardcoded `hal0-Pro` regardless
of which tier the operator actually picked. Carries over from the
v2 → v3 React rewrite.

- Backend: `GET /api/install/state` now includes `bundle: {name,
  npu_opt_in, skipped, chosen_at, assignments} | null` sourced from
  `bundle_store.read_choice()`. `bundle` is null before a pick and
  `bundle.skipped=true` for the "configure manually" branch.
- UI: new `useInstallState()` hook (+ `bundleNameOr()` resolver) wraps
  the endpoint. `BannerStack` interpolates `{bundleName}` (and any
  view-supplied vars) in heading/eyebrow/body so a single catalog
  entry tracks live state. Catalogs in `primitives.jsx` and
  `useBannerStore.ts` switched from literal `hal0-Pro` to
  `{bundleName}`.
- `FirstRunProgress` now takes `bundleId` and renders the picked tier
  name in "Installing hal0-Pro…" — the only place this string is
  actually rendered today, but it was wrong for every tier other than
  Pro.

The hardcoded `(Qwen3.6-27B-MTP)` parenthetical in the post-install
hero is dropped — it pretended to know which primary-slot model was
loaded; the persona dropdown copy stays accurate without it.

Closes #214.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@thinmintdev thinmintdev force-pushed the fix/dashboard-mock-cleanup-2026-05-25 branch from a1ee9cf to 3d8ec1b Compare May 26, 2026 21:48
@thinmintdev thinmintdev merged commit 130294e into main May 27, 2026
4 checks passed
@thinmintdev thinmintdev deleted the fix/dashboard-mock-cleanup-2026-05-25 branch May 27, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant