# Frontend Demo-State Hardening Date: 2026-03-31 UTC Owner: Senior Frontend Engineer Scope: `desktop-v1` frontend hardening only ## Context - `apps/desktop` is already the active frontend entry and contains the current four-zone Redis operator workspace. - PM scope on 2026-03-31 did not approve new `desktop-v1` features such as `Add Key`, bilingual UI, or a visual refresh. - Browser dev mode remains the primary shell-review path when Tauri runtime is unavailable. ## Problem - In browser demo mode, the UI currently claims string save and TTL actions succeeded, but the visible mock key state does not update. - That mismatch weakens shell review because browser-mode interaction feedback is less trustworthy even though it is explicitly demo-only. ## Decision - Do not expand product scope. - Keep the existing workspace information architecture and current visual system. - Harden browser demo mode so session-local mock interactions update the visible browser, inspector, and command context consistently. ## Planned Implementation 1. Replace static demo key usage in `apps/desktop/src/App.tsx` with local state derived from the existing seed data. 2. Extract demo-state mutation helpers for: - string value save - TTL set - TTL remove 3. Add focused frontend tests for those helpers. 4. Update shared run and QA docs to state that browser demo mode now supports session-local mock state changes, but still does not provide live Redis evidence. ## Acceptance - In `pnpm run desktop:dev`, saving a string key updates the visible value surface and downstream mock command behavior for the current session. - In `pnpm run desktop:dev`, TTL set and TTL remove update the visible TTL badges and inspector state for the current session. - The UI continues to clearly distinguish browser demo fallback from live Tauri runtime. - `pnpm --filter @redis-gui/desktop test` and `pnpm run desktop:build` remain green.