daydream

A small matrix web client written in rust
git clone git://archive.git.mtrnord.blog/daydream-mx/daydream.git
Log | Files | Refs | README | LICENSE

commit d1c6fe75b5d47faef96e467c89b69fbd468f7a3e
parent 8c0f8c21ae2d223d7ccfe0ff944a4180f98778aa
Author: Marcel <mtrnord1@gmail.com>
Date:   Sat, 25 Jul 2020 01:16:38 +0200

Update yew and the sdk

Took 39 minutes

Diffstat:
MCargo.lock | 293+++++++++++++++++++++++++++++++++++--------------------------------------------
Msrc/app/components/event_list.rs | 10+++++-----
Msrc/app/components/events/image.rs | 6+++---
Msrc/app/components/events/mod.rs | 16++++++++--------
Msrc/app/components/events/notice.rs | 6+++---
Msrc/app/components/events/text.rs | 6+++---
Msrc/app/components/events/video.rs | 6+++---
Msrc/app/components/room_list/item.rs | 16++++++++++++----
Msrc/app/matrix/login.rs | 2+-
Msrc/app/matrix/mod.rs | 6+++---
Msrc/app/matrix/sync.rs | 39++++++++++++++++++++++++++++-----------
Msrc/utils/ruma.rs | 16++++++++--------
12 files changed, 205 insertions(+), 217 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -8,9 +8,9 @@ checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" [[package]] name = "anyhow" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f" +checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b" [[package]] name = "anymap" @@ -30,9 +30,9 @@ version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -73,12 +73,9 @@ checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] name = "bytes" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118cf036fbb97d0816e3c34b2d7a1e8cfc60f68fcf63d550ddbe9bd5f59c213b" -dependencies = [ - "loom", -] +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "cc" @@ -360,9 +357,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39" dependencies = [ "proc-macro-hack", - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -411,19 +408,6 @@ dependencies = [ ] [[package]] -name = "generator" -version = "0.6.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add72f17bb81521258fcc8a7a3245b1e184e916bfbe34f0ea89558f440df5c68" -dependencies = [ - "cc", - "libc", - "log", - "rustc_version", - "winapi 0.3.9", -] - -[[package]] name = "getopts" version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -512,9 +496,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +checksum = "993f9e0baeed60001cf565546b0d3dbe6a6ad23f2bd31644a133c641eccf6d53" dependencies = [ "bytes", "fnv", @@ -523,10 +507,19 @@ dependencies = [ "futures-util", "http", "indexmap", - "log", "slab", "tokio", "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f595585f103464d8d2f6e9864682d74c1601fed5e07d62b1c9058dba8246fb" +dependencies = [ + "autocfg", ] [[package]] @@ -567,9 +560,9 @@ checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" [[package]] name = "hyper" -version = "0.13.6" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e7655b9594024ad0ee439f3b5a7299369dc2a3f459b47c696f9ff676f9aa1f" +checksum = "3e68a8dd9716185d9e64ea473ea6ef63529252e3e27623295a0378a19665d5eb" dependencies = [ "bytes", "futures-channel", @@ -580,12 +573,12 @@ dependencies = [ "http-body", "httparse", "itoa", - "log", "pin-project", "socket2", "time", "tokio", "tower-service", + "tracing", "want", ] @@ -639,11 +632,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4e5f0c3c60e6cc3f445f2a99debcd7c1e93c6b1c6090c18dd04cfdd59566b5f" dependencies = [ "i18n-config", - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", "serde", "serde_derive", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -693,11 +686,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c398b2b113b55809ceb9ee3e753fcbac793f1956663f3c36549c1346015c2afe" +checksum = "5b88cd59ee5f71fea89a62248fc8f387d44400cefe05ef548466d61ced9029a7" dependencies = [ "autocfg", + "hashbrown", ] [[package]] @@ -735,18 +729,18 @@ checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" [[package]] name = "js-sys" -version = "0.3.41" +version = "0.3.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4b9172132a62451e56142bff9afc91c8e4a4500aa5b847da36815b63bfda916" +checksum = "52732a3d3ad72c58ad2dc70624f9c17b46ecd0943b9a4f1ee37c4c18c5d983e2" dependencies = [ "wasm-bindgen", ] [[package]] name = "js_int" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2b63d60564122f2a7d6592c2f1d6c1c60e7a266b4d24715950a1ddad784f66" +checksum = "b96797f53235a1d6dc985f244a69de54b04c45b7e0e357a35c85a45a847d92f2" dependencies = [ "serde", ] @@ -782,9 +776,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.72" +version = "0.2.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f8082297d534141b30c8d39e9b1773713ab50fdbe4ff30f750d063b3bfd701" +checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9" [[package]] name = "libflate" @@ -809,25 +803,14 @@ dependencies = [ [[package]] name = "log" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" dependencies = [ "cfg-if", ] [[package]] -name = "loom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ecc775857611e1df29abba5c41355cdf540e7e9d4acfdf0f355eefee82330b7" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", -] - -[[package]] name = "matches" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -836,7 +819,7 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" [[package]] name = "matrix-sdk" version = "0.1.0" -source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#052bb792e7063d0ecc43e2af86f6c413895a157c" +source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#38723121e029881c0c32de026619e037e15e5bac" dependencies = [ "futures-timer", "http", @@ -854,7 +837,7 @@ dependencies = [ [[package]] name = "matrix-sdk-base" version = "0.1.0" -source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#052bb792e7063d0ecc43e2af86f6c413895a157c" +source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#38723121e029881c0c32de026619e037e15e5bac" dependencies = [ "async-trait", "matrix-sdk-common", @@ -863,13 +846,14 @@ dependencies = [ "serde_json", "thiserror", "tokio", + "tracing", "zeroize", ] [[package]] name = "matrix-sdk-common" version = "0.1.0" -source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#052bb792e7063d0ecc43e2af86f6c413895a157c" +source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#38723121e029881c0c32de026619e037e15e5bac" dependencies = [ "futures-locks", "instant", @@ -882,10 +866,10 @@ dependencies = [ [[package]] name = "matrix-sdk-common-macros" version = "0.1.0" -source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#052bb792e7063d0ecc43e2af86f6c413895a157c" +source = "git+https://github.com/MTRNord/matrix-rust-sdk?branch=daydream#38723121e029881c0c32de026619e037e15e5bac" dependencies = [ "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1041,9 +1025,9 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1060,9 +1044,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" +checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33" [[package]] name = "ppv-lite86" @@ -1093,9 +1077,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" +checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12" dependencies = [ "unicode-xid 0.2.1", ] @@ -1127,7 +1111,7 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", ] [[package]] @@ -1173,9 +1157,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "remove_dir_all" @@ -1188,8 +1172,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.10.6" -source = "git+https://github.com/daydream-mx/reqwest.git?branch=MTRNord/wasm-worker-support#0f7c15c8531028b39f7af7a4aab0ee9a0c02695a" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12427a5577082c24419c9c417db35cfeb65962efc7675bb6b0d5f1f9d315bfe6" dependencies = [ "base64", "bytes", @@ -1229,7 +1214,7 @@ checksum = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" [[package]] name = "ruma" version = "0.1.0" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "ruma-api", "ruma-client-api", @@ -1241,7 +1226,7 @@ dependencies = [ [[package]] name = "ruma-api" version = "0.16.1" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "http", "percent-encoding", @@ -1256,17 +1241,18 @@ dependencies = [ [[package]] name = "ruma-api-macros" version = "0.16.1" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ - "proc-macro2 1.0.18", + "matches", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] name = "ruma-client-api" version = "0.9.0" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "http", "js_int", @@ -1283,7 +1269,7 @@ dependencies = [ [[package]] name = "ruma-common" version = "0.1.3" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "js_int", "matches", @@ -1296,7 +1282,7 @@ dependencies = [ [[package]] name = "ruma-events" version = "0.21.3" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "js_int", "ruma-common", @@ -1311,18 +1297,20 @@ dependencies = [ [[package]] name = "ruma-events-macros" version = "0.21.3" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ - "proc-macro2 1.0.18", + "matches", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] name = "ruma-identifiers" -version = "0.16.2" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +version = "0.17.0-pre.1" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ + "matches", "serde", "strum", ] @@ -1330,7 +1318,7 @@ dependencies = [ [[package]] name = "ruma-serde" version = "0.2.2" -source = "git+https://github.com/ruma/ruma#4ff6c6ecbe618a8e6efd99de480f87f022695a89" +source = "git+https://github.com/ruma/ruma?rev=9190bff1d03fb188aa1d24502129f9dd19a824e6#9190bff1d03fb188aa1d24502129f9dd19a824e6" dependencies = [ "form_urlencoded", "itoa", @@ -1341,9 +1329,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "5.5.1" +version = "5.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a17890cbd0fae97c2006fa1ecec9554946443c319f4dd8cd8d3b92031725161" +checksum = "213acf1bc5a6dfcd70b62db1e9a7d06325c0e73439c312fcb8599d456d9686ee" dependencies = [ "include-flate", "rust-embed-impl", @@ -1353,13 +1341,13 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "5.5.1" +version = "5.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60cacc306d294556771c6e92737ba7e6be0264144bc46dd713a14ef384b0d6b8" +checksum = "7903c2cf599db8f310b392332f38367ca4acc84420fa1aee3536299f433c10d5" dependencies = [ "quote 1.0.7", "rust-embed-utils", - "syn 1.0.33", + "syn 1.0.35", "walkdir", ] @@ -1373,15 +1361,6 @@ dependencies = [ ] [[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver", -] - -[[package]] name = "ryu" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1407,12 +1386,6 @@ dependencies = [ ] [[package]] -name = "scoped-tls" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" - -[[package]] name = "security-framework" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1436,21 +1409,6 @@ dependencies = [ ] [[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] name = "send_wrapper" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1471,9 +1429,9 @@ version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1539,9 +1497,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" dependencies = [ "heck", - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1557,11 +1515,11 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd" +checksum = "fb7f4c519df8c117855e19dd8cc851e89eb746fe7a73f0157e0d95fdec5369b0" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", "unicode-xid 0.2.1", ] @@ -1601,9 +1559,9 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1630,9 +1588,9 @@ checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed" [[package]] name = "tokio" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" +checksum = "5d34ca54d84bf2b5b4d7d31e901a8464f7b60ac145a284fba25ceb801f2ddccd" dependencies = [ "bytes", "fnv", @@ -1696,9 +1654,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e2a2de6b0d5cbb13fc21193a2296888eaab62b6044479aafb3c54c01c29fcd" +checksum = "dbdf4ccd1652592b01286a5dbe1e2a77d78afaa34beadd9872a5f7396f92aaa9" dependencies = [ "cfg-if", "log", @@ -1712,9 +1670,9 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0693bf8d6f2bf22c690fc61a9d21ac69efdbb894a17ed596b9af0f01e64b84b" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] @@ -1738,9 +1696,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "unic-langid" @@ -1872,9 +1830,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasm-bindgen" -version = "0.2.64" +version = "0.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a634620115e4a229108b71bde263bb4220c483b3f07f5ba514ee8d15064c4c2" +checksum = "f3edbcc9536ab7eababcc6d2374a0b7bfe13a2b6d562c5e07f370456b1a8f33d" dependencies = [ "cfg-if", "serde", @@ -1884,24 +1842,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.64" +version = "0.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e53963b583d18a5aa3aaae4b4c1cb535218246131ba22a71f05b518098571df" +checksum = "89ed2fb8c84bfad20ea66b26a3743f3e7ba8735a69fe7d95118c33ec8fc1244d" dependencies = [ "bumpalo", "lazy_static", "log", - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba48d66049d2a6cc8488702e7259ab7afc9043ad0dc5448444f46f2a453b362" +checksum = "41ad6e4e8b2b7f8c90b6e09a9b590ea15cb0d1dbe28502b5a405cd95d1981671" dependencies = [ "cfg-if", "js-sys", @@ -1911,9 +1869,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.64" +version = "0.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcfd5ef6eec85623b4c6e844293d4516470d8f19cd72d0d12246017eb9060b8" +checksum = "eb071268b031a64d92fc6cf691715ca5a40950694d8f683c5bb43db7c730929e" dependencies = [ "quote 1.0.7", "wasm-bindgen-macro-support", @@ -1921,22 +1879,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.64" +version = "0.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9adff9ee0e94b926ca81b57f57f86d5545cdcb1d259e21ec9bdd95b901754c75" +checksum = "cf592c807080719d1ff2f245a687cbadb3ed28b2077ed7084b47aba8b691f2c6" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.64" +version = "0.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7b90ea6c632dd06fd765d44542e234d5e63d9bb917ecd64d79778a13bd79ae" +checksum = "72b6c0220ded549d63860c78c38f3bcc558d1ca3f4efa74942c536ddbbb55e87" [[package]] name = "wasm-logger" @@ -1951,9 +1909,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.41" +version = "0.3.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863539788676619aac1a23e2df3655e96b32b0e05eb72ca34ba045ad573c625d" +checksum = "8be2398f326b7ba09815d0b403095f34dd708579220d099caae89be0b32137b2" dependencies = [ "js-sys", "wasm-bindgen", @@ -2023,8 +1981,8 @@ dependencies = [ [[package]] name = "yew" -version = "0.17.1" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +version = "0.17.2" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ "anyhow", "anymap", @@ -2053,20 +2011,20 @@ dependencies = [ [[package]] name = "yew-macro" version = "0.17.0" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ "boolinator", "lazy_static", "proc-macro-hack", - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", ] [[package]] name = "yew-router" version = "0.14.0" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ "cfg-if", "cfg-match", @@ -2086,18 +2044,18 @@ dependencies = [ [[package]] name = "yew-router-macro" version = "0.14.0" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.19", "quote 1.0.7", - "syn 1.0.33", + "syn 1.0.35", "yew-router-route-parser", ] [[package]] name = "yew-router-route-parser" version = "0.14.0" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ "nom", ] @@ -2105,7 +2063,7 @@ dependencies = [ [[package]] name = "yewtil" version = "0.3.0" -source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#9b1d22b4d4b4b8d140b5efb0c2ccc5cc56b4df6d" +source = "git+https://github.com/daydream-mx/yew.git?branch=MTRNord/daydream-no-bincode#55f9e25711c187df981ec1769da7630b983655e9" dependencies = [ "futures", "log", @@ -2128,4 +2086,9 @@ source = "git+https://github.com/engineerd/cjson#ccb9a6336f8279d35561a6ec189aa7e [[patch.unused]] name = "olm-sys" version = "0.1.5" -source = "git+https://gitlab.gnome.org/stoically/olm-sys?branch=wasm-target#1e196e5b216df6fe0bdae5a0a94f80be5f3495be" +source = "git+https://gitlab.gnome.org/stoically/olm-sys?branch=wasm-target#19e18932a122dca32ead57660711327126c78432" + +[[patch.unused]] +name = "reqwest" +version = "0.10.6" +source = "git+https://github.com/daydream-mx/reqwest.git?branch=MTRNord/wasm-worker-support#0f7c15c8531028b39f7af7a4aab0ee9a0c02695a" diff --git a/src/app/components/event_list.rs b/src/app/components/event_list.rs @@ -3,7 +3,7 @@ use std::{collections::HashMap, rc::Rc}; use crate::utils::ruma::AnyMessageEventExt; use log::*; use matrix_sdk::{ - events::{room::message::MessageEventContent, AnyMessageEventContent, AnyMessageEventStub}, + events::{room::message::MessageEventContent, AnyMessageEventContent, AnySyncMessageEvent}, identifiers::RoomId, Room, }; @@ -25,7 +25,7 @@ pub struct EventList { #[derive(Default)] pub struct State { // TODO handle all events - pub events: HashMap<RoomId, Vec<AnyMessageEventStub>>, + pub events: HashMap<RoomId, Vec<AnySyncMessageEvent>>, } #[allow(clippy::large_enum_variant)] @@ -92,7 +92,7 @@ impl Component for EventList { } } Response::OldMessages((room_id, messages)) => { - let mut deserialized_messages: Vec<AnyMessageEventStub> = messages + let mut deserialized_messages: Vec<AnySyncMessageEvent> = messages .iter() .map(|x| x.deserialize()) .filter_map(Result::ok) @@ -186,8 +186,8 @@ impl EventList { //noinspection RsTypeCheck fn get_event( &self, - prev_event: Option<&AnyMessageEventStub>, - event: &AnyMessageEventStub, + prev_event: Option<&AnySyncMessageEvent>, + event: &AnySyncMessageEvent, ) -> Html { // TODO make encryption supported diff --git a/src/app/components/events/image.rs b/src/app/components/events/image.rs @@ -2,7 +2,7 @@ use std::rc::Rc; use crate::app::components::events::{EventExt, RoomExt}; use matrix_sdk::{ - events::{room::message::ImageMessageEventContent, AnyMessageEventStub}, + events::{room::message::ImageMessageEventContent, AnySyncMessageEvent}, Room, }; use rand::random; @@ -15,8 +15,8 @@ pub(crate) struct Image { #[derive(Clone, Properties, Debug)] pub struct Props { #[prop_or_default] - pub prev_event: Option<AnyMessageEventStub>, - pub event: AnyMessageEventStub, + pub prev_event: Option<AnySyncMessageEvent>, + pub event: AnySyncMessageEvent, pub image_event: ImageMessageEventContent, pub room: Rc<Room>, } diff --git a/src/app/components/events/mod.rs b/src/app/components/events/mod.rs @@ -1,4 +1,4 @@ -use matrix_sdk::events::AnyMessageEventStub; +use matrix_sdk::events::AnySyncMessageEvent; use matrix_sdk::Room; use url::Url; @@ -10,11 +10,11 @@ pub mod text; pub mod video; pub trait EventExt { - fn is_new_user(&self, prev_event: Option<&AnyMessageEventStub>) -> bool; + fn is_new_user(&self, prev_event: Option<&AnySyncMessageEvent>) -> bool; } -impl EventExt for AnyMessageEventStub { - fn is_new_user(&self, prev_event: Option<&AnyMessageEventStub>) -> bool { +impl EventExt for AnySyncMessageEvent { + fn is_new_user(&self, prev_event: Option<&AnySyncMessageEvent>) -> bool { if let Some(prev_event) = prev_event { prev_event.sender() != self.sender() } else { @@ -24,16 +24,16 @@ impl EventExt for AnyMessageEventStub { } pub trait RoomExt { - fn get_sender_displayname<'a>(&'a self, event: &'a AnyMessageEventStub) -> &'a str; + fn get_sender_displayname<'a>(&'a self, event: &'a AnySyncMessageEvent) -> &'a str; fn get_sender_avatar<'a>( &'a self, homeserver_url: &'a Url, - event: &'a AnyMessageEventStub, + event: &'a AnySyncMessageEvent, ) -> Option<Url>; } impl RoomExt for Room { - fn get_sender_displayname<'a>(&'a self, event: &'a AnyMessageEventStub) -> &'a str { + fn get_sender_displayname<'a>(&'a self, event: &'a AnySyncMessageEvent) -> &'a str { self.joined_members .get(&event.sender()) .or_else(|| self.invited_members.get(&event.sender())) @@ -44,7 +44,7 @@ impl RoomExt for Room { fn get_sender_avatar<'a>( &self, homeserver_url: &'a Url, - event: &'a AnyMessageEventStub, + event: &'a AnySyncMessageEvent, ) -> Option<Url> { let member = self .joined_members diff --git a/src/app/components/events/notice.rs b/src/app/components/events/notice.rs @@ -2,7 +2,7 @@ use std::rc::Rc; use linkify::LinkFinder; use matrix_sdk::{ - events::{room::message::NoticeMessageEventContent, AnyMessageEventStub}, + events::{room::message::NoticeMessageEventContent, AnySyncMessageEvent}, Room, }; use web_sys::Node; @@ -18,8 +18,8 @@ pub(crate) struct Notice { #[derive(Clone, Properties, Debug)] pub struct Props { #[prop_or_default] - pub prev_event: Option<AnyMessageEventStub>, - pub event: AnyMessageEventStub, + pub prev_event: Option<AnySyncMessageEvent>, + pub event: AnySyncMessageEvent, pub notice_event: NoticeMessageEventContent, pub room: Rc<Room>, } diff --git a/src/app/components/events/text.rs b/src/app/components/events/text.rs @@ -3,7 +3,7 @@ use std::rc::Rc; use crate::app::components::events::{EventExt, RoomExt}; use linkify::LinkFinder; use matrix_sdk::{ - events::{room::message::TextMessageEventContent, AnyMessageEventStub}, + events::{room::message::TextMessageEventContent, AnySyncMessageEvent}, Room, }; use web_sys::Node; @@ -17,8 +17,8 @@ pub struct Text { #[derive(Clone, Properties, Debug)] pub struct Props { #[prop_or_default] - pub prev_event: Option<AnyMessageEventStub>, - pub event: AnyMessageEventStub, + pub prev_event: Option<AnySyncMessageEvent>, + pub event: AnySyncMessageEvent, pub text_event: TextMessageEventContent, pub room: Rc<Room>, } diff --git a/src/app/components/events/video.rs b/src/app/components/events/video.rs @@ -2,7 +2,7 @@ use std::rc::Rc; use crate::app::components::events::{EventExt, RoomExt}; use matrix_sdk::{ - events::{room::message::VideoMessageEventContent, AnyMessageEventStub}, + events::{room::message::VideoMessageEventContent, AnySyncMessageEvent}, Room, }; use rand::random; @@ -15,8 +15,8 @@ pub(crate) struct Video { #[derive(Clone, Properties, Debug)] pub struct Props { #[prop_or_default] - pub prev_event: Option<AnyMessageEventStub>, - pub event: AnyMessageEventStub, + pub prev_event: Option<AnySyncMessageEvent>, + pub event: AnySyncMessageEvent, pub video_event: VideoMessageEventContent, pub room: Rc<Room>, } diff --git a/src/app/components/room_list/item.rs b/src/app/components/room_list/item.rs @@ -1,7 +1,10 @@ use std::rc::Rc; use matrix_sdk::{ - events::{room::message::MessageEventContent, AnyMessageEventContent}, + events::{ + room::message::MessageEventContent, AnyPossiblyRedactedSyncMessageEvent, + AnySyncMessageEvent, + }, identifiers::RoomId, Room, }; @@ -54,10 +57,15 @@ impl Component for RoomItem { let last_message = match room.messages.iter().last() { None => "", Some(m) => { - if let AnyMessageEventContent::RoomMessage(MessageEventContent::Text(text_event)) = - &m.content + if let AnyPossiblyRedactedSyncMessageEvent::Regular( + AnySyncMessageEvent::RoomMessage(event), + ) = &**m { - &text_event.body + if let MessageEventContent::Text(text_event) = &event.content { + &text_event.body + } else { + "" + } } else { "" } diff --git a/src/app/matrix/login.rs b/src/app/matrix/login.rs @@ -54,7 +54,7 @@ fn restore_client(session: &SessionStore) -> Result<Client, MatrixError> { session.user_id.as_str(), ) .unwrap(), - device_id: session.device_id.clone(), + device_id: session.device_id.clone().into(), }; info!("before restore"); let cloned_client = client.clone(); diff --git a/src/app/matrix/mod.rs b/src/app/matrix/mod.rs @@ -8,7 +8,7 @@ use matrix_sdk::{ room::message::{ FormattedBody, MessageEventContent, MessageFormat, TextMessageEventContent, }, - AnyMessageEvent, AnyMessageEventStub, AnyRoomEvent, EventJson, + AnyMessageEvent, AnyRoomEvent, AnySyncMessageEvent, EventJson, }, identifiers::RoomId, locks::RwLock, @@ -64,7 +64,7 @@ pub enum Response { Error(MatrixError), LoggedIn(bool), // TODO properly handle sync events - Sync((RoomId, EventJson<AnyMessageEventStub>)), + Sync((RoomId, EventJson<AnySyncMessageEvent>)), JoinedRoomSync(RoomId), SyncPing, OldMessages((RoomId, Vec<EventJson<AnyMessageEvent>>)), @@ -151,7 +151,7 @@ impl Agent for MatrixAgent { let session_store = SessionStore { access_token: login_response.access_token, user_id: login_response.user_id.to_string(), - device_id: login_response.device_id, + device_id: login_response.device_id.into(), homeserver_url: client.homeserver().to_string(), }; for sub in agent.subscribers.iter() { diff --git a/src/app/matrix/sync.rs b/src/app/matrix/sync.rs @@ -5,10 +5,12 @@ use std::time::Duration; use log::*; use matrix_sdk::{ + api::r0::filter::{FilterDefinition, LazyLoadOptions, RoomEventFilter, RoomFilter}, + api::r0::sync::sync_events::Filter, api::r0::sync::sync_events::Response as SyncResponse, events::{ - room::message::MessageEventContent, AnyMessageEventStub, AnyRoomEventStub, - AnyStateEventStub, EventJson, + room::message::MessageEventContent, AnySyncMessageEvent, AnySyncRoomEvent, + AnySyncStateEvent, EventJson, }, identifiers::RoomId, locks::RwLock, @@ -18,6 +20,7 @@ use wasm_bindgen_futures::spawn_local; use yew::Callback; use lazy_static::lazy_static; +use matrix_sdk::js_int::UInt; use crate::app::components::events::RoomExt; use crate::app::matrix::types::{get_media_download_url, get_video_media_download_url}; @@ -37,7 +40,21 @@ impl Sync { pub async fn start_sync(&self) { debug!("start sync!"); let client = self.matrix_client.clone(); - let settings = SyncSettings::default().timeout(Duration::from_secs(30)); + let settings = SyncSettings::default() + .timeout(Duration::from_secs(30)) + .filter(Filter::FilterDefinition(FilterDefinition { + room: Some(RoomFilter { + timeline: Some(RoomEventFilter { + limit: Some(UInt::new(20).unwrap()), + lazy_load_options: LazyLoadOptions::Enabled { + include_redundant_members: true, + }, + ..Default::default() + }), + ..Default::default() + }), + ..Default::default() + })); //.full_state(true); debug!("start sync_forever!"); @@ -70,25 +87,25 @@ impl Sync { } } - async fn on_state_event(&self, room_id: &RoomId, event: AnyStateEventStub) { - if let AnyStateEventStub::RoomCreate(_event) = event { + async fn on_state_event(&self, room_id: &RoomId, event: AnySyncStateEvent) { + if let AnySyncStateEvent::RoomCreate(_event) = event { info!("Sent JoinedRoomSync State"); let resp = Response::JoinedRoomSync(room_id.clone()); self.callback.emit(resp); } } - async fn on_room_message(&self, room_id: &RoomId, event: AnyRoomEventStub) { + async fn on_room_message(&self, room_id: &RoomId, event: AnySyncRoomEvent) { // TODO handle all messages... - if let AnyRoomEventStub::State(AnyStateEventStub::RoomCreate(_create_event)) = event.clone() + if let AnySyncRoomEvent::State(AnySyncStateEvent::RoomCreate(_create_event)) = event.clone() { info!("Sent JoinedRoomSync Timeline"); let resp = Response::JoinedRoomSync(room_id.clone()); self.callback.emit(resp); } - if let AnyRoomEventStub::Message(AnyMessageEventStub::RoomMessage(mut event)) = event { + if let AnySyncRoomEvent::Message(AnySyncMessageEvent::RoomMessage(mut event)) = event { if let MessageEventContent::Text(text_event) = event.content.clone() { let homeserver_url = self.matrix_client.clone().homeserver().clone(); @@ -109,10 +126,10 @@ impl Sync { ( room.get_sender_avatar( &homeserver_url, - &AnyMessageEventStub::RoomMessage(cloned_event.clone()), + &AnySyncMessageEvent::RoomMessage(cloned_event.clone()), ), room.display_name(), - room.get_sender_displayname(&AnyMessageEventStub::RoomMessage( + room.get_sender_displayname(&AnySyncMessageEvent::RoomMessage( cloned_event, )) .to_string(), @@ -174,7 +191,7 @@ impl Sync { } } - let serialized_event = EventJson::from(AnyMessageEventStub::RoomMessage(event)); + let serialized_event = EventJson::from(AnySyncMessageEvent::RoomMessage(event)); let resp = Response::Sync((room_id.clone(), serialized_event)); self.callback.emit(resp); } diff --git a/src/utils/ruma.rs b/src/utils/ruma.rs @@ -1,19 +1,19 @@ use matrix_sdk::events::{ - room::redaction::RedactionEventStub, AnyMessageEvent, AnyMessageEventStub, MessageEvent, - MessageEventContent, MessageEventStub, + room::redaction::SyncRedactionEvent, AnyMessageEvent, AnySyncMessageEvent, MessageEvent, + MessageEventContent, SyncMessageEvent, }; pub trait AnyMessageEventExt { - fn without_room_id(self) -> AnyMessageEventStub; + fn without_room_id(self) -> AnySyncMessageEvent; } impl AnyMessageEventExt for AnyMessageEvent { - fn without_room_id(self) -> AnyMessageEventStub { - fn without_room_id<C>(ev: MessageEvent<C>) -> MessageEventStub<C> + fn without_room_id(self) -> AnySyncMessageEvent { + fn without_room_id<C>(ev: MessageEvent<C>) -> SyncMessageEvent<C> where C: MessageEventContent, { - MessageEventStub { + SyncMessageEvent { content: ev.content, event_id: ev.event_id, sender: ev.sender, @@ -22,7 +22,7 @@ impl AnyMessageEventExt for AnyMessageEvent { } } - use AnyMessageEventStub::*; + use AnySyncMessageEvent::*; match self { Self::CallAnswer(ev) => CallAnswer(without_room_id(ev)), @@ -34,7 +34,7 @@ impl AnyMessageEventExt for AnyMessageEvent { Self::RoomMessageFeedback(ev) => RoomMessageFeedback(without_room_id(ev)), Self::Sticker(ev) => Sticker(without_room_id(ev)), Self::Custom(ev) => Custom(without_room_id(ev)), - Self::RoomRedaction(ev) => RoomRedaction(RedactionEventStub { + Self::RoomRedaction(ev) => RoomRedaction(SyncRedactionEvent { content: ev.content, event_id: ev.event_id, sender: ev.sender,