feat(desktop): harden connection session lifecycle

- 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>
This commit is contained in:
Senior Frontend Engineer
2026-03-31 09:32:47 +00:00
parent 35040ef0c9
commit 4839165657
13 changed files with 1233 additions and 87 deletions

View File

@@ -84,6 +84,7 @@ pnpm run desktop:tauri:dev
- 当前前端消费 `backend_bootstrap``test_redis_connection``browse_redis_keys``read_redis_value``create_redis_value``write_redis_value``update_redis_key_ttl``execute_redis_command`;浏览器态仍保持明确的 demo fallback。
- 当前仓库还包含一个 string-only 的 `Add key` 可见入口,走 `create_redis_value` 合约;该能力已在仓库中实现,但阶段验收仍需按 `docs/redis-gui-v1-product-requirements.md``docs/qa/acceptance-matrix.md` 单独判断,不应自动算入当前基线签收。
- 当前前端还通过共享错误映射层统一消费 `redis-core` 的稳定错误码使连接测试、浏览、读取、保存、TTL 和命令执行失败都落到一致的操作提示上。
- 连接区域现在额外暴露一个可见的 session state 卡片,把 `ready / testing / demo fallback / retry needed` 边界和下一步操作提示固定在当前选中 connection / DB 语境里;如果用户在 live test 返回前切换了连接,测试结果只回写被测连接,不会偷偷改掉当前 active DB。
- `inspect_redis_key``update_redis_key_ttl` 已在桌面桥可用;当前 UI 已暴露 TTL 设置与移除控制,但删除执行仍保持未开放状态。
- 当前 phase 的 string 保存、TTL 设置和 TTL 移除在执行前都会进入 scoped review重复展示 connection / DB / key 语境与 current-vs-next 变化,并阻止 no-op 提交直接触达 live bridge。
- inspector 现在对 `hash/list/set/zset/stream` 提供结构化只读面板,不再要求操作者从原始 JSON 文本中手动解析 typed value。