[package]
name = "concord"
version = "2.3.1"
edition = "2024"
rust-version = "1.85"
description = "A terminal user interface client for Discord"
homepage = "https://github.com/chojs23/concord"
repository = "https://github.com/chojs23/concord"
license = "GPL-3.0-only"
readme = "README.md"
keywords = ["discord", "tui", "terminal", "ratatui", "client"]
categories = ["command-line-utilities"]
exclude = ["docs/", ".github/", "dist-workspace.toml"]

[dependencies]
aes-gcm = "0.10.3"
arboard = { version = "3.6.1", features = ["wayland-data-control"] }
base64 = "0.22"
chacha20poly1305 = "0.10.1"
chrono = { version = "0.4.44", default-features = false, features = ["clock"] }
crossterm = { version = "0.29.0", features = ["event-stream", "osc52"] }
cpal = { version = "0.17.3", optional = true }
davey = "0.1.3"
dirs = "6.0.0"
emojis = "0.8.2"
futures = "0.3.32"
image = "0.25.10"
keyring = { version = "3.6.3", default-features = false, features = [
  "apple-native",
  "async-secret-service",
  "crypto-rust",
  "tokio",
  "windows-native",
] }
mime_guess = "2.0"
notify-rust = "4"
opus = "0.3.1"
qrcode = { version = "0.14", default-features = false }
rand = "0.8"
ratatui = "0.30.0"
ratatui-image = { version = "11.0.5", default-features = false, features = [
  "crossterm",
  "image-defaults",
] }
reqwest = { version = "0.12", default-features = false, features = [
  "rustls-tls-webpki-roots-no-provider",
  "json",
  "charset",
  "http2",
  "cookies",
  "gzip",
  "deflate",
  "brotli",
  "zstd",
  "multipart",
] }
rsa = "0.9"
rustls = { version = "0.23.39", default-features = false, features = [
  "ring",
  "std",
] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
thiserror = "2.0.18"
tokio = { version = "1.52.1", features = [
  "macros",
  "rt-multi-thread",
  "fs",
  "process",
  "signal",
  "net",
  "sync",
  "time",
] }
tokio-tungstenite = { version = "0.27", default-features = false, features = [
  "connect",
  "handshake",
  "rustls-tls-webpki-roots",
] }
tempfile = "3"
toml = "1.1.2"
unicode-segmentation = "1.12.0"
unicode-width = "0.2.2"
uuid = { version = "1.23.1", features = ["v4"] }
syntect = { version = "5.3.0", default-features = false, features = [
  "default-fancy",
] }
interprocess = { version = "2.4.2", features = ["tokio"] }

[features]
default = ["voice-playback"]
voice-playback = ["dep:cpal", "dep:alsa"]

[target.'cfg(target_os = "linux")'.dependencies]
alsa = { version = "0.11", optional = true }

[profile.dist]
inherits = "release"
lto = true
codegen-units = 1
strip = true
