host: the drafts vault (CAS revisions, append-only history, archive, export, capture budget) with the app's VaultRules; feature vault

This commit is contained in:
CRTkafa 2026-10-01 16:08:40 +07:00
parent cbe5d1ce8d
commit 2e49577196
4 changed files with 582 additions and 0 deletions

View file

@ -17,6 +17,8 @@ default = []
tauri = ["dep:tauri", "dep:tauri-plugin-notification", "dep:tauri-plugin-updater", "dep:tokio", "dep:arboard", "dep:clipboard-win", "dep:windows", "dep:webview2-com", "dep:gtk", "dep:objc2-app-kit"]
# Store downloads (`store::net`): allow-listed https, no redirects or cookies, size caps.
net = ["dep:reqwest", "dep:rustls"]
# The drafts vault (`vault`): the app's local SQLite store of drafts with CAS revisions.
vault = ["dep:rusqlite"]
# The whole app (`app::run_app`): window, shell and tab webviews, the generic commands and the
# Tauri plugins every wayBetter app registers.
app = ["tauri", "dep:tauri-plugin-single-instance", "dep:tauri-plugin-deep-link", "dep:tauri-plugin-window-state", "dep:tauri-plugin-opener", "dep:tauri-plugin-process", "dep:tauri-plugin-dialog"]
@ -60,6 +62,7 @@ tauri-plugin-window-state = { version = "2", optional = true }
tauri-plugin-opener = { version = "2", optional = true }
tauri-plugin-process = { version = "2", optional = true }
tauri-plugin-dialog = { version = "2", optional = true }
rusqlite = { version = "0.38", features = ["bundled"], optional = true }
reqwest = { version = "0.13", default-features = false, features = ["rustls-no-provider"], optional = true }
rustls = { version = "0.23", default-features = false, features = ["ring"], optional = true }