mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
7ffeac711c
The web terminal was rendering Claude Code and Codex incorrectly because xterm's custom glyph renderer draws block and quadrant characters with its own geometry. The reconnecting PTY screen backend also exposed `screen.xterm-256color` to the user's shell, which made tmux rendering issues harder to reason about. This PR: * Disables xterm custom glyph rendering so the selected terminal font draws block and quadrant glyphs. * Adds a tiny Powerline-only terminal symbol fallback font so common prompt separators still render when custom glyphs are disabled. * Configures the screen backend to keep the inner shell `TERM` aligned with the browser terminal emulator, including background color erase behavior. * Tightens reconnecting PTY tests around prompt synchronization and `TERM` assertions. <!-- linear:table-colwidths:200,200 --> | Before | After | | -- | -- | | <img src="https://uploads.linear.app/e62091d9-44f5-421c-8e5c-df481fc99003/3c45efce-9d7e-43b4-b24f-88d4d23d294a/ba68155e-949e-4961-b0b2-124757cb07bb?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiL2U2MjA5MWQ5LTQ0ZjUtNDIxYy04ZTVjLWRmNDgxZmM5OTAwMy8zYzQ1ZWZjZS05ZDdlLTQzYjQtYjI0Zi04OGQ0ZDIzZDI5NGEvYmE2ODE1NWUtOTQ5ZS00OTYxLWIwYjItMTI0NzU3Y2IwN2JiIiwiaWF0IjoxNzc4MTgxNjUwLCJleHAiOjE4MDk3NTIyMTB9.45f1ZzBpWOF5OCJV0xHfICdpyRQ1UoGMbJjLYPqeAkg " alt="Before: Claude Code logo rendering is distorted in the web terminal outside and inside tmux" width="640" /> | <img src="https://uploads.linear.app/e62091d9-44f5-421c-8e5c-df481fc99003/26b0a109-5e21-4000-b1b5-ddac87c409d4/46a301c2-a815-419a-92d2-c51cecdefe40?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiL2U2MjA5MWQ5LTQ0ZjUtNDIxYy04ZTVjLWRmNDgxZmM5OTAwMy8yNmIwYTEwOS01ZTIxLTQwMDAtYjFiNS1kZGFjODdjNDA5ZDQvNDZhMzAxYzItYTgxNS00MTlhLTkyZDItYzUxY2VjZGVmZTQwIiwiaWF0IjoxNzc4MTgxNjUwLCJleHAiOjE4MDk3NTIyMTB9.SQVwUbtaf2OrpjRJPkRH3uc0nPqad0bNBVvcRyuR6NQ " alt="After: Claude Code logo renders correctly in the web terminal outside and inside tmux" width="640" /> | ## Validation * `go test ./agent -run '^TestAgent_ReconnectingPTY$' -count=1` * `pnpm --dir site test -- src/theme/constants.test.ts` * `pnpm --dir site lint:types` * `pnpm --dir site check` * `pnpm --dir site build` * `git commit` pre-commit hook passed * `git push` pre-push hook ran and printed the repo CI monitoring hint > Mux worked on this PR on Mike's behalf. --------- Co-authored-by: Michael Suchacz <203725896+ibetitsmike@users.noreply.github.com>