-
v0.7.1 — Demo/wizard ui-switcher fixes
StableAll checks were successfulCI / test (push) Successful in 1m35sreleased this
2026-03-24 12:31:49 -07:00 | 117 commits to main since this releaseBug fixes
Demo instance blank screen
The demo instance (
demo.circuitforge.tech/peregrine) was briefly showing Streamlit, then switching to a blank Vue SPA. Root cause:demo/config/user.yamlhadui_preference: vue, andsync_ui_cookie()bypassed the paid-tier gate in demo mode — so it happily navigated to the Vue SPA nginx container, which has no demo data wiring.Fix:
sync_ui_cookie()now has an explicit early guard that forcespref = streamlitwheneverDEMO_MODE=true, before any tier or preference logic runs.demo/config/user.yamlalso reset tostreamlitas belt-and-suspenders. Vue demo mode is tracked in #46.Cloud users stuck in Streamlit wizard
Cloud users with
ui_preference: vueset (e.g. provisioned manually) were landing in the Streamlit wizard instead of being redirected to Vue. Root cause:sync_ui_cookie()was only called afterpg.run()inapp.py, but the wizard gate calledst.stop()first — so the cookie/redirect never fired.Fix:
sync_ui_cookie()is now called inside the wizard gate block, beforest.stop().Self-service free key provisioning 0.6.0
Added to the CircuitForge website (separate repo):
/api/account/claim-free-key— idempotent endpoint; calls Heimdall/admin/provisionso users can recover from auto-provision failures at signup without contacting support.- Account page claim card — shown when a Peregrine key is missing; one-click activation with success/error state.
E2E tests (website) 0.5.0
signup-smoke.spec.ts— happy path: register → Heimdall provisions free key within 8s → login → product card visible on/accountclaim-key-recovery.spec.ts— sad path: blocks Heimdall provision at signup, navigates to/account, asserts claim card visible, clicks it, asserts success
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads