Commit Graph
44 Commits
Author SHA1 Message Date
t8y2 c305325e37 perf(agents): gate download transfer progress by percent or time 2026-08-31 08:45:40 +08:00
skyler 9190554e50 fix(sqlite): validate ssh backup and query errors 2026-08-30 13:30:00 +08:00
Guoyu Su 82e5756325 feat(agent): export managed drivers for offline use 2026-08-22 15:41:21 +08:00
wu-zhao-min e90dff7be8 fix(agent): clean up operation locks after use 2026-08-20 12:24:03 +08:00
Abeautifulsnow c712be3e02 feat(agent): support cancelling installs and upgrades 2026-08-18 15:36:52 +08:00
t8y2 86bb88ab66 fix(mongodb): install legacy agent before automatic fallback
Closes #6167
2026-08-14 16:02:42 +00:00
onenewcode 84beec5136 fix(jre): allow uninstall with native drivers 2026-08-13 19:25:27 +08:00
t8y2 c68cb88bf9 feat(hive): migrate agent to native Go 2026-08-11 23:13:04 +08:00
t8y2 7a0f600857 fix(agent): verify downloaded artifact checksums 2026-08-01 21:28:55 +08:00
t8y2 d347c77c3d feat(duckdb): move support to standalone driver 2026-07-30 00:50:39 +08:00
Rahul 2f44d36018 fix(i18n): translate backend errors at UI boundaries 2026-07-29 02:40:45 +08:00
zipg 2980e32c9d fix(agent): remove system archive tool dependency 2026-07-28 13:21:20 +08:00
idx 60b0d8a9a8 fix(kafka): include EC support in managed JRE 2026-07-27 17:23:07 +08:00
Abeautifulsnow 95db01e359 feat(agents): concurrent all-agent-driver upgrade 2026-07-24 23:50:50 +08:00
t8y2 31c7fcc16f fix(drivers): isolate concurrent install progress 2026-07-23 14:38:57 +08:00
t8y2 01b5f31740 fix(agent): simplify offline archive entry types 2026-07-21 14:39:51 +08:00
t8y2 79cd12d13a feat(agents): add versioned offline driver packages 2026-07-21 13:42:39 +08:00
zipg c02b3967df fix(agent): import JRE from offline bundle 2026-07-13 22:20:58 +08:00
t8y2 fec91b9aef feat(update): mirror agent release downloads 2026-07-11 23:40:18 +08:00
t8y2 6671400fd4 fix(windows): hide subprocess console windows 2026-07-10 09:50:18 +08:00
zipg 33b4fc1dac feat(driver): clear download cache 2026-07-08 20:21:05 +08:00
t8y2 9676ed764e fix(agent): validate selected driver artifact 2026-07-03 10:31:52 +08:00
miracle 72a7207283 fix(kafka): improve mq admin compatibility 2026-07-02 12:58:33 +08:00
luoianunandluoianun ba71068bc8 fix(agent): harden JRE runtime downloads
Co-authored-by: luoianun <20828060+luoianun@users.noreply.github.com>
2026-06-30 17:59:15 +08:00
t8y2 9337c7593d fix(driver-store): hide native agent JRE badge 2026-06-30 17:38:50 +08:00
miracle 7cec4892bf feat(kafka): support Kafka MQ admin client 2026-06-30 17:01:24 +08:00
t8y2 3a25487dea feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
t8y2 db7b730dd3 fix(agent): add cache buster to R2 downloads 2026-06-16 13:25:49 +08:00
t8y2 0767062bdb fix(agent): retry and rename fallback when removing old JRE on Windows 2026-06-13 01:56:29 +08:00
t8y2 edf9dd88e3 feat(agent): unify oracle driver 2026-06-12 16:34:42 +08:00
t8y2 e6db09c638 feat(agent): support language-neutral driver launch 2026-06-12 15:08:31 +08:00
t8y2 e6062b2b07 feat(etcd): add agent-backed etcd support 2026-06-08 00:58:42 +08:00
e9ee982843 Preserve ordered SSH and proxy connection layers (#802)
* Preserve ordered SSH and proxy connection layers

Replace separate SSH/proxy connection fields with ordered transport_layers while keeping legacy migration and secret fallback paths intact. The UI now edits SSH tunnel/proxy layers in configured order without a global SSH enable gate.

Constraint: Existing saved SSH tunnels, proxy settings, and secret-store keys must continue to load through migration.
Rejected: Folding proxy fields into SshTunnelConfig | mixes proxy semantics into an SSH-specific structure.
Confidence: high
Scope-risk: moderate
Directive: Keep SSH/proxy structs provider-specific; put cross-layer chaining in transport_layer_tunnel orchestration.
Tested: git diff --check; cargo fmt --check; cargo check --workspace; cargo test -p dbx-core --lib; vue-tsc --noEmit --project apps/desktop/tsconfig.json; tsc -p packages/node-core/tsconfig.json --noEmit; oxlint --vue-plugin apps/desktop/src; tsx --tsconfig apps/desktop/tsconfig.json --test packages/app-tests/*.test.ts; tsx --test packages/node-core/tests/*.test.ts
Not-tested: Live external SSH/proxy/database endpoint integration.

* Keep ordered transport changes CI-format clean

Constraint: CI pnpm check failed only on oxfmt formatting for two desktop TypeScript files
Confidence: high
Scope-risk: narrow
Directive: Keep generated/editor config changes out of this PR fix commit
Tested: PATH="/Volumes/data/code/rust/dbx/node_modules/.bin:/Users/hekx/.codex/tmp/arg0/codex-arg0nuL34n:/Users/hekx/.cargo/bin:/Users/hekx/.local/bin:/opt/homebrew/opt/llvm/bin:/opt/homebrew/opt/libpq/bin:/Volumes/data/Users/hekx/.opencode/bin:/Users/hekx/.bun/bin:/Volumes/data/sdks/flutter/bin:/Volumes/data/Users/hekx/.cargo/bin:/Users/hekx/.local/bin:/opt/homebrew/opt/llvm/bin:/opt/homebrew/opt/libpq/bin:/Volumes/data/Users/hekx/.opencode/bin:/Users/hekx/.bun/bin:/Volumes/data/Users/hekx/Library/pnpm:/Volumes/data/sdks/flutter/bin:/Volumes/data/Users/hekx/.cargo/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/pkg/env/global/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/go/bin:/opt/homebrew/bin:/opt/podman/bin:/Applications/Ghostty.app/Contents/MacOS" rtk node scripts/run-check.mjs
Not-tested: GitHub Actions rerun not observed locally

* Keep Rust checks warning-clean

Constraint: cargo clippy --workspace --all-targets --all-features -- -D warnings failed across core, web, and tauri crates
Rejected: Broad workspace-level clippy suppression | kept allows local to long-argument command/API boundaries
Confidence: high
Scope-risk: moderate
Directive: Preserve src-tauri/tauri.conf.json as an unrelated local change outside this commit
Tested: rtk cargo clippy --workspace --all-targets --all-features -- -D warnings
Not-tested: Full GitHub Actions rerun not observed locally

* Reuse existing proxy tunnels on retry

Proxy tunnel startup now mirrors SSH tunnel behavior by returning the existing local port for an active connection id instead of replacing the managed handle. A second map check aborts a just-spawned duplicate handle if a concurrent retry won the race before insertion, preventing orphaned listeners while keeping the change narrow.

Constraint: Reviewer requested proxy tunnel behavior align with SSH local-port reuse

Rejected: Always overwrite and abort the previous handle | less consistent with SSH behavior and churns listeners during retries

Confidence: high

Scope-risk: narrow

Tested: cargo fmt --check --all

Tested: cargo test -p dbx-core db::proxy_tunnel::tests::start_tunnel_reuses_existing_local_port

Tested: cargo clippy -p dbx-core --all-targets -- -D warnings

---------

Co-authored-by: hekx <hekx@momandeMac-mini.local>
Co-authored-by: caisin <caisin@caisins-Mac-mini.local>
2026-06-06 23:22:29 +08:00
t8y2 7fb53ee0b4 fix(drivers): skip blocked driver updates 2026-06-03 14:39:46 +08:00
t8y2 9cb89d766c fix(driver): avoid false agent update prompt
Fixes #638
2026-06-02 20:17:24 +08:00
t8y2 b6ac1f177b refactor(agent): consolidate driver architecture 2026-05-29 23:29:27 +08:00
t8y2 234099aebd feat: use native postgres path for GaussDB connections 2026-05-25 19:25:35 +08:00
t8y2 a08d2aaab9 fix(agents): align managed JRE with Java 21 drivers 2026-05-21 22:11:00 +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
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
t8y2 47f87e0361 fix(agent): verify downloaded driver artifacts 2026-05-19 14:42:19 +08:00
t8y2 b16393f68c feat(database): add agent database profiles 2026-05-18 22:38:04 +08:00
t8y2 94eeb38d63 refactor(agent): share driver service logic 2026-05-18 22:08:10 +08:00