Repository navigation
Conversation
…e Orbit Rail Extract the go-live Dialog and End stream into GoLiveDialog and useEndStream so the profile menu and the rail's You slot share one implementation. The aside's Live now list leaves log pages to the rail, shows when each stream ends, and uses LiveAvatar. KNOWLEDGE_BASE, PRODUCT and DESIGN describe inline playback, Twitch, the live ring and the Orbit Rail.
Live helpers, hover intent and SSR-safe live-until hooks, platform glyph, LiveRing/LiveAvatar, StreamThumbnail/StreamPlayer with play-to-load embeds, and LivePreviewCard. LiveStreamCard, LiveStreamTrigger and the generic LiveStreamSheet now build on them, and the feed node, user preview and profile header wear the rotating lane ring instead of the red one.
The live-now rail between the log tabs and the composer: you first, then the people you follow who are live, with one floating stream card anchored to whichever ring is open, a sheet on touch, and liveFollowing in the log poll.
Only people who are live have an end time, so a partial index keeps the live list and the job that ends streams off the rest of the users table.
The live stream now says its platform, when it ends and the player it plays inline with, which stays null when embeds are off. Live follows come soonest ending first, up to 24 for the orbit rail, each with their newest approved top-level commit, in two queries however many are live. Guests no longer get the prop at all.
- The rail polls liveFollowing itself every 30s (paused in hidden tabs), so Trending, whose page poll never starts, stays current; the log page's poll no longer asks for it twice. - The aside's Live now list shows the five streams ending soonest. - One LIVE pill placement (LiveAvatarBadge) for LiveAvatar and the feed node, replacing LiveAvatarMarker; feed nodes draw LiveAvatar. - LiveStreamCard and LivePreviewCard share usePlayingStream and WatchStreamButton; StreamThumbnail is private to the player. - The card's bloom and the rail's lane pulse share useMountAnimations. - Thumbnails load eagerly: a lazy image inside the bloom's clipped start stayed unloaded. - Card copy no longer splits "ends in 10h 49m", and the handle truncates before the name.
The graph canvas cut only each node's circle out of its lines, so the segment below a live author ran over the pill hanging off the ring. Nodes can now mark extra cut-outs with data-graph-cutout.
At 520px the 200px thumbnail left the details column 280px, 6px short of Watch on YouTube and View profile side by side (286px), so View profile wrapped. A 184px thumbnail leaves 296px; the buttons keep their sizes.
The rail only ever shows people you follow, so "Live now · N you follow" said nothing the rings don't. The row gives the avatars the full width and keeps its accessible name as an aria-label.
With the count gone the scroller already spans the row, so drop the one-child flex wrapper, apply the fade mask only while something overflows, and run the lane line from the first ring's centre to the last instead of past both ends.
ArtMin96
force-pushed
the
feat/orbit-rail
branch
from
October 24, 2026 18:37
da7a15f to
7f7f566
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a rail above the log showing the people you follow who are live.
users.live_ends_at, and sends only the fields the rail draws.components/live/for future streaming features.livenow includesplatform,ends_atandembed.