Commit Graph
248 Commits
Author SHA1 Message Date
bea3b45fd8 perf(export): 优化导出ui体验和性能
* docs(getting-started): set brew upgrade to use official homebrew cask

* fix(mysql): make admin show handling dialect aware

* fix(data-compare): create missing target tables during sync

* feat(sql): suggest join conditions from foreign keys

* fix(sidebar): use filtered order for range selection

* fix(tabs): close connection tabs on disconnect

* fix(sqlserver): execute cte queries without wrapping

* fix(opengauss): open table structure editor

* perf(export): 优化导出ui体验和性能

* perf(export): 优化导出ui体验和性能

* fix(export): normalize status casing and fix web route issues

- Add missing table export web routes (POST /export/table, SSE progress, cancel)
- Fix tauri table export Promise to wait for terminal events
- Change cancel to return Ok(()) so it doesn't get overwritten as Error
- Unify ExportStatus to PascalCase across all frontend components
- Fix http.ts table export POST body wrapping
- Fix duplicate pub mod in dbx-web routes

* fix(export): return export file for browser download in web mode

Write table export output to temp dir, register a download endpoint,
and trigger browser download from the frontend when export completes.

* fix(export): avoid table export progress races

---------

Co-authored-by: Francesco Lucarelli <francesco06lucarelli@gmail.com>
Co-authored-by: t8y2 <1156263951@qq.com>
Co-authored-by: dqn <someonegdeng@qq.com>
2026-06-03 10:39:11 +08:00
t8y2 373d5c1ef2 fix(ui): soften dark theme contrast 2026-06-03 01:46:54 +08:00
t8y2 be8cc640e4 refactor(grid): show pending count on commit button 2026-06-03 01:27:59 +08:00
t8y2 4ce010369b feat(grid): hide all-null columns 2026-06-03 01:12:03 +08:00
t8y2 b0856e51bc perf(app): pause cached tab background work 2026-06-02 23:41:11 +08:00
t8y2 21cfd1b0f7 perf(grid): cache canvas render state 2026-06-02 22:07:43 +08:00
t8y2 df32a46080 Merge branch 'dev/hybrid-canvas-grid'
# Conflicts:
#	apps/desktop/src/components/grid/DataGrid.vue
#	apps/desktop/src/stores/settingsStore.ts
2026-06-02 21:48:02 +08:00
t8y2 8d26602c91 fix(grid): hide readonly result badge 2026-06-02 19:42:13 +08:00
t8y2 2bdbcec65b fix(grid): keep column comments when opening filtered tables 2026-06-02 19:28:17 +08:00
t8y2 09eb1ade24 fix(grid): keep empty results scrollable 2026-06-02 19:05:32 +08:00
t8y2 5a98bda908 fix(grid): keep filters visible after query errors 2026-06-02 16:49:39 +08:00
t8y2 f195cdbc13 feat(grid): support cell detail panel layouts 2026-06-02 16:33:42 +08:00
t8y2 06a862c539 fix(grid): align canvas selection visuals 2026-06-02 16:15:55 +08:00
t8y2 396d2ff281 feat(grid): add hybrid canvas data grid renderer 2026-06-02 15:56:35 +08:00
t8y2 f5eb3ba5db fix: preserve data grid order by input 2026-06-02 11:36:59 +08:00
t8y2 b9fa36763e fix(desktop): guard cell detail previews for large values 2026-06-01 19:49:53 +08:00
t8y2 b35c1486e6 feat(desktop): improve query result exports and toolbar state 2026-06-01 19:26:15 +08:00
t8y2 fa86b530d6 fix(grid): center transpose cell text 2026-06-01 15:22:24 +08:00
t8y2 9f029dea01 fix(grid): refine footer layout and cell edit alignment 2026-06-01 15:18:29 +08:00
t8y2 7f5de70687 fix(export): include all paginated query result rows 2026-06-01 14:32:16 +08:00
t8y2 297e3d0752 fix(grid): preserve table data pagination offset 2026-06-01 14:18:21 +08:00
t8y2 4a33cd836c fix(data-grid): preserve header sort state 2026-06-01 12:30:33 +08:00
t8y2 54ea6b5d24 fix: vertically center data grid cell content 2026-06-01 00:26:19 +08:00
t8y2 e28495f3c1 perf: optimize table data loading 2026-05-31 22:10:02 +08:00
t8y2 bd77670770 fix: hide table chrome for query errors 2026-05-31 16:02:32 +08:00
t8y2 1614365393 fix: move AI fix action near query errors 2026-05-31 15:59:13 +08:00
t8y2 2face7394b fix(grid): commit temporal input before enter submit 2026-05-31 13:50:30 +08:00
t8y2 c8cf7ccf00 fix(grid): keep row numbers opaque 2026-05-31 12:57:43 +08:00
t8y2 bbd07e564b feat(grid): support binary cell downloads 2026-05-31 12:44:02 +08:00
t8y2 c0b231374d perf(desktop): optimize DataGrid wide table rendering 2026-05-31 01:48:41 +08:00
t8y2 396b168a9c fix(grid): preserve drawer widths and copy ddl 2026-05-30 19:57:23 +08:00
t8y2 e6bccddc2f fix(grid): prevent where filter field overlap 2026-05-30 19:22:41 +08:00
vrustx 398e040d5c fix(grid): add cell row and column detail dialogs (#546) 2026-05-30 19:08:42 +08:00
t8y2 133f3cfc04 perf(desktop): use lightweight dropdown menus 2026-05-30 11:02:16 +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 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 6c0db6f517 feat: add "Copy as SQL ALTER" to DataGrid column header context menu
Right-click a column header in the data grid to copy the ALTER TABLE
statement for that column, making it easy to replicate column definitions
across databases. Supports all major dialects (MySQL, Postgres, SQL Server,
Oracle, ClickHouse, SQLite, DuckDB, H2).

Closes #516
2026-05-29 15:09:10 +08:00
t8y2 539faef23d feat(query): display total row count in result status bar
Execute COUNT query asynchronously after main query to show total
matching rows. Strip user-supplied LIMIT/OFFSET from count SQL so
the total reflects all rows, not just the limited page.
2026-05-28 22:44:13 +08:00
t8y2 d57660eba9 fix(grid): freeze row number column on horizontal scroll 2026-05-28 20:47:47 +08:00
t8y2 f41601e4dc fix(grid): improve column selection and transpose highlights 2026-05-28 20:09:35 +08:00
t8y2 3f64e830f8 fix(grid): show cell highlight for row multi-select 2026-05-28 19:03:21 +08:00
t8y2 a036ea1e8d fix(grid): sync value editor with selected cell 2026-05-28 18:31:57 +08:00
t8y2 4de788ada2 fix(ci): align desktop tests with zoom changes 2026-05-28 17:51:36 +08:00
t8y2 56c937f844 refactor: migrate all context menus to CustomContextMenu
Replace reka-ui ContextMenu usage in QueryHistory, DataGrid,
AppTabBar, ObjectBrowser, and TreeItem with the lightweight
CustomContextMenu component. This removes the last reka-ui
context menu dependencies and eliminates the performance
overhead of multiple cached ContextMenu instances.
2026-05-28 13:24:03 +08:00
t8y2 b3ddf9716f feat(grid): add search bar to table info panel for filtering columns, indexes, foreign keys, triggers, and DDL
Closes #493.
2026-05-28 11:02:59 +08:00
t8y2 753e40d403 Fix CI TypeScript check and rust disk pressure 2026-05-28 00:15:19 +08:00
t8y2 66ce9a368e feat(grid): always show sort button in column header regardless of compact mode
Previously when compactColumnHeaderActions was enabled, the sort button was
hidden inside a dropdown menu, requiring two clicks to sort. Now the sort
button is always visible, while formatter and local filter remain in the
dropdown when compact mode is on.
2026-05-28 00:00:03 +08:00
t8y2 68c8a5cc7b fix: fix value editor scrolling and add selection highlight
- Fix value editor not scrollable when content exceeds container
  (overflow-hidden -> overflow-auto)
- Extract vscodeSelectionLayer from QueryEditor into shared module
  and apply to value editor for consistent selection highlighting
2026-05-27 16:05:30 +08:00
t8y2 12abe9d0e0 feat: add configurable find/replace shortcuts with Mod-R routing
Add find and replace shortcut definitions to the shortcut registry with
Mod+F and Mod+R defaults. Route Mod-R through App → ContentArea to
dispatch to either the query editor replace panel or data grid refresh
based on focus context. Add isModRShortcut helper and tests.
2026-05-27 12:20:20 +08:00
t8y2 366756333a feat: use codemirror for cell detail editor 2026-05-26 21:02:01 +08:00