Commit Graph

163 Commits

Author SHA1 Message Date
miracle 7cec4892bf
feat(kafka): support Kafka MQ admin client 2026-06-30 17:01:24 +08:00
Guoyu Su b330b00335
fix(web): persist agent drivers under data dir (#2147) 2026-06-29 20:59:05 +08:00
t8y2 ba87230302 feat(release): bump app version to 0.5.41 2026-06-29 12:35:59 +08:00
t8y2 d01ffb0d55 feat(web): support context path deployments 2026-06-29 09:14:37 +08:00
t8y2 4c48263793 feat(grid): add database value filter 2026-06-29 03:13:35 +08:00
Guoyu Su 7a5984a1fd
fix(mongodb): support shell projection and db.version 2026-06-29 00:27:27 +08:00
t8y2 05058bd777 feat(release): bump app version to 0.5.40 2026-06-28 02:24:39 +08:00
zipg b85b14bfde
Fix: 优化 SQL 库启动加载
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-27 15:07:26 +08:00
miracle de39c1662d
feat: ZK 节点树改为真正懒加载 (#1987)
* feat: lazy load zookeeper nodes

* fix: preserve zookeeper focused path hierarchy
2026-06-27 15:02:09 +08:00
二丫讲梵 10aff74072
feat(export-tracker): 增强导出任务跟踪功能 (#1958)
- 添加了对数据库导出、SQL 文件导出和数据传输任务的支持
- 引入了新的状态和错误处理机制
- 实现了任务的重叠检查,防止同时进行相同目标表的数据传输
- 更新了 API 调用以支持新的任务类型
- 增加了相应的国际化文本
- 添加了单元测试以确保新功能的正确性
2026-06-26 18:50:25 +08:00
t8y2 cdfe576024 fix(structure): load dynamic data type options 2026-06-26 15:22:33 +08:00
Abeautifulsnow 5f2b24d700
fix(ai): enforce SQL task contracts structurally instead of keyword heuristics
* fix: enforce agent task contracts

* fix(ai): enforce SQL task contracts structurally
2026-06-26 13:18:49 +08:00
jischeng 82fd078c10
fix(mysql): health-check pooled connection before DDL query
* fix(mysql): health-check pooled connection before DDL query

`mysql_ddl` fetched a connection with a raw `pool.get_conn()` and issued
`SHOW CREATE TABLE` directly, unlike other read paths (`get_columns`,
`list_indexes`, ...) which go through `get_conn_with_health_check`. A
pooled connection that went stale while idle (server closed it after its
idle timeout, NAT/firewall dropped the TCP state, ...) would then fail on
the first DDL request after a period of inactivity, surfacing a low-level
connection error that a manual refresh would mask.

Route `mysql_ddl` through `get_conn_with_health_check` so stale
connections are pinged and replaced before the query runs, matching the
rest of the MySQL metadata path.

* fix(test): add redis_scan_page_size to ConnectionConfig test helpers

`d815a16b` (feat(redis): move scan page size to connections) added
`redis_scan_page_size` to `ConnectionConfig` but did not update several
struct-literal test helpers, so `cargo clippy --workspace --all-targets`
fails with `missing field redis_scan_page_size`. This is a pre-existing
breakage on `main` (CI has been red since that commit) and is unrelated to
this PR's actual change; included here only to unblock CI.

Helpers fixed here:
- src-tauri/src/commands/connection.rs (`mongodb_config`)
- crates/dbx-web/src/routes/connection.rs (`sqlite_config`)
2026-06-26 13:16:52 +08:00
t8y2 486c7a69c6 chore(release): bump app version to 0.5.39 2026-06-26 02:47:33 +08:00
lexmin0412 c2376494d3
feat(vector): add ChromaDB support 2026-06-26 01:41:36 +08:00
t8y2 b2edf7cad6 fix(oracle): apply visible schema filter 2026-06-25 15:19:20 +08:00
t8y2 217fa65377 fix(release): bump version to 0.5.38 2026-06-25 10:59:48 +08:00
大峰 40c93b9dad
feat(connection): add visible schema filtering 2026-06-25 01:36:06 +08:00
miracle 0effda91b3
feat(zookeeper): add agent client browsing and node management 2026-06-25 00:40:48 +08:00
miracle 588ba3352d
feat: stream query result CSV/XLSX exports
* docs: add query result streaming export design

* feat(core): stream query result exports

* feat: expose query result streaming export APIs

* feat(desktop): stream query result exports from grid

* fix: route query result export cancellation through its command

* fix: reduce query export batch size and cancel latency

* opt: del local test files
2026-06-24 21:18:11 +08:00
不吃西葫芦 9a0a32e04c
fix(connection): recover connection state after VPN failures (#641) 2026-06-24 01:44:46 +08:00
二丫讲梵 3ebfae05a2
feat(nacos): add Nacos management console (#1456) 2026-06-24 01:19:18 +08:00
t8y2 cebb39cb80 feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
t8y2 fc9f97b6b5 fix(redis): speed up large key scans 2026-06-23 15:14:24 +08:00
t8y2 451b3f82cd feat(release): bump version to 0.5.37 2026-06-23 12:20:08 +08:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
t8y2 ac3d3a7948 feat(agent): track execution context activity 2026-06-22 23:17:11 +08:00
fagao e2f68de455 fix: resolve MySQL connection state desync after disconnect/reconnect
- Use synchronous pool removal in desktop disconnect_db to prevent
  race condition when user quickly disconnects and reconnects
- Rename recordMetadataLoadError to recordConnectionLostError and
  export it for cross-store reuse
- Sync query execution errors back to connection state via
  recordConnectionLostError in queryStore catch blocks
- Add backend check_connection_health method (dbx-core) with Tauri
  command and web route for proactive pool verification
- Add frontend checkConnectionHealth API (tauri.ts/http.ts/api.ts)
- Enhance ensureConnected to verify backend pool health before
  assuming connection is valid, auto-reconnect if stale
2026-06-22 20:40:40 +08:00
t8y2 d6e081cd1b chore(release): bump version to 0.5.36 2026-06-21 00:14:34 +08:00
林剑凛 41edb3da91
feat(mongo): add database and collection deletion 2026-06-20 22:22:04 +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
t8y2 d59997c090 feat(objects): add table statistics columns 2026-06-19 14:35:32 +08:00
t8y2 3cbead1c20 feat(sync): support webdav sync on web 2026-06-19 13:22:19 +08:00
t8y2 ef25653aca feat(transfer): add target table name case option 2026-06-19 12:16:38 +08:00
t8y2 fffdcb9db1 fix(web): download full database SQL export via browser 2026-06-19 09:35:19 +08:00
Oleksandr Liakhevych 4f5d09aaa8
feat(ai): add Codex CLI as a no-API-key AI provider for Desktop
* codex cli provider

* fixes

* mcp check

* reasoning

* simplify

* minor fixes
2026-06-19 08:51:10 +08:00
t8y2 b897011b74 feat(release): bump version to 0.5.35 2026-06-18 20:33:25 +08:00
t8y2 9e75f62dbf feat(sqlserver): support linked server browsing 2026-06-18 13:17:44 +08:00
t8y2 c4c427fb67 fix: sort tables by FK dependency in transfer and export 2026-06-18 00:00:37 +08:00
t8y2 71db24813e fix(informix): add informix_server field to test helpers 2026-06-17 22:59:22 +08:00
t8y2 22b8ba17bb fix(schema): handle view DDL object types 2026-06-17 19:29:24 +08:00
t8y2 b7e47863da feat(release): bump version to 0.5.34 2026-06-17 16:11:04 +08:00
t8y2 4dbd1c7cc8 fix: convert source to editable form when opening view/procedure editor 2026-06-17 15:20:21 +08:00
t8y2 66e6ca1211 fix(db): refresh stale native pools 2026-06-17 11:14:35 +08:00
miracle 2a59d3143e
feat(mq): implement Apache Pulsar message queue admin
* feat(mq): implement Apache Pulsar message queue admin

- Add complete MQ admin adapter layer with version detection
  * Pulsar adapter with multi-version API support
  * OAuth2 token caching and authentication
  * JWT token signing for Pulsar clients
  * Transport layer (SSH/Proxy) integration

- Implement comprehensive admin operations
  * Tenant, namespace, topic management
  * Subscription and consumer/producer monitoring
  * Rate limits, backlog quotas, retention policies
  * Permissions and role-based access control
  * Raw admin API for advanced operations

- Add desktop UI components
  * MQ admin console with tabbed interface
  * Tenant, namespace, topic panels
  * Subscription management and cursor operations
  * Monitoring panel with stats visualization
  * Policy configuration UI

- Add web routes for MQ admin operations
- Add secret store support for MQ auth credentials
- Add comprehensive test coverage

* fix: del local test files

* fix(mq): mark message queue as unsupported mcpMode in driver manifest

MQ admin connections do not use the MCP query bridge - they use a
separate REST admin API. Mark mcpMode as 'unsupported' to align with
the test expectations and reflect the actual architecture.

Fixes CI test: driver-manifest.test.ts

* fix(mq): fix TypeScript errors in MQ components

- Fix typo in SubscriptionsPanel.vue: messagformatError(e)Id -> message.messageId
- Use formatError() helper in RawApiPanel.vue instead of accessing e?.message
- Fix undefined 'tab' reference in ConnectionTree.vue: use config.db_type instead

Fixes frontend CI TypeScript check errors.

* fix(mcp): add 'mq' to MCP server connection type description

The MCP server's connection type description must include all database
types from the driver manifest. Add 'mq' to the list to fix the test:
'add connection database type description includes every manifest database type'

Fixes: packages/mcp-server/tests/driver-manifest.test.ts

* fix(mq): add missing ConnectionConfig fields for Rust compilation

- Add gbase_server and keepalive_interval_secs fields to all ConnectionConfig
  test constructors in mq/config.rs, mq/service.rs, and storage.rs
- Import uses_bare_mysql_pool in connection.rs tests module

Fixes compilation errors from upstream ConnectionConfig changes.

* chore(ui): simplify Pulsar icon to logo-only version

Remove text from Pulsar icon (127x30 -> 35x30), keeping only
the wave logo symbol for a cleaner, more consistent appearance
with other database icons.

* fix(mq): return removed pools from drain_connection_pools

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-16 21:57:17 +08:00
t8y2 9b8aa4292d feat(release): bump version to 0.5.33 2026-06-16 11:26:41 +08:00
t8y2 000c236619 feat(connection): add keepalive interval 2026-06-16 10:23:49 +08:00
t8y2 c57e18bf3e fix: resolve clippy warnings and missing struct fields in tests 2026-06-16 00:55:32 +08:00
David Bottiau 921dff5ffe
feat: allow password protection to be disabled (#1201)
Thanks @Odonno!
2026-06-15 17:01:01 +08:00
t8y2 ab5bd1dd25 fix(redis): batch SCAN server-side to reduce fetch-all latency 2026-06-15 15:01:13 +08:00