feat(core/eckhart): remove percentage from loaders
What changed, and why it matters
This commit removes the on-screen percentage number from loading/progress indicators in the Trezor hardware wallet's user interface. It is a cosmetic UI change only and does not alter security logic, cryptography, or how data is handled.
No security action needed. Treat as a normal UI cleanup commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff deletes the render_percentage helper and its call from ProgressScreen::paint in the Eckhart layout firmware. The loader still renders, but no longer displays a textual percentage. Imports that became unused (Alignment, fonts) are also removed. There is no functional change to progress calculation, bounds checking, or any security-sensitive code path.
Changed components
core/embed/rust/src/ui/layout_eckhart/firmware/progress_screen.rsInspect captured patch +3 / −18
diff --git a/core/embed/rust/src/ui/layout_eckhart/firmware/progress_screen.rs b/core/embed/rust/src/ui/layout_eckhart/firmware/progress_screen.rs
index 5ced9a90..22098aa5 100644
--- a/core/embed/rust/src/ui/layout_eckhart/firmware/progress_screen.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/firmware/progress_screen.rs
@@ -8,8 +8,8 @@ use crate::{
text::paragraphs::{Paragraph, ParagraphSource as _, ParagraphVecShort, Paragraphs},
Component, Event, EventCtx, Label, Never,
},
- geometry::{Alignment, Alignment2D, LinearPlacement, Offset, Rect},
- shape::{self, Renderer},
+ geometry::{Alignment2D, LinearPlacement, Offset, Rect},
+ shape::Renderer,
util::animation_disabled,
},
};
@@ -17,7 +17,7 @@ use crate::{
use super::super::{
constant::SCREEN,
cshape::{render_loader, render_loader_indeterminate, ScreenBorder},
- fonts, theme,
+ theme,
};
const LOADER_SPEED: u16 = 5;
@@ -143,9 +143,6 @@ impl Component for ProgressScreen {
render_loader_indeterminate(progress_val, &self.border, target);
} else {
render_loader(progress_val, &self.border, target);
- if !self.coinjoin_progress {
- render_percentage(progress_val, target);
- }
}
if self.coinjoin_progress {
self.coinjoin_do_not_disconnect.render(target);
@@ -154,18 +151,6 @@ impl Component for ProgressScreen {
}
}
-fn render_percentage<'s>(progress: u16, target: &mut impl Renderer<'s>) {
- let progress_percent = uformat!("{}%", (progress as f32 / 10.0) as i16);
- shape::Text::new(
- SCREEN.center(),
- &progress_percent,
- fonts::FONT_SATOSHI_EXTRALIGHT_72,
- )
- .with_align(Alignment::Center)
- .with_fg(theme::GREY_LIGHT)
- .render(target);
-}
-
#[cfg(feature = "ui_debug")]
impl crate::trace::Trace for ProgressScreen {
fn trace(&self, t: &mut dyn crate::trace::Tracer) {
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.