summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 03:53:17 -0300
committerGabriel Schneider <[email protected]>2026-09-20 03:53:17 -0300
commitf1b53c1533539aecbf16ad19fd9156deae091f92 (patch)
tree38ff00810ef5e0ad271c26e218cf6af4578c71ce /README.md
parentba7ec40782ba7020d82a56896a5eb1b52578d6aa (diff)
downloadcloud9-f1b53c1533539aecbf16ad19fd9156deae091f92.tar.gz
cloud9-f1b53c1533539aecbf16ad19fd9156deae091f92.zip
9web: multiplexer, HTTP view of the tree, live streams, richer page
One upstream 9P connection now serves any number of browser WebSocket sessions and, with --serve, plain 9P clients over TCP or Unix (a 9pserve- style frame remux: tags and fids remapped, Tflush forwarded, reconnect on upstream loss). /fs/<path> maps HTTP onto the tree: GET file or directory (JSON or HTML), Range, HEAD with 9P headers, PUT (create, truncate, append, trailing slash makes a directory), DELETE, and ?follow=1 or text/event-stream turning a blocking read into server-sent events with Tflush on disconnect. The page gains a lazy tree, stat panel, create, rename, delete, upload and follow mode. --probe embeds 9proc for self-introspection. New mux-test and http-fs-test steps; e2e still passes. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'README.md')
-rw-r--r--README.md14
1 files changed, 11 insertions, 3 deletions
diff --git a/README.md b/README.md
index 04c68fa..c06331f 100644
--- a/README.md
+++ b/README.md
@@ -100,9 +100,17 @@ own sources, tests, README and a `build.zig` fragment that the root
`build.zig` imports and enables with a `-D<name>` toggle (`zig build --help`
lists the steps). New related programs follow the same layout.
-* [`web/`](docs/http.md) — the HTTP/WebSocket gateway `9web` and its
- WebAssembly browser client (`web/main.zig`, `web/client.zig`, assets under
- `web/static/`). Always built; steps `serve`, `web`, `http-test`, `e2e`.
+* [`web/`](docs/http.md) — the HTTP/WebSocket gateway `9web`, a 9P
+ multiplexer and its WebAssembly browser client (`web/main.zig`,
+ `web/mux.zig`, `web/httpfs.zig`, `web/probe.zig`, `web/client.zig`, assets
+ under `web/static/`). It holds one upstream 9P connection and fans it out to
+ many downstreams: the browser over a WebSocket, plain 9P clients over an
+ optional `--serve` TCP/Unix listener (a mux like 9pserve), and an HTTP view
+ of the tree under `/fs/` (`GET`/`PUT`/`DELETE`, directory JSON, `Range`, and
+ `?follow=1` server-sent events). `--probe` embeds 9proc for
+ self-introspection. The page adds a tree view, create/rename/delete, upload,
+ a stat panel and live follow. Always built; steps `serve`, `web`,
+ `http-test`, `mux-test`, `http-fs-test`, `e2e`.
* [`9proc/`](9proc/README.md) — a 9P debug/introspection server as
a library (module `9proc`, exported next to `cloud9`; freestanding
core that is a backend of `fs.Server`, Linux debug layer) and its demo