[package] name = "smokesignal" version = "1.0.2" edition = "2021" rust-version = "1.83" authors = ["Nick Gerakines "] description = "An event and RSVP management application." readme = "README.md" homepage = "https://smokesignal.events/" repository = "https://tangled.sh/@smokesignal.events/smokesignal" license = "MIT" build = "build.rs" publish = false include = ["/src", "/templates", "/static", "/i18n", "/migrations", "/build.rs", "/LICENSE", "/README.md", "/Dockerfile"] default-run = "smokesignal" [lib] name = "smokesignal" path = "src/lib.rs" [[bin]] name = "i18n-tester" path = "src/bin/i18n_tester.rs" [features] default = ["reload"] embed = ["dep:minijinja-embed"] reload = ["dep:minijinja-autoreload", "minijinja/loader"] [build-dependencies] minijinja-embed = {version = "2.7"} [dependencies] anyhow = "1.0" async-trait = "0.1" axum-extra = { version = "0.10", features = ["cookie", "cookie-private", "form", "query", "cookie-key-expansion", "typed-header", "typed-routing"] } axum = { version = "0.8", features = ["http2", "macros"] } axum-template = { version = "3.0", features = ["minijinja-autoreload", "minijinja"] } base64 = "0.22" base64-url = "2.0.2" chrono-tz = { version = "0.10", features = ["serde"] } chrono = { version = "0.4", default-features = false, features = ["std", "alloc", "now", "serde"] } futures-util = { version = "0.3", features = ["sink"] } headers = "0.4" html-escape = "0.2" http = "1.1" regex = "1.10" serde_json = { version = "1.0", features = ["alloc"] } serde = { version = "1.0", features = ["alloc", "derive"] } thiserror = "2.0" tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] } tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] } tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] } tower = { version = "0.5", features = ["limit", "timeout", "tokio", "tracing"] } tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] } tracing = { version = "0.1", features = ["async-await", "log", "valuable"] } reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] } reqwest-chain = "1" reqwest-middleware = { version = "0.4", features = ["http2", "json", "multipart"] } reqwest-retry = "0.7" duration-str = "0.11" minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] } minijinja-autoreload = { version = "2.7", optional = true } minijinja-embed = { version = "2.7", optional = true } axum-htmx = { version = "0.7", features = ["auto-vary"] } hickory-resolver = { version = "0.24", features = ["dns-over-https-rustls", "dns-over-rustls", "rustls", "tokio-rustls"] } cityhasher = "0.1" rand = "0.8" async-stream = "0.3" tokio-stream = "0.1" url = "2.5" cookie = "0.18" ammonia = "4" rust-embed = "8.5" sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] } elliptic-curve = { version = "0.13.8", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits", "hash2curve"] } p256 = { version = "0.13.2", features = ["ecdsa-core", "jwk", "serde", "ecdh"] } ordermap = "0.5" urlencoding = "2.1" ulid = { version = "1.1", features = ["serde"] } unic-langid = "0.9" intl-memoizer = "0.5" fluent = "0.16" fluent-bundle = "0.15" fluent-syntax = "0.11" sha2 = "0.10.8" redis = { version = "0.28", features = ["tokio-comp", "tokio-rustls-comp"] } itertools = "0.14.0" deadpool = "0.12.2" deadpool-redis = {version = "0.20.0", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] } crockford = "1.2.1" tokio-websockets = { version = "0.11.3", features = ["client", "rand", "ring", "rustls-native-roots"] } zstd = "0.13.3" once_cell = "1.19" parking_lot = "0.12" metrohash = "1.0.7" fluent-templates = { version = "0.13.0", features = ["handlebars"] } serde_urlencoded = "0.7.1" ics = "0.5" # AT Protocol / Atrium dependencies # Atrium API ecosystem for AT Protocol atrium-api = "0.25.4" atrium-oauth = "0.1.3" atrium-identity = "0.1.5" atrium-xrpc = "0.12.3" atrium-xrpc-client = "0.5.14" atrium-common = "0.1.2" atrium-repo = "0.1.4" uuid = { version = "1.11", features = ["v4", "serde"] } [dev-dependencies] tokio-test = "0.4" [profile.release] opt-level = 3 lto = true strip = true [lints.rust] unsafe_code = "forbid"