Skip to content

Commit dde921b

Browse files
committed
🐛 fix(tui): prevent panic in status bar rendering
1 parent 42db08b commit dde921b

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/tui/views/status_bar.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,13 @@ pub fn render(frame: &mut Frame, app: &mut App, area: Rect) {
8383
// Key hints (right-aligned)
8484
let hints = " q:Quit ?:Help / or ::Command ";
8585

86-
// Calculate padding
86+
// Calculate padding (use saturating_sub to prevent underflow when content exceeds width)
8787
let left_len: usize = spans.iter().map(|s| s.content.len()).sum();
88-
let padding_len = area.width as usize - left_len - hints.len();
89-
let padding = " ".repeat(padding_len.max(1));
88+
let padding_len = (area.width as usize)
89+
.saturating_sub(left_len)
90+
.saturating_sub(hints.len())
91+
.max(1);
92+
let padding = " ".repeat(padding_len);
9093

9194
spans.push(Span::raw(padding));
9295
spans.push(Span::styled(hints, Style::default().fg(Color::White)));

0 commit comments

Comments
 (0)