Commit Graph

458 Commits

Author SHA1 Message Date
github-actions[bot] 567dd49907 chore(packages): release 0.4.12 [skip node-packages-release] 2026-06-20 17:04:00 +00:00
t8y2 a1e39333a3 fix(mongodb): remove invalid direct connection 2026-06-20 22:44:17 +08:00
funnytime d1fb9b8445
feat(history): add execution time range filter 2026-06-20 22:14:15 +08:00
林剑凛 9d329920b9
feat(grid): add drag-and-drop column reordering with persistence
* feat: support data grid column reordering

* fix: improve column visibility footer layout
2026-06-20 21:50:59 +08:00
林剑凛 39ced46282
feat: improve MongoDB query assistance 2026-06-19 23:59:34 +08:00
Scars e679113231
feat(grid): add binary data hex viewer 2026-06-19 23:51:03 +08:00
dbin0123 92d3f64eae
feat: fix connection cascade failure, add auto-recovery for all drivers 2026-06-19 23:06:21 +08:00
t8y2 c9ab2fb60a fix(ci): sync diagnostics and AI sampling 2026-06-19 14:49:34 +08:00
t8y2 d59997c090 feat(objects): add table statistics columns 2026-06-19 14:35:32 +08:00
uicky 0f1b5f8b53
fix(export): resolve query result export progress 2026-06-19 11:15:18 +08:00
t8y2 59ea4eafdc feat(sql): add table generate sql menu 2026-06-19 10:53:26 +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 93a6a65707 feat(editor): toggle SQL keyword case 2026-06-19 02:06:12 +08:00
github-actions[bot] 89a48b9726 chore(packages): release 0.4.11 [skip node-packages-release] 2026-06-18 16:18:52 +00:00
t8y2 8b473d5912 fix(ci): handle release tag reruns 2026-06-18 22:41:16 +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
t8y2 c62e323e16 fix(jdbc): improve goldendb metadata handling 2026-06-18 16:47:46 +08:00
t8y2 dc10f5720e fix(editor): replace fold gutter icons with consistent SVG chevrons, fix queryStore tests 2026-06-18 16:29:23 +08:00
t8y2 7511753f71 fix(desktop): handle object source tab save close 2026-06-18 16:15:58 +08:00
Spencer.Chang fae454f96a
feat: add sidebar type-to-search 2026-06-18 13:13:45 +08:00
t8y2 4ebf041601 chore(test): remove fragile database-type mapping tests 2026-06-18 12:15:10 +08:00
t8y2 e926adde42 fix(test): update GBase tree shape assertions and skip MQ in capability checks 2026-06-18 11:54:38 +08:00
t8y2 4aa907d8b5 fix: handle legacy gbase driver_profile and add MCP driver_profile param 2026-06-18 01:45:33 +08:00
t8y2 26cc2fdc4c fix: pass numeric precision/scale fields through bridge column mapping 2026-06-18 00:48:59 +08:00
t8y2 00541291e3 feat(ssh): support custom SSH agent socket path 2026-06-18 00:15:08 +08:00
xcstatus 417a48ccfe
fix(mcp): route ssh transport layers through desktop bridge 2026-06-17 22:06:33 +08:00
林剑凛 9bc19cf3b0
fix: apply editor font to document preview 2026-06-17 17:39:38 +08:00
Spencer.Chang 598b5dfef8
feat: add query editor view data context action 2026-06-17 14:42:15 +08:00
Spencer.Chang a68e8c680f
feat: add data grid condition history controls 2026-06-17 12:08:10 +08:00
miracle b2617039fa
fix(mysql): normalize smart quotes in JSON input
* fix(grid): normalize smart quotes in JSON input to prevent parse errors

When manually typing JSON values in the data grid, input methods (especially
Chinese IME and macOS smart punctuation) can automatically convert standard
ASCII quotes to smart quotes (U+201C, U+201D, etc.), causing JSON parse failures.

Changes:
- Remove incorrect logic that tried to parse original value before normalization
- Add hasSmartQuotes() function to detect 7 types of smart quotes:
  * Chinese quotes: U+201C, U+201D
  * German quotes: U+201E, U+201F
  * Smart single quotes: U+2018, U+2019
  * Fullwidth quote: U+FF02
- Rewrite normalizeSmartQuotes() using charCodeAt to avoid oxc compiler issues
- Add comprehensive tests for MySQL JSON field quote normalization

All existing tests remain passing.

* fix(grid): preserve valid JSON while normalizing smart quotes
2026-06-17 10:33:10 +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
t8y2 6f7263bc75 chore: remove brittle registry tests 2026-06-16 22:11:21 +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
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 b1f38fd974 fix(editor): trim line break selection highlight 2026-06-16 18:07:42 +08:00
t8y2 c77948b3c0 feat(editor): drag columns into SQL editor 2026-06-16 17:12:37 +08:00
github-actions[bot] a8632fbab2 chore(packages): release 0.4.10 [skip node-packages-release] 2026-06-16 04:13:51 +00:00
haipengno1 80a390a4c0
feat(redis): add Redis syntax checking for query editor
- Built-in metadata for ~200 Redis commands (arity/group/safety), available offline
- Add diagnostic builder: unknown command name, arity errors, unclosed quotes, danger/write command highlighting
- Reuse existing diagnostic pipeline and integrate underlines + hover tips in QueryEditor
2026-06-16 10:31:09 +08:00
t8y2 000c236619 feat(connection): add keepalive interval 2026-06-16 10:23:49 +08:00
t8y2 6052e18f69 fix: remove flaky connectionAttemptTimeout test 2026-06-16 01:01:45 +08:00
t8y2 cce7fcc600 fix(mysql): complete database-qualified columns 2026-06-15 23:35:11 +08:00
t8y2 3ee2514d07 fix(databend): enable editing and procedures 2026-06-15 17:43:44 +08:00
t8y2 c9b3292a2e fix: resolve Vue warnings, silent PubSub auto-connect, remove 30 meaningless tests 2026-06-15 02:27:07 +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
Vergil Lai f385386284
feat(manticore): add Manticore Search support
Add Manticore Search table data editing, structure editing, metadata handling, and SQL completion support.
2026-06-14 16:01:02 +08:00
SuLea-IT 97192297eb
feat(query): add switchable query result runs and archives
* docs: design query result run tabs

* feat(query): add result run model helpers

* feat(query): persist result run metadata

* feat(query): record switchable result runs

* feat(query): sync active result run state

* feat(query): cache result run payloads

* feat(query): render result run tabs

* docs: design query result archives

* feat(query): add result archive codec

* feat(query): restore result archives

* feat(query): add result archive actions

* fix(query): toggle execution summary view

* fix(query): avoid archive compression backpressure

* feat(query): remove result runs

* chore: remove local spec docs from pr
2026-06-14 10:30:50 +08:00
t8y2 cbc7f9b0db fix(gbase): support 8a and 8s profiles 2026-06-14 10:16:24 +08:00