1.0 KiB
1.0 KiB
2026-06-08 — 终端深链与命令输入框修复
摘要
修复 #/terminal?server_id=1 等深链打开后底部命令输入框不可用:消除终端容器挂载竞态、连接中不再禁用整栏输入,并统一 server_id 查询参数。
动机
newSession 在 pane ref 未就绪时提前 return,导致 WebSocket 永不连接、输入框长期 disabled;看板页误用 server 参数。
变更
waitForTermContainer轮询等待 pane 挂载后再connectSession- 命令栏:有会话即可输入,仅「发送」在未连接时禁用
applyRouteQuery同时识别server_id/serverScriptRunsPage跳转终端改为server_id
涉及文件
frontend/src/composables/terminal/useTerminalSessions.tsfrontend/src/composables/terminal/useTerminalCmdBar.tsfrontend/src/components/terminal/TerminalCmdBar.vuefrontend/src/pages/TerminalPage.vuefrontend/src/pages/ScriptRunsPage.vue
验证
#/terminal?server_id=1 → 连接建立前可编辑命令框;连接后可发送。