Files
Nexus/docs/changelog/2026-06-08-webssh-xterm-ansi-output-fix.md
T
2026-07-08 22:31:31 +08:00

1.2 KiB
Raw Blame History

2026-06-08 — WebSSH xterm SSH 交互区 ANSI 彩色输出修正

摘要

修正 835ef2c 偏差:ANSI 彩色应出现在上方 xterm SSH 输出区,而非底部命令栏语法高亮。后端 PTY 环境变量 + base64 DATA;前端解码写入 xtermShell 高亮 CSS 移至命令栏组件。

动机

用户反馈:WebSSH 对话框/命令栏有颜色,但 SSH 交互黑屏区仍无远程 ANSI 彩色(ls --color 等)。

涉及文件

  • server/api/webssh.pycreate_process(env=...)data_b64
  • frontend/src/composables/terminal/useTerminalSessions.ts — 解码 data_b64
  • frontend/src/pages/TerminalPage.vue — 移除 .sh-* 样式
  • frontend/src/components/terminal/TerminalCmdBar.vue — 承接 .sh-* 样式
  • docs/design/specs/2026-06-08-webssh-xterm-ansi-output-fix-design.md

迁移 / 重启

  • 后端需重启 APIWebSocket relay 变更)
  • 前端需 build + 部署;已有会话需重连以应用新 DATA 格式

验证

pytest tests/test_webssh_terminal_payload.py -q
cd frontend && npm run build

浏览器(xterm 黑屏内):printf '\033[31mred\033[0m\n'ls --color=auto

回滚

恢复 stdin export TERM=...;前端仅用 msg.data;去掉 data_b64