Commit Graph
89 Commits
Author SHA1 Message Date
t8y2 7bd8d29a79 feat(sidebar): lazily load database object groups 2026-06-07 23:44:40 +08:00
Caisinandcaisin 13363b9094 Enable safe multi-connection cleanup from the sidebar (#816)
The sidebar already supports multi-select, so deletion now resolves the context-clicked selected connection set before confirming. Connection removal gained a batched path to persist once while pruning sidebar layout, pins, active state, connection errors, and stale selection for every removed connection.

Constraint: No new dependencies and existing single-connection delete behavior must remain available.\nRejected: Delete every selected tree item regardless of type | mixed tree selections could unexpectedly remove connections while table/object deletion has separate SQL confirmation behavior.\nConfidence: high\nScope-risk: narrow\nTested: pnpm fmt; pnpm test; pnpm typecheck; pnpm lint; pnpm build\nNot-tested: Manual desktop UI interaction against a running Tauri window

Co-authored-by: caisin <caisin@caisins-Mac-mini.local>
2026-06-07 16:58:49 +08:00
t8y2 74e19ec6a3 feat(databend): support agent driver 2026-06-07 16:39:22 +08:00
Caisinandcaisin 8c0fe3a6e7 Expose forwarded database port for local testing (#803)
Database connection context menus now show a copy action when the connection has enabled transport layers. The action starts or reuses the ordered transport chain, copies the final local forwarding port, and keeps runtime config cached so later disconnect cleanup can stop the created tunnel.

Constraint: Local testing sometimes needs external tools to connect through DBX's generated proxy/tunnel endpoint

Rejected: Copy full host:port endpoint | user specifically asked for the port and existing tunnel host is always localhost

Rejected: Require an active pool before copying | local test workflows may need the tunnel before opening the DBX connection

Confidence: high

Scope-risk: moderate

Tested: pnpm test -- packages/app-tests/connectionTransport.test.ts (ran full app-tests: 862 passed)

Tested: pnpm typecheck

Tested: pnpm exec oxlint --vue-plugin apps/desktop/src/components/sidebar/TreeItem.vue apps/desktop/src/lib/connectionTransport.ts apps/desktop/src/lib/api.ts apps/desktop/src/lib/tauri.ts apps/desktop/src/lib/http.ts

Tested: cargo check -p dbx-core -p dbx-web

Tested: cargo check -p dbx

Tested: cargo fmt --check --all

Co-authored-by: caisin <caisin@caisins-Mac-mini.local>
2026-06-07 01:00:34 +08:00
t8y2 b226b445d6 fix(export): preserve MySQL bit literals in SQL export 2026-06-06 19:03:21 +08:00
t8y2 44d6f167ea fix: show full tab title immediately when opening table from sidebar
Set tableMeta early so tabDisplayTitle can render the @database suffix
right away instead of waiting for loadTableMeta to complete.
2026-06-06 00:05:13 +08:00
t8y2 ee94157055 fix(desktop): add color fallbacks for legacy webviews 2026-06-05 18:07:11 +08:00
t8y2 a2c9503a3d perf(sidebar): reduce tree selection overhead 2026-06-05 14:30:25 +08:00
t8y2 120566b1fd fix: improve JDBC dialect handling 2026-06-04 19:40:52 +08:00
t8y2 13e2cdde6f feat: add "reuse data tab" setting to avoid opening too many tabs when clicking table names
Add a configurable option in Settings > Navigation to reuse an existing data
tab instead of creating a new one each time a table is clicked in the sidebar.
2026-06-04 13:44:52 +08:00
skyler ff2210e5a4 Merge pull request #702 from DengQingNian/optimize/export-pagination-orderby-batchsize
perf(ui): 优化数据导出的ui体验和性能
2026-06-03 21:42:38 +08:00
t8y2 2183c370dc fix(export): handle table export edge cases 2026-06-03 21:41:16 +08:00
t8y2 4d50af05fd fix(sidebar): keep connection search results visible 2026-06-03 20:52:57 +08:00
dqn 4a12a575ed perf(ui): 优化数据导出的ui体验和性能 2026-06-03 20:19:25 +08:00
dqn 57c936bf8e fix(desktop): swap import/export icons for data/database context menu items
Import now uses Download icon and Export uses Upload icon (they were
reversed), consistent with the connection import/export icon fix.
2026-06-03 15:35:37 +08:00
t8y2 e67894bea7 chore: upgrade frontend tooling and speed up checks 2026-06-03 12:20:27 +08:00
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 30cd447e4f perf(export): stream table CSV from Rust 2026-06-02 23:00:58 +08:00
t8y2 ccaa50e36b fix(query): honor connection timeout during exports 2026-06-02 19:38:21 +08:00
t8y2 2bdbcec65b fix(grid): keep column comments when opening filtered tables 2026-06-02 19:28:17 +08:00
t8y2 2ff4a3fd97 fix(tabs): close connection tabs on disconnect 2026-06-02 18:19:28 +08:00
t8y2 53239d91fb fix(sidebar): use filtered order for range selection 2026-06-02 18:13:13 +08:00
t8y2 2d4c489a31 fix(sidebar): show close database action for empty databases 2026-06-02 10:45:08 +08:00
t8y2 90c618dac6 feat(desktop): add create actions to tree groups 2026-06-02 02:10:49 +08:00
t8y2 0d89ee3fe9 feat(desktop): paste copied tree table as clone 2026-06-02 02:06:36 +08:00
t8y2 e6b8cf8a5b feat(desktop): add tree menu shortcuts 2026-06-02 01:51:25 +08:00
t8y2 ec5aa7a92b feat(desktop): copy table structure as documents 2026-06-02 01:45:20 +08:00
t8y2 36923fa581 fix(desktop): keep saving structure export sql 2026-06-02 01:24:19 +08:00
t8y2 6dee9705d9 feat(desktop): support tree multi-select actions 2026-06-02 01:19:14 +08:00
t8y2 ac7a5b7576 feat(desktop): drop tree schema objects 2026-06-02 00:33:58 +08:00
t8y2 088eaccecc fix(desktop): copy parent name for tree group nodes 2026-06-02 00:00:07 +08:00
t8y2 b4c469a69f fix(desktop): close database tabs with connection 2026-06-01 20:21:42 +08:00
t8y2 7eca75b325 feat: support Oracle package sources 2026-06-01 18:43:20 +08:00
t8y2 ce411f27e9 fix(sidebar): reorder connection toolbar actions 2026-06-01 13:55:55 +08:00
t8y2 7ab7b8e0f3 feat(objects): add procedure execution dialog 2026-06-01 13:37:57 +08:00
vrustx e36e42723a Merge remote-tracking branch 'upstream/main' into codex/fix-260-482-overflow-navigation
# Conflicts:
#	apps/desktop/src/components/layout/AppTabBar.vue
#	apps/desktop/src/lib/tabPresentation.ts
2026-05-31 17:24:07 +08:00
t8y2 33e0cfa831 Optimize table data open latency 2026-05-31 17:06:29 +08:00
vrustx d5b85fa9d0 Fix full-row connection tint in sidebar 2026-05-31 16:41:30 +08:00
vrustx 9d603b617d Refine overflow navigation review feedback 2026-05-31 11:47:44 +08:00
vrustx e94de447c9 Fix sidebar and tab overflow navigation 2026-05-31 02:41:43 +08:00
t8y2 f13c46b903 fix(sidebar): show tooltips only for truncated labels 2026-05-30 21:55:01 +08:00
vrustx fa08ed56a0 fix: display partition tables hierarchically 2026-05-30 21:51:21 +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 6b8ca6af87 fix(sidebar): scroll to newly created groups 2026-05-30 16:09:34 +08:00
t8y2 13d52514d9 feat(connection): close database scoped pools 2026-05-30 12:34:14 +08:00
t8y2 133f3cfc04 perf(desktop): use lightweight dropdown menus 2026-05-30 11:02:16 +08:00
t8y2 26ed2b4aff perf(desktop): use lightweight sidebar tree tooltips 2026-05-30 10:31:32 +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