Commit Graph

893 Commits

Author SHA1 Message Date
t8y2 8d73e6e00d feat(settings): add Redis scan page size setting 2026-05-15 17:41:26 +08:00
t8y2 08de206644 feat(sidebar): add visible database filters 2026-05-15 17:36:51 +08:00
t8y2 b15e22033e feat(editor): add searchable query selectors 2026-05-15 16:58:23 +08:00
skyler 0099e1a262
feat(ai): add table mentions
Add table mentions to AI context, Ask/Agent mode selection, and related UI/i18n fixes.
2026-05-15 16:46:54 +08:00
t8y2 1563173173 fix(editor): suppress completion after punctuation 2026-05-15 14:56:26 +08:00
t8y2 b06ab4f27f fix(connection): handle stale connection state 2026-05-15 14:39:03 +08:00
t8y2 2973bb1cd5 feat: add Highgo (瀚高) database support
Add full support for Highgo database, a PostgreSQL-compatible Chinese
domestic database. Includes database type definition, connection dialog,
agent driver mapping, and database icon.
2026-05-15 14:35:19 +08:00
t8y2 f91ccf89c4 fix(editor): save object source tabs contextually 2026-05-15 13:28:41 +08:00
t8y2 72dd4d728b fix(editor): route save shortcut by context 2026-05-15 13:10:43 +08:00
t8y2 c2da1f866c feat(objects): show functions and procedures in sidebar tree
Add list_objects support for agent-driven databases (Dameng, Oracle, etc.)
and ExternalDriver plugin connections. SQL Server dbo schema now uses
listObjects to display grouped object nodes including routines.

- Add list_objects RPC to JDBC agent plugin
- Add extract_agent and ExternalDriver branches in list_objects_core
- Add get_object_source support for agent connections
- Click function/procedure nodes to view source via object browser
- Fix duplicate tree node IDs when same name exists as view and function
2026-05-15 13:02:19 +08:00
t8y2 c8ba3dad69 fix(sidebar): preserve searched table children 2026-05-15 12:42:27 +08:00
t8y2 339081af35 fix(connection): use bare mysql options for oceanbase 2026-05-15 12:36:52 +08:00
t8y2 12500c0b2a fix(mongo): support shell find queries 2026-05-15 12:00:49 +08:00
t8y2 b523c39716 fix(connection): parse jdbc connection urls 2026-05-15 11:53:45 +08:00
t8y2 1f2fe25c44 fix(grid): align header at horizontal scroll end 2026-05-15 11:46:59 +08:00
t8y2 32dea89cba fix(plugin): prefer .bat over shell script on Windows
On Windows, when both `bin/dbx-jdbc-plugin` (Unix shell script) and
`bin/dbx-jdbc-plugin.bat` exist, always prefer the .bat file instead of
only falling back when the original path doesn't exist.
2026-05-15 11:29:35 +08:00
t8y2 c56fe29e17 fix(sidebar): preserve nested pinned tree nodes 2026-05-15 11:26:19 +08:00
t8y2 6b31366b89 fix(ci): add QQ notify job to publish-packages workflow
GITHUB_TOKEN events don't trigger other workflows, so the release
promotion in promote-release never fired qq-notify.yml. Move the
notification inline as a dependent job.
2026-05-15 10:39:24 +08:00
t8y2 29309a16e9 chore: bump version to 0.5.7 2026-05-15 00:30:25 +08:00
t8y2 e7c94f4991 fix: show Oracle icon for oracle-10g driver profile 2026-05-15 00:24:31 +08:00
t8y2 901976bdac fix(mysql): auto fallback to ssl-mode=disabled on TLS handshake failure
MySQL 5.7 servers with older TLS versions (1.0/1.1) cause HandshakeFailure
when ssl-mode=preferred because the underlying TLS library requires 1.2+.
Now automatically retries with ssl-mode=disabled when handshake fails.

