Commit Graph
1398 Commits
Author SHA1 Message Date
github-actions[bot] ba8301d909 chore(packages): release 0.4.4 [skip node-packages-release] packages-v0.4.4 2026-05-30 09:22:35 +00:00
t8y2 c467372fc8 fix(packages): polish cli and mcp package contracts 2026-05-30 17:20:38 +08:00
t8y2 2a696be49a fix(test): update sidebar target test for query-context type
Query tabs now return a query-context target so the locate-in-sidebar
button can find and expand the matching database or schema node.
2026-05-30 16:58:19 +08:00
t8y2 0c806be274 feat(sidebar): add locate-in-sidebar button to find active tab's node
Add a crosshair button next to the "New Group" button that scrolls the
sidebar tree to the table/database/collection corresponding to the
currently active tab. Auto-expands collapsed ancestors, reconnects
disconnected connections, and highlights the target node with an amber
flash that fades after 1.8s.
2026-05-30 16:46:53 +08:00
t8y2 09909752e6 fix(connection): remove unreachable redis placeholder 2026-05-30 16:11:24 +08:00
t8y2 6b8ca6af87 fix(sidebar): scroll to newly created groups 2026-05-30 16:09:34 +08:00
t8y2 a9e7f3946d fix(redis): support insecure tls connections 2026-05-30 16:00:13 +08:00
t8y2 74b4acba19 chore(release): bump version to 0.5.25 v0.5.25 2026-05-30 13:23:42 +08:00
t8y2 dcc3e723a7 fix(mysql): retry unsupported prepared statements 2026-05-30 13:10:43 +08:00
t8y2 6481af3ed8 fix(oracle): preserve jdbc descriptors 2026-05-30 13:06:52 +08:00
t8y2 9b4115a1e9 fix(husky): format staged rust files 2026-05-30 12:47:55 +08:00
t8y2 4f3a72aa1b style(core): format connection pool cleanup 2026-05-30 12:46:39 +08:00
t8y2 8a1bac6872 fix(desktop): prevent light tooltip from lingering 2026-05-30 12:40:30 +08:00
t8y2 13d52514d9 feat(connection): close database scoped pools 2026-05-30 12:34:14 +08:00
t8y2 4724686dd3 fix(desktop): prevent scaled window clipping 2026-05-30 11:35:26 +08:00
t8y2 41e23cccc3 feat(desktop): improve sql file preview 2026-05-30 11:22:17 +08:00
t8y2 99ebecf473 feat(desktop): group partition tables in object browser 2026-05-30 11:11:06 +08:00
t8y2 742283bada feat(desktop): add wechat community link 2026-05-30 11:05:17 +08:00
t8y2 133f3cfc04 perf(desktop): use lightweight dropdown menus 2026-05-30 11:02:16 +08:00
t8y2 4d32127522 docs: use private Homebrew tap install command 2026-05-30 10:50:39 +08:00
t8y2 26ed2b4aff perf(desktop): use lightweight sidebar tree tooltips 2026-05-30 10:31:32 +08:00
t8y2 58b8552316 feat(desktop): expand window drag regions 2026-05-30 10:14:25 +08:00
t8y2 d1f3023c64 fix(desktop): use macOS template tray icon 2026-05-30 10:08:29 +08:00
t8y2 ed1db7db6b fix(ui): localize hardcoded strings 2026-05-30 10:01:12 +08:00
t8y2 8e04889745 fix(editor): insert dragged table references 2026-05-30 09:46:59 +08:00
t8y2 879da4b86f fix(editor): make table drag payload reliable 2026-05-30 09:42:12 +08:00
t8y2 548692f073 ci: add official Homebrew cask bump workflow 2026-05-30 09:41:44 +08:00
t8y2 eb9030b9ef fix(editor): allow dropped table references 2026-05-30 09:37:13 +08:00
t8y2 e324f35f28 feat(editor): support dragging tables into queries 2026-05-30 09:31:07 +08:00
t8y2 13d9fd14b4 fix(diff): make schema diff dialog resizable 2026-05-30 09:16:20 +08:00
t8y2 81e50cadb5 feat: add XuguDB agent support 2026-05-30 09:12:34 +08:00
t8y2 6ec8115984 fix: wire up MongoDB table column sort buttons
The DataGrid emits @sort events when column headers are clicked, but
MongoDocBrowser was not listening to them. Added an onSort handler that
converts the column/direction into MongoDB sort JSON format.
2026-05-30 08:51:01 +08:00
t8y2 f88367a872 feat: add OpenGauss support and enhance MySQL URL parameter handling 2026-05-30 00:31:29 +08:00
t8y2 8e31e97bbe fix(opengauss): update jsonb-compatible postgres driver 2026-05-30 00:03:39 +08:00
t8y2 b6ac1f177b refactor(agent): consolidate driver architecture 2026-05-29 23:29:27 +08:00
t8y2 cd87d2a4e4 fix: normalize MySQL SSL mode URL params 2026-05-29 20:22:31 +08:00
t8y2 c71804d144 feat: add InterSystems IRIS database support
Add IRIS as a new agent-driven database type with:
- iris:// connection URL scheme (default port 1972, user _SYSTEM)
- JDBC driver via agent (com.intersystems.jdbc.IRISDriver)
- Oracle-compatible DDL dialect and schema-aware SQL dialect
- Capability sets: schema-aware, tree schema, diagram, search, table structure

