Commit Graph
24 Commits
Author SHA1 Message Date
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 d2938478f4 fix(agent): defer driver version gate 2026-05-19 14:52:24 +08:00
t8y2 47f87e0361 fix(agent): verify downloaded driver artifacts 2026-05-19 14:42:19 +08:00
t8y2 94eeb38d63 refactor(agent): share driver service logic 2026-05-18 22:08:10 +08:00
t8y2 fb9582fd2c feat(drivers): add YashanDB built-in support 2026-05-18 14:33:18 +08:00
t8y2 1bcfd02de1 feat: add Microsoft Access database support
Add Access as a new database type with agent-based connectivity,
UCanAccess JDBC URL parsing, backtick identifier quoting, file-path
connection dialog, and PNG icons for Access/GoldenDB/Vastbase.
2026-05-17 09:57:04 +08:00
t8y2 e9621ef06a Add TDengine support and editable grid handling 2026-05-16 11:33:42 +08:00
t8y2 2973bb1cd5 feat: add Highgo (瀚高) database support
Add full support for Highgo database, a PostgreSQL-compatible Chinese
domestic database. Includes database type definition, connection dialog,
agent driver mapping, and database icon.
2026-05-15 14:35:19 +08:00
t8y2 242720cc3c feat: use race_download with R2 for agent/JRE downloads 2026-05-14 16:45:55 +08:00
t8y2 a0bcb1d889 feat(mongo): fallback to agent driver for pre-4.2 MongoDB
When native Rust MongoDB driver fails with wire version error,
automatically fall back to the Java agent driver which supports
older MongoDB versions. All mongo_ops route through agent RPC
when the connection pool is Agent-backed.
2026-05-14 15:04:02 +08:00
t8y2 43bd3a9ef8 feat(drivers): add upgrade all drivers button
Add a batch upgrade command that sequentially updates all drivers with
available updates, with per-driver progress tracking in the UI.
2026-05-14 10:58:47 +08:00
t8y2 3d7b149e53 feat(agents): support system Java runtime 2026-05-13 23:30:55 +08:00
t8y2 809448a161 feat: multi-JRE support, Oracle 10g driver profile, and JRE uninstall
- Support multiple JRE versions per agent driver (jre-8/, jre-17/)
- Auto-migrate legacy jre/ directory to jre-17/
- Detect macOS Adoptium JRE 8 Contents/Home/ layout
- Route Oracle 10g connections to oracle-10g agent via driver_profile
- Add Oracle 10g option in connection dialog
- Add JRE uninstall with dependency check
- Show per-JRE status and controls in driver management UI
2026-05-13 16:08:00 +08:00
t8y2 b4d1f4b04e perf: eliminate theme switch lag by suppressing CSS transitions
Disable all CSS transitions/animations during theme toggle so color
changes apply instantly instead of animating over 150ms. Also cache
Tauri window module import and set color-scheme for native UI elements.
2026-05-13 16:04:35 +08:00
t8y2 70becfd74f fix: split screenshot field from log field in issue templates
render: shell blocks image paste/drag — separate into a plain textarea
so users can attach screenshots directly.
2026-05-13 15:26:22 +08:00
t8y2 fa0dfc9383 perf: race GitHub proxies concurrently for driver downloads and registry fetch
Replace sequential proxy fallback (up to 30s worst-case) with concurrent
racing via futures::select_ok, returning the first successful response.
Add list_installed_agents_local command for instant UI rendering with
async registry update. Fix missing useToast import in RedisValueViewer.
2026-05-13 14:18:28 +08:00
t8y2 e87876c923 feat(driver-store): badge-style version/size, refresh button, fix dameng icon
- Show version and size as rounded badges instead of plain text
- Display remote version with amber badge when update available
- Add refresh button to clear registry cache and reload
- Add invalidate_agent_registry_cache Tauri command
- Fix dameng icon mapping (dameng -> dm)
2026-05-13 12:26:56 +08:00
t8y2 4d4c8f4224 feat: extract driver management into standalone tab page with registry cache
Move driver management (Agent + JDBC) out of the settings dialog into a
dedicated tab page accessible from the top toolbar. Agent drivers are shown
as a compact horizontal list; JDBC plugin/driver management is on a second
tab. Add 5-minute in-memory cache for the agent registry to avoid repeated
GitHub requests on install/uninstall/refresh operations.
2026-05-13 11:05:21 +08:00
t8y2 7ce2cf2163 feat: add 12 new agent-driven databases, migrate GaussDB to agent
Add H2, Snowflake, Trino, Hive, DB2, Informix, Neo4j, Cassandra,
BigQuery, Apache Kylin, SunDB as new agent-driven database types.
Migrate GaussDB from native rust-gaussdb to JDBC agent.

Remove rust-gaussdb dependency. Total agent-driven databases: 17.
2026-05-13 09:47:22 +08:00
t8y2 c50323cd6c feat(agent): migrate Oracle to JDBC agent, add install progress bar and toast
- Migrate Oracle from rust-oracle to JDBC agent (ojdbc11)
- Delete oracle_driver.rs (567 lines) and rust-oracle dependency
- Add streaming download progress bar for driver/JRE installation
- Add toast notifications for install/uninstall success/failure
- Add "update available" badge in driver manager
2026-05-13 09:20:06 +08:00
t8y2 bc687cee7f feat(agent): add reinstall JRE button in Driver Manager 2026-05-13 05:05:00 +08:00
t8y2 ff80e767d6 refactor: extract GITHUB_PROXIES constant shared by update and agent modules 2026-05-13 04:47:43 +08:00
t8y2 e85f9df1fe feat(agent): pluggable database drivers via JDBC agent subprocess
Migrate domestic database support (DaMeng, KingBase, Vastbase, GoldenDB) from
built-in ODBC/protocol drivers to standalone Java agent processes communicating
via stdin/stdout JSON-RPC 2.0. Agents are distributed as fat JARs with embedded
JDBC drivers, downloaded on-demand from GitHub Releases with proxy fallback.

- Add AgentDriverClient for subprocess lifecycle + JSON-RPC communication
- Add AgentManager for JRE/JAR install state management
- Add Tauri commands for driver install/uninstall/list
- Add DriverManager UI panel in settings dialog
- Extend DatabaseType with Kingbase, Vastbase, Goldendb variants
- Migrate Dameng from ODBC (dm_driver.rs) to JDBC agent
- Delete dm_driver.rs (343 lines)
- Add GitHub proxy fallback for downloads (update.hwdns.net, gh-proxy.org)

Agent code lives at https://github.com/t8y2/dbx-agents
2026-05-13 04:44:52 +08:00