From ad3d71464505e560d4c3649f487285fac7471c6e Mon Sep 17 00:00:00 2001 From: Kevin Boos Date: Wed, 3 Jul 2024 18:05:40 -0700 Subject: [PATCH 1/3] Use new `HtmlLinkAction` to handle a link being clicked --- src/home/room_screen.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/home/room_screen.rs b/src/home/room_screen.rs index a984f7cc..09fc2e16 100644 --- a/src/home/room_screen.rs +++ b/src/home/room_screen.rs @@ -548,8 +548,9 @@ impl Widget for RoomScreen { } fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope){ - // Handle actions on this widget, e.g., it being hidden or shown. + // Handle actions at the RoomScreen level. if let Event::Actions(actions) = event { + // Handle the send message button being clicked. if self.button(id!(send_message_button)).clicked(&actions) { let msg_input_widget = self.text_input(id!(message_input)); let entered_text = msg_input_widget.text(); @@ -800,11 +801,10 @@ impl TimelineRef { impl Widget for Timeline { fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) { - // Handle actions on this widget, e.g., it being hidden or shown. if let Event::Actions(actions) = event { for action in actions { - let stack_view_subwidget_action = action.as_widget_action().cast(); - match stack_view_subwidget_action { + // Handle the timeline being hidden or shown. + match action.as_widget_action().cast() { StackNavigationTransitionAction::HideBegin => { self.hide_timeline(); continue; @@ -819,6 +819,12 @@ impl Widget for Timeline { | StackNavigationTransitionAction::None => { } } + // Handle a link being clicked. + if let HtmlLinkAction::Clicked { url, .. } = action.as_widget_action().cast() { + log!("Timeline::handle_event(): link clicked: {:?}", url); + } + + // Handle other actions here // TODO: handle actions upon an item being clicked. // for (item_id, item) in self.list.items_with_actions(&actions) { From 5d3ee8f2f8e0325810d4cefcda6116a2c81403db Mon Sep 17 00:00:00 2001 From: Kevin Boos Date: Fri, 5 Jul 2024 13:23:58 -0700 Subject: [PATCH 2/3] Use `robius-open` crate to open regular URLs Special `matrix.to` links are not yet handled, but those will be handled via opening in-app panes. --- Cargo.lock | 393 ++++++++++++++++++++++++++++++++++------ Cargo.toml | 4 +- src/home/room_screen.rs | 14 ++ 3 files changed, 352 insertions(+), 59 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6518ec96..9fc90485 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,7 +133,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -143,7 +143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -388,6 +388,25 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f" +dependencies = [ + "block-sys", + "objc2", +] + [[package]] name = "bs58" version = "0.5.0" @@ -445,6 +464,12 @@ dependencies = [ "libc", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.0" @@ -499,7 +524,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -559,6 +584,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concurrent-queue" version = "2.3.0" @@ -970,7 +1005,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1519,6 +1554,16 @@ dependencies = [ "cc", ] +[[package]] +name = "icrate" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642" +dependencies = [ + "block2", + "objc2", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1699,6 +1744,28 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "js-sys" version = "0.3.64" @@ -1898,7 +1965,7 @@ dependencies = [ [[package]] name = "makepad-derive-live" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id", "makepad-micro-proc-macro", @@ -1907,7 +1974,7 @@ dependencies = [ [[package]] name = "makepad-derive-wasm-bridge" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-micro-proc-macro", ] @@ -1915,7 +1982,7 @@ dependencies = [ [[package]] name = "makepad-derive-widget" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id", "makepad-micro-proc-macro", @@ -1924,7 +1991,7 @@ dependencies = [ [[package]] name = "makepad-draw" version = "0.6.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "ab_glyph_rasterizer", "fxhash", @@ -1940,17 +2007,17 @@ dependencies = [ [[package]] name = "makepad-futures" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-futures-legacy" version = "0.7.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-html" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id", ] @@ -1958,7 +2025,7 @@ dependencies = [ [[package]] name = "makepad-http" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-jni-sys" @@ -1969,7 +2036,7 @@ checksum = "9775cbec5fa0647500c3e5de7c850280a88335d1d2d770e5aa2332b801ba7064" [[package]] name = "makepad-live-compiler" version = "0.5.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-derive-live", "makepad-live-tokenizer", @@ -1979,7 +2046,7 @@ dependencies = [ [[package]] name = "makepad-live-id" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id-macros", ] @@ -1987,7 +2054,7 @@ dependencies = [ [[package]] name = "makepad-live-id-macros" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-micro-proc-macro", ] @@ -1995,7 +2062,7 @@ dependencies = [ [[package]] name = "makepad-live-tokenizer" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id", "makepad-math", @@ -2005,7 +2072,7 @@ dependencies = [ [[package]] name = "makepad-markdown" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-id", ] @@ -2013,17 +2080,17 @@ dependencies = [ [[package]] name = "makepad-math" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-micro-proc-macro" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-micro-serde" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-micro-serde-derive", ] @@ -2031,7 +2098,7 @@ dependencies = [ [[package]] name = "makepad-micro-serde-derive" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-micro-proc-macro", ] @@ -2039,12 +2106,12 @@ dependencies = [ [[package]] name = "makepad-objc-sys" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "makepad-platform" version = "0.6.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-android-state", "makepad-futures", @@ -2056,13 +2123,13 @@ dependencies = [ "makepad-wasm-bridge", "makepad-windows", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "makepad-rustybuzz" version = "0.8.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2077,7 +2144,7 @@ dependencies = [ [[package]] name = "makepad-shader-compiler" version = "0.5.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-live-compiler", ] @@ -2085,7 +2152,7 @@ dependencies = [ [[package]] name = "makepad-vector" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "resvg", "ttf-parser", @@ -2094,7 +2161,7 @@ dependencies = [ [[package]] name = "makepad-wasm-bridge" version = "0.4.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-derive-wasm-bridge", "makepad-live-id", @@ -2103,7 +2170,7 @@ dependencies = [ [[package]] name = "makepad-widgets" version = "0.6.0" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-derive-widget", "makepad-draw", @@ -2116,16 +2183,16 @@ dependencies = [ [[package]] name = "makepad-windows" version = "0.51.1" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ - "windows-core 0.51.1 (git+https://github.com/kevinaboos/makepad?branch=button_event_docs)", - "windows-targets", + "windows-core 0.51.1 (git+https://github.com/makepad/makepad?branch=rik)", + "windows-targets 0.48.5", ] [[package]] name = "makepad-zune-core" version = "0.2.14" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "bitflags 2.4.1", ] @@ -2133,7 +2200,7 @@ dependencies = [ [[package]] name = "makepad-zune-inflate" version = "0.2.54" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "simd-adler32", ] @@ -2141,7 +2208,7 @@ dependencies = [ [[package]] name = "makepad-zune-jpeg" version = "0.3.17" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-zune-core", ] @@ -2149,7 +2216,7 @@ dependencies = [ [[package]] name = "makepad-zune-png" version = "0.2.1" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ "makepad-zune-core", "makepad-zune-inflate", @@ -2623,7 +2690,7 @@ checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2721,6 +2788,28 @@ dependencies = [ "url", ] +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + [[package]] name = "object" version = "0.32.1" @@ -2869,7 +2958,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3436,7 +3525,7 @@ dependencies = [ "libc", "spin 0.9.8", "untrusted", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3461,6 +3550,28 @@ dependencies = [ "serde", ] +[[package]] +name = "robius-android-env" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312584c40c0d996c96a0c8498c6e556c38ca5785eda670ae11ba12fe2e556c4f" +dependencies = [ + "jni", +] + +[[package]] +name = "robius-open" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b4c6634e8febd0be2e37aefd55fd256f9f39eb5583db30c7163132aa625bfda" +dependencies = [ + "cfg-if", + "icrate", + "jni", + "objc2", + "robius-android-env", +] + [[package]] name = "robrix" version = "0.0.1-pre-alpha" @@ -3480,6 +3591,7 @@ dependencies = [ "matrix-sdk", "matrix-sdk-ui", "rangemap", + "robius-open", "tokio", "tracing-subscriber", "unicode-segmentation", @@ -3694,7 +3806,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3755,13 +3867,22 @@ dependencies = [ "cipher", ] +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "schannel" version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4089,7 +4210,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4247,7 +4368,7 @@ dependencies = [ "fastrand", "redox_syscall", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4375,7 +4496,7 @@ dependencies = [ "pin-project-lite", "socket2 0.5.5", "tokio-macros", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4607,7 +4728,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "ttf-parser" version = "0.21.1" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" [[package]] name = "typenum" @@ -4830,6 +4951,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -4972,6 +5103,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -4984,15 +5124,24 @@ version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "windows-core" version = "0.51.1" -source = "git+https://github.com/kevinaboos/makepad?branch=button_event_docs#39464727276e2930fc904ecf4f3a15e6beacdfab" +source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", ] [[package]] @@ -5001,7 +5150,31 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -5010,57 +5183,163 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] name = "winnow" version = "0.5.18" @@ -5077,7 +5356,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ "cfg-if", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 23a70def..02e4ff51 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,8 +17,8 @@ metadata.makepad-auto-version = "zqpv-Yj-K7WNVK2I8h5Okhho46Q=" [dependencies] -# makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "rik" } -makepad-widgets = { git = "https://github.com/kevinaboos/makepad", branch = "button_event_docs" } +makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "rik" } +robius-open = "0.1.0" anyhow = "1.0" chrono = "0.4" diff --git a/src/home/room_screen.rs b/src/home/room_screen.rs index 09fc2e16..eb3e3f2e 100644 --- a/src/home/room_screen.rs +++ b/src/home/room_screen.rs @@ -822,6 +822,20 @@ impl Widget for Timeline { // Handle a link being clicked. if let HtmlLinkAction::Clicked { url, .. } = action.as_widget_action().cast() { log!("Timeline::handle_event(): link clicked: {:?}", url); + if url.starts_with("https://matrix.to/#/") { + // TODO: show a pop-up pane with the user's profile, or a room preview pane. + // + // There are four kinds of matrix.to schemes: + // See here: + // 1. Rooms: https://matrix.to/#/#matrix:matrix.org + // 2. Rooms by ID: https://matrix.to/#/!cURbafjkfsMDVwdRDQ:matrix.org + // 3. Users: https://matrix.to/#/@matthew:matrix.org + // 4. Messages: https://matrix.to/#/#matrix:matrix.org/$1448831580433WbpiJ:jki.re + } else { + if let Err(e) = robius_open::Uri::new(&url).open() { + error!("Failed to open URL {:?}: {:?}", url, e); + } + } } From 4c4f3fdcbb039db86483ba7febc50529b794b922 Mon Sep 17 00:00:00 2001 From: Kevin Boos Date: Fri, 5 Jul 2024 18:34:52 -0700 Subject: [PATCH 3/3] Support opening links via `robius-open`. Special `matrix.to` links are excluded for now, as those should be represented specially in the app itself. Explicitly set the color of the status label at the bottom of the rooms list, as the default Makepad theme has changed. Depend on our own fork of Makepad, as the current `rik` branch from the upstream repo has an infinite loop bug when rendering emoji. --- Cargo.lock | 272 +++++++---------------------------------- Cargo.toml | 4 +- src/home/rooms_list.rs | 1 + 3 files changed, 45 insertions(+), 232 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9fc90485..d18f2193 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -327,12 +327,6 @@ version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - [[package]] name = "base64ct" version = "1.6.0" @@ -786,12 +780,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" -[[package]] -name = "data-url" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" - [[package]] name = "deadpool" version = "0.10.0" @@ -1095,15 +1083,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" -[[package]] -name = "fdeflate" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" -dependencies = [ - "simd-adler32", -] - [[package]] name = "ff" version = "0.13.0" @@ -1136,12 +1115,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" - [[package]] name = "fnv" version = "1.0.7" @@ -1384,7 +1357,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.5", + "base64", "bytes", "headers-core", "http", @@ -1580,12 +1553,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "imagesize" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" - [[package]] name = "imbl" version = "2.0.3" @@ -1827,16 +1794,6 @@ dependencies = [ "typewit", ] -[[package]] -name = "kurbo" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5aa9f0f96a938266bdb12928a67169e8d22c6a786fda8ed984b85e6ba93c3c" -dependencies = [ - "arrayvec", - "smallvec", -] - [[package]] name = "language-tags" version = "0.3.2" @@ -1965,7 +1922,7 @@ dependencies = [ [[package]] name = "makepad-derive-live" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id", "makepad-micro-proc-macro", @@ -1974,7 +1931,7 @@ dependencies = [ [[package]] name = "makepad-derive-wasm-bridge" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-micro-proc-macro", ] @@ -1982,7 +1939,7 @@ dependencies = [ [[package]] name = "makepad-derive-widget" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id", "makepad-micro-proc-macro", @@ -1991,7 +1948,7 @@ dependencies = [ [[package]] name = "makepad-draw" version = "0.6.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "ab_glyph_rasterizer", "fxhash", @@ -2001,23 +1958,22 @@ dependencies = [ "makepad-vector", "sdfer", "unicode-bidi", - "unicode-linebreak", ] [[package]] name = "makepad-futures" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-futures-legacy" version = "0.7.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-html" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id", ] @@ -2025,7 +1981,7 @@ dependencies = [ [[package]] name = "makepad-http" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-jni-sys" @@ -2036,7 +1992,7 @@ checksum = "9775cbec5fa0647500c3e5de7c850280a88335d1d2d770e5aa2332b801ba7064" [[package]] name = "makepad-live-compiler" version = "0.5.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-derive-live", "makepad-live-tokenizer", @@ -2046,7 +2002,7 @@ dependencies = [ [[package]] name = "makepad-live-id" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id-macros", ] @@ -2054,7 +2010,7 @@ dependencies = [ [[package]] name = "makepad-live-id-macros" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-micro-proc-macro", ] @@ -2062,7 +2018,7 @@ dependencies = [ [[package]] name = "makepad-live-tokenizer" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id", "makepad-math", @@ -2072,7 +2028,7 @@ dependencies = [ [[package]] name = "makepad-markdown" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-id", ] @@ -2080,17 +2036,17 @@ dependencies = [ [[package]] name = "makepad-math" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-micro-proc-macro" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-micro-serde" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-micro-serde-derive", ] @@ -2098,7 +2054,7 @@ dependencies = [ [[package]] name = "makepad-micro-serde-derive" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-micro-proc-macro", ] @@ -2106,12 +2062,12 @@ dependencies = [ [[package]] name = "makepad-objc-sys" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "makepad-platform" version = "0.6.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-android-state", "makepad-futures", @@ -2129,7 +2085,7 @@ dependencies = [ [[package]] name = "makepad-rustybuzz" version = "0.8.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2144,7 +2100,7 @@ dependencies = [ [[package]] name = "makepad-shader-compiler" version = "0.5.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-live-compiler", ] @@ -2152,16 +2108,15 @@ dependencies = [ [[package]] name = "makepad-vector" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ - "resvg", "ttf-parser", ] [[package]] name = "makepad-wasm-bridge" version = "0.4.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-derive-wasm-bridge", "makepad-live-id", @@ -2170,7 +2125,7 @@ dependencies = [ [[package]] name = "makepad-widgets" version = "0.6.0" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-derive-widget", "makepad-draw", @@ -2183,16 +2138,16 @@ dependencies = [ [[package]] name = "makepad-windows" version = "0.51.1" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ - "windows-core 0.51.1 (git+https://github.com/makepad/makepad?branch=rik)", + "windows-core 0.51.1 (git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack)", "windows-targets 0.48.5", ] [[package]] name = "makepad-zune-core" version = "0.2.14" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "bitflags 2.4.1", ] @@ -2200,7 +2155,7 @@ dependencies = [ [[package]] name = "makepad-zune-inflate" version = "0.2.54" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "simd-adler32", ] @@ -2208,7 +2163,7 @@ dependencies = [ [[package]] name = "makepad-zune-jpeg" version = "0.3.17" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-zune-core", ] @@ -2216,7 +2171,7 @@ dependencies = [ [[package]] name = "makepad-zune-png" version = "0.2.1" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "makepad-zune-core", "makepad-zune-inflate", @@ -2557,7 +2512,7 @@ source = "git+https://github.com/matrix-org/matrix-rust-sdk#75fe874cae8424ec09a8 dependencies = [ "anyhow", "async-trait", - "base64 0.21.5", + "base64", "getrandom", "gloo-utils", "indexed_db_futures", @@ -2679,7 +2634,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", - "simd-adler32", ] [[package]] @@ -3086,7 +3040,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "siphasher 0.3.11", + "siphasher", ] [[package]] @@ -3095,15 +3049,9 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "siphasher 0.3.11", + "siphasher", ] -[[package]] -name = "pico-args" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" - [[package]] name = "pin-project" version = "1.1.3" @@ -3197,19 +3145,6 @@ version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" -[[package]] -name = "png" -version = "0.17.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - [[package]] name = "poly1305" version = "0.8.0" @@ -3445,7 +3380,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ "async-compression", - "base64 0.21.5", + "base64", "bytes", "encoding_rs", "futures-core", @@ -3481,20 +3416,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "resvg" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "944d052815156ac8fa77eaac055220e95ba0b01fa8887108ca710c03805d9051" -dependencies = [ - "log", - "pico-args", - "rgb", - "svgtypes", - "tiny-skia", - "usvg", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -3505,15 +3426,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "rgb" -version = "0.8.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" -dependencies = [ - "bytemuck", -] - [[package]] name = "ring" version = "0.17.5" @@ -3598,12 +3510,6 @@ dependencies = [ "url", ] -[[package]] -name = "roxmltree" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" - [[package]] name = "rsa" version = "0.9.5" @@ -3666,7 +3572,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bca4c33c50e47b4cdceeac71bdef0c04153b0e29aa992d9030ec14a62323e85" dependencies = [ "as_variant", - "base64 0.21.5", + "base64", "bytes", "form_urlencoded", "getrandom", @@ -3839,7 +3745,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.5", + "base64", ] [[package]] @@ -4087,7 +3993,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" dependencies = [ - "base64 0.21.5", + "base64", "chrono", "hex", "indexmap 1.9.3", @@ -4157,27 +4063,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simplecss" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" -dependencies = [ - "log", -] - [[package]] name = "siphasher" version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - [[package]] name = "slab" version = "0.4.9" @@ -4235,15 +4126,6 @@ dependencies = [ "der", ] -[[package]] -name = "strict-num" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" -dependencies = [ - "float-cmp", -] - [[package]] name = "string_cache" version = "0.8.7" @@ -4305,16 +4187,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "svgtypes" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fae3064df9b89391c9a76a0425a69d124aee9c5c28455204709e72c39868a43c" -dependencies = [ - "kurbo", - "siphasher 1.0.1", -] - [[package]] name = "syn" version = "1.0.109" @@ -4441,32 +4313,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-skia" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "log", - "png", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -4727,8 +4573,8 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "ttf-parser" -version = "0.21.1" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +version = "0.19.0" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" [[package]] name = "typenum" @@ -4793,12 +4639,6 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - [[package]] name = "unicode-normalization" version = "0.1.22" @@ -4860,28 +4700,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "usvg" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84ea542ae85c715f07b082438a4231c3760539d902e11d093847a0b22963032" -dependencies = [ - "base64 0.22.1", - "data-url", - "flate2", - "imagesize", - "kurbo", - "log", - "pico-args", - "roxmltree", - "simplecss", - "siphasher 1.0.1", - "strict-num", - "svgtypes", - "tiny-skia-path", - "xmlwriter", -] - [[package]] name = "utf-8" version = "0.7.6" @@ -4930,7 +4748,7 @@ checksum = "6c66c59f2218deeddfe34c0fee8a1908967f8566bafd91c3c6b9600d0b68cde1" dependencies = [ "aes", "arrayvec", - "base64 0.21.5", + "base64", "cbc", "curve25519-dalek", "ed25519-dalek", @@ -5130,7 +4948,7 @@ dependencies = [ [[package]] name = "windows-core" version = "0.51.1" -source = "git+https://github.com/makepad/makepad?branch=rik#f0ea7514c1b51f7f177330f38edcf90b450d3ae6" +source = "git+https://github.com/kevinaboos/makepad?branch=rik_with_old_font_stack#3dea7345ddd1ae82bd0a5e861960fc89ebfd832a" dependencies = [ "windows-targets 0.48.5", ] @@ -5382,12 +5200,6 @@ dependencies = [ "spki", ] -[[package]] -name = "xmlwriter" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" - [[package]] name = "zerocopy" version = "0.7.32" diff --git a/Cargo.toml b/Cargo.toml index 02e4ff51..65ca4d2b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,9 +15,9 @@ repository = "https://github.com/project-robius/robrix" version = "0.0.1-pre-alpha" metadata.makepad-auto-version = "zqpv-Yj-K7WNVK2I8h5Okhho46Q=" - [dependencies] -makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "rik" } +# makepad-widgets = { git = "https://github.com/makepad/makepad", branch = "rik" } +makepad-widgets = { git = "https://github.com/kevinaboos/makepad", branch = "rik_with_old_font_stack" } robius-open = "0.1.0" anyhow = "1.0" diff --git a/src/home/rooms_list.rs b/src/home/rooms_list.rs index 1a357f2d..734ea50e 100644 --- a/src/home/rooms_list.rs +++ b/src/home/rooms_list.rs @@ -80,6 +80,7 @@ live_design! { align: { x: 0.5, y: 0.5 } draw_text: { wrap: Word, + color: (MESSAGE_TEXT_COLOR), text_style: {} } text: "Loading joined rooms..."