From 39a184e5d0b3058dadc40a45ddcc3a4d3a8d53ba Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 19 Nov 2024 20:57:35 +0200 Subject: [PATCH] Adapt to mxlink 1.4.0 (matrix-sdk 0.8.0) --- Cargo.lock | 551 ++++++++---------- Cargo.toml | 4 +- src/bot/implementation.rs | 6 +- src/bot/reacting.rs | 12 +- src/controller/chat_completion/mod.rs | 2 +- src/conversation/matrix/room_event_fetcher.rs | 4 +- src/conversation/matrix/utils/mod.rs | 29 +- 7 files changed, 286 insertions(+), 322 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8194bdf..2d43e92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -72,12 +72,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "anthropic-rs" version = "0.1.7" @@ -88,7 +82,7 @@ dependencies = [ "reqwest 0.12.8", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -106,16 +100,16 @@ checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" [[package]] name = "aquamarine" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +checksum = "0f50776554130342de4836ba542aa85a4ddb361690d7e8df13774d7284c3d5c2" dependencies = [ "include_dir", "itertools 0.10.5", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -182,7 +176,7 @@ dependencies = [ "reqwest-eventsource 0.4.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tokio-util", @@ -208,7 +202,7 @@ dependencies = [ "secrecy", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tokio-util", @@ -234,7 +228,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -245,7 +239,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -359,6 +353,9 @@ name = "bitflags" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] [[package]] name = "bitmaps" @@ -465,18 +462,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg-vis" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3a2c3bf5fc10fe2ca157564fbe08a4cb2b0a7d2ff3fe2f9683e65d5e7c7859c" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "chacha20" version = "0.9.1" @@ -633,7 +618,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -681,7 +666,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -703,16 +688,21 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] -name = "deadpool" -version = "0.10.0" +name = "date_header" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490" +checksum = "0c03c416ed1a30fbb027ef484ba6ab6f80e1eada675e1a2b92fd673c045a1f1d" + +[[package]] +name = "deadpool" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6541a3916932fe57768d4be0b1ffb5ec7cbf74ca8c903fdfd5c0fe8aa958f0ed" dependencies = [ - "async-trait", "deadpool-runtime", "num_cpus", "tokio", @@ -729,9 +719,9 @@ dependencies = [ [[package]] name = "deadpool-sqlite" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8010e36e12f3be22543a5e478b4af20aeead9a700dd69581a5e050a070fc22c" +checksum = "2f9cc6210316f8b7ced394e2a5d2833ce7097fb28afb5881299c61bc18e8e0e9" dependencies = [ "deadpool", "deadpool-sync", @@ -747,6 +737,17 @@ dependencies = [ "deadpool-runtime", ] +[[package]] +name = "decancer" +version = "3.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a41401dd84c9335e2f5aec7f64057e243585d62622260d41c245919a601ccc9" +dependencies = [ + "lazy_static", + "paste", + "regex", +] + [[package]] name = "delegate-display" version = "2.1.1" @@ -756,7 +757,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -766,20 +767,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", - "der_derive", - "flagset", "zeroize", ] [[package]] -name = "der_derive" -version = "0.7.3" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", + "powerfmt", ] [[package]] @@ -821,7 +818,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -841,7 +838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" dependencies = [ "derive_builder_core 0.20.1", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -855,17 +852,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -937,17 +923,6 @@ dependencies = [ "ureq", ] -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "event-listener" version = "5.3.1" @@ -965,7 +940,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.1", + "event-listener", "pin-project-lite", ] @@ -993,14 +968,13 @@ dependencies = [ [[package]] name = "eyeball-im" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9326c8d9f6d59d18935412608b4514cc661e4e068011bb2f523f6c8b1cfa3bd4" +checksum = "a1c02432230060cae0621e15803e073976d22974e0f013c9cb28a4ea1b484629" dependencies = [ "futures-core", "imbl", "tokio", - "tokio-util", "tracing", ] @@ -1036,7 +1010,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1051,12 +1025,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "flagset" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3ea1ec5f8307826a5b71094dd91fc04d4ae75d5709b20ad351c7fb4815c86ec" - [[package]] name = "flate2" version = "1.0.34" @@ -1153,7 +1121,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1246,6 +1214,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "growable-bloom-filter" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d174ccb4ba660d431329e7f0797870d0a4281e36353ec4b4a3c5eab6c2cfb6f1" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "xxhash-rust", +] + [[package]] name = "h2" version = "0.3.26" @@ -1291,7 +1271,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", - "allocator-api2", ] [[package]] @@ -1302,9 +1281,9 @@ checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" [[package]] name = "hashlink" -version = "0.8.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ "hashbrown 0.14.5", ] @@ -1483,19 +1462,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper 0.14.30", - "native-tls", - "tokio", - "tokio-native-tls", -] - [[package]] name = "hyper-tls" version = "0.6.0" @@ -1549,9 +1515,9 @@ dependencies = [ [[package]] name = "imbl" -version = "2.0.3" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978d142c8028edf52095703af2fad11d6f611af1246685725d6b850634647085" +checksum = "bc3be8d8cd36f33a46b1849f31f837c44d9fa87223baee3b4bd96b8f11df81eb" dependencies = [ "bitmaps", "imbl-sized-chunks", @@ -1591,9 +1557,9 @@ dependencies = [ [[package]] name = "indexed_db_futures" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0704b71f13f81b5933d791abf2de26b33c40935143985220299a357721166706" +checksum = "43315957678a70eb21fb0d2384fe86dde0d6c859a01e24ce127eb65a0143d28c" dependencies = [ "accessory", "cfg-if", @@ -1634,9 +1600,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", ] [[package]] @@ -1739,9 +1702,9 @@ checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libsqlite3-sys" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" dependencies = [ "pkg-config", "vcpkg", @@ -1789,7 +1752,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1800,7 +1763,7 @@ checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1813,7 +1776,7 @@ dependencies = [ "macroific_core", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1838,7 +1801,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e2551de3bba2cc65b52dc6b268df6114011fe118ac24870fbcf1b35537bd721" dependencies = [ "matrix-pickle-derive", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1847,18 +1810,18 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f75de44c3120d78e978adbcf6d453b20ba011f3c46363e52d1dbbc72f545e9fb" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "matrix-sdk" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336687e5fc8b33661a31681e988a67e9a3090c7fb1a8323a7f71eeaabad642ec" +checksum = "e5e2b229a3076e8b36ca3508e79efb6892a4ea841699504ff74fb59910c7d2d0" dependencies = [ "anymap2", "aquamarine", @@ -1869,77 +1832,85 @@ dependencies = [ "backoff", "bytes", "bytesize", - "cfg-vis", - "event-listener 4.0.3", + "event-listener", "eyeball", "eyeball-im", "futures-core", "futures-util", "gloo-timers", - "http 0.2.12", + "growable-bloom-filter", + "http 1.1.0", "imbl", "indexmap", + "js_int", "matrix-sdk-base", "matrix-sdk-common", "matrix-sdk-indexeddb", "matrix-sdk-sqlite", "mime", "mime2ext", - "reqwest 0.11.27", + "pin-project-lite", + "reqwest 0.12.8", "ruma", "serde", "serde_html_form", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-stream", "tokio-util", "tracing", "url", "urlencoding", + "vodozemac", "zeroize", ] [[package]] name = "matrix-sdk-base" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00891954d0826a94f1d130f46cbca64176003a234c1be5d9d282970d31cf0c87" +checksum = "126ede42ff624f934408005d4d3a641a505a101997a359f85029ae9b8a5b3ab2" dependencies = [ "as_variant", "async-trait", "bitflags 2.6.0", + "decancer", "eyeball", "eyeball-im", "futures-util", + "growable-bloom-filter", "matrix-sdk-common", "matrix-sdk-crypto", "matrix-sdk-store-encryption", "once_cell", + "regex", "ruma", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", + "unicode-normalization", ] [[package]] name = "matrix-sdk-common" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb365a626ab6f6c6a2422cfe2565522f19accb06706c6d04bca8f0f71df29c9f" +checksum = "1c355b0413586375441d67eb1682445a4bef8ebb127cf12bce0a7ed2741add75" dependencies = [ "async-trait", + "eyeball-im", "futures-core", "futures-util", "gloo-timers", - "instant", + "imbl", "ruma", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", "tracing-subscriber", @@ -1950,16 +1921,15 @@ dependencies = [ [[package]] name = "matrix-sdk-crypto" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03a64d12a83ebe33bb55de9b77faef4ce27006f946f8468c3311f311f39ab8b" +checksum = "e45967fe90a6f20e8426178224fff6f731c0737367821d6a39ae40baf91e8e85" dependencies = [ "aes", "as_variant", "async-trait", "bs58", "byteorder", - "cbc", "cfg-if", "ctr", "eyeball", @@ -1968,6 +1938,7 @@ dependencies = [ "hkdf", "hmac", "itertools 0.12.1", + "js_option", "matrix-sdk-common", "pbkdf2", "rand", @@ -1977,47 +1948,51 @@ dependencies = [ "serde_json", "sha2", "subtle", - "thiserror", + "thiserror 1.0.64", + "time", "tokio", "tokio-stream", "tracing", "ulid", + "url", "vodozemac", "zeroize", ] [[package]] name = "matrix-sdk-indexeddb" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad388005c5d4ed2ff38f405d52aa7fa606f4e1ab51baf5f2504721124ed4a58b" +checksum = "aa3c1b0ab6b9c97a675594e4f8b8959d37ac417dbd62bfdb2ab676512ae9a5f0" dependencies = [ "anyhow", "async-trait", - "base64 0.21.7", + "base64 0.22.1", "getrandom", "gloo-utils", + "hkdf", "indexed_db_futures", "js-sys", - "matrix-sdk-base", "matrix-sdk-crypto", "matrix-sdk-store-encryption", "ruma", "serde", "serde-wasm-bindgen", "serde_json", - "thiserror", + "sha2", + "thiserror 1.0.64", "tokio", "tracing", "wasm-bindgen", "web-sys", + "zeroize", ] [[package]] name = "matrix-sdk-sqlite" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a98d034dd5aa85b4da6500e60c7d5b9328a37632cf40ba38bbe2c77cea3f14" +checksum = "45c3c864379aab89141f728fd06a1334bbafd67ff089fa3d74314764db474b97" dependencies = [ "async-trait", "deadpool-sqlite", @@ -2030,7 +2005,7 @@ dependencies = [ "rusqlite", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", "vodozemac", @@ -2038,14 +2013,13 @@ dependencies = [ [[package]] name = "matrix-sdk-store-encryption" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a7e3162e9f982a4c57ab46df01a4775f697dec8899738bf62d7e97b63faa61c" +checksum = "9d05c000fdbbf42849ed10422349e1554b477a77b8d7183d28156bd99e124c8d" dependencies = [ + "base64 0.22.1", "blake3", "chacha20poly1305", - "displaydoc", - "getrandom", "hmac", "pbkdf2", "rand", @@ -2053,7 +2027,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "thiserror", + "thiserror 1.0.64", "zeroize", ] @@ -2123,9 +2097,9 @@ dependencies = [ [[package]] name = "mxlink" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5f7234edcd534b11daad1641a148b8bfcae417deb6e6bff564ae69b3d3c4678" +checksum = "17aec644be41de12e98fa8d0a4b6debcd77c55624044f027bc63c7fced168fc1" dependencies = [ "base64 0.22.1", "chacha20poly1305", @@ -2136,7 +2110,7 @@ dependencies = [ "rand", "serde", "serde_json", - "thiserror", + "thiserror 2.0.3", "tokio", "tracing", ] @@ -2178,6 +2152,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" version = "0.2.19" @@ -2241,7 +2221,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -2331,17 +2311,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs7" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79178be066405e0602bf3035946edef6b11b3f9dde46dfe5f8bfd7dea4b77e7" -dependencies = [ - "der", - "spki", - "x509-cert", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -2369,6 +2338,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -2378,56 +2353,13 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" -dependencies = [ - "toml_edit 0.20.7", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.22", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", + "toml_edit", ] [[package]] @@ -2480,20 +2412,27 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "pulldown-cmark" -version = "0.9.6" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14" dependencies = [ "bitflags 2.6.0", "memchr", + "pulldown-cmark-escape", "unicase", ] +[[package]] +name = "pulldown-cmark-escape" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" + [[package]] name = "quick_cache" version = "0.6.9" @@ -2519,7 +2458,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls 0.23.13", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2536,7 +2475,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls 0.23.13", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -2677,13 +2616,11 @@ dependencies = [ "http-body 0.4.6", "hyper 0.14.30", "hyper-rustls 0.24.2", - "hyper-tls 0.5.0", "ipnet", "js-sys", "log", "mime", "mime_guess", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -2696,7 +2633,6 @@ dependencies = [ "sync_wrapper 0.1.2", "system-configuration 0.5.1", "tokio", - "tokio-native-tls", "tokio-rustls 0.24.1", "tokio-util", "tower-service", @@ -2725,7 +2661,7 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-rustls 0.27.3", - "hyper-tls 0.6.0", + "hyper-tls", "hyper-util", "ipnet", "js-sys", @@ -2772,7 +2708,7 @@ dependencies = [ "nom", "pin-project-lite", "reqwest 0.11.27", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2788,7 +2724,7 @@ dependencies = [ "nom", "pin-project-lite", "reqwest 0.12.8", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2830,9 +2766,9 @@ dependencies = [ [[package]] name = "ruma" -version = "0.9.4" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2779c38df072964c63476259d9300efb07d0d1a7178c6469893636ce0c547a36" +checksum = "e94984418ae8a5e1160e6c87608141330e9ae26330abf22e3d15416efa96d48a" dependencies = [ "assign", "js_int", @@ -2841,17 +2777,20 @@ dependencies = [ "ruma-common", "ruma-events", "ruma-federation-api", + "web-time", ] [[package]] name = "ruma-client-api" -version = "0.17.4" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641837258fa214a70823477514954ef0f5d3bc6ae8e1d5d85081856a33103386" +checksum = "325e054db8d5545c00767d9868356d61e63f2c6cb8b54768346d66696ea4ad48" dependencies = [ + "as_variant", "assign", "bytes", - "http 0.2.12", + "date_header", + "http 1.1.0", "js_int", "js_option", "maplit", @@ -2860,20 +2799,23 @@ dependencies = [ "serde", "serde_html_form", "serde_json", + "thiserror 1.0.64", + "url", + "web-time", ] [[package]] name = "ruma-common" -version = "0.12.1" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bca4c33c50e47b4cdceeac71bdef0c04153b0e29aa992d9030ec14a62323e85" +checksum = "ad71c7f49abaa047ba228339d34f9aaefa4d8b50ebeb8e859d0340cc2138bda8" dependencies = [ "as_variant", - "base64 0.21.7", + "base64 0.22.1", "bytes", "form_urlencoded", "getrandom", - "http 0.2.12", + "http 1.1.0", "indexmap", "js-sys", "js_int", @@ -2886,18 +2828,20 @@ dependencies = [ "serde", "serde_html_form", "serde_json", - "thiserror", + "thiserror 1.0.64", + "time", "tracing", "url", "uuid", + "web-time", "wildmatch", ] [[package]] name = "ruma-events" -version = "0.27.11" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20a52770e5a9fb30b7a1c14ba8b3dcf76dadc01674e58e40094f78e6bd5e3f1" +checksum = "be86dccf3504588c1f4dc1bda4ce1f8bbd646fc6dda40c77cc7de6e203e62dad" dependencies = [ "as_variant", "indexmap", @@ -2911,19 +2855,22 @@ dependencies = [ "ruma-macros", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tracing", "url", + "web-time", "wildmatch", ] [[package]] name = "ruma-federation-api" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1901c1f27bc327652d58af2a130c73acef3198abeccd24cee97f7267fdf3fe7" +checksum = "1b5a09ac22b3352bf7a350514dc9a87e1b56aba04c326ac9ce142740f7218afa" dependencies = [ + "http 1.1.0", "js_int", + "mime", "ruma-common", "ruma-events", "serde", @@ -2932,35 +2879,36 @@ dependencies = [ [[package]] name = "ruma-identifiers-validation" -version = "0.9.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa38974f5901ed4e00e10aec57b9ad3b4d6d6c1a1ae683c51b88700b9f4ffba" +checksum = "2e7f9b534a65698d7db3c08d94bf91de0046fe6c7893a7b360502f65e7011ac4" dependencies = [ "js_int", - "thiserror", + "thiserror 1.0.64", ] [[package]] name = "ruma-macros" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0280534a4b3e34416f883285fac4f9c408cd0b737890ae66f3e7a7056d14be80" +checksum = "c8d57d3cb20e8e758e8f7c5e408ce831d46758003b615100099852e468631934" dependencies = [ + "cfg-if", "once_cell", - "proc-macro-crate 2.0.0", + "proc-macro-crate", "proc-macro2", "quote", "ruma-identifiers-validation", "serde", - "syn 2.0.79", + "syn 2.0.87", "toml", ] [[package]] name = "rusqlite" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" +checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" dependencies = [ "bitflags 2.6.0", "fallible-iterator", @@ -3214,7 +3162,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3392,9 +3340,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -3477,7 +3425,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +dependencies = [ + "thiserror-impl 2.0.3", ] [[package]] @@ -3488,7 +3445,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] [[package]] @@ -3518,6 +3486,37 @@ dependencies = [ "rustc-hash 1.1.0", ] +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -3559,7 +3558,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3627,7 +3626,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.22", + "toml_edit", ] [[package]] @@ -3639,28 +3638,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.22.22" @@ -3671,7 +3648,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.20", + "winnow", ] [[package]] @@ -3699,7 +3676,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3858,6 +3835,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -3896,9 +3874,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vodozemac" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051d4af70b53b42adf2aac459a305851b8d754f210aaf11ab509e1065beff422" +checksum = "dd4b56780b7827dd72c3c6398c3048752bebf8d1d84ec19b606b15dbc3c850b8" dependencies = [ "aes", "arrayvec", @@ -3912,7 +3890,6 @@ dependencies = [ "hkdf", "hmac", "matrix-pickle", - "pkcs7", "prost", "rand", "serde", @@ -3920,7 +3897,7 @@ dependencies = [ "serde_json", "sha2", "subtle", - "thiserror", + "thiserror 1.0.64", "x25519-dalek", "zeroize", ] @@ -3962,7 +3939,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -3996,7 +3973,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4255,15 +4232,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.6.20" @@ -4296,15 +4264,10 @@ dependencies = [ ] [[package]] -name = "x509-cert" -version = "0.2.5" +name = "xxhash-rust" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" -dependencies = [ - "const-oid", - "der", - "spki", -] +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "zerocopy" @@ -4324,7 +4287,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -4344,5 +4307,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] diff --git a/Cargo.toml b/Cargo.toml index 7fffde8..020d3c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,9 +21,9 @@ async-openai = "0.26.*" base64 = "0.22.*" chrono = { version = "0.4.*", default-features = false, features = ["std", "now"] } # We'd rather not depend on this, but we cannot use the ruma-events EventContent macro without it. -matrix-sdk = { version = "0.7.1", default-features = false } +matrix-sdk = { version = "0.8.0", default-features = false } mxidwc = "1.0.*" -mxlink = ">=1.3.0" +mxlink = ">=1.4.0" etke_openai_api_rust = "0.1.*" quick_cache = "0.6.*" regex = "1.11.*" diff --git a/src/bot/implementation.rs b/src/bot/implementation.rs index e008e11..aad0e3b 100644 --- a/src/bot/implementation.rs +++ b/src/bot/implementation.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use std::{future::Future, pin::Pin}; -use mxlink::matrix_sdk::media::{MediaFormat, MediaRequest}; +use mxlink::matrix_sdk::media::{MediaFormat, MediaRequestParameters}; use mxlink::matrix_sdk::ruma::{ events::room::MediaSource, MilliSecondsSinceUnixEpoch, OwnedUserId, }; @@ -287,7 +287,7 @@ impl Bot { let desired_display_name = self.inner.config.user.name.clone(); let profile = account - .get_profile() + .fetch_user_profile() .await .map_err(|e| anyhow::anyhow!("Failed fetching profile: {:?}", e))?; @@ -310,7 +310,7 @@ impl Bot { let should_update_avatar = match &profile.avatar_url { Some(avatar_url) => { - let request = MediaRequest { + let request = MediaRequestParameters { source: MediaSource::Plain(avatar_url.to_owned()), format: MediaFormat::File, }; diff --git a/src/bot/reacting.rs b/src/bot/reacting.rs index 019a377..72626df 100644 --- a/src/bot/reacting.rs +++ b/src/bot/reacting.rs @@ -1,8 +1,8 @@ use mxlink::matrix_sdk::{ ruma::{ events::{ - room::message::Relation, AnyMessageLikeEvent, AnySyncTimelineEvent, AnyTimelineEvent, - MessageLikeEvent, + room::message::Relation, AnySyncMessageLikeEvent, AnySyncTimelineEvent, + SyncMessageLikeEvent, }, OwnedEventId, OwnedUserId, }, @@ -139,7 +139,7 @@ impl Reacting { } }; - let reacted_to_event_any_timeline_event = match reacted_to_event.event.deserialize() { + let reacted_to_event_any_timeline_event = match reacted_to_event.raw().deserialize() { Ok(value) => value, Err(err) => { tracing::error!( @@ -154,7 +154,7 @@ impl Reacting { let reacted_to_event_sender_id: OwnedUserId = reacted_to_event_any_timeline_event.sender().to_owned(); - let AnyTimelineEvent::MessageLike(reacted_to_event_message_like) = + let AnySyncTimelineEvent::MessageLike(reacted_to_event_message_like) = reacted_to_event_any_timeline_event else { tracing::debug!( @@ -164,7 +164,7 @@ impl Reacting { return Ok(()); }; - let AnyMessageLikeEvent::RoomMessage(reacted_to_event_room_message) = + let AnySyncMessageLikeEvent::RoomMessage(reacted_to_event_room_message) = reacted_to_event_message_like else { tracing::debug!( @@ -174,7 +174,7 @@ impl Reacting { return Ok(()); }; - let MessageLikeEvent::Original(reacted_to_event_room_message_original) = + let SyncMessageLikeEvent::Original(reacted_to_event_room_message_original) = reacted_to_event_room_message else { tracing::debug!(?reacted_to_event_id, "Ignoring redacted reacted-to event",); diff --git a/src/controller/chat_completion/mod.rs b/src/controller/chat_completion/mod.rs index c536622..5c2b307 100644 --- a/src/controller/chat_completion/mod.rs +++ b/src/controller/chat_completion/mod.rs @@ -575,7 +575,7 @@ async fn handle_stage_speech_to_text_actual_transcribing( ) -> anyhow::Result { let src = &audio_content.source; - let media_request = mxlink::matrix_sdk::media::MediaRequest { + let media_request = mxlink::matrix_sdk::media::MediaRequestParameters { source: src.to_owned(), format: mxlink::matrix_sdk::media::MediaFormat::File, }; diff --git a/src/conversation/matrix/room_event_fetcher.rs b/src/conversation/matrix/room_event_fetcher.rs index b3b0dde..2c7a941 100644 --- a/src/conversation/matrix/room_event_fetcher.rs +++ b/src/conversation/matrix/room_event_fetcher.rs @@ -22,7 +22,7 @@ impl RoomEventFetcher { room: &Room, ) -> mxlink::matrix_sdk::Result { let Some(lru_cache) = &self.lru_cache else { - return room.event(event_id).await; + return room.event(event_id, None).await; }; let guard = lru_cache.get_value_or_guard_async(event_id).await; @@ -33,7 +33,7 @@ impl RoomEventFetcher { return Ok(config); } Err(guard) => { - let event = room.event(event_id).await?; + let event = room.event(event_id, None).await?; let _ = guard.insert(event.clone()); diff --git a/src/conversation/matrix/utils/mod.rs b/src/conversation/matrix/utils/mod.rs index 4847488..1adc7fa 100644 --- a/src/conversation/matrix/utils/mod.rs +++ b/src/conversation/matrix/utils/mod.rs @@ -12,7 +12,8 @@ use mxlink::matrix_sdk::{ sanitize::remove_plain_reply_fallback, MessageType, OriginalSyncRoomMessageEvent, Relation, RoomMessageEventContent, }, - AnyMessageLikeEvent, AnyMessageLikeEventContent, AnyTimelineEvent, MessageLikeEvent, + AnyMessageLikeEventContent, AnySyncMessageLikeEvent, AnySyncTimelineEvent, + SyncMessageLikeEvent, }, Room, }; @@ -76,10 +77,10 @@ async fn get_matrix_messages_in_reply_chain_native( event_fetcher: &Arc, room: &Room, event_id: OwnedEventId, -) -> Result, mxlink::matrix_sdk::Error> { +) -> Result, mxlink::matrix_sdk::Error> { let mut next_event_id = Some(event_id.clone()); - let mut messages: Vec = Vec::new(); + let mut messages: Vec = Vec::new(); let mut handled_event_ids: Vec = Vec::new(); while let Some(next_event_id_in_loop) = next_event_id { @@ -98,9 +99,9 @@ async fn get_matrix_messages_in_reply_chain_native( handled_event_ids.push(next_event_id_in_loop.clone()); - let event_deserialized = event.event.deserialize()?; + let event_deserialized = event.raw().deserialize()?; - let AnyTimelineEvent::MessageLike(message_like_event) = event_deserialized else { + let AnySyncTimelineEvent::MessageLike(message_like_event) = event_deserialized else { tracing::warn!( "Not proceeding past non-MessageLike event: {:?}", event_deserialized @@ -109,9 +110,9 @@ async fn get_matrix_messages_in_reply_chain_native( }; next_event_id = match message_like_event.clone() { - AnyMessageLikeEvent::RoomEncrypted(_) => None, - AnyMessageLikeEvent::RoomMessage(room_message) => { - if let MessageLikeEvent::Original(room_message_original) = room_message { + AnySyncMessageLikeEvent::RoomEncrypted(_) => None, + AnySyncMessageLikeEvent::RoomMessage(room_message) => { + if let SyncMessageLikeEvent::Original(room_message_original) = room_message { match room_message_original.content.relates_to { Some(Relation::Reply { in_reply_to }) => Some(in_reply_to.event_id.clone()), _ => None, @@ -207,7 +208,7 @@ fn is_message_from_allowed_sender( } pub fn convert_matrix_native_event_to_matrix_message( - matrix_native_event: &AnyMessageLikeEvent, + matrix_native_event: &AnySyncMessageLikeEvent, ) -> Option { let Some(content) = matrix_native_event.original_content() else { // Redacted message @@ -471,7 +472,7 @@ fn timeline_event_to_detailed_message_payload( bot_user_id: &OwnedUserId, bot_display_name: &Option, ) -> anyhow::Result> { - let timeline_event_deserialized = match timeline_event.event.deserialize() { + let timeline_event_deserialized = match timeline_event.raw().deserialize() { Ok(value) => value, Err(err) => { return Err(anyhow::format_err!( @@ -482,7 +483,7 @@ fn timeline_event_to_detailed_message_payload( } }; - let AnyTimelineEvent::MessageLike(thread_start_message_like_event) = + let AnySyncTimelineEvent::MessageLike(thread_start_message_like_event) = timeline_event_deserialized else { tracing::trace!( @@ -493,7 +494,7 @@ fn timeline_event_to_detailed_message_payload( }; let (is_mentioning_bot, message_payload) = match thread_start_message_like_event { - AnyMessageLikeEvent::RoomEncrypted(room_message) => { + AnySyncMessageLikeEvent::RoomEncrypted(room_message) => { tracing::warn!( "Could not inspect event {} because it failed to decrypt: {:?}", timeline_event_id.clone(), @@ -508,8 +509,8 @@ fn timeline_event_to_detailed_message_payload( MessagePayload::Encrypted(thread_info.clone()), ) } - AnyMessageLikeEvent::RoomMessage(room_message) => { - if let MessageLikeEvent::Original(room_message_original) = room_message { + AnySyncMessageLikeEvent::RoomMessage(room_message) => { + if let SyncMessageLikeEvent::Original(room_message_original) = room_message { let room_message_payload: Result = room_message_original.content.msgtype.clone().try_into();