Switch oracle-rs to t8y2/oracle-rs fork with SYSDBA support.
Add sysdba field to ConnectionConfig and a checkbox in the
Oracle connection dialog to enable connecting as SYS with
SYSDBA privileges.
Use try_get_raw + as_bytes fallback for types that sqlx cannot decode
via standard type mappings (e.g. PostGIS geometry, citext, ltree).
UTF-8 decodable values display as text; binary values display as hex.
Closes#108
- First-time visitors see a password setup page instead of open access
- Password persisted to SQLite (env var DBX_PASSWORD takes priority)
- Add change password in settings dialog (Security tab, web only)
- Split settings dialog into Editor and Security tabs
- Argon2 hashing for all password storage
- Switch sqlx, reqwest, tiberius from native-tls to rustls to eliminate
OpenSSL dependency, enabling clean cross-compilation
- Use cargo-zigbuild to cross-compile dbx-web for both amd64 and arm64
natively without QEMU emulation for Rust compilation
- Frontend and backend stages use --platform=$BUILDPLATFORM to avoid
emulation during build
- Remove libssl3 from runtime image (no longer needed with rustls)
Replace all JSON file storage (connections, secrets, history, AI config,
conversations, sidebar layout) with a single SQLite database (dbx.db).
Auto-migrates existing JSON data on first launch, renaming old files to
.bak. Remove keyring dependency — passwords now stored in SQLite.
Refactor all database drivers, query execution, schema operations, and
business logic into a shared `dbx-core` crate. The Tauri desktop app
becomes a thin shell delegating to dbx-core, enabling future web and
CLI frontends to reuse the same core.