[package]
name = "mailcore"
version = "0.1.1"
edition = "2021"

[lib]
crate-type = ["lib", "cdylib", "staticlib"]

[dependencies]
# IMAP/SMTP
async-imap = { version = "0.9", default-features = false, features = ["runtime-tokio"] }
lettre = { version = "0.11", default-features = false, features = ["tokio1", "tokio1-rustls-tls", "builder", "smtp-transport", "pool"] }

# TLS Support (Manual for IMAP)
tokio-rustls = "0.26"
rustls = { version = "0.23", features = ["ring"] }
rustls-native-certs = "0.7" # Confirm 0.7 or 0.8 for rustls 0.23
rustls-pki-types = "1"
webpki-roots = "0.26"

# MIME
mail-parser = "0.9"
mail-builder = "0.3"
# HTTP Client
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
sha1 = "0.10"
zbase32 = "0.1"

# DNS
trust-dns-resolver = { version = "0.23", default-features = false, features = ["tokio-runtime", "dns-over-rustls"] }

# Storage
rusqlite = { version = "0.31", features = ["bundled"] }

# Async runtime
tokio = { version = "1", features = ["full"] }

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# FFI
flutter_rust_bridge = "=2.11.1"
once_cell = "1"
lazy_static = "1"

# Error handling
anyhow = "1"
thiserror = "1"

# Logging
tracing = "0.1"
tracing-subscriber = "0.3"
futures = "0.3.31"
chrono = "0.4.43"
# Removed native-tls dependencies for better cross-platform compatibility
keyring = { version = "3", features = ["sync-secret-service"] }

# Platform-specific
[target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies]
security-framework = "2"
core-foundation = "0.9"

[target.'cfg(target_os = "android")'.dependencies]
jni = "0.21"

[dev-dependencies]
tokio-test = "0.4"
tempfile = "3"

[profile.release]
opt-level = "s"
lto = false
codegen-units = 1
panic = "abort"
