The heredoc body for version.js was at column 0 while the surrounding
run block is indented 10 spaces, causing YAML to terminate the block
scalar and fail with 'Invalid workflow file' at line 146. Replace the
heredoc with a grouped echo block that respects the block indentation.
Emit a version.js alongside the WASM binary in CI recording the
coreutils commit used for the build, and display it under the
terminal with a link to the commit on GitHub.
mdbook 0.5's built-in Font Awesome parser sees the legacy `fa` class
that uudoc emits and defaults to type=regular, failing to find
linux/windows/apple (which live under `brands`) and spamming hundreds
of WARN lines per build. Drop the `fa ` prefix between uudoc and
mdbook build for both English and translated docs.
Upstream coreutils-l10n updated the French translation of arch-about
from "Afficher l'architecture de la machine" to "Affiche l'architecture
de la machine", which was causing the WASM terminal test to fail in CI.
Remove the jsFallback function and its tests. Commands now require
the WASM binary to be loaded. If WASM is still loading, a "please
wait" message is shown instead of running JS approximations.
Prevent the browser from closing the tab when Ctrl+W is pressed
while the terminal is focused. Instead, handle it as the standard
terminal "delete previous word" action.
Parse < (stdin from file), > (stdout to file), and >> (append) in
the command line. Files are read from and written to the persistent
virtual filesystem, so redirected output persists across commands.
Explain that constructs like if/while/for, globbing, and variable
expansion are shell features, not coreutils features, and why they
are not available in the playground's minimal JS shell.
browser_wasi_shim's Filestat.write_bytes() uses setUint8 for the
1-byte filetype field at offset 16, leaving bytes 17-23 unwritten.
Since Rust allocates the stat buffer with MaybeUninit, those padding
bytes contain stack garbage that corrupts the struct.
Fix by replacing write_bytes with a version that writes filetype as
a full 8-byte BigUint64 (zero-extended), clearing the padding.
Also add a test asserting file sizes are reasonable.