4runr-os 2.9.65 → 2.9.67
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.
|
Binary file
|
package/mk3-tui/src/main.rs
CHANGED
|
@@ -609,25 +609,20 @@ fn main() -> Result<()> {
|
|
|
609
609
|
terminal.clear()?;
|
|
610
610
|
}
|
|
611
611
|
|
|
612
|
-
//
|
|
613
|
-
//
|
|
614
|
-
|
|
615
|
-
|
|
612
|
+
// BACK TO PHASE 1.1: Clear every frame on Setup Portal (no corruption, but flickers)
|
|
613
|
+
// Flicker debug: log CLEAR then DRAW so we can confirm flicker = clear then redraw.
|
|
614
|
+
let on_setup_portal = matches!(current_screen, crate::screens::Screen::SetupPortal);
|
|
615
|
+
if on_setup_portal {
|
|
616
|
+
terminal.autoresize()?;
|
|
617
|
+
debug_log::log_flicker_debug("CLEAR_BEFORE", &format!("switching={}", switching_to_setup_portal));
|
|
618
|
+
terminal.clear()?;
|
|
616
619
|
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
620
|
#[cfg(debug_assertions)]
|
|
623
|
-
eprintln!("[MAIN] ENTERED Setup Portal (
|
|
621
|
+
eprintln!("[MAIN] ENTERED Setup Portal (autoresize + clear)");
|
|
624
622
|
debug_log::log_screen(
|
|
625
623
|
&format!("{:?}", previous_screen.as_ref().unwrap_or(¤t_screen)),
|
|
626
624
|
&format!("{:?}", current_screen),
|
|
627
625
|
);
|
|
628
|
-
} else {
|
|
629
|
-
// While navigating on Setup Portal, still autoresize (no clear to avoid flicker)
|
|
630
|
-
terminal.autoresize()?;
|
|
631
626
|
}
|
|
632
627
|
}
|
|
633
628
|
|
|
@@ -635,6 +630,9 @@ fn main() -> Result<()> {
|
|
|
635
630
|
terminal.draw(|f| app.render(f))?;
|
|
636
631
|
let render_duration = render_start.elapsed().as_millis() as u64;
|
|
637
632
|
app.record_render(render_duration);
|
|
633
|
+
if on_setup_portal {
|
|
634
|
+
debug_log::log_flicker_debug("DRAW_DONE", &format!("ms={}", render_duration));
|
|
635
|
+
}
|
|
638
636
|
|
|
639
637
|
// Update previous screen tracking
|
|
640
638
|
previous_screen = Some(current_screen);
|
package/mk3-tui/src/ui/layout.rs
CHANGED
|
@@ -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.
|
|
147
|
+
const PACKAGE_VERSION: &str = "2.9.67";
|
|
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.
|
|
3
|
+
"version": "2.9.67",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.67: Setup Portal flicker debug (CLEAR_BEFORE/DRAW_DONE). v2.9.66: Clear every frame. ⚠️ Pre-MVP / Development Phase",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|