fix(tui): clear Apple Terminal resize artifacts

Use a deeper alt-screen clear for Apple Terminal resize repaints so host reflow artifacts do not survive the recovery frame.
This commit is contained in:
Brooklyn Nicholson 2026-05-03 12:11:24 -05:00
parent e527240b27
commit 279b656adc
3 changed files with 40 additions and 9 deletions

View file

@ -0,0 +1,15 @@
import { describe, expect, it } from 'vitest'
import { needsAltScreenResizeScrollbackClear } from './terminal.js'
describe('terminal resize quirks', () => {
it('uses a deeper alt-screen resize clear for Apple Terminal', () => {
expect(needsAltScreenResizeScrollbackClear({ TERM_PROGRAM: 'Apple_Terminal' })).toBe(true)
expect(needsAltScreenResizeScrollbackClear({ TERM_PROGRAM: ' Apple_Terminal ' })).toBe(true)
})
it('keeps the normal resize repaint path for modern terminals', () => {
expect(needsAltScreenResizeScrollbackClear({ TERM_PROGRAM: 'vscode' })).toBe(false)
expect(needsAltScreenResizeScrollbackClear({ TERM_PROGRAM: 'iTerm.app' })).toBe(false)
})
})