4c14966ae3
The Pi Agent dockerfile templates created ~/.tmux.conf with a literal \n because the RUN command used single-quoted echo. Tmux never parsed the malformed line, so mouse mode stayed off. Without tmux mouse mode, mouse-wheel events in xterm.js fell back to Up/Down arrow keys and cycled shell command history instead of scrolling the terminal buffer. - Use printf '%s\n' to write real newlines in .tmux.conf. - Apply the same fix to the ranger rc.conf where the same bug existed. - Update tool-images/pi-agent.dockerfile and both affected alembic migration dockerfile strings. Quality gates: npm run typecheck, npm run lint, npm test -- --run (87 passed), py_compile on changed migrations. Refs: openspec/changes/fix-tmux-mouse-config
1.4 KiB
1.4 KiB
Fix tmux Mouse Mode Configuration in Pi Agent Images
Summary
The Pi Agent dockerfile templates create /home/user/.tmux.conf using echo '... \n ...' with single quotes. In both Dockerfile RUN commands and Python-embedded dockerfile strings, single quotes prevent \n from being interpreted as a newline, so the resulting .tmux.conf contains a single malformed line such as:
set -g mouse on\nset -g default-terminal "screen-256color"
Tmux fails to parse this, so set -g mouse on is never applied. Without tmux mouse mode, xterm.js sends mouse-wheel events as Up/Down arrow keys to the shell, causing wheel scroll to cycle command history instead of scrolling the terminal/tmux buffer.
Scope
tool-images/pi-agent.dockerfileapps/api/alembic/versions/20260527160017_add_pi_agent_tool_type.pyapps/api/alembic/versions/2026_05_28_add_tool_definition_manifests.py
Acceptance Criteria
- Pi Agent image builds write a valid multi-line
.tmux.conf. .tmux.confcontainsset -g mouse onon its own line..tmux.confcontainsset -g default-terminal "screen-256color"on its own line.- Ranger config is also fixed where the same literal
\nbug exists. - Alembic migration dockerfile strings produce the same valid commands as the standalone Dockerfile.
Related
openspec/specs/tool-terminaltool-images/pi-agent.dockerfile