Commit Graph
68 Commits
Author SHA1 Message Date
t8y2 4b522f5c1a fix(grid): support Unicode aliases in editable queries 2026-07-30 12:32:23 +08:00
t8y2 d347c77c3d feat(duckdb): move support to standalone driver 2026-07-30 00:50:39 +08:00
Abeautifulsnow 52d5c99a92 fix(ai): improve API retry handling 2026-07-29 16:16:39 +08:00
dbin0123 002a2c85c0 feat(schema-diff): preserve dialect-specific DDL semantics 2026-07-29 03:47:19 +08:00
zipg 2980e32c9d fix(agent): remove system archive tool dependency 2026-07-28 13:21:20 +08:00
soddygo 0b7a886cfd feat(data-grid): add multi-format copy extractors 2026-07-27 16:11:53 +08:00
二丫讲梵 f9c2fb27d3 feat(nacos): add Nacos dashboard metrics 2026-07-27 12:16:39 +08:00
Hand Sonic 2bfbe67f47 feat(release): add static browser builds 2026-07-27 00:37:41 +08:00
二丫讲梵 1ebc3fd12b feat(nacos): enhance configuration management 2026-07-26 11:20:05 +08:00
二丫讲梵 3c04adbdd8 feat(nacos): add r-nacos compatibility 2026-07-23 22:42:55 +08:00
miracle 0e33c73035 perf(import): optimize large file imports 2026-07-22 16:56:49 +08:00
soddygo 19e5b25f71 feat(export): add MySQL auto increment export option 2026-07-21 21:43:11 +08:00
zipg 4634b0948d fix(import): preserve Excel number formatting for text columns 2026-07-20 23:32:37 +08:00
t8y2 9679d48824 fix(sqlserver): return informational server messages 2026-07-19 12:47:46 +08:00
t8y2 4bcf618162 feat(cli): migrate CLI to native Rust binary 2026-07-18 22:29:29 +08:00
t8y2 d3887c9936 fix(mysql): update sha256_password authentication support 2026-07-17 17:30:05 +08:00
yuuuxt 42a5172c81 feat(duckdb): bundle parquet extension 2026-07-16 18:19:44 +08:00
zipg 2cb58b0b5a fix(import): preserve Excel date styles outside A1 2026-07-13 20:13:19 +08:00
onenewcode 24c63b6012 feat(elasticsearch): render REST JSON responses 2026-07-12 10:49:25 +08:00
zipg ce8cb2b509 fix(oracle): preserve DATE time in display and export 2026-07-09 15:04:34 +08:00
miracle c32d0b7d6e fix(duckdb): close worker process reliably 2026-07-08 20:31:02 +08:00
t8y2 e84fb12fcc feat(sqlite): support SQLCipher encrypted databases 2026-07-06 14:24:28 +08:00
t8y2 564c5beeff fix(sqlite): decode text-affinity blobs 2026-07-06 13:56:05 +08:00
miracle 454457f191 fix(duckdb): add worker process isolation 2026-07-04 23:43:22 +08:00
t8y2 7ce0addb61 fix(sqlite): add if and unistr compatibility functions 2026-06-28 12:16:07 +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 3574113feb fix(iris): qualify selected schema tables 2026-06-15 23:16:29 +08:00
LC 2d98b9fdd2 feat(sqlite): add database backup action
* feat(sqlite): add database backup action

