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.
- Add ssh_key_passphrase field to ConnectionConfig model with full keyring lifecycle
- Pass passphrase to russh load_secret_key for encrypted SSH keys
- Add native file picker (FolderOpen icon) next to SSH key path input
- Add password-type input for key passphrase in connection dialog
- Make connection dialog form scrollable for short windows
- Fix alignment of key path input and browse button
- Add i18n keys (en + zh-CN)
During development, every Rust recompile changes the binary signature,
causing macOS to invalidate Keychain "Always Allow" and prompt for the
password on every hot reload. Switch to a JSON file store in debug
builds so dev workflow is uninterrupted; release builds still use the
system keychain.
- New elasticsearch_driver using reqwest HTTP client
- Reuse MongoDB document browser (MongoDocBrowser) for ES indices
- ES indices shown as collections under "default" database
- Document CRUD via ES REST API (_search, _doc)
- No extra dependencies (uses existing reqwest)