Skip to content

fix(tea): execWithTTYControl defer bug on Windows (v0.2.3) - #14

Merged
kolkov merged 1 commit into
mainfrom
hotfix/v0.2.3
Feb 6, 2026
Merged

kolkov merged 1 commit into
mainfrom
hotfix/v0.2.3

Conversation

@kolkov

@kolkov kolkov commented Feb 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix critical execWithTTYControl bug on Windows: defer SetConsoleMode(originalMode) fired AFTER Resume(), undoing EnterRawMode() and leaving terminal in cooked mode
  • After ExecProcessWithTTY: arrow keys broken, OS echo enabled, line buffering active
  • Cascade rivo/uniseg removal from remaining example go.mod files

Changes

  • tea/internal/application/program/tty_control_windows.go: remove harmful defer, fix errorlint
  • examples/context-menu/go.mod: remove unused rivo/uniseg indirect
  • examples/hover-highlight/go.mod: remove unused rivo/uniseg indirect
  • CHANGELOG.md: add v0.2.3 section
  • README.md: update version to v0.2.3

Test plan

  • go test ./tea/... passes (all platforms)
  • gofmt -l . clean
  • golangci-lint clean on tty_control_windows.go
  • CI green on Ubuntu, macOS, Windows

Reported by: GoSh Shell Project

- defer SetConsoleMode(originalMode) fired AFTER Resume(), undoing
  EnterRawMode and leaving terminal in cooked mode
- Symptoms: arrow keys broken, OS echo enabled after ExecProcessWithTTY
- Fix errorlint: use %w for both errors
- Cascade rivo/uniseg removal from context-menu, hover-highlight examples
- Update CHANGELOG v0.2.3, README version
@kolkov
kolkov merged commit 98419d7 into main Feb 6, 2026
9 of 12 checks passed
@kolkov
kolkov deleted the hotfix/v0.2.3 branch March 5, 2026 17:50
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