Commit Graph

1417 Commits

Author SHA1 Message Date
t8y2 c41c2ae1af fix(windows): enlarge Windows icons for better visibility in taskbar and tray
Closes #358
2026-05-20 14:51:49 +08:00
t8y2 c53caddc3f fix(sqlserver): route transaction control statements through simple_query
BEGIN TRANSACTION / COMMIT / ROLLBACK must not go through sp_executesql
(client.execute) because SQL Server raises error 266 when @@TRANCOUNT
changes inside sp_executesql. Route them through simple_query instead.
2026-05-20 13:36:08 +08:00
t8y2 62af348a01 fix: custom find/replace UI for SQL editor (Ctrl+F)
Closes #352
2026-05-20 13:32:23 +08:00
t8y2 65ce48b0dc fix: let CodeMirror handle Ctrl+F natively in SQL editor
Closes #352
2026-05-20 12:23:27 +08:00
t8y2 f3a248073a fix(windows): show window when desktop icon is double-clicked while app runs in tray
Closes #353
2026-05-20 12:13:26 +08:00
t8y2 5003ef52e2 docs: update supported database count to 40+ 2026-05-20 11:41:01 +08:00
t8y2 c0d3a46b93 chore: bump version to 0.5.15 2026-05-20 11:14:12 +08:00
t8y2 8d041b438b fix(mcp): pass request database to backend 2026-05-20 11:09:54 +08:00
t8y2 bd727c32d0 fix(sqlserver): use BEGIN TRANSACTION instead of BEGIN for explicit transactions
SQL Server interprets bare "BEGIN" as a BEGIN...END block, not a
transaction start, causing syntax error when editing table data.
2026-05-20 11:08:44 +08:00
t8y2 abafa49acc fix(agent): bound read_agent_line to prevent OOM abort on large responses
Add a 512MB maximum response size limit to read_agent_line to prevent
unbounded memory allocation that could cause the process to SIGABRT
when the agent returns an unexpectedly large response.

