Skip to content

빠른 resize에서 PTY 크기 지연으로 생기는 TUI 잔상 수정 - #136

Merged
SonAIengine merged 2 commits into
mainfrom
fix/tui-rapid-resize
Oct 30, 2026
Merged

SonAIengine merged 2 commits into
mainfrom
fix/tui-rapid-resize

Conversation

@SonAIengine

@SonAIengine SonAIengine commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

창을 빠르게 축소했다가 확대하면 이전 pane의 테두리가 남았다. tmux는 화면 크기를 먼저 바꾸고 PTY 통지를 늦출 수 있어, 그 사이 periodic redraw가 이전 ioctl 크기로 다시 그렸다. Unix에서는 cursor 위치를 저장하고 화면 끝으로 제한되는 이동과 CPR로 실제 화면 크기를 조회한 뒤 복원하도록 바꾼다. Windows는 기존 console size API와 fallback을 유지한다.

고정 sleep·tmux 감지·전체 화면/scrollback 삭제를 추가하지 않는다. Unix redraw마다 CPR 왕복 하나가 늘어 원격 터미널 latency 비용은 남는다. 모델·journal·승인 계약 변경은 없다. ADR-0079에 syscall·화면 관찰 근거와 책임을 기록했다.

검증: Rust 773 passed·4 ignored, 최종 CLI binary unit 49 passed, Clippy·fmt·문서·배포 workflow 검사 통과. draft·실행 중 queue의 rapid resize 5회, 설계와 다른 4개 크기 12회 burst, 전체 보기·승인·대기열·입력·history·종료 복원 smoke를 통과했다. CI에 기본·결과 viewer의 rapid resize smoke를 추가했다. loopback fixture HTTP 호출만 사용했고 유료 모델 호출은 없다.

강제 회귀 검사: 화면은 100×30으로 유지하고 PTY만 73×19로 바꾼 상태에서 새 입력이 100열 pane에 그려지는지 확인한다. PTY 불일치가 redraw 후에도 유지되는지 assertion으로 검증한다. 변경 전 main 6215e93 archive 빌드는 이 검사에서 실패했고 수정 빌드는 통과했다. 최신 PR CI에도 포함했다.

@SonAIengine
SonAIengine merged commit d326e7d into main Oct 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant