* feat(mobile): add huddles with LiveKit
Mirrors the desktop huddle window: tap the headphones button on a stream
to fetch a LiveKit token from Orion and join a video room. Active huddles
show a red badge on the stream card (participant count) and a red Join
pill in the stream top bar — both driven by huddle_active_participants
synced from the LiveKit webhook.
The HuddleScreen lives at its own route (not a modal/window): video tile
grid with placeholders for camera-off, mic/camera toggles, and a leave
button. Adds the LiveKit RN SDK plus the WebRTC + LiveKit Expo config
plugins for prebuild.
https://claude.ai/code/session_01Po5tAD17MXhnqGQ9hKh6PC
* fix(mobile): exiting from huddle
* fix: pause stream during huddle
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat(orion): add endpoint for link metadata
* refactor: cleanup comments
* wip: plumbing for building a web app
* setup deployment materials for web app
* fix(web): favicon
* mobile: wire notification registration and listener
* implement backend components for push notifications
* refactor: agentic comment cleanup
* docs: use proper module name for particle processor
* set required env variables for push notifications
* bump version
* fix: always upsert push token on mobile start
* Revert "fix: always upsert push token on mobile start"
This reverts commit 90ff18a788.
* send push notifications regardless of online status
More explicit feedback of the state of their upload. Also prevents
recording more media at the same time or interacting with the stream
which would feel stale to the human since they just created something
and it's yet to be present in the stream.
* stage 1: project init
* stage 2: skeleton with navigation
* step 2.5: streams list
* step 4: stream playback experience
* step 5-6: compose experience
* fix: broken record
* transcode media particles to mp4
* build: reproducible go generate
* build: rename skaffold module for particle processor worker
* infra: increase particle processor worker resources
Was dealing with OOM errors
* tweaks to mobile
* log transcode work
* view on desktop placeholder
* tweak padding
* cap video resolution to save on memory
* infra: bump memory limits as insurance
* ux improvements
* update bundle id for mobile
* config for mobile