Browse Source

Update matrix-sdk

merge-requests/1327/merge
Julian Sparber 4 years ago
parent
commit
e6740768ca
  1. 224
      Cargo.lock
  2. 4
      src/components/auth_dialog.rs
  3. 2
      src/login.rs
  4. 7
      src/session/account_settings/devices_page/device.rs
  5. 2
      src/session/account_settings/devices_page/device_list.rs
  6. 7
      src/session/account_settings/user_page/change_password_subpage.rs
  7. 6
      src/session/account_settings/user_page/deactivate_account_subpage.rs
  8. 4
      src/session/account_settings/user_page/mod.rs
  9. 2
      src/session/avatar.rs
  10. 6
      src/session/content/explore/mod.rs
  11. 2
      src/session/content/explore/public_room_list.rs
  12. 3
      src/session/content/explore/public_room_row.rs
  13. 6
      src/session/content/room_details/invite_subpage/invitee_list.rs
  14. 2
      src/session/content/room_history/message_row/media.rs
  15. 4
      src/session/content/room_history/mod.rs
  16. 26
      src/session/mod.rs
  17. 21
      src/session/room/mod.rs
  18. 4
      src/session/room_creation/mod.rs
  19. 2
      src/session/verification/verification_list.rs

224
Cargo.lock generated

