From 878931e273c4863a0b7f9f23b426a88863239296 Mon Sep 17 00:00:00 2001 From: alanpoon Date: Wed, 29 Apr 2026 17:04:46 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A1=EF=B8=8F=20Sentinel:=20[HIGH]=20Fi?= =?UTF-8?q?x=20XSS=20/=20HTML=20Injection=20in=20Media=20Captions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes an issue where the `formatted_caption()` for files, audio, and video messages was injected into the native HTML renderer (`show_html`) without explicitly verifying that the `format` type was `MessageFormat::Html`. This would allow a malicious actor to craft a payload with a non-HTML format type that contained malicious HTML tags, bypassing client-side sanitizers but executing in the UI. Now, the `format` is explicitly verified, falling back safely to plaintext via `htmlize::escape_text` if not explicitly declared as HTML. Co-authored-by: kevinaboos <1139460+kevinaboos@users.noreply.github.com> --- .jules/sentinel.md | 1 + Cargo.toml | 9 +- README.md | 17 + packaging/robrix_logo_alpha_128x128.png | Bin 0 -> 7330 bytes packaging/robrix_logo_alpha_256x256.png | Bin 0 -> 14424 bytes packaging/robrix_logo_alpha_32x32.png | Bin 0 -> 1975 bytes packaging/robrix_logo_alpha_48x48.png | Bin 0 -> 2933 bytes packaging/robrix_logo_alpha_512x512.png | Bin 0 -> 31883 bytes packaging/robrix_logo_alpha_64x64.png | Bin 0 -> 3887 bytes .../android/res/mipmap-hdpi/ic_launcher.png | Bin 3598 -> 3116 bytes .../android/res/mipmap-mdpi/ic_launcher.png | Bin 2637 -> 2109 bytes .../android/res/mipmap-xhdpi/ic_launcher.png | Bin 4492 -> 4083 bytes .../android/res/mipmap-xxhdpi/ic_launcher.png | Bin 6361 -> 5920 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 8304 -> 7718 bytes resources/icon_1024.png | Bin 61598 -> 56512 bytes src/app.rs | 31 -- src/home/new_message_context_menu.rs | 12 +- src/home/room_context_menu.rs | 11 +- src/home/room_screen.rs | 5 +- src/shared/image_viewer.rs | 492 +++++++++--------- 20 files changed, 303 insertions(+), 275 deletions(-) create mode 100644 .jules/sentinel.md create mode 100644 packaging/robrix_logo_alpha_128x128.png create mode 100644 packaging/robrix_logo_alpha_256x256.png create mode 100644 packaging/robrix_logo_alpha_32x32.png create mode 100644 packaging/robrix_logo_alpha_48x48.png create mode 100644 packaging/robrix_logo_alpha_512x512.png create mode 100644 packaging/robrix_logo_alpha_64x64.png diff --git a/.jules/sentinel.md b/.jules/sentinel.md new file mode 100644 index 00000000..f9156ad4 --- /dev/null +++ b/.jules/sentinel.md @@ -0,0 +1 @@ +## 2026-04-15 - Prevent HTML Injection in Media Captions\n**Vulnerability:** XSS / HTML Injection in media captions. The `formatted_caption()` was used indiscriminately, injecting `fb.body` into `show_html` regardless of the `fb.format` type. If a malicious client sent a custom format or plaintext with HTML tags, it would be executed by the UI.\n**Learning:** The `FormattedBody` structure from Matrix (via Ruma) must have its `.format` field explicitly checked (e.g., `MessageFormat::Html`) before treating its `.body` as safe HTML, as native UI renders rely on this explicit contract.\n**Prevention:** Always use `.filter(|fb| fb.format == MessageFormat::Html)` when extracting HTML from a `FormattedBody`, and strictly fallback to `htmlize::escape_text` for plain text representations. diff --git a/Cargo.toml b/Cargo.toml index c881ca96..0a39a738 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -221,7 +221,14 @@ and the Project Robius app dev framework and platform abstractions Robrix runs on all major desktop and mobile platforms: macOS, Windows, Linux, Android, and iOS. """ -icons = ["./packaging/robrix_logo_alpha.png"] +icons = [ + "./packaging/robrix_logo_alpha_32x32.png", + "./packaging/robrix_logo_alpha_48x48.png", + "./packaging/robrix_logo_alpha_64x64.png", + "./packaging/robrix_logo_alpha_128x128.png", + "./packaging/robrix_logo_alpha_256x256.png", + "./packaging/robrix_logo_alpha_512x512.png", +] out_dir = "./dist" ## Here, we define the list of resource directories for both Makepad and Robrix. diff --git a/README.md b/README.md index 1eb6d5e8..c651a7c9 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,17 @@ The following table shows which host systems can currently be used to build Robr cargo run --release ``` +> [!TIP] +> If you get a build error from `aws-lc-sys` about a **"COMPILER BUG DETECTED"** related to `memcmp` +> ([GCC #95189](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189)), +> your GCC version is too old (GCC 9 and earlier are affected). +> The easiest fix is to build using `clang` instead: +> ```sh +> CC=clang CXX=clang++ cargo run --release +> ``` +> Alternatively, upgrade GCC to version 10 or newer. + + ## Building & Running Robrix on Mobile: Android, iOS, iPadOS 1. Install the `cargo-makepad` build tool: @@ -122,6 +133,12 @@ The following table shows which host systems can currently be used to build Robr --app=robrix \ run-sim -p robrix --release ``` +> [!TIP] +> If you get errors from the simulator, update your simulator tooling: +> ```sh +> xcodebuild -downloadPlatform iOS +> ``` + #### Running on a real iOS device 4. Run the following command to show all provisioning profiles, signing identities, and device identifiers on your Mac. diff --git a/packaging/robrix_logo_alpha_128x128.png b/packaging/robrix_logo_alpha_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..12ba8adbe066af4e7519370760be3c9b4f24542f GIT binary patch literal 7330 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 literal 0 HcmV?d00001 diff --git a/packaging/robrix_logo_alpha_64x64.png b/packaging/robrix_logo_alpha_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..ff87e9446833391268a8d13d1edb91c9108fa7bb GIT binary patch literal 3887 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 literal 0 HcmV?d00001 diff --git a/resources/android/res/mipmap-hdpi/ic_launcher.png b/resources/android/res/mipmap-hdpi/ic_launcher.png index c34528de24a6b95cf96f1c161f4539cdc6cebbde..3b61fc6f5f6fbab56afdafeae75bd4df40bd6ab6 100644 GIT binary patch literal 3116 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 Ji7MvWzW@%7E+_y1 diff --git a/resources/android/res/mipmap-mdpi/ic_launcher.png b/resources/android/res/mipmap-mdpi/ic_launcher.png index b7df3c7d0f9d1e1ac73c976e7df68d6d20dcc297..26b1061cfffc97ff07b65d7217a48ffd2f59fdb9 100644 GIT binary patch delta 2107 zcmV-B2*mfz6ul6T8Gi-<00374`G)`i2n0z)K~!ko?V5dzTvZvyfA2Z>&dg5tV|I4i zZg+<^K*0z#MTI8y127O2l#dw0A5cGnCd7}DC;>!*1SKleih)E;lo-H7qsBrD?JI8_gJs?@k?L{8aE1*al#5y6Vg^Envg{}X@*yedH&__p#S&rVK| zGlok#I(b{J4S-k`E7CF;a8e zNdbuKW_&2Ba)0~2*LdXM2&fWRi%GwWRq-xHY`{&+`?#yWM7Ir&d&V0Ez@w;w6~O~r z4h-@2;X%q#mB0pw2<~-{4MY+kaZFD($6c#RY+lhfTOYu2b<=VHnhsW*vEPgx;g-QY zyj-3HYsnZx+~9GN23hqUoMT;k2j3c4&4;_XmrScg1AnMb^{$y|ZrQho#}6L@5wg}2 z*U9Dy2dx2d4ph0KyN7!RRi z9D}udVfjk#UUeG9Aeha#oD2Y$rWD}O!=rq8-)js_Pa{DbQw6`mM72*#2PLt@pI1y5c7sETkjj@VnR;OeBg=?v6R zk5wG!y}EH zD5%$2x{Ut(Wd^^w4cnPz#mCQCf*aMjRexkWxB%i%8Q2qW`FHb#n+iN| zwf+(X8=!Tvsm_BnNMNWAm)W=VFC6^Uzd#`<=J4eRt@@<67Le2hGa$0yJ%}b>Ooa)* zj0#qht{SV-Wi49<*08C#oQn5sSk^vAU95ttBG#Zz+5f{G4FBLI;)B!JLKXouP7I@} zHi~~?0FC;TdL^4RJocjzioGFg*MB7*#yQ0rnKgau>%5H>A)roOfTK_EVQ|ZK$~zAd zbY=*OIW$gn%*b)9XgULpzy+ajXn(|(n|8C|(k`z2bGocD$CS8R+afHA9d4HUXuPJi* zb-m=Z!01qw zozG9!wdN$iqfhN&=9MF4R)6GY?aB!U){_8`sE{<}^qqq+6vC_=Hv=XgVzNPFy1Xs} zB8dt$3Zel3!I-7fYQ70cjBk_cUZ)8SmqMYI?)sY6ZfGrvLdGl&g?BB4F49oaO`{^p zWKELxrnU({Te0eqgo-9>kJN=vj%RE-MVNq;9jdwrf;A2^-oo;=Fq z505gmyF$LhVgspDF>OdEv4X}*bYz;gv%4wXd_Ki1&pZ}*YP(x{LL&wQ!KZ26cv*pW zU)ag-es+jI{PGYJV=*0tV0KGpJ_?ByFhYE22HTaTbjt;-`s{j4E`XGd&B|@lM@+Q< zol`P7!&RSJ&VPG9RN%26kFfojF{Y69lg4qRo{VMGZJ0r7J z61VJ?p1zP9ZXe*{tBd^PJ3~yD-Eo%KPsQZV?cwx$FQW53{dIIPP0xBu&&X;;tE!k3 z)bQ>K{ikQ=EKDk|jT5fOV{$>Vbt$bec+$#O4ZPF&n>1aWeAf0|Tjupn#k&&oZiCd; l0xfpc^47~9Zvi;D>wk39!Sj5|fr|hD002ovPDHLkV1kxb5WWBa literal 2637 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 diff --git a/resources/android/res/mipmap-xhdpi/ic_launcher.png b/resources/android/res/mipmap-xhdpi/ic_launcher.png index ecf7ea9a808543458fb9dae84340e039ddc53e5a..0d5a264a2c5663eb8f8fa81ca18f38c889bcbc08 100644 GIT binary patch literal 4083 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 literal 4492 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 UM9AGb{>`ATZKCx^!|D3}0R33If&c&j diff --git a/resources/android/res/mipmap-xxhdpi/ic_launcher.png b/resources/android/res/mipmap-xxhdpi/ic_launcher.png index 003b84c04ad81eb09398892aca8a68fa80be0793..4b9268b45883d75e412035330b3ed92a1e455f2d 100644 GIT binary patch literal 5920 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 Pi=n2ZtyrUA_4$7Q31tg^ literal 8304 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 diff --git a/resources/icon_1024.png b/resources/icon_1024.png index 598abaa0ee3d251ae7a4afe1650c57ba6ba5c3e9..d7d2a86cbb75be9b69fb51e1d0592073e6c4804d 100644 GIT binary patch literal 56512 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 CbDMVn literal 61598 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 Y|qS) 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 diff --git a/src/app.rs b/src/app.rs index ac682da0..0555dad1 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1710,37 +1710,6 @@ impl AppMain for App { let scope = &mut Scope::with_data(&mut self.app_state); self.ui.handle_event(cx, event, scope); - /* - * TODO: I'd like for this to work, but it doesn't behave as expected. - * The context menu fails to draw properly when a draw event is passed to it. - * Also, once we do get this to work, we should remove the - * Hit::FingerScroll event handler in the new_message_context_menu widget. - * - // We only forward "interactive hit" events to the underlying UI view - // if none of the various overlay views are visible. - // Currently, the only overlay view that captures interactive events is - // the new message context menu. - // We always forward "non-interactive hit" events to the inner UI view. - // We check which overlay views are visible in the order of those views' z-ordering, - // such that the top-most views get a chance to handle the event first. - - let new_message_context_menu = self.ui.new_message_context_menu(cx, ids!(new_message_context_menu)); - let is_interactive_hit = utils::is_interactive_hit_event(event); - let is_pane_shown: bool; - if new_message_context_menu.is_currently_shown(cx) { - is_pane_shown = true; - new_message_context_menu.handle_event(cx, event, scope); - } - else { - is_pane_shown = false; - } - - if !is_pane_shown || !is_interactive_hit { - // Forward the event to the inner UI view. - self.ui.handle_event(cx, event, scope); - } - * - */ } } diff --git a/src/home/new_message_context_menu.rs b/src/home/new_message_context_menu.rs index 6fab28a7..4b6752f3 100644 --- a/src/home/new_message_context_menu.rs +++ b/src/home/new_message_context_menu.rs @@ -310,7 +310,12 @@ impl Widget for NewMessageContextMenu { self.visible = false; }; - self.view.draw_walk(cx, scope, walk) + let step = self.view.draw_walk(cx, scope, walk); + if self.visible { + let main_content_area = self.view(cx, ids!(main_content)).area(); + cx.block_scrolling_except_within(main_content_area); + } + step } fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) { @@ -323,7 +328,6 @@ impl Widget for NewMessageContextMenu { // 1. The back navigational gesture/action occurs (e.g., Back on Android), // 2. The escape key is pressed if this menu has key focus, // 3. The user clicks/touches outside the main_content view area. - // 4. The user scrolls anywhere. let close_menu = { event.back_pressed() || match event.hits_with_capture_overload(cx, area, true) { @@ -344,9 +348,6 @@ impl Widget for NewMessageContextMenu { !self.view(cx, ids!(main_content)).area().rect(cx).contains(fue.abs) } } - // Ignore zero-scroll events: macOS trackpad generates FingerScroll(0,0) - // on two-finger press (right-click), which would incorrectly dismiss the menu. - Hit::FingerScroll(fse) => fse.scroll.x != 0.0 || fse.scroll.y != 0.0, _ => false, } }; @@ -651,6 +652,7 @@ impl NewMessageContextMenu { self.details = None; self.pending_open_gesture = None; cx.revert_key_focus(); + cx.unblock_scrolling(); self.redraw(cx); } } diff --git a/src/home/room_context_menu.rs b/src/home/room_context_menu.rs index cc176491..2829cbda 100644 --- a/src/home/room_context_menu.rs +++ b/src/home/room_context_menu.rs @@ -158,7 +158,12 @@ impl Widget for RoomContextMenu { if self.details.is_none() { self.visible = false; }; - self.view.draw_walk(cx, scope, walk) + let step = self.view.draw_walk(cx, scope, walk); + if self.visible { + let main_content_area = self.view(cx, ids!(main_content)).area(); + cx.block_scrolling_except_within(main_content_area); + } + step } fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) { @@ -186,9 +191,6 @@ impl Widget for RoomContextMenu { !self.view(cx, ids!(main_content)).area().rect(cx).contains(fue.abs) } } - // Ignore zero-scroll events: macOS trackpad generates FingerScroll(0,0) - // on two-finger press (right-click), which would incorrectly dismiss the menu. - Hit::FingerScroll(fse) => fse.scroll.x != 0.0 || fse.scroll.y != 0.0, _ => false, } }; @@ -355,6 +357,7 @@ impl RoomContextMenu { self.details = None; self.pending_open_gesture = None; cx.revert_key_focus(); + cx.unblock_scrolling(); self.redraw(cx); } } diff --git a/src/home/room_screen.rs b/src/home/room_screen.rs index 733bd7fa..6ea0221e 100644 --- a/src/home/room_screen.rs +++ b/src/home/room_screen.rs @@ -9736,7 +9736,8 @@ fn populate_file_message_content( .unwrap_or_default(); // Escape caption to prevent HTML injection from untrusted message content let caption = file_content.formatted_caption() - .map(|fb| format!("
{}", htmlize::escape_text(&fb.body))) + .filter(|fb| fb.format == MessageFormat::Html) + .map(|fb| format!("
{}", fb.body)) .or_else(|| file_content.caption().map(|c| format!("
{}", htmlize::escape_text(c)))) .unwrap_or_default(); @@ -9790,6 +9791,7 @@ fn populate_audio_message_content( )) .unwrap_or_default(); let caption = audio.formatted_caption() + .filter(|fb| fb.format == MessageFormat::Html) .map(|fb| format!("
{}", fb.body)) .or_else(|| audio.caption().map(|c| format!("
{c}"))) .unwrap_or_default(); @@ -9841,6 +9843,7 @@ fn populate_video_message_content( )) .unwrap_or_default(); let caption = video.formatted_caption() + .filter(|fb| fb.format == MessageFormat::Html) .map(|fb| format!("
{}", fb.body)) .or_else(|| video.caption().map(|c| format!("
{c}"))) .unwrap_or_default(); diff --git a/src/shared/image_viewer.rs b/src/shared/image_viewer.rs index e08d1d15..2e4d8da9 100644 --- a/src/shared/image_viewer.rs +++ b/src/shared/image_viewer.rs @@ -4,6 +4,7 @@ //! ImageViewerRef has 4 public methods, `configure_zoom`, `show_loading`, `show_loaded` and `reset`. use std::sync::{mpsc::Receiver, Arc}; +use bytesize::ByteSize; use chrono::{DateTime, Local}; use makepad_widgets::{ event::TouchUpdateEvent, @@ -108,7 +109,7 @@ script_mod! { use mod.prelude.widgets.* use mod.widgets.* - mod.widgets.UI_ANIMATION_DURATION_SECS = 0.5 + mod.widgets.UI_ANIMATION_DURATION_SECS = 0.4 mod.widgets.ROTATION_ANIMATION_DURATION_SECS = 0.2 @@ -118,7 +119,11 @@ script_mod! { align: Align{x: 0.5, y: 0.5}, spacing: 0, padding: 0, - draw_bg.color: (COLOR_SECONDARY * 0.925) + draw_bg +: { + color: (COLOR_SECONDARY * 0.925) + color_hover: (COLOR_SECONDARY * 0.825) + color_down: (COLOR_SECONDARY * 0.7) + } draw_icon +: { svg: (ICON_ZOOM_OUT), color: #000 @@ -195,13 +200,15 @@ script_mod! { metadata_view := View { width: Fill, height: Fill, - margin: 20, + // Placeholder. Real values are set in Rust via `script_apply_eval!` + // during `draw_walk`, since the slide animation writes here too. + margin: Inset{top: 20, left: 20, right: 20, bottom: 20} align: Align{x: 0.0, y: 1.0}, metadata_rounded_view := RoundedView { width: Fill, height: Fit flow: Right align: Align{y: 0.5, x: 0.0} - padding: 13 + padding: Inset{top: 13, bottom: 8, left: 13, right: 13} spacing: 8, show_bg: true @@ -210,14 +217,13 @@ script_mod! { color: (COLOR_IMAGE_VIEWER_META_BACKGROUND) } - // Display user profile view below the button group when the width is not enough. - user_profile_view := View { - width: Fit, - height: Fit, - flow: Right, - spacing: 13, - align: Align{ y: 0.5 } - + avatar_timestamp_view := View { + width: Fit + height: Fit + flow: Down + spacing: 2 + align: Align{x: 0.5, y: 0.0} + avatar := Avatar { width: 45, height: 45, text_view +: { @@ -228,55 +234,54 @@ script_mod! { } } } - - content := View { - width: Fit + timestamp := Timestamp { + width: Fit, height: Fit, - align: Align{ y: 0.5 } - spacing: 3 - flow: Down, - - username := Label { - width: Fit - height: Fit, - padding: 0 - margin: 0 - flow: Right + ts_label := Label { draw_text +: { - text_style: REGULAR_TEXT {font_size: 12}, + text_style: theme.font_regular {font_size: 9.5}, color: (COLOR_TEXT) } } + } + } - timestamp_view := View { - width: Fit - height: Fit - - timestamp := Timestamp { - width: Fit, - height: Fit, - ts_label := Label { - draw_text +: { - text_style: theme.font_regular {font_size: 9.5}, - color: (COLOR_TEXT) - } - } - } + username_label_view := View { + width: Fill{weight: 0.35}, + // width: Fill, + height: Fit, + flow: Right, + align: Align{ y: 0.5 } + + username := Label { + width: Fill, + height: Fit, + padding: 0 + margin: 0 + flow: Flow.Right{wrap: true} + max_lines: 2 + text_overflow: Ellipsis + draw_text +: { + text_style: REGULAR_TEXT {font_size: 12}, + color: (COLOR_TEXT) } } } - // Display image name and size below the user_profile_view if the width is not enough. + // Display image name and size below the username when the width is not enough. image_name_and_size_view := View { - width: Fill + width: Fill{weight: 0.65}, + // width: Fill height: Fit, - align: Align{x: 0.5, y: 0.5} + align: Align{x: 0, y: 0.5} flow: Right image_name_and_size := Label { width: Fill, height: Fit, - align: Align{x: 0.5, y: 0.5} + align: Align{x: 0, y: 0.5} flow: Flow.Right{wrap: true} + max_lines: 2 + text_overflow: Ellipsis draw_text +: { text_style: REGULAR_TEXT {font_size: 13}, color: (COLOR_TEXT), @@ -289,6 +294,7 @@ script_mod! { button_group_view := View { width: Fill, height: Fit flow: Right + // Placeholder, see `metadata_view` above. margin: Inset{top: 20, right: 20} align: Align{x: 1.0, y: 0.5}, @@ -402,27 +408,17 @@ script_mod! { ui_animator: { default: @hide show: AnimatorState{ - redraw: false, + redraw: true, from: { all: Forward { duration: (mod.widgets.UI_ANIMATION_DURATION_SECS) } } apply: { - button_group_view: { - margin: Inset{ top: 20 } - } - metadata_view: { - margin: Inset{ bottom: 20 } - } + ui_overlay_slide: 0.0 } } hide: AnimatorState{ - redraw: false, + redraw: true, from: { all: Forward { duration: (mod.widgets.UI_ANIMATION_DURATION_SECS) } } apply: { - button_group_view: { - margin: Inset{ top: -200 } - } - metadata_view: { - margin: Inset{ bottom: -300 } - } + ui_overlay_slide: 1.0 } } } @@ -474,10 +470,22 @@ struct ImageViewer { #[rust] texture: Option, /// The event to trigger displaying with the loaded image after peek_walk_turtle of the widget. #[rust] next_frame: NextFrame, - /// Whether to display the UI overlay, including buttons and metadata. - #[rust] ui_visible_toggle: bool, - /// Timer used to animate-out (hide) the UI view after the latest user input. + /// Whether the UI overlay (buttons + metadata) is currently visible or animating to visible. + #[rust] ui_overlay_visible: bool, + /// Whether the mouse is hovering over the overlay UI (buttons or metadata). + /// When true, the auto-hide timer should not run. + #[rust] mouse_over_overlay_ui: bool, + /// Whether the hide animation is currently playing. When it finishes, + /// the overlay views are set to invisible. + #[rust] is_hiding_overlay: bool, + /// Animated slide value for the UI overlay: 0.0 = fully visible, 1.0 = fully hidden. + /// The animator interpolates this value; `draw_walk` uses it to position the views. + #[live] ui_overlay_slide: f32, + /// Timer used to animate-out (hide) the UI overlay after no user mouse/tap activity. #[rust] hide_ui_timer: Timer, + /// Last known mouse position, used to distinguish actual mouse movement + /// from the continuous `FingerHoverOver` events that fire every frame. + #[rust] last_mouse_pos: DVec2, #[rust] capped_dimension: DVec2, } @@ -523,67 +531,86 @@ impl Widget for ImageViewer { } } - // Handle hover events for UI elements without consuming the main image events - // We'll track hover state in the FingerMove event within the image handling + // Handle hover events for UI overlay elements. + // Only hit-test these when the overlay is visible; when hidden, their areas + // persist from the last draw and would consume events before rotated_image. let rotated_image = self.view.image(cx, ids!(rotated_image)); let button_group_rounded_view = self.view.view(cx, ids!(button_group_rounded_view)); - match event.hits(cx, button_group_rounded_view.area()) { - Hit::FingerHoverIn(_) if !self.ui_visible_toggle => { - cx.stop_timer(self.hide_ui_timer); - self.animator_cut(cx, ids!(ui_animator.show)); - } - Hit::FingerHoverOut(fe) - if !self.ui_visible_toggle - && !button_group_rounded_view.area().rect(cx).contains(fe.abs) - => { - // FingerHoverOut is triggered when the cursor enters into the button. - // Hence we need to check if the cursor is actually inside the button group. - self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + // All hit events (hover + finger) must use self.view.area() because the inner + // View's handle_event captures events on its own area first (due to its animator), + // preventing rotated_image.area() from receiving them. + // Position checks distinguish image vs. background interactions. + match event.hits(cx, self.view.area()) { + Hit::FingerHoverIn(he) if rotated_image.area().rect(cx).contains(he.abs) => { + self.mouse_cursor_hover_over_image = true; + cx.set_cursor(MouseCursor::Hand); } - Hit::FingerHoverOut(_) => {} - _ => {} - } - match event.hits(cx, self.view.view(cx, ids!(metadata_rounded_view)).area()) { - Hit::FingerHoverIn(_) if !self.ui_visible_toggle => { - cx.stop_timer(self.hide_ui_timer); - self.animator_cut(cx, ids!(ui_animator.show)); + Hit::FingerHoverOut(_) => { + self.mouse_cursor_hover_over_image = false; + cx.set_cursor(MouseCursor::Default); } - Hit::FingerHoverOut(_) if !self.ui_visible_toggle => { - self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + Hit::FingerHoverOver(he) => { + // Update cursor based on position over image. + let on_image = rotated_image.area().rect(cx).contains(he.abs); + if on_image != self.mouse_cursor_hover_over_image { + self.mouse_cursor_hover_over_image = on_image; + cx.set_cursor(if on_image { MouseCursor::Hand } else { MouseCursor::Default }); + } + // Track whether cursor is over the overlay UI elements. + let on_overlay = button_group_rounded_view.area().rect(cx).contains(he.abs) + || self.view.view(cx, ids!(metadata_rounded_view)).area().rect(cx).contains(he.abs); + if on_overlay != self.mouse_over_overlay_ui { + self.mouse_over_overlay_ui = on_overlay; + if on_overlay { + cx.stop_timer(self.hide_ui_timer); + } else { + self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + } + } + // FingerHoverOver fires every frame the cursor is over the area, + // even without actual movement. Only react to real mouse movement. + let dist = (he.abs - self.last_mouse_pos).length(); + let mouse_moved = dist > 0.5; + self.last_mouse_pos = he.abs; + if mouse_moved { + self.show_overlay_ui(cx, true); + } } - _ => {} - } - // Handle cursor changes on mouse hover - match event.hits(cx, rotated_image.area()) { Hit::FingerDown(fe) if fe.is_primary_hit() => { - self.drag_state.drag_start = fe.abs; - // Initialize pan_offset with current position if not set - if self.drag_state.pan_offset.is_none() { - self.drag_state.pan_offset = Some(DVec2::default()); + let click_pos = fe.abs; + let on_image = rotated_image.area().rect(cx).contains(click_pos); + let on_buttons = button_group_rounded_view.area().rect(cx).contains(click_pos); + let on_metadata = self.view.view(cx, ids!(metadata_rounded_view)) + .area().rect(cx).contains(click_pos); + if on_image { + self.drag_state.drag_start = fe.abs; + if self.drag_state.pan_offset.is_none() { + self.drag_state.pan_offset = Some(DVec2::default()); + } + } else if !on_buttons && !on_metadata { + self.reset(cx); + cx.action(ImageViewerAction::Hide); } } - Hit::FingerDown(_) => {} Hit::FingerUp(fe) if fe.is_over && fe.is_primary_hit() => { - // Only reset pan_offset on double-tap, not single tap - if fe.tap_count == 2 { - self.drag_state.pan_offset = Some(DVec2::default()); - let mut rotated_image_container = self.view.image(cx, ids!(rotated_image)); - script_apply_eval!(cx, rotated_image_container, { - margin +: { top: 0.0, left: 0.0 }, - }); - rotated_image_container.redraw(cx); - } - self.ui_visible_toggle = !self.ui_visible_toggle; - if self.ui_visible_toggle { - self.animator_play(cx, ids!(ui_animator.show)); - } else { - self.animator_play(cx, ids!(ui_animator.hide)); + let on_image = rotated_image.area().rect(cx).contains(fe.abs); + if on_image { + // Only reset pan_offset on double-tap, not single tap + if fe.tap_count == 2 { + self.drag_state.pan_offset = Some(DVec2::default()); + let mut rotated_image_container = self.view.image(cx, ids!(rotated_image)); + script_apply_eval!(cx, rotated_image_container, { + margin +: { top: 0.0, left: 0.0 }, + }); + rotated_image_container.redraw(cx); + } + // Tap toggles the overlay UI visibility. + if self.ui_overlay_visible { + self.hide_overlay_ui(cx); + } else { + self.show_overlay_ui(cx, true); + } } - cx.stop_timer(self.hide_ui_timer); - } - Hit::FingerHoverIn(_) => { - self.mouse_cursor_hover_over_image = true; - cx.set_cursor(MouseCursor::Hand); } Hit::FingerMove(fe) => { if let Some(current_offset) = self.drag_state.pan_offset { @@ -596,37 +623,22 @@ impl Widget for ImageViewer { width: #(size.x), height: #(size.y) }); - - // Update pan_offset with new position self.drag_state.pan_offset = Some(new_offset); } self.drag_state.drag_start = fe.abs; } - Hit::FingerHoverOut(_) => { - self.mouse_cursor_hover_over_image = false; - cx.set_cursor(MouseCursor::Default); - } - Hit::FingerHoverOver(_) - if !self.ui_visible_toggle - && !self.animator.in_state(cx, ids!(ui_animator.show)) - => { - self.animator_cut(cx, ids!(ui_animator.hide)); - self.animator_play(cx, ids!(ui_animator.show)); - cx.stop_timer(self.hide_ui_timer); - self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); - } - Hit::FingerHoverOver(_) => {} _ => {} } if let Event::Scroll(scroll_event) = event { if self.mouse_cursor_hover_over_image { let scroll_delta = scroll_event.scroll.y; + // Scale the zoom factor proportionally to the scroll magnitude, + // clamped so each scroll tick produces a gentle zoom step. + let normalized = (scroll_delta.abs() / 200.0).clamp(0.005, 0.06); if scroll_delta > 0.0 { - // Scroll up = Zoom in - self.adjust_zoom(cx, self.config.zoom_scale_factor); + self.adjust_zoom(cx, 1.0 + normalized); } else if scroll_delta < 0.0 { - // Scroll down = Zoom out - self.adjust_zoom(cx, 1.0 / self.config.zoom_scale_factor); + self.adjust_zoom(cx, 1.0 / (1.0 + normalized)); } } } @@ -682,6 +694,19 @@ impl Widget for ImageViewer { } let animator_action = self.animator_handle_event(cx, event); + if animator_action.must_redraw() { + self.view.redraw(cx); + } + + // When the hide animation finishes, make the overlay views invisible + // so their stale areas don't consume events. + if self.is_hiding_overlay && !self.animator.is_track_animating(id!(ui_animator)) { + self.is_hiding_overlay = false; + self.view.view(cx, ids!(button_group_view)).set_visible(cx, false); + self.view.view(cx, ids!(metadata_view)).set_visible(cx, false); + self.view.redraw(cx); + } + if self.next_frame.is_event(event).is_some() { self.display_using_texture(cx); } @@ -706,7 +731,7 @@ impl Widget for ImageViewer { } if self.hide_ui_timer.is_event(event).is_some() { - self.animator_play(cx, ids!(ui_animator.hide)); + self.hide_overlay_ui(cx); } } @@ -716,6 +741,38 @@ impl Widget for ImageViewer { self.image_container_size = rect.size; self.next_frame = cx.new_next_frame(); } + + // Position the overlays from the animated `ui_overlay_slide`. + // 0.0 = fully visible, 1.0 = fully off-screen. + // + // Visible-state margin is `max(20.0, safe_inset)` so the overlays + // clear cutouts. Has to be done in Rust cuz Modal bypasses the + // window body's padding, and `script_apply_eval!` overrides the + // DSL values every draw anyway. + let slide = self.ui_overlay_slide as f64; + let insets = cx.display_context.safe_area_insets; + let button_top_visible = 20.0_f64.max(insets.top); + let button_right = 20.0_f64.max(insets.right); + let meta_top = 20.0_f64.max(insets.top); + let meta_left = 20.0_f64.max(insets.left); + let meta_right = 20.0_f64.max(insets.right); + let meta_bottom_visible = 20.0_f64.max(insets.bottom); + let button_top = button_top_visible - (slide * 220.0); // visible → -200 + let meta_bottom = meta_bottom_visible - (slide * 320.0); // visible → -300 + let mut bg = self.view(cx, ids!(button_group_view)); + script_apply_eval!(cx, bg, { + margin +: { top: #(button_top), right: #(button_right) } + }); + let mut mv = self.view(cx, ids!(metadata_view)); + script_apply_eval!(cx, mv, { + margin +: { + top: #(meta_top), + left: #(meta_left), + right: #(meta_right), + bottom: #(meta_bottom), + } + }); + self.view.draw_walk(cx, scope, walk) } } @@ -726,30 +783,24 @@ impl MatchEvent for ImageViewer { self.reset(cx); cx.action(ImageViewerAction::Hide); } + + let mut was_overlay_button_clicked = false; if self.view.button(cx, ids!(reset_button)).clicked(actions) { + was_overlay_button_clicked = true; self.reset(cx); } - if self - .view - .button(cx, ids!(zoom_out_button)) - .clicked(actions) - { + if self.view.button(cx, ids!(zoom_out_button)).clicked(actions) { + was_overlay_button_clicked = true; self.adjust_zoom(cx, 1.0 / self.config.zoom_scale_factor); } - if self - .view - .button(cx, ids!(zoom_in_button)) - .clicked(actions) - { + if self.view.button(cx, ids!(zoom_in_button)).clicked(actions) { + was_overlay_button_clicked = true; self.adjust_zoom(cx, self.config.zoom_scale_factor); } - if self - .view - .button(cx, ids!(rotate_cw_button)) - .clicked(actions) - { + if self.view.button(cx, ids!(rotate_cw_button)).clicked(actions) { + was_overlay_button_clicked = true; if !self.is_animating_rotation { self.is_animating_rotation = true; if self.rotation_step == 3 { @@ -760,11 +811,8 @@ impl MatchEvent for ImageViewer { } } - if self - .view - .button(cx, ids!(rotate_ccw_button)) - .clicked(actions) - { + if self.view.button(cx, ids!(rotate_ccw_button)).clicked(actions) { + was_overlay_button_clicked = true; if !self.is_animating_rotation { self.is_animating_rotation = true; if self.rotation_step == 0 { @@ -776,6 +824,14 @@ impl MatchEvent for ImageViewer { } } + // Restart the auto-hide timer if any overlay button was clicked. If the + // mouse is still over the overlay the hover handler keeps the timer + // stopped anyway. + if was_overlay_button_clicked && !self.mouse_over_overlay_ui { + cx.stop_timer(self.hide_ui_timer); + self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + } + for action in actions.iter() { if let Some(ImageViewerAction::Show(state)) = action.downcast_ref() { match state { @@ -804,19 +860,52 @@ impl MatchEvent for ImageViewer { } impl ImageViewer { + /// Shows the UI overlay (buttons + metadata) and optionally starts the auto-hide timer. + fn show_overlay_ui(&mut self, cx: &mut Cx, start_auto_hide_timer: bool) { + if !self.ui_overlay_visible { + self.ui_overlay_visible = true; + self.is_hiding_overlay = false; + self.view.view(cx, ids!(button_group_view)).set_visible(cx, true); + self.view.view(cx, ids!(metadata_view)).set_visible(cx, true); + self.animator_play(cx, ids!(ui_animator.show)); + self.view.redraw(cx); + } + cx.stop_timer(self.hide_ui_timer); + if start_auto_hide_timer && !self.mouse_over_overlay_ui { + self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + } + } + + /// Hides the UI overlay (buttons + metadata) with an animated slide-out. + /// The views are kept visible during animation; `handle_event` sets them + /// invisible once the animation finishes. + fn hide_overlay_ui(&mut self, cx: &mut Cx) { + self.ui_overlay_visible = false; + self.is_hiding_overlay = true; + cx.stop_timer(self.hide_ui_timer); + self.animator_play(cx, ids!(ui_animator.hide)); + self.view.redraw(cx); + } + /// Reset state. pub fn reset(&mut self, cx: &mut Cx) { self.rotation_step = 0; // Reset to upright (0°) self.is_animating_rotation = false; // Reset animation state self.previous_pinch_distance = None; // Reset pinch tracking self.mouse_cursor_hover_over_image = false; // Reset hover state + self.last_mouse_pos = DVec2::default(); self.receiver = None; self.is_loaded = false; self.image_container_size = DVec2::new(); - self.ui_visible_toggle = false; + self.ui_overlay_visible = true; + self.mouse_over_overlay_ui = false; + self.is_hiding_overlay = false; cx.stop_timer(self.hide_ui_timer); - self.animator_cut(cx, ids!(ui_animator.show)); self.hide_ui_timer = Timer::empty(); + self.view.view(cx, ids!(button_group_view)).set_visible(cx, true); + self.view.view(cx, ids!(metadata_view)).set_visible(cx, true); + // Snap to fully visible (no animation on reset). + self.animator_cut(cx, ids!(ui_animator.show)); self.reset_drag_state(cx); self.animator_cut(cx, ids!(mode.upright)); let rotated_image_ref = self @@ -886,8 +975,7 @@ impl ImageViewer { let _ = sender.send(get_png_or_jpg_image_buffer(image_bytes_clone)); SignalToUI::set_ui_signal(); }); - cx.stop_timer(self.hide_ui_timer); - self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); + self.show_overlay_ui(cx, true); } /// Displays an image in the image viewer widget using the provided texture. @@ -992,7 +1080,12 @@ impl ImageViewer { footer.view(cx, ids!(image_viewer_forbidden_view)) .set_visible(cx, false); footer.set_visible(cx, true); - self.ui_visible_toggle = true; + // Snap the overlay to visible immediately on initial open (no animation). + self.ui_overlay_visible = true; + self.is_hiding_overlay = false; + self.view.view(cx, ids!(button_group_view)).set_visible(cx, true); + self.view.view(cx, ids!(metadata_view)).set_visible(cx, true); + self.animator_cut(cx, ids!(ui_animator.show)); cx.stop_timer(self.hide_ui_timer); self.hide_ui_timer = cx.start_timeout(SHOW_UI_DURATION); } @@ -1023,29 +1116,22 @@ impl ImageViewer { /// Sets the metadata view in the image viewer with the provided metadata. /// - /// The metadata view is updated with the truncated image name and the human-readable size of the image. - /// - /// The image name is truncated to 24 characters and appended with "..." if it exceeds the limit. - /// The human-readable size is calculated based on the image size in bytes. + /// The image_name_and_size and username labels handle their own overflow + /// via `max_lines: 2` + `text_overflow: Ellipsis` in the layout. pub fn set_metadata(&mut self, cx: &mut Cx, metadata: &ImageViewerMetaData) { let meta_view = self.view.view(cx, ids!(metadata_view)); - let truncated_name = truncate_image_name(&metadata.image_name); - let human_readable_size = format_file_size(metadata.image_file_size); - let display_text = format!("{} ({})", truncated_name, human_readable_size); + let display_text = format!("{} ({})", metadata.image_name, ByteSize::b(metadata.image_file_size)); meta_view .label(cx, ids!(image_name_and_size)) .set_text(cx, &display_text); if let Some(timestamp) = metadata.timestamp { meta_view - .view(cx, ids!(user_profile_view.content.timestamp_view)) - .set_visible(cx, true); - meta_view - .timestamp(cx, ids!(user_profile_view.content.timestamp_view.timestamp)) + .timestamp(cx, ids!(avatar_timestamp_view.timestamp)) .set_date_time(cx, timestamp); } if let Some((timeline_kind, event_timeline_item)) = &metadata.avatar_parameter { - let (sender, _) = self.view.avatar(cx, ids!(user_profile_view.avatar)).set_avatar_and_get_username( + let (sender, _) = self.view.avatar(cx, ids!(avatar_timestamp_view.avatar)).set_avatar_and_get_username( cx, timeline_kind, event_timeline_item.sender(), @@ -1053,15 +1139,9 @@ impl ImageViewer { event_timeline_item.event_id(), false, ); - if sender.len() > MAX_USERNAME_LENGTH { - meta_view - .label(cx, ids!(user_profile_view.content.username)) - .set_text(cx, &format!("{}...", &sender[..MAX_USERNAME_LENGTH - 3])); - } else { - meta_view - .label(cx, ids!(user_profile_view.content.username)) - .set_text(cx, &sender); - }; + meta_view + .label(cx, ids!(username_label_view.username)) + .set_text(cx, &sender); } } } @@ -1141,57 +1221,3 @@ pub struct ImageViewerMetaData { pub image_file_size: u64, } -/// Maximum image name length to be displayed -const MAX_IMAGE_NAME_LENGTH: usize = 50; -/// Maximum username length to be displayed -const MAX_USERNAME_LENGTH: usize = 50; - -/// Truncate image name while preserving file extension -fn truncate_image_name(image_name: &str) -> String { - let max_length = MAX_IMAGE_NAME_LENGTH; - - if image_name.len() <= max_length { - return image_name.to_string(); - } - - // Find the last dot to separate name and extension - if let Some(dot_pos) = image_name.rfind('.') { - let name_part = &image_name[..dot_pos]; - let extension = &image_name[dot_pos..]; - - // Reserve space for "..." and the extension - let available_length = max_length.saturating_sub(3 + extension.len()); - - if available_length > 0 && name_part.len() > available_length { - format!("{}...{}", &name_part[..available_length], extension) - } else { - image_name.to_string() - } - } else { - // No extension found, just truncate the name - format!("{}...", &image_name[..max_length.saturating_sub(3)]) - } -} - -/// Convert bytes to human-readable file size format -fn format_file_size(bytes: u64) -> String { - const UNITS: &[&str] = &["B", "KB", "MB", "GB", "TB"]; - - if bytes == 0 { - return "0 B".to_string(); - } - - let mut size = bytes as f64; - let mut unit_index = 0; - - while size >= 1024.0 && unit_index < UNITS.len() - 1 { - size /= 1024.0; - unit_index += 1; - } - - if unit_index == 0 { - format!("{} {}", bytes, UNITS[unit_index]) - } else { - format!("{:.1} {}", size, UNITS[unit_index]) - } -}