feat(client): show + change the configured server URL from the login screen #235
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol#235
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Context
On native (Android, Linux Flatpak) the first-launch flow captures the server URL via the
/server-setupscreen and stashes it inexpo-secure-store. Once stored, the login screen prompts for credentials with no indication of which instance you're about to authenticate against. If you mistyped the URL during setup, or you've been away and forgotten which Carol instance the build is pointed at, your only recourse today is to land in the app, navigate to Account → "Change server" — but you can't reach the Account screen without successfully signing in.Show the configured server on the login screen and give the user a way to change it without going through Account.
Source
User-reported (June 2026).
Scope
In
apps/client/app/login.tsx:"Signing in to"getCachedServerUrl()afterloadServerUrl()resolves; mirror the pattern inapps/client/app/(app)/account.tsx's ServerCard).router.replace("/server-setup").login.*namespace, mirroringaccount.server.*. Suggested:login.connectedTo→"Signing in to {url}."login.changeServer→"Change server"Visual treatment: small text, secondary-muted color, sit below the submit button so the form itself stays primary.
Out of scope
/server-setupinstead. That screen is the source of truth for URL validation + persistence./server-setupscreen itself (it already does, on its way to being replaced)./api/healthor similar (Carol doesn't expose a public instance label today).Acceptance criteria
/server-setupand lets the user enter a new URL./loginand the displayed URL reflects the new value.react-i18next, no hardcoded copy. DS tokens viauseTheme().Composes with
lib/serverUrl.ts,getCachedServerUrl).Part of
Standalone — no parent epic. Could fold into a future "native UX polish" ticket if multiple small QoL fixes accumulate.