Commit Graph
67 Commits
Author SHA1 Message Date
二丫讲梵 0f4abce2b8 fix(redis): 移除刷新按钮的动画效果 (#3149) 2026-07-10 17:19:49 +08:00
t8y2 9903747381 fix(redis): preserve large JSON numbers 2026-07-10 13:50:30 +08:00
Abeautifulsnow 2eed0aa66c feat(redis): enable auto-refresh countdown for key TTL by default
Key Viewer panel now defaults auto-refresh ON, showing a live TTL
countdown without requiring the user to click the Clock button.

- Default autoRefreshEnabled from false to true
- Move countdown init + timer start into startAutoRefresh() as single entry
- Remove redundant countdownTtl reset from the tick callback's .then()
- load() finally block calls startAutoRefresh() for all call paths
2026-07-09 19:08:03 +08:00
t8y2 39d956f2e8 fix(redis): skip confirmation for regular writes 2026-07-09 18:59:12 +08:00
zipg c89357c47d fix(redis): keep string edit actions visible 2026-07-08 17:51:16 +08:00
Abeautifulsnow a5359798dc feat(redis): add auto-refresh countdown for key TTL display
* @
feat(redis): add auto-refresh countdown for Redis key TTL display

在 Redis 值查看器的 TTL 徽章旁增加自动刷新按钮,选中时显示 TTL 实时倒计时
(每秒递减),倒计时归零自动刷新数据,刷新按钮持续旋转。TTL 到期或网络异常
时自动关闭自动刷新避免死循环。

改动:
- RedisValueViewer.vue:新增 autoRefresh 状态、定时器与倒计时逻辑,模板增加
  Clock 切换按钮,RefreshCw 按钮支持 animate-spin 旋转
- load() 内复位倒计时;onBeforeUnmount 清理定时器

修复(review):
- #I01 TTL 到期/连接断开后自动关闭 autoRefresh 避免无限重试
- #C01 load() reject 增加 .catch() 处理 UnhandledPromiseRejection

i18n:zh-CN / zh-TW / en / ja / es / it / pt-BR 7 种语言补充 autoRefresh key
@

* @
test(redis): extract auto-refresh logic and add unit tests

将自动刷新核心决策逻辑提取为 lib/redis/redisAutoRefresh.ts 纯函数模块,
并编写 11 个单元测试覆盖状态机转换、TTL 显示计算和自动停止条件。

新增:
- lib/redis/redisAutoRefresh.ts:computeAutoRefreshTick / shouldStopAutoRefresh /
  computeDisplayTtl 纯函数
- lib/__tests__/redis/redisAutoRefresh.spec.ts:11 个测试用例

重构:
- RedisValueViewer.vue 改用提取后的纯函数,确保测试覆盖即实际运行逻辑
@
2026-07-08 15:37:27 +08:00
onenewcode ba81fa4497 feat(redis): support multiple value formats in viewer (#2766)
* feat(redis): improve value decoding and viewer formats

* fix(redis): preserve stream field/value blobs

* Revert "fix(redis): preserve stream field/value blobs"

This reverts commit 168af0619a.
2026-07-08 00:13:20 +08:00
gggaiitx 9410bf42a9 fix: preserve large integer precision when formatting JSON in value editor (fixes #2765)
* fix: preserve large integer precision when formatting JSON in value editor (fixes #2765)

* fix: add missing showDiagramDialog to useNavigationTargets in AiAssistant
2026-07-07 16:48:00 +08:00
onenewcode d70c883e81 fix(redis): stop duplicating pubsub messages 2026-07-06 12:07:55 +08:00
t8y2 069dcc479d feat(redis): search hash fields and values 2026-07-05 22:02:24 +08:00
lexmin0412 d502b4ce6c feat(redis): add hash field search 2026-07-05 19:37:49 +08:00
onenewcode f48e751d90 fix(redis): 修复 Redis set 类型的值中有乱码 (#2554) 2026-07-04 23:03:29 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00
t8y2 60abe59a80 fix(redis): copy displayed key name 2026-07-03 00:14:11 +08:00
t8y2 8be2136658 feat(redis): add copy key name action 2026-07-02 23:59:24 +08:00
Guoyu Su 074715b002 fix(redis): connect pubsub to desktop websocket server 2026-07-02 19:47:41 +08:00
t8y2 d35c966390 fix(redis): batch sparse key searches 2026-07-02 18:41:25 +08:00
onenewcode 1ef757e88f feat: fix Redis key search visibility 2026-07-02 15:13:11 +08:00
dalew fd99fc8448 fix(redis): resolve protected mode UI issues (#2362) 2026-07-02 14:03:19 +08:00
Abeautifulsnow 8094f4901d fix(browser): ensure connection before mount loads 2026-06-29 12:05:46 +08:00
hb 388d59fb4a fix(redis): handle empty scan batches and exact key lookup fallback (#1992) 2026-06-27 15:09:46 +08:00
lexmin0412 0e1d2dd32e feat(redis): add column sorting for Hash field/value view (#1789) 2026-06-26 13:22:00 +08:00
dalew d815a16b86 feat(redis): move scan page size to connections 2026-06-26 11:13:34 +08:00
dalew 6acf5e510c feat(redis): improve dashboard with collapsed sections and new stat cards 2026-06-25 22:33:59 +08:00
lexmin0412 1ce85b647e refactor(redis): use onClickOutside for TTL edit a11y (#1778) 2026-06-25 12:40:29 +08:00
lexmin0412 2999d9c56f fix(redis): add blur-to-exit for TTL inline edit (#1724)
* fix(redis): add blur-to-exit for TTL inline edit (#1724)

* fix(redis): ensure TTL input auto-focuses on edit
2026-06-25 10:37:28 +08:00
dalew c8291d0d7d feat(redis): add Redis Instance Info Dashboard panel (#1411) 2026-06-24 13:21:00 +08:00
lexmin0412 941dfd5f82 feat(redis): optimize TTL display with human-readable format (#1689) 2026-06-24 12:53:59 +08:00
Guoyu Su 90fd77cb9e perf(redis): reduce large key search payload and render cost (#1672) 2026-06-23 22:57:03 +08:00
t8y2 fc9f97b6b5 fix(redis): speed up large key scans 2026-06-23 15:14:24 +08:00
t8y2 fae644b888 fix(redis): exclude empty commands from history navigation
- Empty commands show temporary error hint (1s) but not added to history
- Arrow key navigation skips empty command entries
- Add appendCommandOutput helper for transient feedback
2026-06-21 18:55:01 +08:00
t8y2 dbc8668ced feat(redis): add command history navigation with arrow keys
- Press ↑ to recall previous command, ↓ for next command (terminal-like behavior)
- Press ↓ at end of history to clear input
- Use readonly instead of disabled to maintain cursor focus and blink state
- Semi-transparent visual feedback during command execution
2026-06-21 15:49:57 +08:00
t8y2 c94f04ba9b fix(redis): enable text selection and copy in command terminal
- Add user-select: text CSS to allow text selection
- Optimize click handler to preserve user text selection
2026-06-21 15:49:30 +08:00
dalew f71406c1c2 feat(redis): add slowlog panel and integrate with backend APIs
* feat(redis): add slowlog panel and integrate with backend APIs

* fix(redis):Slowlog Panel Compatibility Issues
2026-06-20 21:47:14 +08:00
dalew 4888e637c7 fix(redis): unify aggregated INFO output format in console
* fix(redis):format INFO output as plain text in cluster mode

* fix(redis): unify aggregated INFO output format in console
2026-06-17 14:54:51 +08:00
haipengno1 b575ec2729 fix(redis): refresh sidebar db key counts after write commands
Redis write commands (SET/DEL/...) ran from the query editor or the
key-browser terminal did not update the dbN (count) labels in the left
tree until a manual refresh. Add refreshRedisDbKeyCounts(), which re-fetches
authoritative per-db counts via INFO keyspace and patches the labels in place
without rebuilding the tree (preserving expanded key nodes), then trigger it
fire-and-forget after any mutating command in both execution paths.
2026-06-17 10:35:01 +08:00
haipengno1 3695042c8e fix(redis): invalidate key completion cache after write commands
The Redis key-name completion cache was only cleared on connection
lifecycle events, so SET/DEL/EXPIRE/... left autocomplete showing
stale keys. Drop the cache for the db each write command ran on:
- add isRedisMutatingCommand() based on the command-table safety field
(confirm = write; destructive blocked cmds minus read-only/admin ones)
- invalidate after each mutating command in queryStore batch execution
and in RedisKeyBrowser.runRedisCommand
2026-06-17 00:24:47 +08:00
dalew c8385c16f2 fix(redis): redis命令控制台上下文隔离 2026-06-16 18:02:25 +08:00
t8y2 ab5bd1dd25 fix(redis): batch SCAN server-side to reduce fetch-all latency 2026-06-15 15:01:13 +08:00
t8y2 29edc7b7b7 fix(redis): disable subscribe inputs when not connected, fix button height jitter 2026-06-15 02:30:33 +08:00
t8y2 c9b3292a2e fix: resolve Vue warnings, silent PubSub auto-connect, remove 30 meaningless tests 2026-06-15 02:27:07 +08:00
t8y2 ef426a8218 feat(redis): add Pub/Sub publish and subscribe with WebSocket real-time push 2026-06-15 01:40:06 +08:00
t8y2 a4bd62005b feat(redis): add all search mode 2026-06-12 11:32:56 +08:00
t8y2 6f15fa303c feat: support empty redis key separator for flat key display 2026-06-11 11:28:43 +08:00
t8y2 d353d4673f feat(redis): add configurable key namespace separator 2026-06-10 17:46:48 +08:00
t8y2 edba8214b5 feat: show username/password fields for Access database connections 2026-06-10 08:37:18 +08:00
t8y2 d0bf6c3b53 feat(redis): persist command history across sessions (#933) 2026-06-10 04:34:45 +08:00
DengQingNian 35692bc53b feat(redis): add TTL, structured entries, Stream and JSON support to create key dialog (#947)
Thanks @DengQingNian! Great feature — TTL, structured entries, Stream, and JSON support for Redis key creation.
2026-06-09 22:08:08 +08:00
t8y2 a13fcb9964 feat(redis): add JSON format/compress buttons in raw content view 2026-06-09 14:20:58 +08:00
t8y2 e76a223e8a fix(redis): allow resizing zset score column 2026-06-09 11:56:25 +08:00