Closes #368
2026-05-29 19:15:11 +08:00
t8y2 48a8810070 fix: stop remapping bigint to int8 in grid column type display
MySQL users expect "bigint" not PostgreSQL's internal "int8". Removing
this mapping keeps the SQL-standard name visible for both databases.
2026-05-29 18:17:15 +08:00
t8y2 b07273249b chore: cargo fmt with rustc 1.96 to fix CI format check 2026-05-29 18:15:15 +08:00
t8y2 ba9dad7f7b chore: remove brittle source-code regex-matching tests
These 81 test files used readFileSync to check source code for regex
patterns. They broke on any formatting change or minor refactor and
provided no behavioral coverage. 641 real unit tests remain.
2026-05-29 18:05:12 +08:00
t8y2 5d91efd690 feat: merge OceanBase picker entries into one with MySQL/Oracle mode toggle
Replace two separate "OceanBase" and "OceanBase Oracle Mode" entries in the
database picker with a single "OceanBase" entry. After selecting, users can
switch between MySQL and Oracle modes via button toggles in the config form.
2026-05-29 17:59:14 +08:00
t8y2 58f2942520 feat: generalize URL params field to all database types and support oceanbase-oracle URL params
Remove the hardcoded 12-type whitelist for the URL params form field so all
database types (including agent-driven ones like oceanbase-oracle) can set
custom URL parameters. Also append url_params to oceanbase-oracle connection
URLs in the Rust backend (matching the existing Postgres/Redshift pattern).
2026-05-29 17:56:03 +08:00
t8y2 ef4baba57a feat: support double-clicking .db/.sqlite/.duckdb files to open in IDE
Add OS file association for database files (.db, .sqlite, .sqlite3, .duckdb)
so double-clicking them in Finder/Explorer automatically creates a connection.
If the same file path is already connected, prompts the user to switch instead.

Also fix 42 pre-existing clippy warnings in dbx-core (needless_borrow,
too_many_arguments, derivable_impls, manual_div_ceil, type_complexity, etc.).

Closes #527
2026-05-29 17:25:52 +08:00
t8y2 bbdb21c1e6 fix: strip JDBC-only MySQL URL parameters before driver parsing
JDBC connection URLs contain MySQL Connector/J-specific parameters
(useUnicode, characterEncoding, zeroDateTimeBehavior, useSSL,
serverTimezone, etc.) that mysql_async::Opts::from_url() does not
recognize, causing "Invalid MySQL URL: Unknown connection URL
parameter" errors. Filter these parameters out in mysql_async_url()
before passing the URL to the driver.

Fixes #524
2026-05-29 16:48:54 +08:00
t8y2 f8215f7347 fix: open changelog links in external browser instead of in-app
Clicking links in the update dialog release notes was navigating within
the Tauri webview with no way to go back, requiring a restart. Now link
clicks are intercepted and opened externally via @tauri-apps/plugin-shell
or window.open.

Closes #525
2026-05-29 16:39:31 +08:00
t8y2 8a3bd067a2 fix: independent column width resizing in transpose view
Replace shared transposeRecordWidth with per-record width array so dragging a resize handle only affects that column. New columns auto-calculate optimal initial width based on content.
2026-05-29 16:35:29 +08:00
t8y2 027c39a610 perf: optimize database connection pooling and query execution
- Increase MySQL pool max from 1 to 3 to avoid contention across tabs
- Merge get_columns serial queries into a single LEFT JOIN
- Clone pool handles before health checks in refresh_connections to reduce lock contention
- Skip COUNT(*) when result rows are fewer than the page size
2026-05-29 16:26:19 +08:00
t8y2 4fd8d895f4 fix: cargo fmt formatting in dbx-web main.rs 2026-05-29 15:46:32 +08:00
t8y2 76585b2e28 fix: use recursive findNode in disconnect to handle connections inside groups 2026-05-29 15:40:22 +08:00
t8y2 4cf179f0c0 style: cargo fmt 格式化修复 2026-05-29 15:13:07 +08:00