diff --git a/Cargo.lock b/Cargo.lock index 58189ec..2f109eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,7 +53,7 @@ dependencies = [ "actix-service", "actix-tls", "actix-utils", - "base64", + "base64 0.22.1", "bitflags 2.13.1", "brotli", "bytes", @@ -511,6 +511,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + [[package]] name = "base64ct" version = "1.8.3" @@ -780,7 +786,7 @@ dependencies = [ "actix-web-actors", "aes-gcm", "async-trait", - "base64", + "base64 0.23.1", "chrono", "crossterm", "dashmap", @@ -810,9 +816,9 @@ dependencies = [ "rustls", "rustls-pemfile", "serde_json", - "sha2 0.10.9", - "strum 0.27.2", - "strum_macros 0.27.2", + "sha2 0.11.0", + "strum", + "strum_macros", "sysinfo", "tokio", "tokio-tungstenite", @@ -1264,6 +1270,16 @@ dependencies = [ "ctutils", ] +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.1", + "objc2", +] + [[package]] name = "displaydoc" version = "0.2.7" @@ -1353,7 +1369,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1795,7 +1811,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "headers-core", "http 1.4.2", @@ -1976,7 +1992,7 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-util", @@ -2205,7 +2221,7 @@ version = "0.1.0" dependencies = [ "aes-gcm", "async-trait", - "base64", + "base64 0.23.1", "chrono", "crossterm", "dashmap", @@ -2233,9 +2249,9 @@ dependencies = [ "rustls", "rustls-pemfile", "serde_json", - "sha2 0.10.9", - "strum 0.27.2", - "strum_macros 0.27.2", + "sha2 0.11.0", + "strum", + "strum_macros", "sysinfo", "tokio", "tokio-tungstenite", @@ -2255,7 +2271,7 @@ dependencies = [ "actix-web-actors", "aes-gcm", "async-trait", - "base64", + "base64 0.23.1", "chrono", "crossterm", "dashmap", @@ -2290,9 +2306,9 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "sha2 0.10.9", - "strum 0.27.2", - "strum_macros 0.27.2", + "sha2 0.11.0", + "strum", + "strum_macros", "sysinfo", "tempfile", "tokio", @@ -2447,7 +2463,7 @@ version = "0.1.0" dependencies = [ "aes-gcm", "arc-swap", - "base64", + "base64 0.23.1", "hex", "hkdf 0.12.4", "iota-logger", @@ -2466,7 +2482,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "sha2 0.10.9", + "sha2 0.11.0", "sysinfo", "thiserror 2.0.19", "tokio", @@ -2492,7 +2508,7 @@ version = "0.1.0" dependencies = [ "aes-gcm", "anyhow", - "base64", + "base64 0.23.1", "ed25519-dalek", "hex", "hkdf 0.12.4", @@ -2508,7 +2524,7 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2 0.10.9", + "sha2 0.11.0", "sysinfo", "tempfile", "tokio", @@ -2522,7 +2538,7 @@ dependencies = [ name = "iota-util" version = "0.1.0" dependencies = [ - "base64", + "base64 0.23.1", "hex", "iota-paths", "mtp", @@ -2987,7 +3003,7 @@ name = "mtp-codec" version = "0.2.0" source = "git+https://git.methanium.net/Methanium/mtp.git#a692bed326dbfc8eac1a05825f4a287cbab6fd3e" dependencies = [ - "base64", + "base64 0.22.1", "byteorder", "mtp-common", "mtp-crypto", @@ -3011,7 +3027,7 @@ name = "mtp-crypto" version = "0.2.0" source = "git+https://git.methanium.net/Methanium/mtp.git#a692bed326dbfc8eac1a05825f4a287cbab6fd3e" dependencies = [ - "base64", + "base64 0.22.1", "chacha20poly1305", "ed25519-dalek", "getrandom 0.4.3", @@ -3219,6 +3235,15 @@ dependencies = [ "libc", ] +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + [[package]] name = "objc2-core-foundation" version = "0.3.2" @@ -3226,6 +3251,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ "bitflags 2.13.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.13.1", + "objc2", ] [[package]] @@ -3238,6 +3281,17 @@ dependencies = [ "objc2-core-foundation", ] +[[package]] +name = "objc2-open-directory" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb82bed227edf5201dfedf072bba4015a33d3d4a98519837295a90f0a23f676d" +dependencies = [ + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + [[package]] name = "octets" version = "0.3.6" @@ -3258,7 +3312,7 @@ name = "omikron-connector" version = "0.1.0" dependencies = [ "async-trait", - "base64", + "base64 0.23.1", "dashmap", "hex", "iota-connection", @@ -3271,7 +3325,7 @@ dependencies = [ "rand 0.8.7", "rand_core 0.6.4", "reqwest", - "sha2 0.10.9", + "sha2 0.11.0", "tokio", "tokio-util", "uuid", @@ -3366,7 +3420,7 @@ dependencies = [ "actix-web-actors", "aes-gcm", "async-trait", - "base64", + "base64 0.23.1", "chrono", "crossterm", "dashmap", @@ -3395,9 +3449,9 @@ dependencies = [ "rustls", "rustls-pemfile", "serde_json", - "sha2 0.10.9", - "strum 0.27.2", - "strum_macros 0.27.2", + "sha2 0.11.0", + "strum", + "strum_macros", "sysinfo", "tokio", "tokio-tungstenite", @@ -3472,7 +3526,7 @@ version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "base64", + "base64 0.22.1", "serde_core", ] @@ -3853,7 +3907,7 @@ dependencies = [ "once_cell", "socket2 0.6.5", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3981,7 +4035,7 @@ dependencies = [ "lru", "palette", "serde", - "strum 0.28.0", + "strum", "thiserror 2.0.19", "unicode-segmentation", "unicode-truncate", @@ -4045,7 +4099,7 @@ dependencies = [ "line-clipping", "ratatui-core", "serde", - "strum 0.28.0", + "strum", "time", "unicode-segmentation", "unicode-width", @@ -4116,7 +4170,7 @@ version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "encoding_rs", "futures-core", @@ -4221,7 +4275,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4289,7 +4343,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4695,31 +4749,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" - [[package]] name = "strum" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" dependencies = [ - "strum_macros 0.28.0", -] - -[[package]] -name = "strum_macros" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.119", + "strum_macros", ] [[package]] @@ -4795,15 +4831,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.38.4" +version = "0.39.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" +checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6" dependencies = [ "libc", "memchr", "ntapi", "objc2-core-foundation", "objc2-io-kit", + "objc2-open-directory", "windows", ] @@ -4838,7 +4875,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4882,7 +4919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7" dependencies = [ "anyhow", - "base64", + "base64 0.22.1", "bitflags 2.13.1", "fancy-regex", "filedescriptor", @@ -5497,7 +5534,7 @@ dependencies = [ "actix-web-actors", "aes-gcm", "async-trait", - "base64", + "base64 0.23.1", "chrono", "crossterm", "dashmap", @@ -5526,9 +5563,9 @@ dependencies = [ "rustls", "rustls-pemfile", "serde_json", - "sha2 0.10.9", - "strum 0.27.2", - "strum_macros 0.27.2", + "sha2 0.11.0", + "strum", + "strum_macros", "sysinfo", "tokio", "tokio-tungstenite", @@ -5643,7 +5680,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/client/Cargo.toml b/client/Cargo.toml index 43e27d3..a75bc52 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -16,7 +16,7 @@ actix-web = { version = "4", features = ["rustls-0_23"] } actix-web-actors = "4" aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -47,10 +47,10 @@ rusqlite = "0.40.0" rustls = { version = "0.23.37", features = ["aws-lc-rs"] } rustls-pemfile = "2.2.0" serde_json = "1.0.149" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } tungstenite = "*" diff --git a/communities/Cargo.toml b/communities/Cargo.toml index 0e867f2..f20ab61 100644 --- a/communities/Cargo.toml +++ b/communities/Cargo.toml @@ -15,7 +15,7 @@ actix-web = { version = "4", features = ["rustls-0_23"] } actix-web-actors = "4" aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -46,10 +46,10 @@ rusqlite = "0.40.0" rustls = { version = "0.23.37", features = ["aws-lc-rs"] } rustls-pemfile = "2.2.0" serde_json = "1.0.149" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } tungstenite = "*" diff --git a/iota-auth/Cargo.toml b/iota-auth/Cargo.toml index dbc740c..f32a1c4 100644 --- a/iota-auth/Cargo.toml +++ b/iota-auth/Cargo.toml @@ -12,7 +12,7 @@ iota-state = { path = "../iota-state" } aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -43,10 +43,10 @@ rusqlite = "0.40.0" rustls = { version = "0.23.37", features = ["aws-lc-rs"] } rustls-pemfile = "2.2.0" serde_json = "1.0.149" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } tungstenite = "*" diff --git a/iota-cli/Cargo.toml b/iota-cli/Cargo.toml index f7fe9a4..adc5e06 100644 --- a/iota-cli/Cargo.toml +++ b/iota-cli/Cargo.toml @@ -30,7 +30,7 @@ actix-web = { version = "4", features = ["rustls-0_23"] } actix-web-actors = "4" aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -63,10 +63,10 @@ rustls-pemfile = "2.2.0" serde_json = "1.0.149" serde = { version = "1", features = ["derive"] } serde_yaml = "0.9" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-util = { version = "0.7", features = ["rt"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } diff --git a/iota-connection/src/message_handlers.rs b/iota-connection/src/message_handlers.rs index 1330ef2..73244d7 100644 --- a/iota-connection/src/message_handlers.rs +++ b/iota-connection/src/message_handlers.rs @@ -296,6 +296,45 @@ fn contact_value( typed_container(fields) } +fn current_contact_ids(user_id: i64) -> DataValue { + contact_ids_value( + chats_util::get_users(user_id) + .into_iter() + .map(|contact| contact.user_id), + ) +} + +fn contact_ids_value(ids: impl IntoIterator) -> DataValue { + let mut contact_ids = ids.into_iter().collect::>(); + contact_ids.sort_unstable(); + contact_ids.dedup(); + + DataValue::Array( + contact_ids + .into_iter() + .map(|user_id| DataValue::SignedNumber(user_id as i128)) + .collect(), + ) +} + +#[cfg(test)] +mod presence_tests { + use super::contact_ids_value; + use mtp::codec::DataValue; + + #[test] + fn contact_snapshot_is_sorted_and_deduplicated() { + assert_eq!( + contact_ids_value([9, 3, 9, 4, 3]), + DataValue::Array(vec![ + DataValue::SignedNumber(3), + DataValue::SignedNumber(4), + DataValue::SignedNumber(9), + ]) + ); + } +} + fn sync_error(cv: &CommunicationValue) -> CommunicationValue { error_response(cv, CommunicationType::ErrorInvalidData).add_typed_default( DataType::SessionId, @@ -356,10 +395,6 @@ pub fn handle_client_connected(cv: &CommunicationValue) -> CommunicationValue { ), } }; - let all_contact_ids = chats_util::get_users(user_id) - .into_iter() - .map(|contact| DataValue::SignedNumber(contact.user_id as i128)) - .collect(); let message_values = messages .iter() .map(|message| stored_message_value(message, user_id, message.external_user)) @@ -408,7 +443,7 @@ pub fn handle_client_connected(cv: &CommunicationValue) -> CommunicationValue { .collect(), ), ) - .add_typed_default(DataType::UserIds, DataValue::Array(all_contact_ids)) + .add_typed_default(DataType::UserIds, current_contact_ids(user_id)) .add_typed_default(DataType::Calls, DataValue::Array(Vec::new())) } @@ -511,6 +546,10 @@ pub fn handle_get_chats(cv: &CommunicationValue) -> CommunicationValue { pub fn handle_add_conversation(cv: &CommunicationValue) -> CommunicationValue { let user_id = cv.get_sender(); + let session_id = match data_i64(cv, DataType::SessionId) { + Some(id) if id > 0 => id, + _ => return sync_error(cv), + }; let other_id = match cv.get_data(DataType::ChatPartnerId).as_number() { Some(n) => n as i64, None => cv @@ -532,6 +571,11 @@ pub fn handle_add_conversation(cv: &CommunicationValue) -> CommunicationValue { CommunicationValue::new(CommunicationType::AddConversation) .with_id(cv.get_id()) .with_receiver(user_id) + .add_typed_default( + DataType::SessionId, + DataValue::SignedNumber(session_id as i128), + ) + .add_typed_default(DataType::UserIds, current_contact_ids(user_id as i64)) } pub fn handle_add_community(cv: &CommunicationValue) -> CommunicationValue { diff --git a/iota-daemon-lib/Cargo.toml b/iota-daemon-lib/Cargo.toml index 5e0c67c..4eb0b7c 100644 --- a/iota-daemon-lib/Cargo.toml +++ b/iota-daemon-lib/Cargo.toml @@ -15,7 +15,7 @@ omikron-connector = { path = "../omikron-connector" } mtp = { git = "https://git.methanium.net/Methanium/mtp.git" } dashmap = "6.1.0" libc = "0.2" -sysinfo = "0.38.3" +sysinfo = "0.39.0" serde_yaml = "0.9" tokio = { version = "1.50.0", features = ["full"] } tokio-util = { version = "0.7", features = ["rt"] } diff --git a/iota-state/Cargo.toml b/iota-state/Cargo.toml index 4275556..8c9ab8a 100644 --- a/iota-state/Cargo.toml +++ b/iota-state/Cargo.toml @@ -12,6 +12,6 @@ dashmap = "6.1.0" once_cell = "1.21.3" tokio = { version = "1.50.0", features = ["full"] } json = "*" -sysinfo = "0.38.3" +sysinfo = "0.39.0" mtp = { git = "https://git.methanium.net/Methanium/mtp.git" } serde = { version = "1", features = ["derive"] } diff --git a/iota-storage/Cargo.toml b/iota-storage/Cargo.toml index 0080576..1c97fd3 100644 --- a/iota-storage/Cargo.toml +++ b/iota-storage/Cargo.toml @@ -12,7 +12,7 @@ iota-paths = { path = "../iota-paths" } mtp = { git = "https://git.methanium.net/Methanium/mtp.git" } aes-gcm = "0.10.3" -base64 = "0.22.1" +base64 = "0.23.0" hex = "*" hkdf = "0.12.4" json = "*" @@ -28,8 +28,8 @@ rand_core = { version = "0.6", features = ["getrandom", "std"] } ratatui = "0.30.0" reqwest = "0.13.2" rusqlite = "0.40.0" -sha2 = "0.10.9" -sysinfo = "0.38.3" +sha2 = "0.11.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } uuid = { version = "*", features = ["v4"] } walkdir = "2.5.0" diff --git a/iota-updater/Cargo.toml b/iota-updater/Cargo.toml index d089180..354fc9b 100644 --- a/iota-updater/Cargo.toml +++ b/iota-updater/Cargo.toml @@ -14,14 +14,14 @@ pnet = "0.35.0" ratatui = "0.30.0" reqwest = "0.13.2" tokio = { version = "1.50.0", features = ["full"] } -sysinfo = "0.38.3" +sysinfo = "0.39.0" uuid = { version = "*", features = ["v4"] } walkdir = "2.5.0" zip = "6.0.0" aes-gcm = "0.10.3" -base64 = "0.22.1" +base64 = "0.23.0" rand_core = { version = "0.6", features = ["getrandom", "std"] } -sha2 = "0.10.9" +sha2 = "0.11.0" x448 = { version = "*" } hkdf = "0.12.4" once_cell = "1.21.3" diff --git a/iota-util/Cargo.toml b/iota-util/Cargo.toml index d61786e..7baad89 100644 --- a/iota-util/Cargo.toml +++ b/iota-util/Cargo.toml @@ -11,9 +11,9 @@ mtp = { git = "https://git.methanium.net/Methanium/mtp.git", features = [ reqwest = "0.13.2" tokio = { version = "1.50.0", features = ["full"] } -sysinfo = "0.38.3" +sysinfo = "0.39.0" uuid = { version = "*", features = ["v4"] } walkdir = "2.5.0" zip = "6.0.0" -base64 = "0.22.1" +base64 = "0.23.0" hex = "*" diff --git a/mtp-type-maps b/mtp-type-maps index f430cd3..486541b 160000 --- a/mtp-type-maps +++ b/mtp-type-maps @@ -1 +1 @@ -Subproject commit f430cd358b3d07a4cfd6982eb8917fec80c24a7d +Subproject commit 486541b9483356ff49ff3ec7016f87d3ecbeaa0e diff --git a/omikron-connector/Cargo.toml b/omikron-connector/Cargo.toml index c869941..c2834d5 100644 --- a/omikron-connector/Cargo.toml +++ b/omikron-connector/Cargo.toml @@ -22,9 +22,9 @@ reqwest = "0.13.2" tokio = { version = "1.50.0", features = ["full"] } tokio-util = { version = "0.7", features = ["rt"] } uuid = { version = "*", features = ["v4"] } -base64 = "0.22.1" +base64 = "0.23.0" hex = "*" rand = "0.8" rand_core = { version = "0.6", features = ["getrandom", "std"] } -sha2 = "0.10.9" +sha2 = "0.11.0" x448 = { version = "*" } diff --git a/other-iota/Cargo.toml b/other-iota/Cargo.toml index b4fd14e..ec24634 100644 --- a/other-iota/Cargo.toml +++ b/other-iota/Cargo.toml @@ -15,7 +15,7 @@ actix-web = { version = "4", features = ["rustls-0_23"] } actix-web-actors = "4" aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -46,10 +46,10 @@ rusqlite = "0.40.0" rustls = { version = "0.23.37", features = ["aws-lc-rs"] } rustls-pemfile = "2.2.0" serde_json = "1.0.149" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } tungstenite = "*" diff --git a/web-ui/Cargo.toml b/web-ui/Cargo.toml index 5034f88..06ecd21 100644 --- a/web-ui/Cargo.toml +++ b/web-ui/Cargo.toml @@ -15,7 +15,7 @@ actix-web = { version = "4", features = ["rustls-0_23"] } actix-web-actors = "4" aes-gcm = "0.10.3" async-trait = "0.1.89" -base64 = "0.22.1" +base64 = "0.23.0" chrono = "0.4.43" crossterm = "*" dashmap = "6.1.0" @@ -46,10 +46,10 @@ rusqlite = "0.40.0" rustls = { version = "0.23.37", features = ["aws-lc-rs"] } rustls-pemfile = "2.2.0" serde_json = "1.0.149" -sha2 = "0.10.9" -strum = "0.27.2" -strum_macros = "0.27.2" -sysinfo = "0.38.3" +sha2 = "0.11.0" +strum = "0.28.0" +strum_macros = "0.28.0" +sysinfo = "0.39.0" tokio = { version = "1.50.0", features = ["full"] } tokio-tungstenite = { version = "*", features = ["native-tls"] } tungstenite = "*"