* fix(sqlite): sanitize default backup file name
2026-06-13 18:39:12 +08:00
t8y2 9fbafa9a6d fix(elasticsearch): strip metadata fields from writes 2026-06-11 19:44:58 +08:00
Doracoin c7c71850d4 fix(windows-build): ssh-agent err when building on windows 2026-06-11 17:29:40 +08:00
t8y2 b6d92f8c38 feat: make duckdb optional behind duckdb-bundled feature 2026-06-10 18:30:14 +08:00
t8y2 a473f4ff8f chore: switch license to Apache-2.0 2026-06-07 17:34:59 +08:00
邹超 6e24ea5099 fix(redis): need to enable tls-rustls-insecure to support --insecure (#794) 2026-06-06 00:15:52 +08:00
t8y2 a799958328 feat: add driver runtime manager 2026-06-04 23:20:15 +08:00
t8y2 30cd447e4f perf(export): stream table CSV from Rust 2026-06-02 23:00:58 +08:00
t8y2 2f1a6875b7 feat(sqlite): support loading extension libraries 2026-06-01 22:40:29 +08:00
t8y2 797c0d8d21 Add Redis cluster support and improve key loading 2026-05-28 00:08:59 +08:00
t8y2 e9a2c08a46 feat(db): support TLS client certificates 2026-05-27 13:54:32 +08:00
t8y2 0c9ee34a82 feat: add WebDAV cloud sync with encrypted secrets support
Add WebDAV-based settings sync for desktop app, including connection
configuration, editor settings, and optional encrypted secrets sync.
Also persist WebDAV remember-password preference across sessions.
2026-05-27 01:17:23 +08:00
t8y2 32273b4d6e feat: support Redis Sentinel connections 2026-05-26 19:44:23 +08:00
t8y2 195e6b218f fix: decode sql files before execution 2026-05-26 15:43:07 +08:00
t8y2 6e0f4e1dc3 feat: enable driver management on web version
- Extract JDBC driver/plugin logic from Tauri commands to dbx-core::jdbc
- Add web API routes for JDBC drivers, JDBC plugin, Agent JAR import, system fonts
- Upgrade zip crate from v2 to v4 in dbx-core
- Replace http.ts stubs with real HTTP calls (support File and string paths)
- Remove isWeb restrictions in DriverStoreDialog, add browser file picker support
- Fix Mac traffic light inset incorrectly applied on web version
- Show driver management toolbar button on web version
2026-05-26 01:23:26 +08:00
t8y2 e83c335a70 refactor(postgres): replace sqlx with tokio-postgres + deadpool-postgres
- Use client.transaction() for safer transaction handling
- Add prepare_cached for all system queries to enable statement caching
- Use query_raw streaming to avoid buffering large result sets
- Add batch_execute support for bulk DDL scripts
- Add COPY protocol support (copy_in / copy_out) for fast data transfer
- Add pg_quote_ident to prevent SQL injection in SET search_path
- Increase connection pool max_size from 5 to 10
- Fix list_indexes bounds check for expression indexes
2026-05-24 18:53:20 +08:00
t8y2 b77c02c829 refactor(sqlite): migrate to rusqlite, fix sql statement splitter
Fix SqlStatementSplitter.push_current_statement to preserve leading
comments with their following SQL statement instead of stripping them.
2026-05-24 15:47:36 +08:00
t8y2 3e051d61a7 fix(dbx-core): migrate mysql driver to mysql_async
Add mysql_async with client_ed25519 support for MySQL and MariaDB connections.\nSwitch MySQL transaction control and schema metadata reads away from sqlx MySQL APIs.\nPreserve connection compatibility by stripping unsupported URL params and handling nullable metadata safely.
2026-05-24 00:53:27 +08:00
t8y2 7a3ff3bff9 refactor(sql): move builders to Rust 2026-05-23 01:28:52 +08:00
t8y2 5ab0489127 fix(sqlserver): support named instances 2026-05-22 17:06:05 +08:00
t8y2 0e189ba0cc feat(editor): add SQL semantic diagnostics 2026-05-22 14:22:58 +08:00
t8y2 98e2d03f64 feat(agent): support offline driver import via ZIP bundle and local JAR
Add two offline import methods for users behind corporate firewalls:
- ZIP offline bundle: import all drivers + JRE from a single ZIP file
- Single JAR import: import individual driver JARs per database type
2026-05-20 09:44:03 +08:00
t8y2 b446816bdc fix(agent): remove SHA-256 verification for driver downloads
R2 CDN cache inconsistency caused hash mismatches when registry
updated before jar files. Remove sha256 verification entirely —
the old field in registry JSON is silently ignored by serde.
2026-05-20 00:20:01 +08:00