Skip to content

feat(auth): human-readable server names and descriptions#380

Open
WilliamKarolDiCioccio wants to merge 1 commit into
mainfrom
feat/server-names
Open

feat(auth): human-readable server names and descriptions#380
WilliamKarolDiCioccio wants to merge 1 commit into
mainfrom
feat/server-names

Conversation

@WilliamKarolDiCioccio

Copy link
Copy Markdown
Collaborator

What

Shows a human-readable server name (e.g. "Demo Server") and a brief description in place of the raw server address (e.g. demo.toughserv.com), sourced from the backend.

Pairs with the backend PR adding GET /api/server (soliplex/soliplex).

How

  • Fetch: new ServerInfo model + fetchServerInfo() in soliplex_client, discoverServerInfo() in soliplex_agent. Fetched during the connect probe alongside auth providers; a 404/timeout/network error never fails the probe (best-effort enrichment → null).
  • Plumb: threaded through ConnectionSuccess, ServerEntry (+ displayName getter), ServerManager, and PreAuthState (so the web OAuth-redirect path keeps the name across page reload). Cached in secure storage, so the friendly name shows on launch before any network call.
  • Display (all fall back to the raw address when absent):
    • Connect / provider-selection screen — name as title, description as subtitle
    • Server sidebar tile
    • "Your Servers" list
    • Versions header

Testing

  • New unit tests for ServerInfo, fetchServerInfo (incl. 404 → null), discoverServerInfo, probe info threading, storage round-trip, and PreAuthState round-trip.
  • Full suite green: 1795 app tests + 642 client + 17 agent; flutter analyze clean.

🤖 Generated with Claude Code

Fetch optional server identity from the new public GET /api/server
endpoint during the connect probe, carry it through ConnectionSuccess,
ServerEntry, and PreAuthState, and cache it with the persisted server
so it shows on launch before any network call.

Display the friendly name (with the raw address as a subtitle) across
the connect/provider-selection flow, the server sidebar, the "Your
Servers" list, and the versions header. The description appears on the
pre-login provider-selection screen. Everything falls back to the raw
address when the server provides no metadata (404 / unreachable), so
the probe never fails on a missing or slow metadata call.

Adds ServerInfo domain model + fetchServerInfo() in soliplex_client and
discoverServerInfo() in soliplex_agent, with unit tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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