mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-05-06 08:36:53 -04:00
e93769786c
* feat: automatically sanitise usernames on create/update Signed-off-by: higgs01 <6546697+higgs01@users.noreply.github.com> * test: add tests for validation and sanitasion Signed-off-by: higgs01 <6546697+higgs01@users.noreply.github.com> * fix: Return only the sanitised string in sanitise_username (#424) * fix: Use as_str for role.id in insert_role * Run rustfmt for code changes Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * feat: Make minimum username length configurable in Revolt.toml (#424) * fix: Remove redundant call to is_match with blocked username regex Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * Update crates/core/database/src/models/users/model.rs Co-authored-by: Tom <iamtomahawkx@gmail.com> Signed-off-by: jarvarvarvis <53998846+jarvarvarvis@users.noreply.github.com> * Update crates/core/database/src/models/users/model.rs Co-authored-by: Tom <iamtomahawkx@gmail.com> Signed-off-by: jarvarvarvis <53998846+jarvarvarvis@users.noreply.github.com> * Update crates/core/database/src/models/users/model.rs Co-authored-by: Tom <iamtomahawkx@gmail.com> Signed-off-by: jarvarvarvis <53998846+jarvarvarvis@users.noreply.github.com> * Update crates/core/database/src/models/users/model.rs Co-authored-by: Tom <iamtomahawkx@gmail.com> Signed-off-by: jarvarvarvis <53998846+jarvarvarvis@users.noreply.github.com> * fix: Implement suggested changes and clean up last 4 commits Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * fix: Disallow stoat as username, update create_user test Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * fix: Use sanitised username to find updated discriminator Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * feat: Sanitise revolt.chat in username Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * fix: Implement discussed changes Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * test: Fix create_user test Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> * fix: don't overflow the stack not entirely sure why this fixes it and I don't like it. But work it does. Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com> * fix: revert odd file mode change Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> --------- Signed-off-by: higgs01 <6546697+higgs01@users.noreply.github.com> Signed-off-by: jarvarvarvis <jarvistrigo@gmail.com> Signed-off-by: jarvarvarvis <53998846+jarvarvarvis@users.noreply.github.com> Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com> Co-authored-by: higgs01 <6546697+higgs01@users.noreply.github.com> Co-authored-by: Tom <iamtomahawkx@gmail.com>
202 lines
4.4 KiB
TOML
202 lines
4.4 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
|
|
members = [
|
|
"crates/delta",
|
|
"crates/bonfire",
|
|
"crates/core/*",
|
|
"crates/services/*",
|
|
"crates/daemons/*",
|
|
]
|
|
|
|
[patch.crates-io]
|
|
redis23 = { package = "redis", version = "0.23.3", git = "https://github.com/revoltchat/redis-rs", rev = "523b2937367e17bd0073722bf6e23d06042cb4e4" }
|
|
#authifier = { package = "authifier", version = "1.0.10", path = "../authifier/crates/authifier" }
|
|
#rocket_authifier = { package = "rocket_authifier", version = "1.0.10", path = "../authifier/crates/rocket_authifier" }
|
|
|
|
[profile.release]
|
|
lto = true
|
|
|
|
[workspace.dependencies]
|
|
# Async
|
|
async-trait = "0.1.89"
|
|
tokio = "1.49.0"
|
|
async-channel = "2.3.1"
|
|
futures = "0.3.32"
|
|
async-std = "1.8.0"
|
|
async-tungstenite = "0.17.0"
|
|
futures-locks = "0.7.1"
|
|
async-lock = "2.8.0"
|
|
async-recursion = "1.0.4"
|
|
|
|
# Error Handling
|
|
anyhow = "1.0.100"
|
|
thiserror = "2.0.18"
|
|
sentry = "0.31.5"
|
|
sentry-anyhow = "0.38.1"
|
|
|
|
# Data Validation
|
|
regex = "1.12.3"
|
|
validator = "0.16"
|
|
|
|
# Data Types
|
|
uuid = "1.19.0"
|
|
ulid = "1.2.1"
|
|
nanoid = "0.4.0"
|
|
typenum = "1.17.0"
|
|
num_enum = "0.6.1"
|
|
bitfield = "0.13.2"
|
|
|
|
# Time
|
|
chrono = "0.4.15"
|
|
iso8601-timestamp = "0.2.10"
|
|
|
|
# Data Collections
|
|
lru = "0.16.3"
|
|
indexmap = "2.13.1"
|
|
dashmap = "5.2.0"
|
|
moka = "0.12.8"
|
|
lru_time_cache = "0.11.11"
|
|
deadqueue = "0.2.4"
|
|
|
|
# Web scraping
|
|
scraper = "0.20.0"
|
|
encoding_rs = "0.8.34"
|
|
|
|
# Mail
|
|
lettre = "0.10.0-alpha.4"
|
|
|
|
# HTTP Requests
|
|
reqwest = "0.13.2"
|
|
isahc = "1.7"
|
|
|
|
# Notifications
|
|
fcm_v1 = "0.3.0"
|
|
web-push = "0.10.0"
|
|
revolt_a2 = "0.10"
|
|
|
|
# Parsing
|
|
logos = "0.15"
|
|
|
|
# SVG rendering
|
|
usvg = "0.44.0"
|
|
resvg = "0.44.0"
|
|
tiny-skia = "0.11.4"
|
|
|
|
# Logging
|
|
log = "0.4.29"
|
|
pretty_env_logger = "0.4.0"
|
|
|
|
# Redis
|
|
redis-kiss = "0.1.4"
|
|
fred = "8.0.1"
|
|
|
|
# Serialisation
|
|
bincode = "1.3.3"
|
|
serde_json = "1.0.79"
|
|
rmp-serde = "1.0.0"
|
|
serde = { version = "1", features = ["derive"] }
|
|
strum_macros = "0.26.4"
|
|
|
|
# MongoDB
|
|
bson = { version = "2.1.0" }
|
|
mongodb = { version = "3.1.0" }
|
|
|
|
# S3
|
|
aws-config = "1.5.5"
|
|
aws-sdk-s3 = "1.46.0"
|
|
|
|
# Axum (HTTP server)
|
|
axum-macros = "0.4.1"
|
|
axum_typed_multipart = "0.12.1"
|
|
axum = "0.7.5"
|
|
axum-extra = "0.9"
|
|
tower-http = "0.5.2"
|
|
|
|
# Rocket (HTTP server)
|
|
rocket = "0.5.1"
|
|
rocket_empty = "0.1.1"
|
|
revolt_rocket_okapi = "0.10.0"
|
|
rocket_cors = { git = "https://github.com/lawliet89/rocket_cors", rev = "072d90359b23e9b291df6b672c07c93de9c46011" }
|
|
rocket_authifier = "1.0.16"
|
|
rocket_prometheus = "0.10.0-rc.3"
|
|
|
|
# Spec Generation
|
|
utoipa = "4.2.3"
|
|
revolt_okapi = "0.9.1"
|
|
schemars = "0.8.8"
|
|
utoipa-scalar = "0.1.0"
|
|
|
|
# Image Processing
|
|
jxl-oxide = "0.12.5"
|
|
sha2 = "0.10.8"
|
|
kamadak-exif = "0.5.4"
|
|
webp = "0.3.0"
|
|
image = "0.25.2" # avif encode requires dav1d system library: features = ["avif-native"]
|
|
thumbhash = "0.1.0"
|
|
|
|
# File processing
|
|
revolt_clamav-client = "0.1.5"
|
|
simdutf8 = "0.1.4"
|
|
|
|
# Content type processing
|
|
infer = "0.16.0"
|
|
ffprobe = "0.4.0"
|
|
imagesize = "0.13.0"
|
|
|
|
# OpenTelemetry
|
|
tracing = "0.1.44"
|
|
tracing-subscriber = { version = "0.3.22", features = [
|
|
"env-filter",
|
|
] } # consider https://crates.io/crates/better-tracing
|
|
opentelemetry = { version = "0.31.0", features = ["logs"] }
|
|
opentelemetry_sdk = { version = "0.31.0", features = ["logs"] }
|
|
opentelemetry-otlp = { version = "0.31.0", features = ["logs"] }
|
|
opentelemetry-appender-tracing = "0.31.1"
|
|
|
|
# Authifier
|
|
authifier = "1.0.16"
|
|
|
|
# RabbitMQ
|
|
amqprs = "1.7.0"
|
|
|
|
# Voice
|
|
livekit-api = "0.4.4"
|
|
livekit-protocol = "0.7.4"
|
|
livekit-runtime = "0.4.0"
|
|
|
|
# Other Utilities
|
|
once_cell = "1.9.0"
|
|
config = "0.13.3"
|
|
cached = "0.44.0"
|
|
rand = "0.8.5"
|
|
base64 = "0.21.3"
|
|
decancer = "3.3.3"
|
|
linkify = "0.8.1"
|
|
url-escape = "0.1.1"
|
|
revolt_optional_struct = "0.2.0"
|
|
unicode-segmentation = "1.10.1"
|
|
querystring = "1.1.0"
|
|
tempfile = "3.12.0"
|
|
aes-gcm = "0.10.3"
|
|
auto_ops = "0.3.0"
|
|
url = "2.2.2"
|
|
impl_ops = "0.1.1"
|
|
lazy_static = "1.5.0"
|
|
mime = "0.3.17"
|
|
|
|
# Build Dependencies
|
|
vergen = "7.5.0"
|
|
|
|
# Local packages
|
|
revolt-coalesced = { version = "0.12.0", path = "crates/core/coalesced" }
|
|
revolt-config = { version = "0.12.0", path = "crates/core/config" }
|
|
revolt-database = { version = "0.12.0", path = "crates/core/database" }
|
|
revolt-files = { version = "0.12.0", path = "crates/core/files" }
|
|
revolt-models = { version = "0.12.0", path = "crates/core/models" }
|
|
revolt-parser = { version = "0.12.0", path = "crates/core/parser" }
|
|
revolt-permissions = { version = "0.12.0", path = "crates/core/permissions" }
|
|
revolt-presence = { version = "0.12.0", path = "crates/core/presence" }
|
|
revolt-ratelimits = { version = "0.12.0", path = "crates/core/ratelimits" }
|
|
revolt-result = { version = "0.12.0", path = "crates/core/result" }
|