Pick a file. The page hands it to live.upload; the framework streams it to the
server as binary chunks, hashes each chunk SHA-256 server-side, and short-circuits via redis/idempotency when the hash is already cached. Re-uploading the same file
stores zero new bytes. On stream end live.notify({ userId }) fires a
fire-and-forget push so other tabs you have open get a "new file" banner.
Uploading as Spunky Turnip (eecaa5db)
No files yet. Pick one above.