| Commit message (Expand) | Author | Age |
| *-. | Merge: 9P rounds 7-8 + layout files + loose ends + G3 cursor | Gabriel Schneider | 28 hours |
| |\ \ |
|
| | * | | The QUIC listener tests are deterministic, and fs-test --quic passes | Gabriel Schneider | 28 hours |
| | |/ |
|
| * | | A column has a ctl, an exec and an rmdir over 9P, and Restore maps its serial | Gabriel Schneider | 28 hours |
| * | | A send to Python's REPL runs once, the Enter after the paste, not in it | Gabriel Schneider | 28 hours |
| * | | fs-test checks an unattended detached session expires its messages on its own | Gabriel Schneider | 28 hours |
| |/ |
|
| * | A Restore logs restored <old> <new> for each pane | Gabriel Schneider | 28 hours |
| * | Sixteen 9P connections, and the next one is told there is no room instead of ... | Gabriel Schneider | 28 hours |
| * | A Save the host cannot do fails the 9P write that asked for it, and the log n... | Gabriel Schneider | 28 hours |
| * | Errors are said in words, and a refusal names what it takes | Gabriel Schneider | 28 hours |
| * | A detached session stopped by SIGTERM, SIGINT or SIGHUP unlinks its sockets | Gabriel Schneider | 28 hours |
| * | A Restore answers its writer before hanging up, and the log records dumps and... | Gabriel Schneider | 28 hours |
| * | Restore asks about unsaved text first, as Exit does | Gabriel Schneider | 28 hours |
| * | Exit quits and Kill stops commands, as in acme | Gabriel Schneider | 28 hours |
| * | Kill written to /ctl is answered before the editor quits | Gabriel Schneider | 28 hours |
| * | A refused or failed write is an err record in the log, naming the file and th... | Gabriel Schneider | 28 hours |
| * | A lock another open holds fails at once with file in use instead of parking | Gabriel Schneider | 28 hours |
| * | Addresses search a line at a time as sam does, say why they fail, and a faile... | Gabriel Schneider | 28 hours |
| * | Truncating data or xdata deletes only the addressed range, not the whole body | Gabriel Schneider | 28 hours |
| * | Focus gives the keyboard only, reads empty while a header has it, and sits in... | Gabriel Schneider | 28 hours |
| * | A root commands file lists every builtin, its argument and which ctl takes it | Gabriel Schneider | 28 hours |
| * | Split control messages by scope: the root ctl takes the session's builtins an... | Gabriel Schneider | 28 hours |
| * | A root focus file names the pane with the keyboard and moves it; a pane's ctl... | Gabriel Schneider | 28 hours |
| * | A pane's ctl takes acme's lock and unlock | Gabriel Schneider | 28 hours |
| * | pty/run answers with the command's output; pin cloud9 with 9ns concurrency an... | Gabriel Schneider | 28 hours |
| * | Make pty/run and /log streams, and take refused lines back cleanly | Gabriel Schneider | 28 hours |
| * | Run a line at a terminal's prompt through pty/run and read how it ended | Gabriel Schneider | 28 hours |
| * | Wake reads waiting on /log, event and pty/data; one reader per consuming file... | Gabriel Schneider | 28 hours |
| * | Record /log whether or not anyone reads it, with the editor's messages in it | Gabriel Schneider | 28 hours |
| * | Notices become tagline bands at the top of the body | Gabriel Schneider | 28 hours |
| * | Fixes from three adversarial reviews, and a destructive one among them | Gabriel Schneider | 28 hours |
| * | Make a pane by opening /pane/new, and a Plan 9 idiom pass | Gabriel Schneider | 28 hours |
| * | Plan 9 idiom for the control filesystem, and the regressions a624a56 left | Gabriel Schneider | 28 hours |
| * | Flatten the 9P control tree and move it out of fs.zig | Gabriel Schneider | 28 hours |
| * | Add Linux Tty9p mounted terminals and forward raw TTY keys | Gabriel Schneider | 2026-09-15 |
| * | trunk: resume before the Reload experiment | Gabriel Schneider | 2026-09-15 |
| * | Refactor panes and filesystem; replace FUSE with 9P | Gabriel Schneider | 2026-09-07 |