Commit Graph
421 Commits
Author SHA1 Message Date
t8y2 03e2c0bea1 feat: persist page size setting across restarts
Store the data grid page size in EditorSettings (localStorage) so the
user's chosen rows-per-page survives app restarts.
2026-05-14 20:48:28 +08:00
t8y2 ecb878315c chore: add startup timing diagnostics for #270
Add [STARTUP] timing logs to Rust setup (plugin registration, storage
open, migration) and Vue frontend (onMounted, initFromStorage,
initFromDisk) to help diagnose slow startup reported in #270.
2026-05-14 19:35:34 +08:00
t8y2 c37caeba78 fix: apply only visible checked values when local filter has active search
When a user searches in the column filter dialog, non-visible options
retained their selected state, making it impossible to filter to just
the searched values. Now when a search query is active, only visible
checked items are included in the applied filter.
2026-05-14 19:19:21 +08:00
t8y2 f491ea1e43 fix: keep saved-sql-root first after database pin/unpin (#267)
orderPinnedFirst preserves relative order but doesn't account for
saved-sql-root needing to stay first. After reordering pinned children,
move saved-sql-root back to index 0 if it was displaced.
2026-05-14 18:50:24 +08:00
t8y2 c8f6f39fbb fix: resolve SQL file dialog dropdown and footer styling issues (#271)
Use popper positioning for connection Select to prevent item-aligned
mode from hiding the dropdown when few options exist. Align
DialogScrollContent padding with DialogContent (p-4) so DialogFooter
negative margins reach dialog edges correctly.
2026-05-14 18:45:24 +08:00
Abeautifulsnow 919c3d58c1 feat(redis): add key statistics tracking for database browser (#269)
## 背景说明
为 Redis 数据库浏览器增加键统计功能,显示已加载 key 数/总 key 数,
并在动态加载、删除、清空时实时更新。

## 修改内容
- 新增 \RedisDatabaseInfo\ 结构体(db + keys),替代原来的 \Vec<u32>\
- \list_databases\ 返回每个 db 的 key 数量(解析 INFO keyspace)
- \scan_keys_page\ 增加 DBSIZE 调用获取 total_keys
- 前端 TreeNode 增加 loadedKeyCount/totalKeyCount 字段
- 树节点标签动态显示 \db0 (loaded/total)\ 格式
- 新增 \updateRedisDbKeyStats\ 在加载/删除/清空时更新统计

## 测试
- 建议补充 list_keyspace_databases 解析异常输入的单测
- 建议补充 redisDbLabel 边界值测试
2026-05-14 16:24:46 +08:00
t8y2 7faa9ec818 fix(mongo): complete agent fallback for all connection paths
- Fix connect_db and test_connection to also fallback to agent when
  native driver fails with wire version error
- Route MongoDB agent through mongo_ops in schema.rs list_databases
- Update MongoDB legacy hint text to mention Driver Manager
2026-05-14 16:16:33 +08:00
t8y2 88ad579a27 feat(mongo): add filter/sort support and fix table view editing
- Add filter and sort parameters to MongoDB find_documents across the
  full stack (driver, ops, tauri cmd, web routes, frontend API)
- Add find/sort input bar to MongoDocBrowser table view via DataGrid
  search-bar slot, matching WHERE/ORDER BY positioning
- Fix table view editing: allow cell editing when customSave is provided
  (bypasses primary key requirement for MongoDB)
- Fix replace_one WriteError 66 by removing _id from replacement doc
- Align action buttons (refresh, add row, commit) to the right in grid
2026-05-14 14:43:26 +08:00
t8y2 12fec968fe fix(grid): remove WHERE and ORDER BY input placeholders 2026-05-14 14:05:22 +08:00
t8y2 7e4274094d fix(updates): delay first update check by 10s after startup
Prevents the update checker from blocking UI rendering on startup,
especially for users with slow GitHub connectivity.
2026-05-14 12:02:20 +08:00
t8y2 081a356832 feat(plugins): support local JDBC plugin installation
Add a "local install" button that lets users install the JDBC plugin
from a local zip file when online download fails (e.g. draft release).
2026-05-14 11:42:21 +08:00
t8y2 51ee08a578 feat(completion): add MySQL JSON functions and common built-in functions
Add JSON_EXTRACT, JSON_SET, JSON_CONTAINS and other MySQL JSON functions,
plus common string, date, math, and crypto functions. (closes #263)
2026-05-14 11:22:53 +08:00
t8y2 abd3450814 feat(connection): make driver manager link clickable in install hint 2026-05-14 11:03:12 +08:00
t8y2 e61efdea12 fix(i18n): translate backend error messages in connection failure toasts 2026-05-14 11:00:52 +08:00
t8y2 43bd3a9ef8 feat(drivers): add upgrade all drivers button
Add a batch upgrade command that sequentially updates all drivers with
available updates, with per-driver progress tracking in the UI.
2026-05-14 10:58:47 +08:00
yavon007 eefa054778 perf(redis): speed up key browser scans (#256) 2026-05-14 02:21:53 +08:00
t8y2 433297e549 fix(connection): hide installed driver hint 2026-05-14 01:10:01 +08:00
t8y2 05effc8edf fix(informix): 支持表格直接编辑 2026-05-14 01:05:01 +08:00
t8y2 ce69af1de0 feat(updates): add hourly update badge 2026-05-13 23:47:20 +08:00
t8y2 3d7b149e53 feat(agents): support system Java runtime 2026-05-13 23:30:55 +08:00
t8y2 530cfa0b7c fix(grid): reserve header control width 2026-05-13 23:29:49 +08:00
t8y2 5832e1b194 refactor(frontend): centralize database feature capabilities 2026-05-13 22:14:33 +08:00
t8y2 8021990495 fix: add CSS containment to TreeItem to reduce virtual list flicker 2026-05-13 22:12:54 +08:00
t8y2 deca7dbb41 feat(grid): add draggable resize for transpose panel 2026-05-13 22:09:39 +08:00
t8y2 8d5c096895 fix(grid): keep row position after commit and preserve dirty cell color
- Don't reload data after committing edits, merge dirty data in place
- Preserve dirty cell yellow highlight when row/cell is selected
- Use original row data for search filtering to prevent row shifting
2026-05-13 22:02:14 +08:00
t8y2 e92f1ccdf5 feat(grid): replace toolbar search with Ctrl+F floating overlay
- Remove always-visible search box from toolbar
- Add floating search overlay triggered by Ctrl+F/Cmd+F
- Highlight matching cells in yellow, current match with ring
- Navigate matches with Enter/Shift+Enter
- Show match count (e.g. 1/5) in overlay
- Escape closes overlay and clears search
- Color WHERE label blue and ORDER BY label orange
2026-05-13 21:41:26 +08:00
t8y2 1eb5b89c17 fix: recognize DM/Dameng connections on Navicat import
Closes #254
2026-05-13 21:04:26 +08:00
t8y2 3803a20d9e fix(h2): add H2 to TREE_SCHEMA_TYPES for correct sidebar structure
H2 uses schemas (PUBLIC) so the sidebar needs the schema layer to
generate correct qualified table names in SQL queries.
2026-05-13 20:56:01 +08:00
t8y2 7f19a0376a fix(trino): support schema-aware table browsing and inserts 2026-05-13 20:46:27 +08:00
t8y2 2ba97869a1 fix(hive): gate row edits by transactional support 2026-05-13 20:17:15 +08:00
t8y2 ea6b2bb36c fix(hive): allow non-transactional grid edits 2026-05-13 20:04:42 +08:00
t8y2 3eb00b7fe2 fix(hive): quote table queries with backticks 2026-05-13 19:55:48 +08:00
t8y2 0172ee50be fix(neo4j): support table querying and editing 2026-05-13 19:30:00 +08:00
t8y2 2f4c50dc1e fix(mongo): refresh JSON viewer after document edit
The right-side JSON viewer was not updating after saving edits because
editJson was stale — only load() was called, which updates the document
list but not the displayed JSON preview.
2026-05-13 19:08:22 +08:00
skyler a4ad5cd08b Merge pull request #252 from Abeautifulsnow/feat/grid-export-selected-rows
feat(grid): add export selected rows and batch restore
2026-05-13 18:35:17 +08:00
t8y2 cb00b27963 fix(sidebar): refresh grouped object nodes 2026-05-13 18:12:55 +08:00
runstone 2b29780c76 feat(grid): add export selected rows and batch restore
## 背景说明
恢复导出选中行的功能,并新增批量恢复行功能。用户现在可以在多行选中时,
通过右键菜单或工具栏导出选中的行,同时支持批量恢复已删除的行。

## 修改内容
- exportCsv/exportJson/exportMarkdown/exportXlsx 支持可选 rowIds 参数
- 新增 rowsToExport 辅助函数,根据 rowIds 筛选要导出的行
- 右键菜单和工具栏新增"导出选中行"选项(CSV/XLSX/JSON/Markdown)
- 新增 restoreRows 函数支持批量恢复已删除行
- 更新上下文菜单中恢复行的文案,支持单数/复数切换
- 补充 en/es/zh-CN 三语言国际化文案

## 测试
- 建议补充:导出函数传入特定 rowIds 的筛选逻辑测试
- 建议补充:批量恢复已删除行的单元测试
- 建议补充:多选时状态栏显示边界测试
2026-05-13 18:12:01 +08:00
t8y2 e9158390c1 feat(shortcuts): add search focus shortcut 2026-05-13 17:51:20 +08:00
t8y2 42501cc8fb fix(grid): allow generated insert columns 2026-05-13 17:37:29 +08:00
t8y2 80f33b1460 fix(sql): add sql server completions 2026-05-13 17:11:33 +08:00
t8y2 02b257dd0f fix(history): classify and virtualize entries 2026-05-13 17:07:56 +08:00
t8y2 c28820ef48 fix: make result tabs scrollable when many queries executed (closes #245) 2026-05-13 16:45:06 +08:00
t8y2 f3c5314636 fix: preload schema options when selector becomes visible (closes #244)
Schema dropdown showed an empty horizontal line because data was loaded
lazily on dropdown open, leaving the Reka UI Select with zero items in
popper mode. Eagerly preload via watchEffect when the schema selector
becomes visible so data is ready before the user opens the dropdown.
2026-05-13 16:43:05 +08:00
t8y2 e513c260b5 feat: driver store UX improvements and multi-row range copy
- ESC key closes driver store before closing tabs
- Auto-scroll to driver store tab when opened
- Deactivate query tab highlight when driver store is open
- Support copying range-selected rows as JSON
- Add multiRowCount/isMultiRow computed properties for DataGrid
2026-05-13 16:34:56 +08:00
t8y2 5e30e97be4 fix: driver store scroll and replace installed text with check icon 2026-05-13 16:25:17 +08:00
t8y2 b82c7f9274 feat: multi-row selection with batch clone, delete, and copy support 2026-05-13 16:25:02 +08:00
t8y2 d50da7f1cd feat: Oracle version selector in connection form, JRE install button
- Add Oracle 11g+/10g version dropdown in connection config (driver_profile routing)
- Show JRE version tags on all drivers in driver management
- Add install button for uninstalled JREs
- Fix iconTypeMap for oracle-10g
2026-05-13 16:20:03 +08:00
t8y2 809448a161 feat: multi-JRE support, Oracle 10g driver profile, and JRE uninstall
- Support multiple JRE versions per agent driver (jre-8/, jre-17/)
- Auto-migrate legacy jre/ directory to jre-17/
- Detect macOS Adoptium JRE 8 Contents/Home/ layout
- Route Oracle 10g connections to oracle-10g agent via driver_profile
- Add Oracle 10g option in connection dialog
- Add JRE uninstall with dependency check
- Show per-JRE status and controls in driver management UI
2026-05-13 16:08:00 +08:00
t8y2 b4d1f4b04e perf: eliminate theme switch lag by suppressing CSS transitions
Disable all CSS transitions/animations during theme toggle so color
changes apply instantly instead of animating over 150ms. Also cache
Tauri window module import and set color-scheme for native UI elements.
2026-05-13 16:04:35 +08:00
t8y2 fa0dfc9383 perf: race GitHub proxies concurrently for driver downloads and registry fetch
Replace sequential proxy fallback (up to 30s worst-case) with concurrent
racing via futures::select_ok, returning the first successful response.
Add list_installed_agents_local command for instant UI rendering with
async registry update. Fix missing useToast import in RedisValueViewer.
2026-05-13 14:18:28 +08:00