Files
Nexus/docs/changelog/2026-06-08-terminal-cmdbar-server-id-fix.md
T
2026-07-08 22:31:31 +08:00

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 / 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 → 连接建立前可编辑命令框;连接后可发送。