@@ -236,6 +236,21 @@ export function createSshTerminalManager(sessionId: string, wsDeps: SshTerminalD
|
|||||||
isSshConnected.value = true; // 更新状态
|
isSshConnected.value = true; // 更新状态
|
||||||
// 连接成功后聚焦终端
|
// 连接成功后聚焦终端
|
||||||
terminalInstance.value?.focus();
|
terminalInstance.value?.focus();
|
||||||
|
|
||||||
|
if (terminalInstance.value) {
|
||||||
|
const currentDimensions = { cols: terminalInstance.value.cols, rows: terminalInstance.value.rows };
|
||||||
|
// 检查尺寸是否有效
|
||||||
|
if (currentDimensions.cols > 0 && currentDimensions.rows > 0) {
|
||||||
|
console.log(`[会话 ${sessionId}][SSH终端模块] SSH 连接成功,主动发送初始尺寸:`, currentDimensions);
|
||||||
|
sendMessage({ type: 'ssh:resize', sessionId, payload: currentDimensions });
|
||||||
|
} else {
|
||||||
|
console.warn(`[会话 ${sessionId}][SSH终端模块] SSH 连接成功,但获取到的初始尺寸无效,跳过发送 resize:`, currentDimensions);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.warn(`[会话 ${sessionId}][SSH终端模块] SSH 连接成功,但 terminalInstance 不可用,无法发送初始 resize。`);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 清空可能存在的旧缓冲(虽然理论上此时应该已经 ready 了)
|
// 清空可能存在的旧缓冲(虽然理论上此时应该已经 ready 了)
|
||||||
if (terminalOutputBuffer.value.length > 0) {
|
if (terminalOutputBuffer.value.length > 0) {
|
||||||
console.warn(`[会话 ${sessionId}][SSH终端模块] SSH 连接时仍有缓冲数据,正在写入...`);
|
console.warn(`[会话 ${sessionId}][SSH终端模块] SSH 连接时仍有缓冲数据,正在写入...`);
|
||||||
|
|||||||
Reference in New Issue
Block a user