Fix terminal resize handling and cached updates
This commit is contained in:
@@ -258,6 +258,10 @@ async fn handle_bootstrap_attach(
|
||||
.sessions
|
||||
.get_mut(&req.bootstrap.session)
|
||||
.expect("session exists");
|
||||
if req.bootstrap.mode != "view-only" {
|
||||
session.pty.resize(req.cols, req.rows)?;
|
||||
session.parser.set_size(req.rows, req.cols);
|
||||
}
|
||||
let client_id = crypto::random_16();
|
||||
let snapshot = session.parser.screen().state_formatted();
|
||||
let screen = session.parser.screen().clone();
|
||||
@@ -362,6 +366,10 @@ async fn handle_ticket_attach(
|
||||
.sessions
|
||||
.get_mut(&req.session)
|
||||
.expect("session exists");
|
||||
if req.mode != "view-only" {
|
||||
session.pty.resize(req.cols, req.rows)?;
|
||||
session.parser.set_size(req.rows, req.cols);
|
||||
}
|
||||
let client_id = crypto::random_16();
|
||||
let snapshot = session.parser.screen().state_formatted();
|
||||
let screen = session.parser.screen().clone();
|
||||
@@ -456,6 +464,10 @@ async fn handle_resume(
|
||||
client.rows = req.rows;
|
||||
client.last_seen = Instant::now();
|
||||
client.send_seq += 1;
|
||||
if client.mode != "view-only" {
|
||||
session.pty.resize(req.cols, req.rows)?;
|
||||
session.parser.set_size(req.rows, req.cols);
|
||||
}
|
||||
let snapshot = session.parser.screen().state_formatted();
|
||||
client.last_screen = Some(session.parser.screen().clone());
|
||||
(client.send_seq, session.output_seq, snapshot)
|
||||
|
||||
Reference in New Issue
Block a user