You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PDF viewer rewritten: Dynamic render scale for pixel-perfect page width; BoxWithConstraints replaces displayMetrics.widthPixels for accurate layout (handles insets, multi-window, scaffold padding)
Pinch-to-zoom: Two-finger pinch zoom in PDF viewer (1x–5x), vertical scroll at zoomed-in levels
Rust native library auto-build: Gradle now builds Rust vault-native library automatically — generates UniFFI Kotlin bindings, compiles for Android, and packages the .so into the APK. No pre-committed build artifacts needed.
F-Droid
F-Droid build recipe documented: F-DROID.md covers MuPDF srclib, Rust toolchain, NDK config, and full recipe
Rust version pinned: vault-native/rust-toolchain.toml pins Rust 1.78.0 for reproducible builds
NDK path hardcoding removed: .cargo/config.toml deleted; NDK discovered automatically via ANDROID_NDK_HOME or android.ndkDirectory
Fixes
Backup import crash: Fixed crash when importing backup into existing database — reopenDatabase() no longer closes the old database unnecessarily
Backup import database corruption: Fixed "file is not a database" error after import by deferring database recreation and hardening WAL/SHM cleanup
Startup crash after failed import: initializeDatabase() now force-opens the database inside a try/catch block, catching open errors early instead of crashing on the first DAO call