Skip to content

fix(registry): wasm vim raw-mode input as a shell child#263

Merged
NathanFlurry merged 1 commit into
mainfrom
vim-input-raw-mode
Jul 3, 2026
Merged

fix(registry): wasm vim raw-mode input as a shell child#263
NathanFlurry merged 1 commit into
mainfrom
vim-input-raw-mode

Conversation

@NathanFlurry

Copy link
Copy Markdown
Member
  • wasm-runner: kernel-managed stdio is authoritative for TTY detection on fd 0/1/2, and fd 1/2 writes route through the PTY before passthrough delegation, so a full-screen guest (vim) spawned by the shell is recognized as interactive
  • vim bridge overrides __isatty as well as isatty and links termios_bridge.o directly so the overrides win over wasi-libc
  • result: vim launched from the shell now enters raw mode and receives keystrokes (insert mode, cursor tracking, :wq) instead of cooked-echoed line input; no "not a terminal" warnings
  • verified end-to-end in a real just shell tmux session (i → INSERT, typed text lands in the buffer, :wq writes the file)

- wasm-runner: kernel-managed stdio is authoritative TTY for fd 0/1/2 (terminal
  detection + fd 1/2 writes route through the PTY before passthrough delegation)
- vim bridge overrides __isatty as well as isatty, and links termios_bridge.o
  directly so the overrides win over wasi-libc
so a full-screen app (vim) spawned by the shell enters raw mode and receives
keystrokes instead of cooked-echoed line input.
@railway-app railway-app Bot temporarily deployed to secure-exec / secure-exec-pr-263 July 3, 2026 23:20 Destroyed
@NathanFlurry NathanFlurry merged commit 34953c5 into main Jul 3, 2026
3 of 5 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