Compare commits

..

29 Commits

Author SHA1 Message Date
54dd04b65e Merge pull request 'Update Rust crate clap to 4.5.41' () from renovate/clap-4.x into master 2025-07-10 00:52:29 +00:00
8ca288748d Update Rust crate clap to 4.5.41 2025-07-10 00:16:08 +00:00
3849e812a8 Merge pull request 'Update Rust crate ruma to 0.12.5' () from renovate/ruma-0.x into master 2025-07-09 00:40:11 +00:00
57e49a86d9 Update Rust crate ruma to 0.12.5 2025-07-09 00:15:36 +00:00
9cfe3f33e9 Merge pull request 'Update Rust crate ruma to 0.12.4' () from renovate/ruma-0.x into master 2025-07-08 00:40:43 +00:00
26d1ee3602 Update Rust crate ruma to 0.12.4 2025-07-08 00:15:35 +00:00
286547d455 Merge pull request 'Update Rust crate tokio to 1.46.1' () from renovate/tokio-1.x into master 2025-07-05 00:44:48 +00:00
47337dc140 Update Rust crate tokio to 1.46.1 2025-07-05 00:09:10 +00:00
e1b0c9563f Update Rust crate tokio to 1.46.0 2025-07-04 00:09:01 +00:00
5e84b40d05 Fix cargo clippy issues 2025-07-03 08:32:53 +02:00
4d1587dda2 Update Rust crate clap to 4.5.40 2025-06-10 00:22:12 +00:00
06202d5e9d Update Rust crate ruma to 0.12.3 2025-06-03 00:22:14 +00:00
bc49b0e59e Update Rust crate sha2 to 0.11.0-rc.0 2025-05-30 00:07:06 +00:00
233eb9c250 Update Rust crate clap to 4.5.39 2025-05-28 00:07:58 +00:00
acf92592ff Update Rust crate tokio to 1.45.1 2025-05-25 00:07:05 +00:00
da82b820fd Update Rust crate uuid to 1.17.0 2025-05-24 00:07:16 +00:00
409e84951b Update Rust crate actix-web to 4.11.0 2025-05-20 00:07:05 +00:00
f7527e6bc5 Update 2025-05-19 21:41:49 +02:00
0106b2bfea Fix issue 2025-05-19 21:39:29 +02:00
b6020b99c6 Fix cargo clippy issue 2025-05-19 21:37:05 +02:00
ed7a0688c3 Update Rust crate rust-embed to 8.7.2 2025-05-15 00:16:06 +00:00
9480f0dae9 Update Rust crate clap to 4.5.38 2025-05-12 00:16:26 +00:00
b99eb4d178 Update Rust crate tokio to 1.45.0 2025-05-07 00:24:32 +00:00
044a089f4a Update Rust crate rust-embed to 8.7.1 2025-05-06 00:24:26 +00:00
f1a7943d93 Update Rust crate chrono to 0.4.41 2025-04-30 00:19:34 +00:00
82c3c3a7b7 Update Rust crate askama to 0.14.0 2025-04-24 00:19:29 +00:00
7bc21fbb68 Update Rust crate rust-embed to 8.7.0 2025-04-20 00:27:04 +00:00
f67e680522 Update Rust crate clap to 4.5.37 2025-04-19 00:27:36 +00:00
c296196933 Update Rust crate rand to 0.9.1 2025-04-18 00:27:27 +00:00
7 changed files with 95 additions and 81 deletions

130
Cargo.lock generated