@ -692,12 +692,13 @@ dependencies = [
[[package]] [[package]]
name = "dashmap" name = "dashmap"
version = "4.0.2" version = "5.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" checksum = "c0834a35a3fce649144119e18da2a4d8ed12ef3862f47183fd46f625d072d96c"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"num_cpus", "num_cpus",
"parking_lot 0.12.0",
] ]
[[package]] [[package]]
@ -1786,7 +1787,7 @@ checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
dependencies = [ dependencies = [
"bytes", "bytes",
"fnv", "fnv",
"itoa 1.0.1", "itoa",
] ]
[[package]] [[package]]
@ -1833,7 +1834,7 @@ dependencies = [
"http-body", "http-body",
"httparse", "httparse",
"httpdate", "httpdate",
"itoa 1.0.1", "itoa",
"pin-project-lite", "pin-project-lite",
"socket2", "socket2",
"tokio", "tokio",
@ -1932,12 +1933,6 @@ dependencies = [
"either", "either",
] ]
[[package]]
name = "itoa"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.1" version = "1.0.1"
@ -2212,7 +2207,7 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
[[package]] [[package]]
name = "matrix-qrcode" name = "matrix-qrcode"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#70490277eb6e56d3d1c637b1967f3a01ed67e9d8" source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [ dependencies = [
"base64", "base64",
"byteorder", "byteorder",
@ -2227,7 +2222,7 @@ dependencies = [
[[package]] [[package]]
name = "matrix-sdk" name = "matrix-sdk"
version = "0.4.1" version = "0.4.1"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#70490277eb6e56d3d1c637b1967f3a01ed67e9d8" source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [ dependencies = [
"anymap2", "anymap2",
"async-stream", "async-stream",
@ -2241,6 +2236,7 @@ dependencies = [
"http", "http",
"matrix-sdk-base", "matrix-sdk-base",
"matrix-sdk-common", "matrix-sdk-common",
"matrix-sdk-sled",
"mime", "mime",
"reqwest", "reqwest",
"ruma", "ruma",
@ -2256,8 +2252,9 @@ dependencies = [
[[package]] [[package]]
name = "matrix-sdk-base" name = "matrix-sdk-base"
version = "0.4.1" version = "0.4.1"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#70490277eb6e56d3d1c637b1967f3a01ed67e9d8" source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [ dependencies = [
"anyhow",
"async-stream", "async-stream",
"chacha20poly1305", "chacha20poly1305",
"dashmap", "dashmap",
@ -2274,9 +2271,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.2", "sha2 0.10.2",
"sled",
"thiserror", "thiserror",
"tokio",
"tracing", "tracing",
"zeroize", "zeroize",
] ]
@ -2284,7 +2279,7 @@ dependencies = [
[[package]] [[package]]
name = "matrix-sdk-common" name = "matrix-sdk-common"
version = "0.4.1" version = "0.4.1"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#70490277eb6e56d3d1c637b1967f3a01ed67e9d8" source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [ dependencies = [
"async-lock", "async-lock",
"async-trait", "async-trait",
@ -2294,18 +2289,17 @@ dependencies = [
"serde", "serde",
"tokio", "tokio",
"uuid", "uuid",
"wasm-bindgen",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"web-sys",
] ]
[[package]] [[package]]
name = "matrix-sdk-crypto" name = "matrix-sdk-crypto"
version = "0.4.1" version = "0.4.1"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#70490277eb6e56d3d1c637b1967f3a01ed67e9d8" source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [ dependencies = [
"aes", "aes",
"aes-gcm", "aes-gcm",
"anyhow",
"atomic", "atomic",
"base64", "base64",
"bs58", "bs58",
@ -2323,12 +2317,32 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.2", "sha2 0.10.2",
"sled",
"thiserror", "thiserror",
"tracing", "tracing",
"zeroize", "zeroize",
] ]
[[package]]
name = "matrix-sdk-sled"
version = "0.1.0"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git#88f1552a70521ca969e2759f484ab46d76c33a5e"
dependencies = [
"anyhow",
"async-stream",
"dashmap",
"futures-core",
"futures-util",
"matrix-sdk-base",
"matrix-sdk-common",
"matrix-sdk-crypto",
"serde",
"serde_json",
"sled",
"thiserror",
"tokio",
"tracing",
]
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.4.1" version = "2.4.1"
@ -2734,7 +2748,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [ dependencies = [
"instant", "instant",
"lock_api", "lock_api",
"parking_lot_core", "parking_lot_core 0.8.5",
]
[[package]]
name = "parking_lot"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
dependencies = [
"lock_api",
"parking_lot_core 0.9.1",
] ]
[[package]] [[package]]
@ -2751,6 +2775,19 @@ dependencies = [
"winapi", "winapi",
] ]
[[package]]
name = "parking_lot_core"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
dependencies = [
"cfg-if 1.0.0",
"libc",
"redox_syscall",
"smallvec",
"windows-sys",
]
[[package]] [[package]]
name = "paste" name = "paste"
version = "1.0.6" version = "1.0.6"
@ -3246,8 +3283,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma" name = "ruma"
version = "0.4.0" version = "0.5.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "377d836ac9faf53c56aa8610c596be4d2e0881600b20d0c4a3a09694989f664f"
dependencies = [ dependencies = [
"assign", "assign",
"js_int", "js_int",
@ -3264,8 +3302,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-api" name = "ruma-api"
version = "0.18.5" version = "0.20.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fc1c16c9b7d21791e4c2d082da3d050ea1cebe004af30275fb2e6f547e1a283"
dependencies = [ dependencies = [
"bytes", "bytes",
"http", "http",
@ -3276,12 +3315,14 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
"tracing",
] ]
[[package]] [[package]]
name = "ruma-api-macros" name = "ruma-api-macros"
version = "0.18.5" version = "0.20.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cc6143101ea576d8763468a3b8889c5d9062402204d172bde3b99912a16e5cc"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2 1.0.36", "proc-macro2 1.0.36",
@ -3291,8 +3332,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-client-api" name = "ruma-client-api"
version = "0.12.3" version = "0.13.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d360ec8cdb7e0815b8b6ab06345c68972aa2e7c564578cd05f3eb2845a785a9"
dependencies = [ dependencies = [
"assign", "assign",
"bytes", "bytes",
@ -3311,8 +3353,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-common" name = "ruma-common"
version = "0.6.0" version = "0.8.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98080b1aac4045f5988ae5e2ccfe1864487c151c1717d29fe1388b7e06383d3e"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"js_int", "js_int",
@ -3326,8 +3369,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-events" name = "ruma-events"
version = "0.24.6" version = "0.26.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2b661cc7dd619039c99aea1e42c06e3ac9a29a1d648dc3bcbb4f0dffcb49d04"
dependencies = [ dependencies = [
"indoc", "indoc",
"js_int", "js_int",
@ -3344,8 +3388,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-events-macros" name = "ruma-events-macros"
version = "0.24.6" version = "0.26.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e9f4f3ac886d490d030bd3c5e50d21b80de5537bde04dd4529e27a0cc1e2201"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2 1.0.36", "proc-macro2 1.0.36",
@ -3355,8 +3400,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-federation-api" name = "ruma-federation-api"
version = "0.3.1" version = "0.4.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf1c02bf70a1cde9cf7d014544f1f63dee122ba7026a3b5535a9fc4f3ab888cd"
dependencies = [ dependencies = [
"js_int", "js_int",
"ruma-api", "ruma-api",
@ -3370,46 +3416,62 @@ dependencies = [
[[package]] [[package]]
name = "ruma-identifiers" name = "ruma-identifiers"
version = "0.20.0" version = "0.22.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7bc99002443cfdf64d1158e8e6e280b3633e17d91049ad9516ad475358b3b8b"
dependencies = [ dependencies = [
"percent-encoding", "percent-encoding",
"rand 0.8.5", "rand 0.8.5",
"ruma-identifiers-macros", "ruma-identifiers-macros",
"ruma-identifiers-validation", "ruma-identifiers-validation 0.7.0",
"ruma-serde", "ruma-serde",
"ruma-serde-macros", "ruma-serde-macros",
"serde", "serde",
"url",
"uuid", "uuid",
] ]
[[package]] [[package]]
name = "ruma-identifiers-macros" name = "ruma-identifiers-macros"
version = "0.20.0" version = "0.22.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "503738488e3a378677e8b159478dbb07d2d70f1e1f3320c0bd3a51a99e44cf7c"
dependencies = [ dependencies = [
"quote 1.0.15", "quote 1.0.15",
"ruma-identifiers-validation", "ruma-identifiers-validation 0.6.0",
"syn 1.0.86", "syn 1.0.86",
] ]
[[package]] [[package]]
name = "ruma-identifiers-validation" name = "ruma-identifiers-validation"
version = "0.5.0" version = "0.6.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c670c45c3c86eaf5ff9b4bfd66a2a57116f2d808c9f8cbfc957cd34c48032ff9"
dependencies = [ dependencies = [
"thiserror", "thiserror",
"url",
]
[[package]]
name = "ruma-identifiers-validation"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dc675917d537c870035d4681d7a2b939683fb908bbc036aa55889b09c5794f1"
dependencies = [
"thiserror",
"url",
] ]
[[package]] [[package]]
name = "ruma-serde" name = "ruma-serde"
version = "0.5.0" version = "0.6.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d44a6e4aabe679009ba0e26d37b43ea725591fcb3c82724bcfc0c3823d807cf"
dependencies = [ dependencies = [
"base64", "base64",
"bytes", "bytes",
"form_urlencoded", "form_urlencoded",
"itoa 0.4.8", "itoa",
"js_int", "js_int",
"ruma-serde-macros", "ruma-serde-macros",
"serde", "serde",
@ -3418,8 +3480,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-serde-macros" name = "ruma-serde-macros"
version = "0.5.0" version = "0.6.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d38cd6f6edebc09b9e4b4ecb24279dae0b700ecfc3a2d5eff9f8b60c41f73c03"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2 1.0.36", "proc-macro2 1.0.36",
@ -3429,8 +3492,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-signatures" name = "ruma-signatures"
version = "0.9.0" version = "0.10.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f08deeb5241428e6f1db085bc0ae6aeb469d20f45164a7f5500901add47770d"
dependencies = [ dependencies = [
"base64", "base64",
"ed25519-dalek", "ed25519-dalek",
@ -3446,8 +3510,9 @@ dependencies = [
[[package]] [[package]]
name = "ruma-state-res" name = "ruma-state-res"
version = "0.4.1" version = "0.6.0"
source = "git+https://github.com/ruma/ruma/?rev=b9f32bc6327542d382d4eb42ec43623495c50e66#b9f32bc6327542d382d4eb42ec43623495c50e66" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3328d01db08c51a66ac4093dd42151376a20fffebc6763a886d3e6d59d1ebc"
dependencies = [ dependencies = [
"itertools", "itertools",
"js_int", "js_int",
@ -3577,7 +3642,7 @@ version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
dependencies = [ dependencies = [
"itoa 1.0.1", "itoa",
"ryu", "ryu",
"serde", "serde",
] ]
@ -3600,7 +3665,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [ dependencies = [
"form_urlencoded", "form_urlencoded",
"itoa 1.0.1", "itoa",
"ryu", "ryu",
"serde", "serde",
] ]
@ -3700,7 +3765,7 @@ dependencies = [
"fxhash", "fxhash",
"libc", "libc",
"log", "log",
"parking_lot", "parking_lot 0.11.2",
] ]
[[package]] [[package]]
@ -3778,7 +3843,7 @@ checksum = "33994d0838dc2d152d17a62adf608a869b5e846b65b389af7f3dbc1de45c5b26"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"new_debug_unreachable", "new_debug_unreachable",
"parking_lot", "parking_lot 0.11.2",
"phf_shared 0.10.0", "phf_shared 0.10.0",
"precomputed-hash", "precomputed-hash",
"serde", "serde",
@ -4455,6 +4520,49 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-sys"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6"
dependencies = [
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_msvc"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
[[package]]
name = "windows_i686_gnu"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
[[package]]
name = "windows_i686_msvc"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
[[package]]
name = "windows_x86_64_gnu"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
[[package]]
name = "windows_x86_64_msvc"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
[[package]] [[package]]
name = "winreg" name = "winreg"
version = "0.7.0" version = "0.7.0"

4
src/components/auth_dialog.rs

@ -14,7 +14,7 @@ use matrix_sdk::{
api::{ api::{
client::{ client::{
error::ErrorBody, error::ErrorBody,
r0::uiaa::{ uiaa::{
AuthData as MatrixAuthData, AuthType, AuthData as MatrixAuthData, AuthType,
FallbackAcknowledgement as MatrixFallbackAcknowledgement, FallbackAcknowledgement as MatrixFallbackAcknowledgement,
Password as MatrixPassword, UiaaInfo, UiaaResponse, UserIdentifier, Password as MatrixPassword, UiaaInfo, UiaaResponse, UserIdentifier,
@ -59,7 +59,7 @@ impl AuthData {
password, password,
session, session,
}) => MatrixAuthData::Password(assign!(MatrixPassword::new( }) => MatrixAuthData::Password(assign!(MatrixPassword::new(
UserIdentifier::MatrixId(user_id), UserIdentifier::UserIdOrLocalpart(user_id),
password, password,
), { session: session.as_deref() })), ), { session: session.as_deref() })),
AuthData::FallbackAcknowledgement(FallbackAcknowledgement { session }) => { AuthData::FallbackAcknowledgement(FallbackAcknowledgement { session }) => {

2
src/login.rs

@ -5,7 +5,7 @@ use log::{debug, warn};
use matrix_sdk::{ use matrix_sdk::{
config::RequestConfig, config::RequestConfig,
ruma::{ ruma::{
api::client::unversioned::get_supported_versions, identifiers::Error as IdentifierError, api::client::discover::get_supported_versions, identifiers::Error as IdentifierError,
ServerName, UserId, ServerName, UserId,
}, },
Client, Result as MatrixResult, Client, Result as MatrixResult,

7
src/session/account_settings/devices_page/device.rs

@ -2,7 +2,7 @@ use gtk::{glib, prelude::*, subclass::prelude::*};
use matrix_sdk::{ use matrix_sdk::{
encryption::identities::Device as CryptoDevice, encryption::identities::Device as CryptoDevice,
ruma::{ ruma::{
api::client::r0::device::{delete_device, Device as MatrixDevice}, api::client::device::{delete_device, Device as MatrixDevice},
assign, assign,
identifiers::DeviceId, identifiers::DeviceId,
}, },
@ -191,10 +191,11 @@ impl Device {
async move { async move {
if let Some(auth) = auth_data { if let Some(auth) = auth_data {
let auth = Some(auth.as_matrix_auth_data()); let auth = Some(auth.as_matrix_auth_data());
let request = assign!(delete_device::Request::new(&device_id), { auth }); let request =
assign!(delete_device::v3::Request::new(&device_id), { auth });
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} else { } else {
let request = delete_device::Request::new(&device_id); let request = delete_device::v3::Request::new(&device_id);
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} }
} }

2
src/session/account_settings/devices_page/device_list.rs

@ -3,7 +3,7 @@ use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*};
use log::error; use log::error;
use matrix_sdk::{ use matrix_sdk::{
encryption::identities::UserDevices as CryptoDevices, encryption::identities::UserDevices as CryptoDevices,
ruma::api::client::r0::device::Device as MatrixDevice, Error, ruma::api::client::device::Device as MatrixDevice, Error,
}; };
use super::{Device, DeviceItem}; use super::{Device, DeviceItem};

7
src/session/account_settings/user_page/change_password_subpage.rs

@ -9,7 +9,7 @@ use log::error;
use matrix_sdk::{ use matrix_sdk::{
ruma::{ ruma::{
api::{ api::{
client::r0::account::change_password, client::account::change_password,
error::{FromHttpResponseError, ServerError}, error::{FromHttpResponseError, ServerError},
}, },
assign, assign,
@ -295,10 +295,11 @@ impl ChangePasswordSubpage {
async move { async move {
if let Some(auth) = auth_data { if let Some(auth) = auth_data {
let auth = Some(auth.as_matrix_auth_data()); let auth = Some(auth.as_matrix_auth_data());
let request = assign!(change_password::Request::new(&password), { auth }); let request =
assign!(change_password::v3::Request::new(&password), { auth });
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} else { } else {
let request = change_password::Request::new(&password); let request = change_password::v3::Request::new(&password);
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} }
} }

6
src/session/account_settings/user_page/deactivate_account_subpage.rs

@ -6,7 +6,7 @@ use gtk::{
CompositeTemplate, CompositeTemplate,
}; };
use log::error; use log::error;
use matrix_sdk::ruma::{api::client::r0::account::deactivate, assign}; use matrix_sdk::ruma::{api::client::account::deactivate, assign};
use crate::{ use crate::{
components::{AuthDialog, EntryRow, SpinnerButton, Toast}, components::{AuthDialog, EntryRow, SpinnerButton, Toast},
@ -182,10 +182,10 @@ impl DeactivateAccountSubpage {
.authenticate(move |client, auth_data| async move { .authenticate(move |client, auth_data| async move {
if let Some(auth) = auth_data { if let Some(auth) = auth_data {
let auth = Some(auth.as_matrix_auth_data()); let auth = Some(auth.as_matrix_auth_data());
let request = assign!(deactivate::Request::new(), { auth }); let request = assign!(deactivate::v3::Request::new(), { auth });
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} else { } else {
let request = deactivate::Request::new(); let request = deactivate::v3::Request::new();
client.send(request, None).await.map_err(Into::into) client.send(request, None).await.map_err(Into::into)
} }
}) })

4
src/session/account_settings/user_page/mod.rs

@ -9,7 +9,7 @@ use gtk::{
CompositeTemplate, CompositeTemplate,
}; };
use log::error; use log::error;
use matrix_sdk::ruma::{api::client::r0::capabilities::get_capabilities, MxcUri}; use matrix_sdk::ruma::{api::client::capabilities::get_capabilities, MxcUri};
mod change_password_subpage; mod change_password_subpage;
mod deactivate_account_subpage; mod deactivate_account_subpage;
@ -450,7 +450,7 @@ impl UserPage {
// Check whether the user can change their password. // Check whether the user can change their password.
let handle = spawn_tokio!(async move { let handle = spawn_tokio!(async move {
client.send(get_capabilities::Request::new(), None).await client.send(get_capabilities::v3::Request::new(), None).await
}); });
match handle.await.unwrap() { match handle.await.unwrap() {
Ok(res) => { Ok(res) => {

2
src/session/avatar.rs

@ -6,7 +6,7 @@ use matrix_sdk::{
media::{MediaFormat, MediaRequest, MediaThumbnailSize, MediaType}, media::{MediaFormat, MediaRequest, MediaThumbnailSize, MediaType},
room::Room as MatrixRoom, room::Room as MatrixRoom,
ruma::{ ruma::{
api::client::r0::media::get_content_thumbnail::Method, api::client::media::get_content_thumbnail::v3::Method,
events::{room::avatar::RoomAvatarEventContent, AnyStateEventContent}, events::{room::avatar::RoomAvatarEventContent, AnyStateEventContent},
identifiers::MxcUri, identifiers::MxcUri,
}, },

6
src/session/content/explore/mod.rs

@ -5,7 +5,7 @@ mod public_room_row;
use adw::subclass::prelude::*; use adw::subclass::prelude::*;
use gtk::{glib, glib::clone, prelude::*, subclass::prelude::*, CompositeTemplate}; use gtk::{glib, glib::clone, prelude::*, subclass::prelude::*, CompositeTemplate};
use log::error; use log::error;
use matrix_sdk::ruma::api::client::r0::thirdparty::get_protocols; use matrix_sdk::ruma::api::client::thirdparty::get_protocols;
pub use self::{ pub use self::{
public_room::PublicRoom, public_room_list::PublicRoomList, public_room_row::PublicRoomRow, public_room::PublicRoom, public_room_list::PublicRoomList, public_room_row::PublicRoomRow,
@ -209,7 +209,7 @@ impl Explore {
} }
} }
fn set_protocols(&self, protocols: get_protocols::Response) { fn set_protocols(&self, protocols: get_protocols::v3::Response) {
for protocol in protocols for protocol in protocols
.protocols .protocols
.into_iter() .into_iter()
@ -231,7 +231,7 @@ impl Explore {
network_menu.set_active(Some(0)); network_menu.set_active(Some(0));
let handle = let handle =
spawn_tokio!(async move { client.send(get_protocols::Request::new(), None).await }); spawn_tokio!(async move { client.send(get_protocols::v3::Request::new(), None).await });
spawn!( spawn!(
glib::PRIORITY_DEFAULT_IDLE, glib::PRIORITY_DEFAULT_IDLE,

2
src/session/content/explore/public_room_list.rs

@ -3,7 +3,7 @@ use std::convert::TryFrom;
use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*}; use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*};
use log::error; use log::error;
use matrix_sdk::ruma::{ use matrix_sdk::ruma::{
api::client::r0::directory::get_public_rooms_filtered::{ api::client::directory::get_public_rooms_filtered::v3::{
Request as PublicRoomsRequest, Response as PublicRoomsResponse, Request as PublicRoomsRequest, Response as PublicRoomsResponse,
}, },
assign, assign,

3
src/session/content/explore/public_room_row.rs

@ -171,9 +171,6 @@ impl PublicRoomRow {
let has_alias = if let Some(ref alias) = matrix_public_room.canonical_alias { let has_alias = if let Some(ref alias) = matrix_public_room.canonical_alias {
priv_.alias.set_text(alias.as_str()); priv_.alias.set_text(alias.as_str());
true true
} else if let Some(alias) = matrix_public_room.aliases.get(0) {
priv_.alias.set_text(alias.as_str());
true
} else { } else {
false false
}; };

6
src/session/content/room_details/invite_subpage/invitee_list.rs

@ -3,7 +3,7 @@ use std::sync::Arc;
use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*}; use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*};
use log::error; use log::error;
use matrix_sdk::{ use matrix_sdk::{
ruma::{api::client::r0::user_directory::search_users, identifiers::UserId}, ruma::{api::client::user_directory::search_users, identifiers::UserId},
HttpError, HttpError,
}; };
@ -227,7 +227,7 @@ impl InviteeList {
fn finish_search( fn finish_search(
&self, &self,
search_term: String, search_term: String,
response: Result<search_users::Response, HttpError>, response: Result<search_users::v3::Response, HttpError>,
) { ) {
let session = self.room().session(); let session = self.room().session();
let member_list = self.room().members(); let member_list = self.room().members();
@ -307,7 +307,7 @@ impl InviteeList {
let search_term_clone = search_term.clone(); let search_term_clone = search_term.clone();
let handle = spawn_tokio!(async move { let handle = spawn_tokio!(async move {
let request = search_users::Request::new(&search_term_clone); let request = search_users::v3::Request::new(&search_term_clone);
client.send(request, None).await client.send(request, None).await
}); });

2
src/session/content/room_history/message_row/media.rs

@ -10,7 +10,7 @@ use log::warn;
use matrix_sdk::{ use matrix_sdk::{
media::{MediaEventContent, MediaThumbnailSize}, media::{MediaEventContent, MediaThumbnailSize},
ruma::{ ruma::{
api::client::r0::media::get_content_thumbnail::Method, api::client::media::get_content_thumbnail::v3::Method,
events::{ events::{
room::message::{ImageMessageEventContent, VideoMessageEventContent}, room::message::{ImageMessageEventContent, VideoMessageEventContent},
sticker::StickerEventContent, sticker::StickerEventContent,

4
src/session/content/room_history/mod.rs

@ -408,7 +408,7 @@ impl RoomHistory {
.user() .user()
.map(|user| { .map(|user| {
( (
user.user_id().matrix_to_url().to_string(), user.user_id().matrix_to_uri().to_string(),
user.display_name(), user.display_name(),
) )
}) })
@ -417,7 +417,7 @@ impl RoomHistory {
( (
// No server name needed. matrix.to URIs for mentions aren't // No server name needed. matrix.to URIs for mentions aren't
// routable // routable
room.room_id().matrix_to_url([]).to_string(), room.room_id().matrix_to_uri([]).to_string(),
room.display_name(), room.display_name(),
) )
}) })

26
src/session/mod.rs

@ -30,16 +30,15 @@ use matrix_sdk::{
api::{ api::{
client::{ client::{
error::ErrorKind, error::ErrorKind,
r0::{ filter::{FilterDefinition, LazyLoadOptions, RoomEventFilter, RoomFilter},
filter::{FilterDefinition, LazyLoadOptions, RoomEventFilter, RoomFilter}, session::logout,
session::logout,
},
}, },
error::{FromHttpResponseError, ServerError}, error::{FromHttpResponseError, ServerError},
}, },
assign, assign,
identifiers::RoomId, identifiers::RoomId,
}, },
store::make_store_config,
Client, HttpError, Client, HttpError,
}; };
use rand::{distributions::Alphanumeric, thread_rng, Rng}; use rand::{distributions::Alphanumeric, thread_rng, Rng};
@ -304,13 +303,13 @@ impl Session {
.map(char::from) .map(char::from)
.collect() .collect()
}; };
let config = ClientConfig::new() let store_config = make_store_config(path.as_path(), Some(&passphrase))
.map_err::<matrix_sdk::StoreError, _>(Into::into)?;
let config = ClientConfig::with_store_config(store_config)
// force_auth option to solve an issue with some servers configuration to require // force_auth option to solve an issue with some servers configuration to require
// auth for profiles: // auth for profiles:
// https://gitlab.gnome.org/GNOME/fractal/-/issues/934 // https://gitlab.gnome.org/GNOME/fractal/-/issues/934
.request_config(RequestConfig::new().retry_limit(2).force_auth()) .request_config(RequestConfig::new().retry_limit(2).force_auth());
.passphrase(passphrase.clone())
.store_path(path.clone());
let config = if use_discovery { let config = if use_discovery {
config.use_discovery_response() config.use_discovery_response()
@ -359,13 +358,14 @@ impl Session {
pub fn login_with_previous_session(&self, session: StoredSession) { pub fn login_with_previous_session(&self, session: StoredSession) {
let handle = spawn_tokio!(async move { let handle = spawn_tokio!(async move {
let config = ClientConfig::new() let store_config =
make_store_config(session.path.as_path(), Some(&session.secret.passphrase))
.map_err::<matrix_sdk::StoreError, _>(Into::into)?;
let config = ClientConfig::with_store_config(store_config)
// force_auth option to solve an issue with some servers configuration to require // force_auth option to solve an issue with some servers configuration to require
// auth for profiles: // auth for profiles:
// https://gitlab.gnome.org/GNOME/fractal/-/issues/934 // https://gitlab.gnome.org/GNOME/fractal/-/issues/934
.request_config(RequestConfig::new().retry_limit(2).force_auth()) .request_config(RequestConfig::new().retry_limit(2).force_auth());
.passphrase(session.secret.passphrase.clone())
.store_path(session.path.clone());
let client = Client::new_with_config(session.homeserver.clone(), config).await?; let client = Client::new_with_config(session.homeserver.clone(), config).await?;
client client
@ -699,7 +699,7 @@ impl Session {
let client = self.client(); let client = self.client();
let handle = spawn_tokio!(async move { let handle = spawn_tokio!(async move {
let request = logout::Request::new(); let request = logout::v3::Request::new();
client.send(request, None).await client.send(request, None).await
}); });

21
src/session/room/mod.rs

@ -20,7 +20,7 @@ use matrix_sdk::{
deserialized_responses::{JoinedRoom, LeftRoom, SyncRoomEvent}, deserialized_responses::{JoinedRoom, LeftRoom, SyncRoomEvent},
room::Room as MatrixRoom, room::Room as MatrixRoom,
ruma::{ ruma::{
api::client::r0::sync::sync_events::InvitedRoom, api::client::sync::sync_events::v3::InvitedRoom,
events::{ events::{
reaction::{Relation, SyncReactionEvent}, reaction::{Relation, SyncReactionEvent},
room::{ room::{
@ -32,15 +32,14 @@ use matrix_sdk::{
}, },
tag::{TagInfo, TagName}, tag::{TagInfo, TagName},
AnyRoomAccountDataEvent, AnyStateEventContent, AnyStrippedStateEvent, AnyRoomAccountDataEvent, AnyStateEventContent, AnyStrippedStateEvent,
AnySyncMessageEvent, AnySyncRoomEvent, AnySyncStateEvent, EventType, SyncMessageEvent, AnySyncMessageEvent, AnySyncRoomEvent, AnySyncStateEvent, StateEventType,
Unsigned, SyncMessageEvent, Unsigned,
}, },
identifiers::{EventId, RoomId, TransactionId, UserId}, identifiers::{EventId, RoomId, TransactionId, UserId},
serde::Raw, serde::Raw,
MilliSecondsSinceUnixEpoch, MilliSecondsSinceUnixEpoch,
}, },
}; };
use serde_json::value::RawValue;
pub use self::{ pub use self::{
event::Event, event::Event,
@ -878,7 +877,7 @@ impl Room {
let matrix_room = self.matrix_room(); let matrix_room = self.matrix_room();
let handle = spawn_tokio!(async move { let handle = spawn_tokio!(async move {
let state_event = match matrix_room let state_event = match matrix_room
.get_state_event(EventType::RoomPowerLevels, "") .get_state_event(StateEventType::RoomPowerLevels, "")
.await .await
{ {
Ok(state_event) => state_event, Ok(state_event) => state_event,
@ -913,9 +912,7 @@ impl Room {
fn send_room_message_event(&self, event: AnySyncMessageEvent, txn_id: Box<TransactionId>) { fn send_room_message_event(&self, event: AnySyncMessageEvent, txn_id: Box<TransactionId>) {
if let MatrixRoom::Joined(matrix_room) = self.matrix_room() { if let MatrixRoom::Joined(matrix_room) = self.matrix_room() {
let content = event.content(); let content = event.content();
let json = serde_json::to_string(&AnySyncRoomEvent::Message(event)).unwrap(); let raw_event: Raw<AnySyncRoomEvent> = Raw::new(&content).unwrap().cast();
let raw_event: Raw<AnySyncRoomEvent> =
Raw::from_json(RawValue::from_string(json).unwrap());
let event = Event::new(raw_event.into(), self); let event = Event::new(raw_event.into(), self);
self.imp() self.imp()
.timeline .timeline
@ -975,19 +972,17 @@ impl Room {
} else { } else {
RoomRedactionEventContent::new() RoomRedactionEventContent::new()
}; };
let event = AnySyncMessageEvent::RoomRedaction(SyncRoomRedactionEvent { let event = SyncRoomRedactionEvent {
content, content,
redacts: redacted_event_id.clone(), redacts: redacted_event_id.clone(),
event_id, event_id,
sender: self.session().user().unwrap().user_id().as_ref().to_owned(), sender: self.session().user().unwrap().user_id().as_ref().to_owned(),
origin_server_ts: MilliSecondsSinceUnixEpoch::now(), origin_server_ts: MilliSecondsSinceUnixEpoch::now(),
unsigned: Unsigned::default(), unsigned: Unsigned::default(),
}); };
if let MatrixRoom::Joined(matrix_room) = self.matrix_room() { if let MatrixRoom::Joined(matrix_room) = self.matrix_room() {
let json = serde_json::to_string(&AnySyncRoomEvent::Message(event)).unwrap(); let raw_event: Raw<AnySyncRoomEvent> = Raw::new(&event).unwrap().cast();
let raw_event: Raw<AnySyncRoomEvent> =
Raw::from_json(RawValue::from_string(json).unwrap());
let event = Event::new(raw_event.into(), self); let event = Event::new(raw_event.into(), self);
self.imp() self.imp()
.timeline .timeline

4
src/session/room_creation/mod.rs

@ -9,7 +9,7 @@ use matrix_sdk::{
api::{ api::{
client::{ client::{
error::ErrorKind as RumaClientErrorKind, error::ErrorKind as RumaClientErrorKind,
r0::room::{create_room, Visibility}, room::{create_room, Visibility},
}, },
error::{FromHttpResponseError, ServerError}, error::{FromHttpResponseError, ServerError},
}, },
@ -226,7 +226,7 @@ impl RoomCreation {
// We don't allow invalid room names to be entered by the user // We don't allow invalid room names to be entered by the user
let name = room_name.as_str().try_into().unwrap(); let name = room_name.as_str().try_into().unwrap();
let request = assign!(create_room::Request::new(), let request = assign!(create_room::v3::Request::new(),
{ {
name: Some(name), name: Some(name),
visibility, visibility,

2
src/session/verification/verification_list.rs

@ -3,7 +3,7 @@ use std::sync::Arc;
use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*}; use gtk::{gio, glib, glib::clone, prelude::*, subclass::prelude::*};
use log::{debug, warn}; use log::{debug, warn};
use matrix_sdk::ruma::{ use matrix_sdk::ruma::{
api::client::r0::sync::sync_events::ToDevice, events::AnyToDeviceEvent, identifiers::UserId, api::client::sync::sync_events::v3::ToDevice, events::AnyToDeviceEvent, identifiers::UserId,
}; };
use crate::session::{ use crate::session::{

Loading…
Cancel
Save