Commit Graph

138 Commits

Author SHA1 Message Date
Jokul 97795866d0 fix: make i18n reactive to language changes 2026-07-04 22:54:27 +08:00
Jokul 38f2a8fbf0 feat: show settings tab on startup screen 2026-07-04 22:38:52 +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 86b0eff95b fix: make main area fill remaining width 2026-07-04 21:45:59 +08:00
Jokul 9f1341316d fix: add transparent window and fix CSS layout 2026-07-04 21:39:30 +08:00
Jokul 868ef1737e fix: add type declarations for CSS imports 2026-07-04 21:33:23 +08:00
Jokul 1b7b3fd5e8 fix: restore missing CSS styles 2026-07-04 21:31:37 +08:00
Jokul a23066e1f6 fix: use electron-dist as output directory 2026-07-04 21:26:29 +08:00
Jokul b30918807d chore: remove unused shared types 2026-07-04 21:20:50 +08:00
Jokul 669f7c83cd chore: remove electron-dist from git 2026-07-04 21:14:34 +08:00
Jokul 572230e823 fix: use out/ directory for electron-vite dev mode compatibility 2026-07-04 21:14:30 +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
Jokul bb885c6d6d fix: 使用 BrowserWindow.setIcon 替代 app.setIcon 2026-07-04 20:36:16 +08:00
Jokul 687fea4018 fix: 更新所有图标为 JRD
- 任务栏图标使用 nativeImage
- Linux 使用 app.setIcon()
- TitleBar logo 改为 JRD
- MainArea placeholder 改为 JRD
2026-07-04 20:34:34 +08:00
Jokul f078f037dc feat: 图标改为 JRD (Jokul Redis Desktop) 2026-07-04 20:30:26 +08:00
Jokul c85318cc4d feat: 添加应用图标
- SVG 图标设计:数据库 + Redis R 字母 + 连接节点
- 生成各尺寸 PNG (16-512px)
- electron-builder 配置图标路径
- 主进程窗口使用图标
2026-07-04 20:28:41 +08:00
Jokul d3f09f0e87 fix: 默认语言改为中文 2026-07-04 20:22:36 +08:00
Jokul da37760e04 feat: 开发模式自动打开 DevTools 2026-07-04 20:19:09 +08:00
Jokul 7cb76bc91e fix: 修复 fix-electron.sh 脚本路径问题 2026-07-04 20:17:04 +08:00
Jokul 77a11d3948 fix: 添加 @renderer 路径别名到 tsconfig 2026-07-04 20:14:06 +08:00
Jokul 7f2c753470 fix: 修复 preload 路径 (.mjs 而不是 .js)
- electron-vite v3 输出 .mjs 文件
- 更新 preload 路径为 index.mjs
- 这是 window.electronAPI undefined 的根本原因
2026-07-04 20:10:58 +08:00
Jokul d488612c27 debug: 添加连接日志 2026-07-04 20:06:43 +08:00
Jokul 88dfedc544 fix: Redis 连接等待就绪信号
- enableReadyCheck: true 等待 READY 信号
- 连接超时 12 秒
- 错误时正确断开连接
- 测试连接现在会返回具体错误信息
2026-07-04 20:03:40 +08:00
Jokul 363495bf8a fix: 自动修复 Electron 二进制安装
- 添加 scripts/fix-electron.sh 自动检测并下载 Electron 二进制
- postinstall 自动运行修复脚本
- 支持 x64/arm64 架构
- npm run fix:electron 可手动触发
2026-07-04 20:01:08 +08:00
Jokul f1123b734d docs: README 中文版功能说明 2026-07-04 19:56:37 +08:00
Jokul b9d64ed851 fix: register Element Plus icons globally
- Import and register all @element-plus/icons-vue
- Fixes icons showing as squares/rectangles
2026-07-04 19:54:34 +08:00
Jokul 4075f20c07 fix: test connection passing auth instead of password
- testConnection now maps auth -> password for Redis service
- fixes test connection failing even with correct credentials
2026-07-04 19:52:30 +08:00
Jokul 10b3e1ec94 docs: update README and AGENTS.md with full feature list
- README: complete feature documentation with screenshots-like tables
- AGENTS.md: full architecture, IPC channels, component tree, shortcuts
2026-07-04 19:42:00 +08:00
Jokul 7c0cce3e64 feat(phase7): pattern search, health check, keyboard shortcuts
- KeyList: pattern input for Redis MATCH, local filter, Go button
- ConnectionStore: health check interval (5s ping), healthOk state
- StatusBar: health indicator (unstable = yellow pulse)
- RedisService: ping, isConnected methods
- Sidebar: Delete key (Del), deselect (Esc), refresh (F5)
- useKeyboard: expanded shortcut map
2026-07-04 19:39:22 +08:00
Jokul 0ac0436cfd feat(phase6): test connection, keyboard shortcuts, import/export
- NewConnectionDialog: test connection button before save
- useKeyboard composable: Ctrl+N (new), Ctrl+R (refresh keys)
- ConnectionList: import/export JSON buttons
- ConnectionStore: testConnection, exportConnections, importConnections
- i18n support in Sidebar (keyboard shortcuts)
2026-07-04 19:35:03 +08:00
Jokul 6b9c6a1ed5 feat(phase5): stream editor, i18n, settings, key management
- StreamEditor: view/add/trim/delete entries with field management
- KeyDetail: TTL editor dialog, rename dialog, copy key name button
- i18n: English + Chinese locale system with composable
- SettingsView: theme selector, language switch, scan count, font size
- MainArea: added Settings tab
- RedisService: stream/rename/exists operations
- Preload: stream/rename/exists IPC channels
2026-07-04 18:26:51 +08:00
Jokul 4c66263477 feat(phase4e): batch delete with multi-select
- KeyList: multi-select mode with checkbox toggle
- Batch delete bar shows selected count + delete button
- RedisService: batchDelete using pipeline
- Preload: batchDelete IPC channel
2026-07-04 18:09:01 +08:00
Jokul ff09f5dc03 feat(phase4): list/set/zset editors, CLI, slow log, DB selector
- ListEditor: pagination, push, edit, remove elements
- SetEditor: filter, add, remove members
- ZsetEditor: filter, add with score, remove members
- CliView: interactive terminal with command history
- SlowLogView: slow log table with time/duration/command
- DbSelector: dropdown to switch Redis databases (0-15)
- StatusBar integrated with DB selector
- MainArea: added CLI and Slow Log tabs
- KeyDetail: dispatch to List/Set/Zset editors
- RedisService: list/set/zset/slowlog/memory operations
- Preload: all new IPC channels typed
2026-07-04 18:07:33 +08:00
Jokul 272eb6b3af feat(phase3): key browser MVP
- useKeyStore (Pinia): scan, tree view, key data cache, db switching
- KeyBrowser: split pane with KeyList + KeyDetail
- KeyList: SCAN pagination, filter, tree toggle, load more
- KeyDetail: type badge, TTL display, delete, type-based editor dispatch
- StringEditor: view/edit with JSON auto-format
- HashEditor: field table, add/edit/delete fields
- StatusView: INFO dashboard with stat cards + section grid
- MainArea: tab host (Status / Keys)
- RedisService: selectDb, dbSize
- Preload: selectDb, dbSize IPC channels
- App.vue updated with MainArea layout
2026-07-04 17:48:41 +08:00
Jokul 4f9398c65d feat(phase2): connection management
- RedisService in main process (ioredis wrapper, execute, scan, hash ops)
- electron-store for connection/settings persistence
- safeStorage credential encrypt/decrypt
- IPC handlers for redis, storage, credential channels
- Preload API typed with all new channels
- useConnectionStore (Pinia) with connect/disconnect/save/delete
- ConnectionCard with 3D hover effect + status indicator
- ConnectionList with search filter
- NewConnectionDialog (create/edit connection form)
- Sidebar component
- StatusBar with live connection status + pulse animation
- App.vue updated with Sidebar layout
2026-07-04 17:45:19 +08:00
Jokul 7e5d61c099 feat(phase1): architecture skeleton
- Electron 33 main process with frameless window, IPC, win-state persistence
- Preload with contextBridge typed API (window, theme, dialog)
- Vue 3 + Pinia + Element Plus + Vue Router renderer
- Dark/light dual theme via CSS custom properties
- TitleBar with window controls + theme toggle
- StatusBar placeholder
- Design spec document
2026-07-04 17:21:00 +08:00
Jokul 3e06def637 chore: init v2 project scaffold
- Add electron-vite + Vue 3 + TypeScript build config
- Add .gitignore with legacy/ exclusion
- Add AGENTS.md with architecture & dev commands
- Update README.md
2026-07-04 16:12:35 +08:00
Jokul 384acd8fc6 Initial commit 2026-07-04 13:59:28 +08:00