New page: web/zebra-spaces.html. Extends the rendezvous + WebRTC mesh model from zebra-audio (1:1) to a room of up to ~8 speakers (host + 2 co-hosts + speakers) with listeners (deferred to v0.2 for SFU fan-out). Identity: per-browser persistent Ed25519 keypair in localStorage, plus a per-session UUID for in-room "whose who". Password-vault backup/restore (PBKDF2 600k + AES-GCM, matches zebra-audio's crypto) emits a self-contained 'zspc-id-v1|...' blob. Roles: everyone joins as listener; mods (host + co-hosts) extend mic-invites that listeners accept/decline; host promotes to co-host; mods demote and boot. Co-hosts cannot remove the host. Every role transition is signed by the acting mod's Ed25519 over a canonical input bound to room_id + epoch, so a compromised relay cannot forge promotions, only refuse to relay them. Pairs with cmd/zebra-spaces-signal in proxy.unturf.com. Nav: zebra-audio and host-your-own cross-link to spaces. Makefile: stamp target now covers zebra-spaces.html (web/chat.html and web/how-it-works.html stamps refreshed today as a side effect). |
||
|---|---|---|
| .. | ||
| blog | ||
| fonts | ||
| chat.html | ||
| host-your-own.html | ||
| how-it-works.html | ||
| index.html | ||
| kernel.html | ||
| stamp.js | ||
| zebra-audio.html | ||
| zebra-spaces.html | ||