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