VAPP-3: /setup onboarding drives first-user creation against VERVAIN_SERVER_URL #6
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/setup-onboarding-vapp-3"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements VAPP-3: wires vervain-apps to vervain-server's setup mode (VS-26) and adds a
/setuponboarding route that drives first-user creation againstVERVAIN_SERVER_URL.What changed
/app/serverbinary readsVERVAIN_SERVER_URLat startup. Unset is a warning, not a crash; the setup server fns return a "server URL not configured" error the UI surfaces instead of crash-looping.src/server_fns/mod.rs:get_setup_state()proxiesGET /api/setup(404 ->Disabled, 2xx ->NeedsFirstUser/Complete), andregister_first_user()proxiesPOST /api/setup/register(403 -> "user already exists", other failures surface the server's own message).FullstackContext::add_response_header), then the page navigates to the dashboard.SetupStateenum (Disabled/NeedsFirstUser/Complete) insrc/models/mod.rs, modeled as an enum so future setup-only steps slot in as new variants./setuproute +src/components/pages/setup.rsstep-walker. Declared before#[layout]so it renders standalone (no sidebar/topbar). Renders the form, a "setup not enabled" message, or a completion screen. Password match is checked client-side only; the policy stays the server's call.Layoutruns one setup-state check and redirects to/setuponly whenNeedsFirstUser.Disabled/Complete/unreachable render the app normally.reqwestadded as a server-only dependency (rustls, no native-tls; feature set matches whatCargo.lockalready resolved, so no new crates are pulled).Note on the compose template
The issue's AC references
docker/template/vervain-apps/compose.yml, which did not exist in this repo (nodocker/tree at all). I scaffolded a minimal, convention-following template carryingVERVAIN_SERVER_URLin mapping syntax alongsideIP/PORT. If a separate deploy repo actually owns this template, relocate it there.Verification
just checkpasses end to end:cargo fmt --check,cargo clippy --all-targets --features server -- -D warnings,cargo check --features server,cargo check --target wasm32-unknown-unknown, andcargo test --features server --bin vervain-app.Depends on VS-26 (server-side setup endpoints). The frontend is coded against the documented contract; live integration testing requires VS-26 deployed.
#VAPP-3
🤖 Generated with Claude Code