Add user profile page with custom avatar upload (crop/resize to 256px), avatar display throughout the app, and MD5-based Gravatar fallback. Add image paste/attach support in chat with vision model detection via OpenRouter API. Images can be pasted from clipboard or selected via file picker, uploaded to the server, and sent alongside messages. The AI receives images as base64 data URLs for multimodal models. Models with vision support are indicated with a badge in the model picker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
916 B
TOML
29 lines
916 B
TOML
[package]
|
|
name = "groupchat-server"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
axum = { version = "0.7", features = ["ws", "macros", "multipart"] }
|
|
axum-extra = { version = "0.9", features = ["typed-header"] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
tower = "0.4"
|
|
tower-http = { version = "0.5", features = ["cors", "fs"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
sqlx = { version = "0.7", features = ["runtime-tokio", "sqlite", "uuid", "chrono"] }
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
jsonwebtoken = "9"
|
|
argon2 = "0.5"
|
|
reqwest = { version = "0.12", features = ["json", "stream", "gzip", "brotli", "deflate"] }
|
|
futures = "0.3"
|
|
dotenvy = "0.15"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
rand = "0.8"
|
|
async-trait = "0.1"
|
|
scraper = "0.22"
|
|
md-5 = "0.10"
|
|
base64 = "0.22"
|