Jokul
c7e47c4d5b
feat: CLI SUBSCRIBE/MONITOR streaming mode
...
- New pubsub.ts: startSubscribe/stopSubscribe/startMonitor/stopMonitor
- IPC: redis:subscribe, redis:unsubscribe, redis:monitor, redis:monitorStop
- Streaming messages pushed via webContents.send
- Preload: onSubscribeMessage/onMonitorMessage callbacks
- CliView: detect SUBSCRIBE/PSUBSCRIBE/MONITOR, switch to streaming mode
- Stop button with pulsing indicator (green=subscribe, yellow=monitor)
- Real-time message display with timestamps
- Auto-cleanup on unmount
- i18n keys (zh-CN + en)
2026-07-07 21:07:57 +08:00
Jokul
11a73494c0
feat: multi-tab support in MainArea
...
- Refactor MainArea: tabs array + activeTabId (was single activeTab)
- Open/close tabs dynamically, status tab not closable
- Tab opener buttons (keys/cli/slowlog/memory) in top-right
- Right-click context menu: close/closeOthers/closeRight/closeLeft
- Mouse wheel cycling through tabs
- Scrollable tab bar with hidden scrollbar
- i18n keys for tab context menu (zh-CN + en)
2026-07-07 20:26:47 +08:00
Jokul
405dfa77c4
feat: auto-updater integration
...
- Install electron-updater
- New updater.ts: check/download/install with progress events
- IPC: updater:check, updater:download, updater:install, updater:status
- Preload bridge for updater API
- electron-builder publish config (github provider)
- Fix build files path: out -> electron-dist
- i18n keys for updater notifications (zh-CN + en)
2026-07-05 22:13:25 +08:00
Jokul
d131a2732d
feat: Command Log dialog
...
- New commandLogger.ts: in-memory log (max 5000 entries)
- withLog() wrapper in ipc-handlers.ts for all write commands
- CommandLog.vue: table with time/command/duration, write-only filter
- IPC: redis:getCommandLog, redis:clearCommandLog
- Ctrl+G shortcut from Sidebar
- i18n keys (zh-CN + en)
2026-07-05 21:48:33 +08:00
Jokul
15869943e8
feat: Memory Analysis tab
...
- New MemoryAnalysis.vue: scan all keys with MEMORY USAGE
- Pause/resume/stop scanning, min size filter, sort asc/desc
- Added as tab in MainArea with Odometer icon
- i18n keys for all memory analysis labels (zh-CN + en)
2026-07-05 21:23:43 +08:00
Jokul
169017df65
feat: Cluster mode support
...
- NewConnectionDialog: cluster checkbox
- connection.ts: use Redis.Cluster() when cluster is enabled
- i18n keys for cluster (zh-CN + en)
2026-07-05 21:20:42 +08:00
Jokul
e46d6a80be
feat: Sentinel mode support
...
- NewConnectionDialog: sentinel toggle + host/port/masterName/nodePassword form
- connection.ts: use ioredis sentinels config when sentinelEnabled
- Add sentinelEnabled/sentinelHost/sentinelPort/sentinelNodePassword to all types
- i18n keys for all sentinel fields (zh-CN + en)
2026-07-05 16:43:52 +08:00
Jokul
1686af1a79
feat: TLS certificate file support
...
- NewConnectionDialog: TLS cert file selectors (CA/Cert/Key) + rejectUnauthorized checkbox
- connection.ts: read cert files and pass to ioredis tls options
- Add tlsRejectUnauthorized to all ConnectionConfig types
- i18n keys for tlsCaPath/tlsCertPath/tlsKeyPath/tlsRejectUnauthorized
2026-07-05 16:35:38 +08:00
Jokul
6e6f170403
feat: SSH tunnel support
...
- Add ssh2 dependency for SSH port forwarding
- NewConnectionDialog: SSH toggle + host/port/user/password/privateKey/passphrase form
- connection.ts: createSshTunnel() with local port forwarding
- Connect ioredis through SSH tunnel when sshEnabled
- Clean up SSH client + tunnel server on disconnect
- i18n keys for all SSH fields (zh-CN + en)
- Add sshPassphrase to all ConnectionConfig types
2026-07-05 16:25:35 +08:00
Jokul
393c82c879
feat: StatusView i18n + 1s auto-refresh
...
- Section titles (Server, Clients, Memory...) follow app language
- Auto-refresh every 1 second
- Clean up interval on unmount/disconnect
2026-07-04 23:48:27 +08:00
Jokul
09b86e3d45
feat: optimize key list with list/tree views
...
- Add list view (flat) and tree view (hierarchical)
- Tree view shows folder expand/collapse with key count
- Add view mode toggle button
- Add i18n support for all key list text
2026-07-04 23:17:51 +08:00
Jokul
e5ef0242d8
feat: add i18n to status bar
2026-07-04 23:04:25 +08:00
Jokul
24a12732ae
feat: add i18n to connection list and dialog
2026-07-04 23:00:35 +08:00
Jokul
3b402771d5
fix: i18n, password edit, and key count issues
...
- Add i18n to all components (zh-CN/en)
- Fix password not showing when editing connection
- Fix key count showing 0 by adding getInfo function
2026-07-04 22:26:32 +08:00
Jokul
bdcf4fe299
refactor: restructure project layout
...
- Move main process to electron/main/
- Move preload to electron/preload/
- Add shared types in electron/shared/
- Split redis-service into modular redis/ directory
- Flatten renderer to src/ (remove src/renderer/ nesting)
- Update electron.vite.config.ts paths
- Update tsconfig paths
- Output to electron-dist/
2026-07-04 21:12:50 +08:00