diff options
| author | 2025-05-10 05:12:31 +0100 | |
|---|---|---|
| committer | 2025-05-10 05:12:31 +0100 | |
| commit | cf6e64da8dfb78dd103727066fa494d79912fe2a (patch) | |
| tree | a789e7b12a69a1f360145232a6300e4659b5d117 | |
| parent | cf2ffc5ecb2eefbb425a4d05583d3e4d9645bf2b (diff) | |
| download | macaw-web-cf6e64da8dfb78dd103727066fa494d79912fe2a.tar.gz macaw-web-cf6e64da8dfb78dd103727066fa494d79912fe2a.tar.bz2 macaw-web-cf6e64da8dfb78dd103727066fa494d79912fe2a.zip  | |
chore: update leptos to 0.8.2
| -rw-r--r-- | Cargo.lock | 608 | ||||
| -rw-r--r-- | Cargo.toml | 11 | ||||
| -rw-r--r-- | src/lib.rs | 66 | 
3 files changed, 210 insertions, 475 deletions
@@ -61,9 +61,9 @@ dependencies = [  [[package]]  name = "any_spawner" -version = "0.2.0" +version = "0.3.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41058deaa38c9d9dd933d6d238d825227cffa668e2839b52879f6619c63eee3b" +checksum = "1384d3fe1eecb464229fcf6eebb72306591c56bf27b373561489458a7c73027d"  dependencies = [   "futures",   "thiserror 2.0.12", @@ -193,9 +193,9 @@ dependencies = [  [[package]]  name = "backtrace" -version = "0.3.74" +version = "0.3.75"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"  dependencies = [   "addr2line",   "cfg-if", @@ -283,9 +283,9 @@ checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"  [[package]]  name = "cc" -version = "1.2.20" +version = "1.2.22"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" +checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1"  dependencies = [   "jobserver",   "libc", @@ -381,7 +381,7 @@ dependencies = [   "pathdiff",   "serde",   "toml", - "winnow 0.7.7", + "winnow 0.7.10",  ]  [[package]] @@ -395,6 +395,12 @@ dependencies = [  ]  [[package]] +name = "const-str" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e991226a70654b49d34de5ed064885f0bef0348a8e70018b8ff1ac80aa984a2" + +[[package]]  name = "const_format"  version = "0.2.34"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -431,25 +437,14 @@ dependencies = [  [[package]]  name = "convert_case" -version = "0.7.1" +version = "0.8.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f"  dependencies = [   "unicode-segmentation",  ]  [[package]] -name = "cookie" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - -[[package]]  name = "core-foundation"  version = "0.9.4"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -534,41 +529,6 @@ dependencies = [  ]  [[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.101", -] - -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.101", -] - -[[package]]  name = "dashmap"  version = "6.1.0"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -589,18 +549,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"  [[package]] -name = "default-struct-builder" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0df63c21a4383f94bd5388564829423f35c316aed85dc4f8427aded372c7c0d" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]]  name = "delegate-display"  version = "3.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -615,19 +563,10 @@ dependencies = [  ]  [[package]] -name = "deranged" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" -dependencies = [ - "powerfmt", -] - -[[package]]  name = "derive-where" -version = "1.3.0" +version = "1.4.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2364b9aa47e460ce9bca6ac1777d14c98eef7e274eb077beed49f3adc94183ed" +checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902"  dependencies = [   "proc-macro2",   "quote", @@ -684,12 +623,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408"  [[package]] -name = "dyn-clone" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" - -[[package]]  name = "either"  version = "1.15.0"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -724,6 +657,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"  [[package]] +name = "erased" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1731451909bde27714eacba19c2566362a7f35224f52b153d3f42cf60f72472" + +[[package]]  name = "errno"  version = "0.3.11"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1002,9 +941,9 @@ dependencies = [  [[package]]  name = "getrandom" -version = "0.3.2" +version = "0.3.3"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"  dependencies = [   "cfg-if",   "libc", @@ -1050,18 +989,6 @@ dependencies = [  ]  [[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]]  name = "gloo-utils"  version = "0.2.0"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1098,9 +1025,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"  [[package]]  name = "hashbrown" -version = "0.15.2" +version = "0.15.3"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"  dependencies = [   "foldhash",  ] @@ -1111,7 +1038,7 @@ version = "0.10.0"  source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"  dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3",  ]  [[package]] @@ -1148,17 +1075,6 @@ dependencies = [  ]  [[package]] -name = "hostname" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" -dependencies = [ - "cfg-if", - "libc", - "windows-link", -] - -[[package]]  name = "html-escape"  version = "0.2.13"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1180,9 +1096,9 @@ dependencies = [  [[package]]  name = "hydration_context" -version = "0.2.1" +version = "0.3.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d35485b3dcbf7e044b8f28c73f04f13e7b509c2466fd10cb2a8a447e38f8a93a" +checksum = "e8714ae4adeaa846d838f380fbd72f049197de629948f91bf045329e0cf0a283"  dependencies = [   "futures",   "once_cell", @@ -1218,21 +1134,22 @@ dependencies = [  [[package]]  name = "icu_collections" -version = "1.5.0" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"  dependencies = [   "displaydoc", + "potential_utf",   "yoke",   "zerofrom",   "zerovec",  ]  [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"  dependencies = [   "displaydoc",   "litemap", @@ -1242,30 +1159,10 @@ dependencies = [  ]  [[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - -[[package]]  name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"  dependencies = [   "displaydoc",   "icu_collections", @@ -1273,74 +1170,55 @@ dependencies = [   "icu_properties",   "icu_provider",   "smallvec", - "utf16_iter", - "utf8_iter", - "write16",   "zerovec",  ]  [[package]]  name = "icu_normalizer_data" -version = "1.5.1" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"  [[package]]  name = "icu_properties" -version = "1.5.1" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a"  dependencies = [   "displaydoc",   "icu_collections", - "icu_locid_transform", + "icu_locale_core",   "icu_properties_data",   "icu_provider", - "tinystr", + "potential_utf", + "zerotrie",   "zerovec",  ]  [[package]]  name = "icu_properties_data" -version = "1.5.1" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04"  [[package]]  name = "icu_provider" -version = "1.5.0" +version = "2.0.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"  dependencies = [   "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core",   "stable_deref_trait",   "tinystr",   "writeable",   "yoke",   "zerofrom", + "zerotrie",   "zerovec",  ]  [[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]]  name = "idna"  version = "0.2.3"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1364,9 +1242,9 @@ dependencies = [  [[package]]  name = "idna_adapter" -version = "1.2.0" +version = "1.2.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"  dependencies = [   "icu_normalizer",   "icu_properties", @@ -1424,9 +1302,9 @@ dependencies = [  [[package]]  name = "indexed_db_futures" -version = "0.6.2" +version = "0.6.3"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6179b8a3ef894b4645271be8131a444679c8d39b8307d70cbb34e471b68ea4" +checksum = "3fc9c8bc34f6d3486832b25d036b9a3dfea8d214e9ae1cf25c2a150963a5b8dd"  dependencies = [   "accessory",   "cfg-if", @@ -1463,7 +1341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"  dependencies = [   "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3",  ]  [[package]] @@ -1538,7 +1416,7 @@ version = "0.1.33"  source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"  dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3",   "libc",  ] @@ -1596,25 +1474,27 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"  [[package]]  name = "leptos" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b8731cb00f3f0894058155410b95c8955b17273181d2bc72600ab84edd24f1" +checksum = "2ceaf7d86820125c57dcd380edac4b972debf480ee4c7eea6dd7cea212615978"  dependencies = [   "any_spawner",   "cfg-if",   "either_of",   "futures", + "getrandom 0.2.16",   "hydration_context",   "leptos_config",   "leptos_dom",   "leptos_hot_reload",   "leptos_macro",   "leptos_server", - "oco_ref 0.2.0", + "oco_ref",   "or_poisoned",   "paste",   "reactive_graph", - "rustc-hash 2.1.1", + "rustc-hash", + "rustc_version",   "send_wrapper",   "serde",   "serde_qs", @@ -1630,35 +1510,10 @@ dependencies = [  ]  [[package]] -name = "leptos-use" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e612389629007497d1e90deecf5bddd790e59e32358546fa7beaf88a68d2067b" -dependencies = [ - "cfg-if", - "chrono", - "codee", - "cookie", - "default-struct-builder", - "futures-util", - "gloo-timers", - "js-sys", - "lazy_static", - "leptos", - "paste", - "send_wrapper", - "thiserror 2.0.12", - "unic-langid", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]]  name = "leptos_config" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bae3e0ead5a7a814c8340eef7cb8b6cba364125bd8174b15dc9fe1b3cab7e03" +checksum = "cf4100ad54455f82b686c9d0500a45c909eb50ce68ccb2ed51439ff2596f54fd"  dependencies = [   "config",   "regex", @@ -1669,9 +1524,9 @@ dependencies = [  [[package]]  name = "leptos_dom" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89d4eb263bd5a9e7c49f780f17063f15aca56fd638c90b9dfd5f4739152e87d" +checksum = "adaca2ec1d6215a7c43dc6353d487e4e34faf325b8e4df2ca3df488964d403be"  dependencies = [   "js-sys",   "or_poisoned", @@ -1684,9 +1539,9 @@ dependencies = [  [[package]]  name = "leptos_hot_reload" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e80219388501d99b246f43b6e7d08a28f327cdd34ba630a35654d917f3e1788e" +checksum = "597f84532609518092960ac241741963c90c216ee11f752e1b238b846f043640"  dependencies = [   "anyhow",   "camino", @@ -1702,13 +1557,13 @@ dependencies = [  [[package]]  name = "leptos_macro" -version = "0.7.9" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e621f8f5342b9bdc93bb263b839cee7405027a74560425a2dabea9de7952b1fd" +checksum = "8a2ec91579e9a1344adc1eee637cb774a01354a3d25857cbd028b0289efe131d"  dependencies = [   "attribute-derive",   "cfg-if", - "convert_case 0.7.1", + "convert_case 0.8.0",   "html-escape",   "itertools 0.14.0",   "leptos_hot_reload", @@ -1717,59 +1572,17 @@ dependencies = [   "proc-macro2",   "quote",   "rstml", + "rustc_version",   "server_fn_macro",   "syn 2.0.101",   "uuid",  ]  [[package]] -name = "leptos_meta" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "448a6387e9e2cccbb756f474a54e36a39557127a3b8e46744b6ef6372b50f575" -dependencies = [ - "futures", - "indexmap", - "leptos", - "once_cell", - "or_poisoned", - "send_wrapper", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_reactive" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4161acbf80f59219d8d14182371f57302bc7ff81ee41aba8ba1ff7295727f23" -dependencies = [ - "base64", - "cfg-if", - "futures", - "indexmap", - "js-sys", - "oco_ref 0.1.1", - "paste", - "pin-project", - "rustc-hash 1.1.0", - "self_cell", - "serde", - "serde-wasm-bindgen", - "serde_json", - "slotmap", - "thiserror 1.0.69", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]]  name = "leptos_server" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66985242812ec95e224fb48effe651ba02728beca92c461a9464c811a71aab11" +checksum = "5af59932aa8a640da4d3d20650cf07084433e25db0ee690203d893b81773db29"  dependencies = [   "any_spawner",   "base64", @@ -1830,9 +1643,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"  [[package]]  name = "litemap" -version = "0.7.5" +version = "0.8.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"  [[package]]  name = "lock_api" @@ -1911,9 +1724,6 @@ dependencies = [   "indexmap",   "jid",   "leptos", - "leptos-use", - "leptos_meta", - "leptos_reactive",   "reactive_stores",   "serde",   "stylance", @@ -2100,12 +1910,6 @@ dependencies = [  ]  [[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]]  name = "num-derive"  version = "0.4.2"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2166,16 +1970,6 @@ dependencies = [  [[package]]  name = "oco_ref" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51ebcefb2f0b9a5e0bea115532c8ae4215d1b01eff176d0f4ba4192895c2708" -dependencies = [ - "serde", - "thiserror 1.0.69", -] - -[[package]] -name = "oco_ref"  version = "0.2.0"  source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "64b94982fe39a861561cf67ff17a7849f2cedadbbad960a797634032b7abb998" @@ -2224,9 +2018,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"  [[package]]  name = "openssl-sys" -version = "0.9.107" +version = "0.9.108"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847"  dependencies = [   "cc",   "libc", @@ -2367,10 +2161,13 @@ dependencies = [  ]  [[package]] -name = "powerfmt" -version = "0.2.0" +name = "potential_utf" +version = "0.1.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +]  [[package]]  name = "ppv-lite86" @@ -2619,9 +2416,9 @@ dependencies = [  [[package]]  name = "reactive_graph" -version = "0.1.8" +version = "0.2.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a0ccddbc11a648bd09761801dac9e3f246ef7641130987d6120fced22515e6" +checksum = "ac68cd988635779e6f378871257cbccfd51d7eeb7bc0bf6184835842aed51cc1"  dependencies = [   "any_spawner",   "async-lock", @@ -2630,7 +2427,8 @@ dependencies = [   "hydration_context",   "or_poisoned",   "pin-project-lite", - "rustc-hash 2.1.1", + "rustc-hash", + "rustc_version",   "send_wrapper",   "serde",   "slotmap", @@ -2640,26 +2438,28 @@ dependencies = [  [[package]]  name = "reactive_stores" -version = "0.1.8" +version = "0.2.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aadc7c19e3a360bf19cd595d2dc8b58ce67b9240b95a103fbc1317a8ff194237" +checksum = "23e02f30b9cc6645e330e926dd778d4bcbd0e5770bdf4ec3d422dc0fe3c52a41"  dependencies = [ + "dashmap",   "guardian",   "itertools 0.14.0",   "or_poisoned",   "paste",   "reactive_graph",   "reactive_stores_macro", - "rustc-hash 2.1.1", + "rustc-hash", + "send_wrapper",  ]  [[package]]  name = "reactive_stores_macro" -version = "0.1.8" +version = "0.2.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221095cb028dc51fbc2833743ea8b1a585da1a2af19b440b3528027495bf1f2d" +checksum = "2f2bfb3b29c0b93d2d58a157b2a6783957bb592b296ab0b98a18fc3cdc574b07"  dependencies = [ - "convert_case 0.7.1", + "convert_case 0.8.0",   "proc-macro-error2",   "proc-macro2",   "quote", @@ -2668,9 +2468,9 @@ dependencies = [  [[package]]  name = "redox_syscall" -version = "0.5.11" +version = "0.5.12"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"  dependencies = [   "bitflags 2.9.0",  ] @@ -2706,12 +2506,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"  [[package]]  name = "resolv-conf" -version = "0.7.1" +version = "0.7.3"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4" -dependencies = [ - "hostname", -] +checksum = "fc7c8f7f733062b66dc1c63f9db168ac0b97a9210e247fa90fdc9ad08f51b302"  [[package]]  name = "rgb" @@ -2776,21 +2573,24 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"  [[package]]  name = "rustc-hash" -version = "1.1.0" +version = "2.1.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"  [[package]] -name = "rustc-hash" -version = "2.1.1" +name = "rustc_version" +version = "0.4.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +]  [[package]]  name = "rustix" -version = "1.0.5" +version = "1.0.7"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"  dependencies = [   "bitflags 2.9.0",   "errno", @@ -2870,10 +2670,10 @@ dependencies = [  ]  [[package]] -name = "self_cell" -version = "1.2.0" +name = "semver" +version = "1.0.26"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"  [[package]]  name = "send_wrapper" @@ -2894,17 +2694,6 @@ dependencies = [  ]  [[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]]  name = "serde_derive"  version = "1.0.219"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2929,13 +2718,13 @@ dependencies = [  [[package]]  name = "serde_qs" -version = "0.13.0" +version = "0.14.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd34f36fe4c5ba9654417139a9b3a20d2e1de6012ee678ad14d240c22c78d8d6" +checksum = "8b417bedc008acbdf6d6b4bc482d29859924114bbe2650b7921fb68a261d0aa6"  dependencies = [   "percent-encoding",   "serde", - "thiserror 1.0.69", + "thiserror 2.0.12",  ]  [[package]] @@ -2949,11 +2738,13 @@ dependencies = [  [[package]]  name = "server_fn" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d05a9e3fd8d7404985418db38c6617cc793a1a27f398d4fbc9dfe8e41b804e6" +checksum = "09b0f92b9d3a62c73f238ac21f7a09f15bad335a9d1651514d9da80d2eaf8d4c"  dependencies = [ + "base64",   "bytes", + "const-str",   "const_format",   "dashmap",   "futures", @@ -2962,6 +2753,8 @@ dependencies = [   "js-sys",   "once_cell",   "pin-project-lite", + "rustc_version", + "rustversion",   "send_wrapper",   "serde",   "serde_json", @@ -2979,23 +2772,24 @@ dependencies = [  [[package]]  name = "server_fn_macro" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504b35e883267b3206317b46d02952ed7b8bf0e11b2e209e2eb453b609a5e052" +checksum = "341dd1087afe9f3e546c5979a4f0b6d55ac072e1201313f86e7fe364223835ac"  dependencies = [   "const_format", - "convert_case 0.6.0", + "convert_case 0.8.0",   "proc-macro2",   "quote", + "rustc_version",   "syn 2.0.101",   "xxhash-rust",  ]  [[package]]  name = "server_fn_macro_default" -version = "0.7.8" +version = "0.8.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb8b274f568c94226a8045668554aace8142a59b8bca5414ac5a79627c825568" +checksum = "bc5ab934f581482a66da82f2b57b15390ad67c9ab85bd9a6c54bb65060fb1380"  dependencies = [   "server_fn_macro",   "syn 2.0.101", @@ -3084,7 +2878,6 @@ version = "1.0.7"  source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"  dependencies = [ - "serde",   "version_check",  ] @@ -3150,12 +2943,6 @@ dependencies = [  ]  [[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]]  name = "stylance"  version = "0.6.0"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3232,9 +3019,9 @@ dependencies = [  [[package]]  name = "synstructure" -version = "0.13.1" +version = "0.13.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"  dependencies = [   "proc-macro2",   "quote", @@ -3256,16 +3043,16 @@ dependencies = [  [[package]]  name = "tachys" -version = "0.1.8" +version = "0.2.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d42b7c1545705f77d871228eb52cbb1376b35dc0a237be9fb11e2d9e4e20818" +checksum = "ac1d6bcb12a286928f53c269412d3e515d37583cb90d8daf4bc1b35d65104883"  dependencies = [   "any_spawner",   "async-trait",   "const_str_slice_concat",   "drain_filter_polyfill", - "dyn-clone",   "either_of", + "erased",   "futures",   "html-escape",   "indexmap", @@ -3273,14 +3060,15 @@ dependencies = [   "js-sys",   "linear-map",   "next_tuple", - "oco_ref 0.2.0", + "oco_ref",   "once_cell",   "or_poisoned",   "parking_lot",   "paste",   "reactive_graph",   "reactive_stores", - "rustc-hash 2.1.1", + "rustc-hash", + "rustc_version",   "send_wrapper",   "slotmap",   "throw_error", @@ -3307,7 +3095,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"  dependencies = [   "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.3",   "once_cell",   "rustix",   "windows-sys 0.59.0", @@ -3365,9 +3153,9 @@ dependencies = [  [[package]]  name = "throw_error" -version = "0.2.0" +version = "0.3.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ef8bf264c6ae02a065a4a16553283f0656bd6266fc1fcb09fd2e6b5e91427b" +checksum = "41e42a6afdde94f3e656fae18f837cb9bbe500a5ac5de325b09f3ec05b9c28e3"  dependencies = [   "pin-project-lite",  ] @@ -3384,41 +3172,10 @@ dependencies = [  ]  [[package]] -name = "time" -version = "0.3.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" - -[[package]] -name = "time-macros" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]]  name = "tinystr" -version = "0.7.6" +version = "0.8.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"  dependencies = [   "displaydoc",   "zerovec", @@ -3441,9 +3198,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"  [[package]]  name = "tokio" -version = "1.44.2" +version = "1.45.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"  dependencies = [   "backtrace",   "bytes", @@ -3530,7 +3287,7 @@ dependencies = [   "serde_spanned",   "toml_datetime",   "toml_write", - "winnow 0.7.7", + "winnow 0.7.10",  ]  [[package]] @@ -3645,18 +3402,18 @@ checksum = "fb1626d07cb5c1bb2cf17d94c0be4852e8a7c02b041acec9a8c5bdda99f9d580"  [[package]]  name = "typed-builder" -version = "0.20.1" +version = "0.21.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9d30e3a08026c78f246b173243cf07b3696d274debd26680773b6773c2afc7" +checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534"  dependencies = [   "typed-builder-macro",  ]  [[package]]  name = "typed-builder-macro" -version = "0.20.1" +version = "0.21.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c36781cc0e46a83726d9879608e4cf6c2505237e263a8eb8c24502989cfdb28" +checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b"  dependencies = [   "proc-macro2",   "quote", @@ -3670,24 +3427,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"  [[package]] -name = "unic-langid" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44" -dependencies = [ - "unic-langid-impl", -] - -[[package]] -name = "unic-langid-impl" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" -dependencies = [ - "tinystr", -] - -[[package]]  name = "unicode-bidi"  version = "0.3.18"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3738,12 +3477,6 @@ dependencies = [  ]  [[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]]  name = "utf8-width"  version = "0.1.7"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3761,7 +3494,7 @@ version = "1.16.0"  source = "registry+https://github.com/rust-lang/crates.io-index"  checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"  dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3",   "js-sys",   "wasm-bindgen",  ] @@ -4153,9 +3886,9 @@ dependencies = [  [[package]]  name = "winnow" -version = "0.7.7" +version = "0.7.10"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec"  dependencies = [   "memchr",  ] @@ -4180,16 +3913,10 @@ dependencies = [  ]  [[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]]  name = "writeable" -version = "0.5.5" +version = "0.6.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"  [[package]]  name = "xxhash-rust" @@ -4205,9 +3932,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"  [[package]]  name = "yoke" -version = "0.7.5" +version = "0.8.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"  dependencies = [   "serde",   "stable_deref_trait", @@ -4217,9 +3944,9 @@ dependencies = [  [[package]]  name = "yoke-derive" -version = "0.7.5" +version = "0.8.0"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"  dependencies = [   "proc-macro2",   "quote", @@ -4269,10 +3996,21 @@ dependencies = [  ]  [[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]]  name = "zerovec" -version = "0.10.4" +version = "0.11.2"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"  dependencies = [   "yoke",   "zerofrom", @@ -4281,9 +4019,9 @@ dependencies = [  [[package]]  name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1"  source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"  dependencies = [   "proc-macro2",   "quote", @@ -15,11 +15,12 @@ filamento = { path = "../luz/filamento", features = [  futures = "0.3.31"  indexmap = "2.9.0"  jid = { path = "../luz/jid" } -leptos = { version = "0.7.5", features = ["csr"] } -leptos-use = "0.15.7" -leptos_meta = "0.7.8" -leptos_reactive = { version = "0.6.15", features = ["csr"] } -reactive_stores = "0.1.8" +leptos = { version = "0.8.2", features = ["csr"] } +# leptos-use = "0.15.7" +# leptos_meta = "0.8.2" +# reactive_graph = "0.2.2" +# leptos_reactive = { version = "0.6.15", features = ["csr"] } +reactive_stores = "0.2.2"  serde = "1.0.219"  stylance = "0.6.0"  thiserror = "2.0.12" @@ -26,8 +26,6 @@ use leptos::{      tachys::{dom::document, reactive_graph::bind::GetValue},      task::{spawn, spawn_local},  }; -use leptos_meta::Stylesheet; -use leptos_use::{UseTextareaAutosizeReturn, use_textarea_autosize};  use reactive_stores::{ArcStore, Store, StoreField};  use stylance::import_style;  use thiserror::Error; @@ -485,7 +483,7 @@ impl OpenChatsPanel {  #[derive(Store)]  pub struct UserPresences {      #[store(key: JID = |(jid, _)| jid.clone())] -    user_presences: HashMap<JID, RwSignal<Presences>>, +    user_presences: HashMap<JID, ArcRwSignal<Presences>>,  }  impl UserPresences { @@ -496,13 +494,13 @@ impl UserPresences {      }      // TODO: should be a bare jid -    pub fn get_user_presences(&mut self, user: &JID) -> RwSignal<Presences> { +    pub fn get_user_presences(&mut self, user: &JID) -> ArcRwSignal<Presences> {          if let Some(presences) = self.user_presences.get(user) { -            *presences +            presences.clone()          } else {              let presences = Presences::new(); -            let signal = RwSignal::new(presences); -            self.user_presences.insert(user.clone(), signal); +            let signal = ArcRwSignal::new(presences); +            self.user_presences.insert(user.clone(), signal.clone());              signal          }      } @@ -670,7 +668,7 @@ fn Macaw(                          if let Some(resource) = from.resourcepart {                              let mut presences = Presences::new();                              presences.update_presence(resource, presence); -                            user_presences.write().user_presences.insert(bare_jid, RwSignal::new(presences)); +                            user_presences.write().user_presences.insert(bare_jid, ArcRwSignal::new(presences));                          }                      }                  } @@ -680,7 +678,7 @@ fn Macaw(                      debug!("after got message");                      spawn_local(async move {                          message_subscriptions -                            .write_untracked() +                            .write()                              .broadcast(to, new_message)                              .await                      }); @@ -857,18 +855,16 @@ pub fn AvatarWithPresence(user: Store<User>) -> impl IntoView {      }).unwrap_or_default();      view! { -        <Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> } > -            <div class="avatar-with-presence"> -            <img class="avatar" src=move || avatar.read().as_deref().map(|avatar| avatar.clone()).unwrap_or_default() /> -            {move || if let Some(icon) = show_icon() { -                view!{ -                    <IconComponent icon=icon class:presence-show-icon=true /> -                }.into_any() -            } else { -                view! {}.into_any() -            }} -            </div> -        </Transition> +        <div class="avatar-with-presence"> +        <img class="avatar" src=move || avatar.get() /> +        {move || if let Some(icon) = show_icon() { +            view!{ +                <IconComponent icon=icon class:presence-show-icon=true /> +            }.into_any() +        } else { +            view! {}.into_any() +        }} +        </div>      }  } @@ -903,7 +899,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {          async move {              let client = use_context::<Client>().expect("client not in context");              let messages = client -                .get_messages_with_users(chat_chat.correspondent().get_untracked()) +                .get_messages_with_users(chat_chat.correspondent().get())                  .await                  .map_err(|e| e.to_string());              match messages { @@ -937,7 +933,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {              load_messages.await;              let (sub_id, mut new_messages) = new_messages_signal                  .write() -                .subscribe_chat(chat_chat.correspondent().get_untracked()); +                .subscribe_chat(chat_chat.correspondent().get());              set_sub_id.set(Some(sub_id));              while let Some(new_message) = new_messages.recv().await {                  debug!("got new message in let message buffer"); @@ -945,17 +941,17 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {                  if let Some((_, last)) = messages.last() {                      if *<ArcStore<filamento::chat::Message> as Clone>::clone(&last.message)                          .timestamp() -                        .read_untracked() +                        .read()                          < *<ArcStore<filamento::chat::Message> as Clone>::clone(&new_message)                              .timestamp() -                            .read_untracked() +                            .read()                      {                          messages.insert(                              <ArcStore<filamento::chat::Message> as Clone>::clone(                                  &new_message.message,                              )                              .id() -                            .get_untracked(), +                            .get(),                              new_message,                          );                          debug!("set the new message in message buffer"); @@ -963,13 +959,13 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {                          let index = match messages.binary_search_by(|_, value| {                              <ArcStore<filamento::chat::Message> as Clone>::clone(&value.message)                                  .timestamp() -                                .read_untracked() +                                .read()                                  .cmp(                                      &<ArcStore<filamento::chat::Message> as Clone>::clone(                                          &new_message.message,                                      )                                      .timestamp() -                                    .read_untracked(), +                                    .read(),                                  )                          }) {                              Ok(i) => i, @@ -982,7 +978,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {                                  &new_message.message,                              )                              .id() -                            .get_untracked(), +                            .get(),                              new_message,                          );                          debug!("set the new message in message buffer"); @@ -991,7 +987,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {                      messages.insert(                          <ArcStore<filamento::chat::Message> as Clone>::clone(&new_message.message)                              .id() -                            .get_untracked(), +                            .get(),                          new_message,                      );                      debug!("set the new message in message buffer"); @@ -1191,7 +1187,7 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi              <div class:final=r#final class="chat-message major">                      <div class="left">                      <Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> } > -                        <img class="avatar" src=move || avatar.read().as_deref().map(|avatar| avatar.clone()).unwrap_or_default() /> +                        <img class="avatar" src=move || avatar.get() />                      </Transition>                      </div>                  <div class="middle"> @@ -1233,11 +1229,11 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView {          let value = chat.clone();          spawn_local(async move {              match client -                .read_untracked() +                .read()                  .send_message(                      value,                      Body { -                        body: new_message.get_untracked(), +                        body: new_message.get(),                      },                  )                  .await @@ -1245,7 +1241,7 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView {                  Ok(_) => {                      new_message.set("".to_string());                      message_input -                        .write_untracked() +                        .write()                          .as_ref()                          .expect("message input div not mounted")                          .set_text_content(Some("")); @@ -1288,7 +1284,7 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView {                  on:keydown=move |ev| {                      match ev.key_code() {                          16 => set_shift_pressed.set(true), -                        13 => if !shift_pressed.get_untracked() { +                        13 => if !shift_pressed.get() {                              ev.prevent_default();                              send_message();                          }  | 
