diff --git a/core/archipelago/src/api/handler/terminal.rs b/core/archipelago/src/api/handler/terminal.rs index b691ddf0..1eb31cab 100644 --- a/core/archipelago/src/api/handler/terminal.rs +++ b/core/archipelago/src/api/handler/terminal.rs @@ -239,7 +239,11 @@ pub(crate) async fn websocket(req: Request) -> Result { - let output = Command::new("tmux").args(["capture-pane", "-p", "-e", "-t", &record.tmux, "-S", "-250"]).output().await; + // Capture the visible pane only. Asking tmux for a large + // historical range injects hundreds of blank rows into + // xterm on every reconnect, producing a misleading + // giant initial scrollbar. xterm owns live scrollback. + let output = Command::new("tmux").args(["capture-pane", "-p", "-e", "-t", &record.tmux]).output().await; if let Ok(output) = output { let text = String::from_utf8_lossy(&output.stdout).into_owned(); if text != last { last = text.clone(); if tx.send(Message::Text(serde_json::json!({"type":"output", "data":text}).to_string())).await.is_err() { break; } } diff --git a/neode-ui/src/components/CLIPopup.vue b/neode-ui/src/components/CLIPopup.vue index 638b080e..c566ea3b 100644 --- a/neode-ui/src/components/CLIPopup.vue +++ b/neode-ui/src/components/CLIPopup.vue @@ -24,7 +24,7 @@
Terminal unavailable{{ error }}
Create your first developer sessionSessions stay running when this window closes and can be resumed later.
Choose a sessionResume an existing workspace or start a new one.
-
+