Commit Graph

100 Commits

Author SHA1 Message Date
t8y2 888d3d8890 feat(app): add new query shortcut 2026-05-21 10:34:04 +08:00
t8y2 ab6c73c687 fix(grid): reload after inserted rows save 2026-05-21 10:23:37 +08:00
t8y2 f1a5beede5 fix(grid): default keyless edits for SQL tables 2026-05-21 01:34:45 +08:00
t8y2 803f70dce9 fix(grid): support keyless table edits by capability 2026-05-21 01:26:40 +08:00
t8y2 01666acd99 fix(updates): keep silent update checks badge-only 2026-05-21 01:03:30 +08:00
t8y2 7592def541 feat(grid): add copy as UPDATE action 2026-05-21 00:42:15 +08:00
t8y2 4f379be24a fix(connection): support SAP HANA tenant routing 2026-05-21 00:32:19 +08:00
t8y2 3ad19107d8 fix(editor): smooth sql zoom interactions 2026-05-21 00:08:47 +08:00
t8y2 5c2028c2c4 feat(redis): improve key browser workflows 2026-05-20 18:54:18 +08:00
t8y2 1b5eea19c2 fix(toolbar): preserve dropdown tooltips 2026-05-20 17:38:20 +08:00
t8y2 1ed26ff4d7 feat(grid): add cell detail value editor 2026-05-20 17:12:00 +08:00
t8y2 75f92ce725 feat(grid): resize table filter panes 2026-05-20 17:01:37 +08:00
t8y2 d64074dbc2 fix(sidebar): preserve searched database children 2026-05-20 16:45:35 +08:00
t8y2 47ec339d5a fix: preserve pending row edits when switching tabs (#362)
Wrap ContentArea in KeepAlive to cache tab instances across switches.
Add a module-level pending-changes cache in useDataGridEditor so edits
survive DataGrid destruction caused by result eviction and reload.
2026-05-20 16:22:17 +08:00
Abeautifulsnow 222ebefa6a
feat(ai): add model list fetching in settings (#364)
- Add `ai_list_models` Tauri command and core support for fetching available models from OpenAI-compatible, Claude, and Ollama providers
- Replace manual model ID input with SearchableSelect in EditorSettingsDialog, including refresh button and loading state
- Add i18n translations for model list UI (en, es, zh-CN)
- Add tests for settings dialog layout and web driver management
2026-05-20 16:14:56 +08:00
yavon007 13424588b9
Support DBX connection deep links (#359)
* 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

* feat(connection): support dbx connection deep links

* docs: document connection deep links

* fix(connection): harden deep link boolean handling
2026-05-20 16:10:14 +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 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
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 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 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 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 613c2f981f fix(ai): ignore IME composition enter 2026-05-19 15:56:34 +08:00
t8y2 bacd5dc859 fix(sidebar): support catalogless schema trees 2026-05-19 15:07:25 +08:00
t8y2 db5da1e519 fix(duckdb): normalize temporal display 2026-05-19 14:12:14 +08:00
t8y2 ec0e2498ca fix(app): exclude schema from object search 2026-05-19 14:01:59 +08:00
t8y2 c1ba7235b9 fix(app): add clipboard fallback for web copy 2026-05-19 13:51:38 +08:00
t8y2 69ee7f2d8b fix(structure): initialize dialogs and edit clickhouse columns 2026-05-19 13:31:42 +08:00
t8y2 5b3b69f7fb fix(structure): load editor on open 2026-05-19 12:58:10 +08:00
t8y2 7625c1aae9 fix(structure): preserve object schema for editor 2026-05-19 12:35:22 +08:00
t8y2 653feb7c65 feat(editor): polish SQL autocomplete UI 2026-05-19 12:33:05 +08:00
t8y2 cf46aec158 feat(structure): add DDL capability matrix 2026-05-19 12:15:49 +08:00
t8y2 f89b3a2bee fix(mongodb): expose authentication database 2026-05-19 11:51:39 +08:00
t8y2 bae487867b feat(connection): support in-memory sqlite and duckdb 2026-05-19 11:33:17 +08:00
t8y2 261d43c1b7 fix(grid): respect page size row limits 2026-05-19 11:31:38 +08:00
t8y2 4ef958a7e5 feat(connection): persist result page size 2026-05-19 10:47:17 +08:00
t8y2 38f9fce779 fix(connection): open edit dialog with saved profile 2026-05-19 10:33:03 +08:00
t8y2 487ffb5786 fix(sql): handle SQL Server select into 2026-05-19 00:03:28 +08:00