Closes #273
2026-05-15 00:23:19 +08:00
t8y2 6f1161e8a8 fix: add oracle.net.disableOob=true to agent JVM args for Oracle 19c compatibility
Oracle JDBC driver's Out-of-Band Break mechanism hangs on JDK 17+
due to stricter TCP Urgent Data handling. Disabling OOB resolves
connection timeouts with Oracle 19c.
2026-05-15 00:19:38 +08:00
t8y2 218042cfd2 fix: show schemas directly under connection for DM8 and Oracle (#259)
Single-database types (DM8, Oracle) now use list_schemas instead of
list_databases when expanding a connection, matching Navicat/DataGrip
behavior and returning the complete schema list.
2026-05-14 23:32:43 +08:00
t8y2 164fd7fb82 feat: auto-open Driver Manager when driver is not installed
When a connection fails because the agent driver or JRE is not
installed, automatically open the Driver Manager page so users
can install it without navigating manually.
2026-05-14 22:40:31 +08:00
t8y2 c49811cf5a feat(editor): add middle-mouse-button rectangular selection in SQL editor
Closes #266
2026-05-14 22:33:51 +08:00
t8y2 bb6627cf54 fix(clickhouse): make table data fully read-only
Add readonly flag to TableDataCapability and check it in
isTableDataEditable and canEditExistingTableRows to prevent
cell editing for databases like ClickHouse that don't support
row-level UPDATE/DELETE.
2026-05-14 22:21:09 +08:00
t8y2 1f6fb863f4 fix(clickhouse): validate auth in test_connection and disable transactions
- test_connection now uses SELECT 1 instead of /ping which doesn't
  require authentication, so wrong passwords are caught early
- Disable transaction support for ClickHouse (no BEGIN/COMMIT)
- Mark ClickHouse tables as non-insertable (no row-level operations)
2026-05-14 22:11:03 +08:00
t8y2 8aff08c6d8 fix: add kingbase and vastbase to TREE_SCHEMA_TYPES for proper schema listing (#203) 2026-05-14 21:59:36 +08:00
t8y2 b6c88d7b65 feat: add persistent selected node highlight in sidebar tree
- Track selectedTreeNodeId in connection store
- Highlight any clicked tree node with focused (blue) / unfocused (gray) styles
- Use CSS :focus-within for automatic focus state switching
2026-05-14 21:52:06 +08:00
t8y2 bf99e2609a style: increase selected row and cell highlight contrast 2026-05-14 20:58:19 +08:00
t8y2 bb766228e6 fix: use SELECT 1 for ClickHouse connection test and check response status 2026-05-14 20:58:08 +08:00
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 8305b9670f feat(ci): integrate Codecov for test coverage reporting 2026-05-14 20:33:26 +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 6ea6e45bcd feat(ci): add Linux ARM64 build target (#272)
Add aarch64-unknown-linux-gnu to the release build matrix using
GitHub's native ARM runner (ubuntu-22.04-arm).
2026-05-14 18:55:30 +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
t8y2 4562646253 refactor(ci): make publish-packages manual with R2 upload before release promotion
- Remove automatic release event trigger, keep workflow_dispatch only
- Run R2 upload and homebrew/scoop publish in parallel
- Add promote-release job to convert prerelease to release after all uploads complete
2026-05-14 18:01:25 +08:00
t8y2 febfbdb5a5 feat: migrate all downloads to R2 CDN with race_download
- Remove update.hwdns.net proxy, add dl.dbxio.com R2 CDN
- Remove deprecated race_github_proxies, replace with race_download
- Update Tauri updater endpoints to prioritize R2
- Migrate update check, JDBC plugin download to race_download
- Add R2 upload job to publish-packages workflow
2026-05-14 16:45:55 +08:00
t8y2 242720cc3c feat: use race_download with R2 for agent/JRE downloads 2026-05-14 16:45:55 +08:00
t8y2 6994b4549e feat: add R2 CDN race_download function and remove update.hwdns.net proxy 2026-05-14 16:45:55 +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 1e8ce6673f fix(postgres): use pg_catalog instead of information_schema for table/schema listing
information_schema views apply permission filtering that causes empty
results on openGauss/GaussDB for non-owner users. Switching to pg_catalog
(pg_class + pg_namespace) matches the behavior of Navicat and DataGrip.
2026-05-14 15:14:07 +08:00
t8y2 a0bcb1d889 feat(mongo): fallback to agent driver for pre-4.2 MongoDB
When native Rust MongoDB driver fails with wire version error,
automatically fall back to the Java agent driver which supports
older MongoDB versions. All mongo_ops route through agent RPC
when the connection pool is Agent-backed.
2026-05-14 15:04:02 +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 04e6e03d38 docs(readme): rename WeChat to 微信群 and open community links in new tab 2026-05-14 12:18:34 +08:00
t8y2 527bcab245 docs(readme): add WeChat group badge to community section 2026-05-14 12:16:01 +08:00