Add accounts and profiles with active gateway switching #32
Labels
No labels
delivered
outstanding
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kayg/hermternal-apple#32
Loading…
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?
Scope
Add accounts and profiles so the user can keep multiple gateway identities and switch the active gateway/account explicitly. This issue covers the deferred account/profile work and the active-account switch; it does not change the read-only Gateway settings work shipping now.
Current state
The current client is single-active-gateway even though credentials can coexist:
serverURLlives in UserDefaults and is written only by sign-in.hermternal_search_sessionshasPRIMARY KEY(session_id)with no gateway column.These current keys and the live-client lifecycle are not sufficient for two gateways that reuse a durable session id.
Acceptance criteria
Not blocked / boundaries
The read-only Settings → Gateway section and the authentication-method picker are being built now and are not blocked by this issue. They show the current gateway and current method for now; gateway switching waits for accounts and profiles. The picker must offer only authentication methods the client can perform.
Related issues
This issue intentionally does not duplicate those neighbors.
The visible sidebar account row is a separate, present-tense increment from this issue's deferred account/profile switching work. I opened #33 for it: #33.
#33 covers the left-aligned system-component pill at the bottom of the sidebar, the matching single masked-material bottom soft edge, composition-injected identity display string, and the open question of which identity the gateway genuinely exposes (with a documented fallback chain). Keeping it separate avoids expanding this issue's switching/cache/deep-link/sign-out scope while still cross-referencing this account/profile model.