Ref: #345
2026-05-20 10:49:11 +08:00
t8y2 ea19a24ec6 fix(mysql): retry without ssl on TLS close 2026-05-20 10:42:20 +08:00
t8y2 65b51e6c17 fix(core): harden plugin process IO 2026-05-20 10:32:06 +08:00
t8y2 f84335e986 fix(elasticsearch): parse aggregation query results into table format (#344)
Previously, aggregation queries (date_histogram, terms, etc.) with
`size: 0` returned empty results because the empty hits array was
matched but contained no documents, ignoring the aggregations data.
2026-05-20 10:12:20 +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
yavon007 49a7541450
Improve data grid cell detail, navigation, and transpose UX (#342)
* fix(mysql): avoid metadata collation conflicts

Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.

* feat(grid): add invert column visibility action

* feat(grid): improve cell detail editing

* feat(grid): add keyboard cell navigation

* feat(grid): add column name copy in header tooltip

* feat(grid): improve transpose navigation
2026-05-20 09:43:40 +08:00
yavon007 b9bcb90ac7
fix(mysql): avoid metadata collation conflicts (#341)
Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.
2026-05-20 01:22:46 +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
github-actions[bot] 367037465c chore(jdbc): bump plugin version [skip ci] 2026-05-19 13:02:44 +00:00
t8y2 f702e71de0 chore: bump version to 0.5.14 and fix duplicate i18n key
- Bump version to 0.5.14 in package.json, Cargo.toml, tauri.conf.json
- Remove duplicate `copied` key in en/es/zh-CN locale files
2026-05-19 21:02:16 +08:00
t8y2 fe24d70aa6 fix(i18n): add missing grid.copied translation key 2026-05-19 20:56:37 +08:00
t8y2 dac3d8e3c0 feat(grid): batch multiple rows into single INSERT statement 2026-05-19 19:02:01 +08:00
t8y2 8aa85c7c53 fix(grid): widen header control width to account for formatter button 2026-05-19 18:58:57 +08:00
t8y2 e8cbe6bbf0 fix(mysql): add COLLATE to get_columns JOIN for OceanBase compatibility
OceanBase MySQL mode uses different collations for information_schema
tables, causing "Illegal mix of collations" when joining COLUMNS with
KEY_COLUMN_USAGE. Explicit COLLATE utf8mb4_general_ci resolves this.

Closes #337
2026-05-19 18:36:47 +08:00
t8y2 462e0fad1b feat(jdbc): optimize Oracle metadata queries with direct SQL
Replace DatabaseMetaData API calls with direct queries against Oracle
data dictionary views (ALL_TABLES, ALL_TAB_COLUMNS, ALL_CONSTRAINTS etc.)
for connections using jdbc:oracle: URLs. Also sets Oracle-specific
connection properties (remarksReporting, restrictGetTables, etc.).
2026-05-19 18:33:17 +08:00
t8y2 0a1aa8a0b6 feat(export): add table search filter to database export dialog
Allow users to quickly find tables by name in the export dialog,
useful when databases have many tables. Select/clear buttons now
operate within the filtered scope.
2026-05-19 18:29:40 +08:00
t8y2 c822c898c7 feat(sql): support MySQL DELIMITER syntax in statement splitter
Parse DELIMITER directives (e.g., DELIMITER //, DELIMITER $$) so
stored procedures, functions, and triggers with internal semicolons
are kept as single statements. Disable PostgreSQL dollar-quoting
when a custom delimiter is active to avoid conflicts.
2026-05-19 18:29:33 +08:00
t8y2 2afcfff4e3 fix(ai): extend timeout and token budget for thinking models
Thinking models like DeepSeek V4 Flash can exceed the 120s stream
timeout during long reasoning, causing truncated output and missing
answers. Increase stream timeout to 600s when thinking is enabled,
raise max_tokens floor to 8192, and bump reasoning display max-height.

Closes #326
2026-05-19 18:08:08 +08:00
t8y2 d1ad53a6ca fix(grid): discard pending edits when result set changes
Pending changes (dirty cells, new rows, deleted rows) are tracked by
sourceIndex into the current result array. When the query re-executes
(e.g. different WHERE clause or pagination), stale indices silently
point to different rows, causing wrong-row deletions on commit.

Closes #336 (partial)
2026-05-19 17:56:32 +08:00
t8y2 3719d60dbc fix(jdbc): catch AbstractMethodError for getSchema/getCatalog
OceanBase Oracle JDBC driver does not implement getSchema() and
potentially getCatalog(), causing AbstractMethodError crashes.

Closes #336
2026-05-19 17:51:36 +08:00
t8y2 13246aa5b9 feat(grid): add TemporalCellEditor component for enhanced date/time editing 2026-05-19 17:47:21 +08:00
t8y2 43c38bc5bc merge: fix HTTP randomUUID export fallback 2026-05-19 17:32:50 +08:00
t8y2 94f680ac7a fix(export): support uuid fallback on http 2026-05-19 17:24:55 +08:00
t8y2 b6e519dfaa feat(grid): use temporal inputs for date cells 2026-05-19 16:39:19 +08:00
t8y2 b76efa56d6 feat(duckdb): create database file from connection form 2026-05-19 16:34:08 +08:00
t8y2 b60063162f fix(ai): infer provider for legacy config 2026-05-19 16:19:05 +08:00
t8y2 397b8607f4 fix(sqlserver): strip order by when wrapping queries 2026-05-19 16:08:11 +08:00
t8y2 2ebd72ab6d refactor(agent): retain handshake capabilities 2026-05-19 16:07:25 +08:00
t8y2 fa2e710a7b test(agent): validate protocol contract 2026-05-19 16:05:25 +08:00
t8y2 613c2f981f fix(ai): ignore IME composition enter 2026-05-19 15:56:34 +08:00
t8y2 077aaa5c06 refactor(agent): wrap remaining protocol calls 2026-05-19 15:54:57 +08:00
t8y2 a8f717b3f6 refactor(agent): wrap mongo legacy calls 2026-05-19 15:49:22 +08:00
t8y2 6896b2f879 refactor(agent): wrap schema and query calls 2026-05-19 15:44:23 +08:00
t8y2 5ce6a08f05 refactor(agent): route core calls through protocol methods 2026-05-19 15:38:03 +08:00
t8y2 db10d92d13 fix(duckdb): reuse existing pool for connection test 2026-05-19 15:33:16 +08:00
t8y2 7c1a0c8076 refactor(agent): define protocol capabilities 2026-05-19 15:31:40 +08:00
t8y2 5df7fbf062 feat(agent): add compatible driver handshake 2026-05-19 15:17:21 +08:00
t8y2 9cbca5fc3a merge: catalogless schema tree fix 2026-05-19 15:11:05 +08:00
t8y2 bacd5dc859 fix(sidebar): support catalogless schema trees 2026-05-19 15:07:25 +08:00
t8y2 d2938478f4 fix(agent): defer driver version gate 2026-05-19 14:52:24 +08:00
t8y2 47f87e0361 fix(agent): verify downloaded driver artifacts 2026-05-19 14:42:19 +08:00