Files
tutabridge/crates/bridge/Cargo.toml
T
Anthony MandGitHub e58ee86bed Restructure into Cargo workspace with Tauri desktop GUI (#1)
Split the bridge into a tutabridge-core crate, a Tauri v2 desktop app
(src-tauri) and a React/TS UI (ui), keeping the CLI entrypoint at the
workspace root.

Add encrypted local storage (SQLCipher metadata index + encrypted .eml
files) so mail persists across launches and only the delta is fetched.

Wire the bridge to the Tuta Rust SDK via the tuta-repo submodule
(batch loading, MailDetailsBlob reading, interactive 2FA login).

Implement SMTP sending: build the draft and send it through Tuta's
DraftService/SendDraftService, mirroring the web client (body in
compressedBodyText, non-empty sender/recipient names, populated
SendDraftParameters). Add unit tests for the draft/send payload building.
2026-05-27 14:03:15 +02:00

39 lines
894 B
TOML

[package]
name = "tutabridge-core"
version = "0.1.0"
edition = "2021"
rust-version = "1.84.0"
[dependencies]
tuta-sdk = { path = "../../tuta-repo/tuta-sdk/rust/sdk", features = ["net"] }
tokio = { version = "1.43", features = ["full"] }
async-trait = "0.1"
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
tokio-rustls = { version = "0.26", features = ["ring"] }
rustls-pemfile = "2"
rcgen = "0.13"
crypto-primitives = { path = "../../tuta-repo/tuta-sdk/rust/crypto-primitives" }
keyring = { version = "3", features = ["apple-native"] }
rand = "0.8"
thiserror = "2.0"
base64 = "0.22"
dirs = "6"
anyhow = "1"
rand_core = "0.6"
rusqlite = { version = "0.32", features = ["bundled-sqlcipher"] }
hex = "0.4"
[dev-dependencies]
tuta-sdk = { path = "../../tuta-repo/tuta-sdk/rust/sdk", features = ["net", "logging", "testing"] }
rpassword = "7"