4runr-os 2.9.43 → 2.9.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -144,7 +144,7 @@ fn render_header(f: &mut Frame, area: Rect, state: &AppState) {
144
144
 
145
145
  // Line 1: Brand + version + mode + uptime - Bug 3 fix: Use "4Runr." with dot (matches brand logo)
146
146
  // Use npm package version (2.9.24) - matches package.json
147
- const PACKAGE_VERSION: &str = "2.9.43";
147
+ const PACKAGE_VERSION: &str = "2.9.44";
148
148
  let brand_line = Line::from(vec![
149
149
  Span::styled("4Runr.", Style::default().fg(BRAND_PURPLE).add_modifier(Modifier::BOLD)),
150
150
  Span::styled(" AI AGENT OS", Style::default().fg(BRAND_VIOLET)),
@@ -175,7 +175,7 @@ fn render_description(f: &mut Frame, area: Rect) {
175
175
  f.render_widget(block, area);
176
176
 
177
177
  let text = Paragraph::new("Choose how you want to connect to a Gateway server.")
178
- .style(Style::default().fg(TEXT_DIM))
178
+ .style(Style::default().fg(TEXT_DIM).bg(BG_PANEL))
179
179
  .alignment(ratatui::layout::Alignment::Center);
180
180
 
181
181
  f.render_widget(text, inner);
@@ -226,8 +226,10 @@ fn render_options_list(f: &mut Frame, area: Rect, state: &AppState) {
226
226
  }
227
227
  }
228
228
 
229
- // CRITICAL: Clear the list area first to prevent duplication
230
- f.render_widget(Clear, area);
229
+ // CRITICAL: Fill entire area with background so every cell is overwritten.
230
+ // Without this, List only paints rows with items; leftover rows show previous frame (duplication).
231
+ let fill = Block::default().style(Style::default().bg(BG_PANEL));
232
+ f.render_widget(fill, area);
231
233
 
232
234
  let options = vec![
233
235
  ("Local Bundle", GatewayOption::LocalBundle),
@@ -301,8 +303,10 @@ fn render_option_details(f: &mut Frame, area: Rect, state: &AppState) {
301
303
  }
302
304
  }
303
305
 
304
- // CRITICAL: Clear the details area first to prevent content overlap/corruption
305
- f.render_widget(Clear, area);
306
+ // CRITICAL: Fill entire area with background so every cell is overwritten.
307
+ // Without this, Paragraph may not paint every cell; leftover shows previous option (corruption).
308
+ let fill = Block::default().style(Style::default().bg(BG_PANEL));
309
+ f.render_widget(fill, area);
306
310
 
307
311
  let selected_option = &state.setup_portal.selected_option;
308
312
  let detection_result = &state.setup_portal.detection_result;
@@ -482,7 +486,8 @@ fn render_actions(f: &mut Frame, area: Rect, state: &AppState) {
482
486
  };
483
487
 
484
488
  let paragraph = Paragraph::new(text)
485
- .alignment(ratatui::layout::Alignment::Center);
489
+ .alignment(ratatui::layout::Alignment::Center)
490
+ .style(Style::default().bg(BG_PANEL));
486
491
 
487
492
  f.render_widget(paragraph, inner);
488
493
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "2.9.43",
3
+ "version": "2.9.44",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.43: Release prep. v2.9.42: Reverted Setup Portal to standard Ratatui pattern - simplified rendering to fix content overlap and mixing. ⚠️ Pre-MVP / Development Phase",
5
+ "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.44: Setup Portal navigation fix - fill background before List/details to fix duplication and character corruption. v2.9.43: Release prep. ⚠️ Pre-MVP / Development Phase",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "4runr": "dist/index.js",