-
Notifications
You must be signed in to change notification settings - Fork 0
fix: CLI update resilience + setup wizard UX overhaul #641
Copy link
Copy link
Closed
Labels
type:fixBug fixes and correctionsBug fixes and corrections
Description
Problem
Two user-facing quality issues discovered during manual testing:
CLI update command fragility
After a partial uninstall (containers/volumes/images removed, but config dir + binary retained), synthorg update reports "Container images already at 0.3.10" because it only checks state.ImageTag == tag in config -- it never verifies Docker state matches. Additionally, after upgrading images (e.g., 0.3.10 -> 0.4.0), old images are left behind; only uninstall offers cleanup.
Repro:
synthorg init+synthorg startsynthorg uninstall(partial -- remove containers/volumes/images but keep config)synthorg update-- reports "already at X" despite no images existing
Setup wizard UX is fundamentally broken
Multiple UX failures in the first-run wizard:
- Admin step allows going back after creation -- form shows empty again, no pre-fill
- Admin step vanishes on refresh because
needs_adminflips tofalse-- step count changes, indices shift - Provider discovery inconsistency --
probe_preset_urls()finds models (skips SSRF) butdiscover_models()returns 0 (blocks localhost/private IPs via SSRF validation). Local providers like Ollama always fail discovery. - Back button navigates to wrong place -- from provider config goes to Welcome instead of provider selector
- Can't change provider once created -- preset cards are hidden, no way to reset
- Password fields lack show/hide toggles and have autocomplete issues
Solution
CLI
- Add dirty state detection (missing compose, images, config, secrets) with user-choice recovery
- Add old image cleanup after successful upgrade (list non-current images, offer removal)
Setup Wizard
- Store-driven step completion tracking (
completedStepsmap synced from backend status) - Always show all 5 steps (admin never disappears)
- Completed steps show read-only summaries (admin: locked, provider/company/agent: editable)
- Free navigation to any completed step via step indicators
- Fix SSRF: skip validation for preset-hinted discovery (trusted hardcoded URLs)
- Re-fetch
/setup/statusafter each step completion - Provider: "Change Provider" button, internal back nav to preset selector
- Password: show/hide toggles + autocomplete attribute fixes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
type:fixBug fixes and correctionsBug fixes and corrections