- add a visible connection session summary for ready/testing/demo/retry states - prevent stale live connection tests from overwriting a newer active DB selection - include the missing frontend helpers already referenced by App.tsx so the branch builds cleanly Co-Authored-By: Paperclip <noreply@paperclip.ing>
47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
# HAC-28 Connection Context Lifecycle
|
|
|
|
Date: 2026-03-31
|
|
Owner: Senior Frontend Engineer
|
|
Issue: HAC-28
|
|
|
|
## Goal
|
|
|
|
Harden connection-context and session-state clarity without changing backend contracts or pulling next-phase scope into `desktop-v1`.
|
|
|
|
## Scope
|
|
|
|
- keep connection status copy consistent between the header, connection cards, and the active-session summary
|
|
- make ready, checking, demo, and retry-needed states visibly distinct in the utility rail
|
|
- prevent a finished live connection test from yanking the current active DB after the operator has already switched to another connection
|
|
- keep retry guidance explicit when a live test fails
|
|
- add focused frontend tests around the connection-session helper
|
|
|
|
## Non-Goals
|
|
|
|
- no Add Key expansion
|
|
- no delete execution
|
|
- no non-string editing
|
|
- no visual refresh
|
|
- no backend contract changes
|
|
|
|
## Delivery Shape
|
|
|
|
1. Add a shared connection-session helper for:
|
|
- connection test state transitions
|
|
- consistent status and connection-card copy
|
|
- visible active-session summary copy
|
|
2. Update `apps/desktop/src/App.tsx` so:
|
|
- the utility rail shows a clear active connection session card
|
|
- the test button distinguishes active-scope testing from another in-flight connection test
|
|
- live test completion only reapplies the returned DB scope when the same connection is still active
|
|
3. Revalidate frontend tests and production build.
|
|
|
|
## Acceptance
|
|
|
|
- connection session state is visible as ready, testing, demo fallback, or retry needed
|
|
- connection-card detail and header status use the same wording model
|
|
- switching to another connection during a live test does not silently replace the current active DB when the earlier test returns
|
|
- failed live tests leave a clear retry path in visible UI copy
|
|
- `pnpm --filter @redis-gui/desktop test` passes
|
|
- `pnpm run desktop:build` passes
|