* 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>
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.
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
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.
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.
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.
- 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