Skip to content

v0.1.10

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:33
· 18 commits to main since this release
3759619

Orphaned reader exit (P3-37 / V22)

A reader whose terminal went away could keep running and spin at ~100 % CPU for hours (seen on four processes after their shells exited). v0.1.10 ends that.

  • Session-leader watchdog. If the shell that owns the terminal session is gone, wiki-reader exits within about a second. Root cause, measured on macOS: the spin follows the death of the session leader, while a parent that merely exits (a launcher) leaves the reader idle, so only the leader is watched.
  • Hung-up terminal. A closed PTY master (closed window, dropped SSH) ends the session; a stuck read is force-exited after a short grace.
  • Non-terminal stdio. wiki-reader refuses to start when stdin or stdout is not a terminal.
  • No panic on a dead stderr. Closing the terminal during startup used to abort the process with SIGABRT (a crash report on macOS) because error output panicked; it now exits cleanly.
  • Signals. SIGHUP, SIGTERM and SIGINT are handled before raw mode starts.
  • Escape hatch. WIKI_READER_NO_WATCHDOG=1 turns the session-leader check off (see the configuration guide; with it off an orphaned reader can spin until killed).

A PTY regression check (scripts/check-orphan-exit.py) now runs in check.sh and CI on Ubuntu and macOS: master closed with the slave held, master closed during startup, session leader killed, opt-out keeps running, launcher exits with the leader alive (reader stays idle), and no TTY.

This is an alpha prerelease, like every v0.1.* release. Phase 2 remains on its fixes-only dogfood hold until the adoption verdict around 2026-10-13. The Phase 3 exit decision still waits on dogfooding the installed build; this release does not restart that clock.

Install and upgrade

Download the matching platform tarball and its .sha256, verify the checksum, and replace the binary in the same install location. See Releasing and upgrading. The lite build is still cargo install --locked --no-default-features --git https://github.com/luckgrid/wiki-reader --tag v0.1.10 wiki-reader.

  • Binaries are unsigned and not notarized.
  • Browser downloads on macOS may be quarantined. If Gatekeeper blocks the extracted binary, run xattr -d com.apple.quarantine path/to/wiki-reader.
  • The Linux binary links the glibc from the ubuntu-latest build runner; older distributions may need a source build or cargo install.
  • Upgrades preserve configuration and saved sessions.