@ -21,9 +21,9 @@ dependencies = [
[[package]]
name = "actix-http"
version = "3.10.0"
version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9"
checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2"
dependencies = [
"actix-codec",
"actix-rt",
@ -49,7 +49,7 @@ dependencies = [
"mime",
"percent-encoding",
"pin-project-lite",
"rand 0.9.0",
"rand 0.9.1",
"sha1",
"smallvec",
"tokio",
@ -106,9 +106,9 @@ dependencies = [
[[package]]
name = "actix-server"
version = "2.5.1"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24"
checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502"
dependencies = [
"actix-rt",
"actix-service",
@ -161,9 +161,9 @@ dependencies = [
[[package]]
name = "actix-web"
version = "4.10.2"
version = "4.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d"
checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea"
dependencies = [
"actix-codec",
"actix-http",
@ -399,9 +399,9 @@ checksum = "f38fa22307249f86fb7fad906fcae77f2564caeb56d7209103c551cd1cf4798f"
[[package]]
name = "askama"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d4744ed2eef2645831b441d8f5459689ade2ab27c854488fbab1fbe94fce1a7"
checksum = "f75363874b771be265f4ffe307ca705ef6f3baa19011c149da8674a87f1b75c4"
dependencies = [
"askama_derive",
"itoa",
@ -412,9 +412,9 @@ dependencies = [
[[package]]
name = "askama_derive"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d661e0f57be36a5c14c48f78d09011e67e0cb618f269cca9f2fd8d15b68c46ac"
checksum = "129397200fe83088e8a68407a8e2b1f826cf0086b21ccdb866a722c8bcd3a94f"
dependencies = [
"askama_parser",
"basic-toml",
@ -429,9 +429,9 @@ dependencies = [
[[package]]
name = "askama_parser"
version = "0.13.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf315ce6524c857bb129ff794935cf6d42c82a6cff60526fe2a63593de4d0d4f"
checksum = "d6ab5630b3d5eaf232620167977f95eb51f3432fc76852328774afbd242d4358"
dependencies = [
"memchr",
"serde",
@ -621,9 +621,9 @@ dependencies = [
[[package]]
name = "brotli"
version = "7.0.0"
version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
@ -632,9 +632,9 @@ dependencies = [
[[package]]
name = "brotli-decompressor"
version = "4.0.2"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37"
checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
@ -695,9 +695,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.40"
version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c"
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
dependencies = [
"android-tzdata",
"iana-time-zone",
@ -719,9 +719,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.36"
version = "4.5.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04"
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
dependencies = [
"clap_builder",
"clap_derive",
@ -729,9 +729,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.36"
version = "4.5.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5"
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
dependencies = [
"anstream",
"anstyle",
@ -741,9 +741,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.32"
version = "4.5.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491"
dependencies = [
"heck",
"proc-macro2",
@ -928,9 +928,9 @@ dependencies = [
[[package]]
name = "crypto-common"
version = "0.2.0-rc.2"
version = "0.2.0-rc.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0"
checksum = "8a23fa214dea9efd4dacee5a5614646b30216ae0f05d4bb51bafb50e9da1c5be"
dependencies = [
"hybrid-array",
]
@ -1033,13 +1033,13 @@ dependencies = [
[[package]]
name = "digest"
version = "0.11.0-pre.10"
version = "0.11.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516"
checksum = "460dd7f37e4950526b54a5a6b1f41b6c8e763c58eb9a8fc8fc05ba5c2f44ca7b"
dependencies = [
"block-buffer 0.11.0-rc.4",
"const-oid 0.10.0",
"crypto-common 0.2.0-rc.2",
"crypto-common 0.2.0-rc.3",
]
[[package]]
@ -1808,6 +1808,17 @@ dependencies = [
"generic-array",
]
[[package]]
name = "io-uring"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
dependencies = [
"bitflags",
"cfg-if",
"libc",
]
[[package]]
name = "ipnet"
version = "2.11.0"
@ -2064,13 +2075,13 @@ dependencies = [
"light-openid",
"log",
"mime_guess",
"rand 0.9.0",
"rand 0.9.1",
"ruma",
"rust-embed",
"rust-s3",
"serde",
"serde_json",
"sha2 0.11.0-pre.5",
"sha2 0.11.0-rc.0",
"thiserror 2.0.12",
"tokio",
"urlencoding",
@ -2533,13 +2544,12 @@ dependencies = [
[[package]]
name = "rand"
version = "0.9.0"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.3",
"zerocopy",
]
[[package]]
@ -2740,9 +2750,9 @@ dependencies = [
[[package]]
name = "ruma"
version = "0.12.2"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c64fdaae631940eda62844a8a3026aba2ba84c22588c888ebec44861ba4d0c18"
checksum = "c1d47e42b7dea75a468dea63a230f51331c58d690ca018ea1c6ac782ea98880c"
dependencies = [
"assign",
"js_int",
@ -2778,9 +2788,9 @@ dependencies = [
[[package]]
name = "ruma-client-api"
version = "0.20.2"
version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9a89ac03a0f4451f946ed9aed6fdd16ef5a78a3a2849e87af4b2474a176b2fb"
checksum = "3a9e9c613cfda4923b851c5d8bc442305905bee4f0c2b924564b00e71636c8d4"
dependencies = [
"as_variant",
"assign",
@ -2802,9 +2812,9 @@ dependencies = [
[[package]]
name = "ruma-common"
version = "0.15.2"
version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b75da013b362664c3e161662902e5da3f77e990525681b59c6035bac27e87b4"
checksum = "387e1898e868d32ff7b205e7db327361d5dcf635c00a8ae5865068607595a9cf"
dependencies = [
"as_variant",
"base64 0.22.1",
@ -2834,9 +2844,9 @@ dependencies = [
[[package]]
name = "ruma-events"
version = "0.30.2"
version = "0.30.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c100eb6c7691ef010f18d9af315f486fc4da621b7203c431e88352148e84551"
checksum = "3cdc7abec9bc2a9ca0b4831cc26ce97a6a8c39a0bde44a19281a719e861b4293"
dependencies = [
"as_variant",
"indexmap",
@ -2868,9 +2878,9 @@ dependencies = [
[[package]]
name = "ruma-macros"
version = "0.15.1"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1182e83ee5cd10121974f163337b16af68a93eedfc7cdbdbd52307ac7e1d743"
checksum = "5ff13fbd6045a7278533390826de316d6116d8582ed828352661337b0c422e1c"
dependencies = [
"cfg-if",
"proc-macro-crate",
@ -2884,9 +2894,9 @@ dependencies = [
[[package]]
name = "rust-embed"
version = "8.6.0"
version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b3aba5104622db5c9fc61098de54708feb732e7763d7faa2fa625899f00bf6f"
checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a"
dependencies = [
"rust-embed-impl",
"rust-embed-utils",
@ -2895,9 +2905,9 @@ dependencies = [
[[package]]
name = "rust-embed-impl"
version = "8.6.0"
version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f198c73be048d2c5aa8e12f7960ad08443e56fd39cc26336719fdb4ea0ebaae"
checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c"
dependencies = [
"proc-macro2",
"quote",
@ -2908,9 +2918,9 @@ dependencies = [
[[package]]
name = "rust-embed-utils"
version = "8.6.0"
version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a2fcdc9f40c8dc2922842ca9add611ad19f332227fc651d015881ad1552bd9a"
checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594"
dependencies = [
"sha2 0.10.8",
"walkdir",
@ -3207,13 +3217,13 @@ dependencies = [
[[package]]
name = "sha2"
version = "0.11.0-pre.5"
version = "0.11.0-rc.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b4241d1a56954dce82cecda5c8e9c794eef6f53abe5e5216bac0a0ea71ffa7"
checksum = "aa1d2e6b3cc4e43a8258a9a3b17aa5dfd2cc5186c7024bba8a64aa65b2c71a59"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.11.0-pre.10",
"digest 0.11.0-rc.0",
]
[[package]]
@ -3477,17 +3487,19 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.44.2"
version = "1.46.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17"
dependencies = [
"backtrace",
"bytes",
"io-uring",
"libc",
"mio",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
"slab",
"socket2",
"tokio-macros",
"windows-sys 0.52.0",
@ -3757,12 +3769,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d"
dependencies = [
"getrandom 0.3.1",
"js-sys",
"serde",
"wasm-bindgen",
]
[[package]]

@ -6,30 +6,30 @@ edition = "2021"
[dependencies]
log = "0.4.27"
env_logger = "0.11.8"
clap = { version = "4.5.36", features = ["derive", "env"] }
clap = { version = "4.5.41", features = ["derive", "env"] }
lazy_static = "1.5.0"
anyhow = "1.0.98"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"
rust-s3 = { version = "0.36.0-beta.2", features = ["tokio"] }
actix-web = "4.10.2"
actix-web = "4.11.0"
actix-session = { version = "0.10.1", features = ["redis-session"] }
light-openid = "1.0.4"
thiserror = "2.0.12"
rand = "0.9.0"
rust-embed = "8.6.0"
rand = "0.9.1"
rust-embed = "8.7.2"
mime_guess = "2.0.5"
askama = "0.13.1"
askama = "0.14.0"
urlencoding = "2.1.3"
uuid = { version = "1.16.0", features = ["v4", "serde"] }
uuid = { version = "1.17.0", features = ["v4", "serde"] }
ipnet = { version = "2.11.0", features = ["serde"] }
chrono = "0.4.40"
chrono = "0.4.41"
futures-util = { version = "0.3.31", features = ["sink"] }
jwt-simple = { version = "0.12.12", default-features = false, features = ["pure-rust"] }
actix-remote-ip = "0.1.0"
bytes = "1.10.1"
sha2 = "0.11.0-pre.5"
sha2 = "0.11.0-rc.0"
base16ct = "0.2.0"
ruma = { version = "0.12.2", features = ["client-api-c", "client-ext-client-api", "client-hyper-native-tls", "rand"] }
ruma = { version = "0.12.5", features = ["client-api-c", "client-ext-client-api", "client-hyper-native-tls", "rand"] }
actix-ws = "0.3.0"
tokio = { version = "1.44.2", features = ["rt", "time", "macros", "rt-multi-thread"] }
tokio = { version = "1.46.1", features = ["rt", "time", "macros", "rt-multi-thread"] }

@ -42,5 +42,5 @@ pub enum BroadcastMessage {
/// Stop a client with a given client ID
StopSyncClient(SyncClientID),
/// Propagate a new sync event
SyncEvent(UserID, SyncEvent),
SyncEvent(UserID, Box<SyncEvent>),
}

@ -34,7 +34,7 @@ pub async fn ws(
if let Err(e) = tx.send(BroadcastMessage::StartSyncTaskForUser(
auth.user.user_id.clone(),
)) {
log::error!("Failed to send StartSyncTaskForUser: {}", e);
log::error!("Failed to send StartSyncTaskForUser: {e}");
}
let rx = tx.subscribe();
@ -94,9 +94,9 @@ pub async fn ws_handler(
}
// Send the message to the websocket
if let Ok(msg) = serde_json::to_string(&WsMessage::Sync(event)) {
if let Ok(msg) = serde_json::to_string(&WsMessage::Sync(*event)) {
if let Err(e) = session.text(msg).await {
log::error!("Failed to send SyncEvent: {}", e);
log::error!("Failed to send SyncEvent: {e}");
}
}
}

@ -105,12 +105,12 @@ pub async fn home(
// Close sync task
if let Err(e) = tx.send(BroadcastMessage::StopSyncTaskForUser(user.id.clone())) {
log::error!("Failed to send StopSyncClientForUser: {}", e);
log::error!("Failed to send StopSyncClientForUser: {e}");
}
// Invalidate all Ws connections
if let Err(e) = tx.send(BroadcastMessage::CloseAllUserSessions(user.id.clone())) {
log::error!("Failed to send CloseAllUserSessions: {}", e);
log::error!("Failed to send CloseAllUserSessions: {e}");
}
}
}
@ -145,7 +145,7 @@ pub async fn home(
success_message = Some("The client was successfully deleted!".to_string());
if let Err(e) = tx.send(BroadcastMessage::CloseClientSession(delete_client_id)) {
log::error!("Failed to send CloseClientSession: {}", e);
log::error!("Failed to send CloseClientSession: {e}");
}
}
}
@ -215,7 +215,7 @@ pub async fn oidc_cb(session: Session, query: web::Query<AuthCallbackQuery>) ->
name: user.name.unwrap_or("no_name".to_string()),
email: user.email.unwrap_or("no@mail.com".to_string()),
};
log::info!("Successful authentication as {:?}", user);
log::info!("Successful authentication as {user:?}");
session.insert(USER_SESSION_KEY, user)?;
Ok(HttpResponse::Found()

@ -28,7 +28,7 @@ pub async fn sync_client_manager(tx: broadcast::Sender<BroadcastMessage>) -> ! {
continue;
}
log::info!("Start sync task for user {:?}", user_id);
log::info!("Start sync task for user {user_id:?}");
let task_id = SyncClientID(uuid::Uuid::new_v4());
running_tasks.insert(user_id.clone(), task_id.clone());
@ -41,7 +41,7 @@ pub async fn sync_client_manager(tx: broadcast::Sender<BroadcastMessage>) -> ! {
BroadcastMessage::StopSyncTaskForUser(user_id) => {
// Check if a task is running for this user
if let Some(task_id) = running_tasks.remove(&user_id) {
log::info!("Stop sync task for user {:?}", user_id);
log::info!("Stop sync task for user {user_id:?}");
tx.send(BroadcastMessage::StopSyncClient(task_id)).unwrap();
} else {
log::info!("Not stopping sync task for user {user_id:?}: not running");
@ -122,12 +122,12 @@ async fn sync_task(
match msg_stream {
Ok(Some(msg)) => {
log::debug!("Received new message from Matrix: {msg:#?}");
if let Err(e) = tx.send(BroadcastMessage::SyncEvent(user_id.clone(), SyncEvent {
if let Err(e) = tx.send(BroadcastMessage::SyncEvent(user_id.clone(), Box::new(SyncEvent {
rooms: msg.rooms,presence: msg.presence,
account_data: msg.account_data,
to_device: msg.to_device,
device_lists: msg.device_lists,
})) {
}))) {
log::error!("Failed to propagate event! {e}");
}
}

@ -147,7 +147,7 @@ impl UserConfig {
log::warn!("The bucket does not seem to exists, trying to create it!")
}
Err(e) => {
log::error!("Got unexpected error when querying bucket info: {}", e);
log::error!("Got unexpected error when querying bucket info: {e}");
return Err(e.into());
}
}