4runr-os 2.9.65 → 2.9.66

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.
@@ -609,25 +609,18 @@ fn main() -> Result<()> {
609
609
  terminal.clear()?;
610
610
  }
611
611
 
612
- // When on Setup Portal: explicit size sync + clear (only on first frame to avoid flicker)
613
- // Phase 3: Query real terminal size and force resize BEFORE clearing, so buffer matches console.
612
+ // BACK TO PHASE 1.1: Clear every frame on Setup Portal (no corruption, but flickers)
613
+ // We'll add logging to understand WHY it flickers, then fix the flicker surgically.
614
614
  if matches!(current_screen, crate::screens::Screen::SetupPortal) {
615
- // Only clear when we JUST entered Setup Portal (first frame), not on every navigation
615
+ terminal.autoresize()?;
616
+ terminal.clear()?;
616
617
  if switching_to_setup_portal {
617
- // Phase 3: Explicitly query terminal size and resize buffer to match before clearing
618
- // This fixes windowed-mode corruption on Windows where autoresize() may not catch the right size.
619
- let (cols, rows) = crossterm::terminal::size()?;
620
- terminal.resize(Rect::new(0, 0, cols, rows))?;
621
- terminal.clear()?;
622
618
  #[cfg(debug_assertions)]
623
- eprintln!("[MAIN] ENTERED Setup Portal (explicit resize {}x{} + clear)", cols, rows);
619
+ eprintln!("[MAIN] ENTERED Setup Portal (autoresize + clear)");
624
620
  debug_log::log_screen(
625
621
  &format!("{:?}", previous_screen.as_ref().unwrap_or(&current_screen)),
626
622
  &format!("{:?}", current_screen),
627
623
  );
628
- } else {
629
- // While navigating on Setup Portal, still autoresize (no clear to avoid flicker)
630
- terminal.autoresize()?;
631
624
  }
632
625
  }
633
626
 
@@ -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.65";
147
+ const PACKAGE_VERSION: &str = "2.9.66";
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)),
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "2.9.65",
3
+ "version": "2.9.66",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.65: Setup Portal windowed - explicit size+resize before clear. v2.9.64: Double clear. ⚠️ Pre-MVP / Development Phase",
5
+ "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.66: Setup Portal windowed - clear every frame (no corruption). v2.9.65: Explicit resize. ⚠️ Pre-MVP / Development Phase",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "4runr": "dist/index.js",