Files
netris-nestri/crates
Wanjohi 7670988ece feat(lifecycle): tell the host how many clients are watching
A host cannot tell a run somebody is playing from one nobody has looked
at in an hour, so it cannot end the second without guessing.

The hub now answers the address socket with a second line,
`viewers <n>`, counting clients that are streaming. Init reads it
alongside the address and sends a new `viewers` message to the host
when the count changes. A reader that takes only the first line gets
the address exactly as before, a server that never writes the second
line is still read, and a host that does not know the message skips it,
so either end can ship first.
2026-10-09 12:33:43 +03:00
..
2026-10-01 23:53:19 +03:00
2026-08-26 17:49:43 +03:00

crates/

Shared Rust: a library another crate in this repo depends on. A binary someone runs goes in apps/; shared JS/TS goes in packages/. The split is by what a thing is, not by what language it is written in — same rule on both sides of the repo.

Empty today. Components move here one at a time as they are opened.

Two rules

Every version is pinned in the root Cargo.toml. A member writes tokio.workspace = true and never a version, so two crates in this tree cannot disagree about a dependency.

Nothing here may depend on anything closed, or name it. This repo is public. A crate that needs a private component is in the wrong repo, and a comment explaining who calls this wants a category noun — "the caller", "a supervising agent" — rather than a name. The requirement is the interesting part; who currently satisfies it is not.