Commit Graph
587 Commits
Author SHA1 Message Date
t8y2 5522842b19 fix(ci): fix broken tests after external-sql and xlsx changes 2026-06-25 00:16:11 +08:00
t8y2 b89df5a43c feat(sql): save external files locally 2026-06-24 23:13:17 +08:00
t8y2 c8464bf842 fix(mongo): use page size for aggregate results 2026-06-24 22:38:00 +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
zipgandstaff 96aada2631 fix: optimize query cell detail panel layout
* fix: improve cell detail editor layout

* test: update cell detail drawer default

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-24 19:15:51 +08:00
t8y2 23edbe391f feat(postgres): support schema comments 2026-06-24 18:35:43 +08:00
t8y2 829f6dc7eb feat(grid): add current page sorting 2026-06-24 15:39:40 +08:00
luoianunandt8y2 b8511051cd feat(editor): auto alias SQL table completions
* feat: auto alias SQL table completions

* fix: preserve alias suggestion fallback order

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-24 14:48:47 +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 489da1b7db fix(mongodb): support legacy indexes and driver mode 2026-06-23 19:47:10 +08:00
t8y2 5c4c87a042 feat(grid): align query result editing 2026-06-23 17:07:30 +08:00
t8y2 fc9f97b6b5 fix(redis): speed up large key scans 2026-06-23 15:14:24 +08:00
t8y2 2f2fc36b18 fix(data): align table preview ordering 2026-06-23 10:51:30 +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 ac3d3a7948 feat(agent): track execution context activity 2026-06-22 23:17:11 +08:00
skyler ee29694776 Merge pull request #1586 from onceMisery/feat/opt-connections
fix: handle connection loss state for new queries
2026-06-22 22:32:02 +08:00
t8y2 0b6e1579ca feat(agent): add execution context recovery 2026-06-22 22:15:16 +08:00
fagao 718ffde871 test: mock MQ connection health check 2026-06-22 22:02:49 +08:00
fagao c0248cbe8e fix: handle connection loss errors consistently 2026-06-22 21:43:01 +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 09d54d09bc feat(mongodb): support use command to switch database 2026-06-22 16:42:38 +08:00
t8y2 d9256fc1ec fix(sql-library): auto-close tabs when deleting saved SQL files
Closes #1566

When a saved SQL file is deleted from the SQL library panel, any open
tabs referencing that file are now automatically closed to maintain
consistency between the library and open tabs.

Changes:
- Modified savedSqlStore.deleteFile() to find and close all tabs with matching savedSqlId
- Tabs are force-closed to avoid unsaved changes prompts for deleted files
2026-06-22 15:18:41 +08:00
t8y2 4346192713 feat(mongodb): show collection metadata in sidebar 2026-06-22 12:42:31 +08:00
t8y2 9418e37c04 feat(settings): add show execution target picker option and related UI elements 2026-06-22 12:05:47 +08:00
t8y2 d7e52779c3 fix(data): refresh table metadata lazily 2026-06-22 11:49:01 +08:00
t8y2 2fc835060e fix: sync saved sql file connection on tab connection change 2026-06-21 23:49:54 +08:00
cherlinbest-pixelandcherlin 28a23de604 feat(desktop): add close behavior prompt with quit-on-close setting
Co-authored-by: cherlin <544026227@qq.com>
2026-06-21 00:04:52 +08:00
t8y2 b04d4aa78c fix(frontend): fix quick-open source type 2026-06-20 00:35:10 +08:00
林剑凛 39ced46282 feat: improve MongoDB query assistance 2026-06-19 23:59:34 +08:00
AiLi 8b6eb353db feat(insert-template): add TDengine-aware insert template strategy and table-type propagation 2026-06-19 23:58:34 +08:00
uicky 0f1b5f8b53 fix(export): resolve query result export progress 2026-06-19 11:15:18 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +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 545d203b59 fix(sidebar): preserve partition tree across pages 2026-06-18 19:36:58 +08:00
t8y2 593635a94d fix(jdbc): keep query pagination cursor sessions 2026-06-18 17:40:12 +08:00
t8y2 46cefabe57 fix(grid): show column comments by default 2026-06-18 16:50:53 +08:00
lexmin0412 96dcd1127e fix(connection): reload database children when updating expanded connection 2026-06-18 15:46:52 +08:00
t8y2 5ffd0bad6c fix(settings): persist sidebar page size 2026-06-18 14:57:54 +08:00
t8y2 c155443d4b feat(grid): add pinned query result history 2026-06-18 14:57:54 +08:00
t8y2 9e75f62dbf feat(sqlserver): support linked server browsing 2026-06-18 13:17:44 +08:00
ptma e7ee0c9ec1 fix(questdb): handle materialized views and unify table_type naming
* fix(questdb): handle materialized views

* fix(test): fix rust test problems
2026-06-18 11:40:57 +08:00
t8y2 22b8ba17bb fix(schema): handle view DDL object types 2026-06-17 19:29:24 +08:00
haipengno1 b575ec2729 fix(redis): refresh sidebar db key counts after write commands
Redis write commands (SET/DEL/...) ran from the query editor or the
key-browser terminal did not update the dbN (count) labels in the left
tree until a manual refresh. Add refreshRedisDbKeyCounts(), which re-fetches
authoritative per-db counts via INFO keyspace and patches the labels in place
without rebuilding the tree (preserving expanded key nodes), then trigger it
fire-and-forget after any mutating command in both execution paths.
2026-06-17 10:35:01 +08:00
t8y2 5a08d42258 feat: make sidebar table page size configurable in settings 2026-06-17 02:00:15 +08:00
haipengno1 3695042c8e fix(redis): invalidate key completion cache after write commands
The Redis key-name completion cache was only cleared on connection
lifecycle events, so SET/DEL/EXPIRE/... left autocomplete showing
stale keys. Drop the cache for the db each write command ran on:
- add isRedisMutatingCommand() based on the command-table safety field
(confirm = write; destructive blocked cmds minus read-only/admin ones)
- invalidate after each mutating command in queryStore batch execution
and in RedisKeyBrowser.runRedisCommand
2026-06-17 00:24:47 +08:00
haipengno1 1e96937455 feat(redis): add Redis command completion to query editor
- add completion module: command names, two-stage subcommands, and key names
- key-name completion is async with a per-db cache capped at 1000 entries, cleared on disconnect
- gate key completion by argument position: stop after a single-key command is filled, keep suggesting for variadic key-list commands
- reuse the diagnostics command table as the data source, showing group/arity/safety
2026-06-16 22:03:48 +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