Commit Graph
112 Commits
Author SHA1 Message Date
zipg dab1d145bc fix(connection): show built-in driver update hint on connection failure (#2111) 2026-06-30 01:52:37 +08:00
zipg be996a4352 fix(gbase8a): 优化 agent 启动错误提示 2026-06-28 10:31:59 +08:00
zipgandstaff d55967cca8 fix(canvas): fix premature text truncation in canvas grid cells
* fix: 修复 Canvas 单元格文本提前截断

* fix: 清理 Dremio 未使用连接 URL 判断

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-28 00:32:11 +08:00
Spencer.Chang 350d2a3533 feat(connection): add Dremio JDBC connection support 2026-06-27 23:44:27 +08:00
Orwen Xiang 44884efa9b feat(h2): add split JDBC URL support 2026-06-27 20:03:16 +08:00
hb 7b08307896 fix: prevent implicit database creation on connection for SQLite (#1986) 2026-06-27 12:31:02 +08:00
zipgandstaff 46c72e163b fix(ui): 优化连接配置弹框布局
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-27 01:37:07 +08:00
t8y2 aed96b4a06 fix(connection): hide default visible schema button 2026-06-27 01:35:03 +08:00
miracleandonceMisery d128604743 fix(connection): 修复数据库连接超时后无法可靠恢复的问题
* feat(core): implement PIP-0001 database connection timeout recovery

- Add DbOperationBudget struct for unified execution budget model
- Add deadpool create/recycle timeout for PostgreSQL pools
- Add checkout_postgres_client helper replacing 14 bare pool.get() calls
  with timeout + cancel token support
- Fix PostgreSQL TLS cancel: rebuild TLS connector from stored context,
  fallback to NoTls on failure
- Add timeout to MySQL kill_query and kill_query_with_opts (5s)
- Extend is_connection_error to match deadpool pool timeout messages
- Unify keepalive default to 30s (was 60s Rust / 0s frontend mismatch)
- Inject PostgreSQL TCP keepalive params (idle=30s, interval=10s, retries=3)
- Inject MySQL tcp_keepalive=30s in OptsBuilder
- Make MySQL inactive_connection_ttl configurable from idle_timeout_secs
- Add stage-based structured logging for pool.checkout/health.check/cancel
- Store PostgresCancelContext in AppState for TLS cancel reconstruction
- Clean up cancel contexts on pool removal/drain
- Add unit tests for DbOperationBudget and pool timeout error detection

* fix(core): align timeout recovery with PIP-0001

* fix(core): handle timeout recovery review issues

* fix(core): complete connection timeout recovery

* fix(core): fall back postgres cancel connector build

* refactor: revert comment translations to English in connection.rs and query.rs

- Revert DbOperationBudget doc comments to English (query.rs)
- Revert PostgresCancelContext and TLS cancel comments to English (connection.rs)
- Keep Chinese error-matching strings in is_connection_error unchanged

---------

Co-authored-by: onceMisery <onceMisery@users.noreply.github.com>
2026-06-26 21:41:56 +08:00
ptma fdd7d2095b feat(influxdb): support influxdb epoch parameter (#1946) 2026-06-26 17:33:58 +08:00
LRcodingandzero f963a6e793 fix(app): decode imported connection link names (#1930)
Co-authored-by: zero <zero@zeroMacmini.local>
2026-06-26 16:09:17 +08:00
dalew d815a16b86 feat(redis): move scan page size to connections 2026-06-26 11:13:34 +08:00
t8y2 dff94d60f5 fix(oceanbase): show oracle mode schemas in sidebar 2026-06-26 02:03:00 +08:00
t8y2 6646b432d3 fix(oceanbase): preserve oracle mode when editing connection 2026-06-26 01:46:42 +08:00
lexmin0412 c2376494d3 feat(vector): add ChromaDB support 2026-06-26 01:41:36 +08:00
t8y2 c3386a0dcd fix(nacos): guard stale connection test timeout 2026-06-26 01:22:11 +08:00
二丫讲梵 a149d9baa4 fix(nacos): route admin API through SSH/proxy transport 2026-06-26 01:01:08 +08:00
t8y2 b2edf7cad6 fix(oracle): apply visible schema filter 2026-06-25 15:19:20 +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
t8y2 bf9ef4365b feat(vector): add weaviate support 2026-06-25 00:31:27 +08:00
jischeng 849caf4b39 feat(ssh): probe none authentication before credentials
Some SSH proxies and jump-hosts authenticate with the "none" method,
requiring no password or key. dbx only tried publickey/password/agent,
so connecting through such a host failed with "SSH public key
authentication failed" — and the frontend forced users to enter a
credential just to pass validation.

- Backend: probe authenticate_none first in connect_and_authenticate;
  on rejection fall back to the configured credential method, matching
  standard openssh behavior.
- Frontend: drop the "password/key/agent required" check in
  validateTransportLayers so passwordless hops can be saved and tested.

Refs #1628
2026-06-24 21:05:57 +08:00
二丫讲梵 3ebfae05a2 feat(nacos): add Nacos management console (#1456) 2026-06-24 01:19:18 +08:00
t8y2 49705a1a8f feat(sqlite): support custom database file suffixes 2026-06-23 20:15:06 +08:00
t8y2 489da1b7db fix(mongodb): support legacy indexes and driver mode 2026-06-23 19:47:10 +08:00
t8y2 2594dbaa30 fix(prestosql): apply builtin driver on selection 2026-06-23 01:31:02 +08:00
t8y2 e9dafbf38d fix(prestosql): select builtin JDBC driver 2026-06-23 01:28:03 +08:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
t8y2 7910a2f68e fix(connection): raise default connect timeout 2026-06-22 23:59:42 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +08:00
t8y2 00541291e3 feat(ssh): support custom SSH agent socket path 2026-06-18 00:15:08 +08:00
t8y2 1aa48cf636 fix(informix): add informix_server field for direct INFORMIXSERVER input 2026-06-17 22:59:13 +08:00
lexmin0412 e6e3cf11f2 fix(connection): preload visible database list on dialog open for accurate summary count 2026-06-17 14:46:17 +08:00
t8y2 d897603dd5 fix: add hint for missing H2 driver installation in connection dialog 2026-06-16 23:34:21 +08:00
miracleandt8y2 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 c619e5da56 fix(sqlite): add .db3 to file open dialog filter 2026-06-16 20:38:14 +08:00
t8y2 65114c64c4 fix(sqlite): support .db3 file extension 2026-06-16 20:30:21 +08:00
t8y2 558b9301a2 feat(sqlite): create empty database file on connect if missing 2026-06-16 13:55:44 +08:00
t8y2 000c236619 feat(connection): add keepalive interval 2026-06-16 10:23:49 +08:00
t8y2 7bb869d398 fix(mongodb): support legacy driver fallback 2026-06-15 14:07:31 +08:00
t8y2 8af25343cc feat(ui): add password visibility toggle to all password inputs 2026-06-15 02:34:19 +08:00
John Jin 1afc271c18 feat: add QuestDB support
Thanks @ptma!
2026-06-14 22:58:05 +08:00
t8y2 7b2156446c fix(mongodb): use tls param for form connections 2026-06-14 16:06:37 +08:00
t8y2 cbc7f9b0db fix(gbase): support 8a and 8s profiles 2026-06-14 10:16:24 +08:00
t8y2 7c5021fa91 feat(turso): simplify connection form to URL + token 2026-06-13 20:33:32 +08:00
Vergil Lai 799d20a2cf 添加 Manticore Search 支持 (#1145)
* 添加 Manticore Search 支持

* 更新 Manticore Search 文档
2026-06-13 20:23:36 +08:00
t8y2 d091b0db85 feat(sidebar): reveal local db file in OS file manager 2026-06-13 16:00:47 +08:00
t8y2 edf9dd88e3 feat(agent): unify oracle driver 2026-06-12 16:34:42 +08:00
t8y2 c7fb855000 fix(jdbc): simplify driver selection and table edits 2026-06-11 22:13:27 +08:00
t8y2 70f7b464b7 feat(jdbc): install drivers from Maven bundles 2026-06-11 21:41:37 +08:00