6253b90151
为 SSH 顶部服务器标签和内部终端标签补充 `%` 运行中提示, 并基于发送命令、shell prompt、断连与错误链路派生运行态。
2.8 KiB
2.8 KiB
任务清单: terminal-running-indicator
@status: completed | 2026-04-19 21:31
@feature: terminal-running-indicator
@created: 2026-04-19
@status: completed
@mode: R2
进度概览
| 完成 | 失败 | 跳过 | 总数 |
|---|---|---|---|
| 6 | 0 | 0 | 6 |
任务列表
1. 运行态链路补齐
- [√] 1.1 在
packages/frontend/src/stores/session/types.ts与packages/frontend/src/stores/session/actions/sessionActions.ts中为 SSH 会话补充命令运行态与终端输入缓存字段,并完成新会话初始化 | depends_on: [] - [√] 1.2 在
packages/frontend/src/stores/session/getters.ts与packages/frontend/src/composables/useSshTerminal.ts中接入“发送非空命令置位、prompt/中断/断连清除”的派生逻辑 | depends_on: [1.1]
2. 标签 UI 展示
- [√] 2.1 在
packages/frontend/src/components/TerminalTabBar.vue中为 SSH 顶部服务器标签补充按连接聚合的%运行中提示 | depends_on: [1.2] - [√] 2.2 在
packages/frontend/src/components/LayoutRenderer.vue中为当前服务器内部终端标签补充逐终端%运行中提示 | depends_on: [1.2] - [√] 2.3 在
packages/frontend/src/locales/zh-CN.json、packages/frontend/src/locales/en-US.json与packages/frontend/src/locales/ja-JP.json中补充运行态 tooltip 文案 | depends_on: [2.1, 2.2]
3. 验证与同步
- [√] 3.1 运行
npm --workspace @nexus-terminal/frontend run build验证编译通过,并同步知识库与方案状态 | depends_on: [2.3]
执行日志
| 时间 | 任务 | 状态 | 备注 |
|---|---|---|---|
| 2026-04-19 21:06 | 方案包创建 | 完成 | 已创建 202604192106_terminal-running-indicator,按 R2 流程进入开发实施 |
| 2026-04-19 21:19 | 1.1 / 1.2 | 完成 | 已为 SSH 会话补充 isCommandRunning 与 terminalInputBuffer,并在 useSshTerminal.ts 中接入发送置位、prompt/中断/断连清除逻辑 |
| 2026-04-19 21:23 | 2.1 / 2.2 / 2.3 | 完成 | 顶部服务器标签与服务器内终端标签已显示 % 运行态提示,并补齐中英日 tooltip 文案 |
| 2026-04-19 21:30 | 3.1 | 完成 | npm --workspace @nexus-terminal/frontend run build 通过,并同步 frontend.md 与 CHANGELOG.md |
执行备注
- 本轮范围限制在
packages/frontend,不改 backend WebSocket 协议与 SSH session 模型。 - 运行态以前端派生值为准,允许在无法识别 prompt 的极少数 shell 场景中退化为“中断/新输入/断连清除”。
- 顶部服务器标签只做按连接聚合展示,内部终端标签负责表达具体哪一个终端仍在运行。
- 方案设计时预估会在
WorkspaceView.vue接入运行态,但最终为了覆盖文件管理器等直接调用terminalManager.sendData()的链路,将输入跟踪统一收口到了useSshTerminal.ts。