T-HUB/apps/web
glass beadian 1429e4e9af feat: video direct-to-R2 ingest — browser seals, worker probes off R2
POST /video/direct/init|complete: the browser seals (SPENC2) and PUTs
straight to object storage; the api HEAD-checks, registers the unprobed
asset and queues a probe job — video bytes never cross the api box.

Worker side: produce_job_claim widened to probe jobs (042), the runner
gains a probe lane (sealed fetch → SPENC1/SPENC2 open by magic → scratch →
ffprobe → metadata write-back → complete 100), worker storage reads SPENC2
frames via DIRECT_EC_PRIVATE_KEY (inherited through compose appenv), and a
ported ffprobe util. Probe rows carrying input_json fail instead of
stranding; the claim guard no longer strands probe rows as invalid.
2026-10-16 10:52:47 +00:00
..
public/brand Sidebar: full icon set (new chat + approvals marks), Files/Chat elevated, settings wheel 2026-10-12 16:12:10 +00:00
scripts Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
src feat: video direct-to-R2 ingest — browser seals, worker probes off R2 2026-10-16 10:52:47 +00:00
next-env.d.ts Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
next.config.mjs Collectives P1: participation landing (ES/EN), group tree, room provisioning APIs 2026-10-12 13:53:40 +00:00
package.json P1 flow fix: register makes a solo user by default, collective creation is an opt-in flag, post-login menu for collective-less accounts 2026-10-12 16:19:08 +00:00
postcss.config.mjs Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00
tsconfig.json Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00