Skip to content

Releases: xibbon/MiniTUI

Track v1.0.3

Choose a tag to compare

@migueldeicaza migueldeicaza released this 05 Oct 20:16
v1.0.3 M2: checked terminal I/O and a typed terminal-loss event

When the terminal went away without a SIGHUP (a suspended or background pi),
the stdin read source ignored read() <= 0 and fired without end: pi ran at
~135% CPU until killed (reproduced 2026-10-05). Now reads, writes and the
raw-mode calls are checked; the first terminal loss stops input and output
and is reported once through Terminal.setIOErrorHandler / TUI.setIOErrorHandler
(default no-op for other conformers). TerminalIOError carries the operation,
descriptor and saved errno; isTerminalLoss is the upstream set (EIO, EPIPE,
ENOTCONN, ENOTTY) plus end-of-file on a terminal (Darwin returns EOF on a
closed pty master). Output uses write(2) with partial-write and EINTR handling
instead of FileHandle.write, and F_SETNOSIGPIPE on Darwin (no process-wide
SIGPIPE change). MiniTui reports; the host (PiSwiftTui) decides the exit.

MiniTui 578 -> 596, no existing test changed.

Sync to v0.87.1

Choose a tag to compare

@migueldeicaza migueldeicaza released this 29 Sep 19:15
- Autocomplete: CJK punctuation boundaries and path quoting, skill
  ranking on the bare name, quoted-directory ordering.
- SelectList and SettingsList: hover no longer changes selection.
- LaTeX: legacy font switches, centered cases, vertical display scripts.
- Alt screen: Alt+wheel 5x scrolling, ClipboardCopyResult with backend
  failure text, WezTerm clears rows before Kitty images, scroll-to-end
  label centering.

Tests: 483 -> 502.