Repository navigation
feat(website): relay peering launch film and home section - #969
Conversation
Add ~40s peering film (hero-animation render pipeline), site #peering block, and encoded public media for the marketing page.
🦋 Changeset detectedLatest commit: 66205e3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
🧹 Site preview for this PR was deleted (PR closed). |
|
Copy review of 1. Scene 1, Card 2 (line 32) says nothing
2. Scene 4,
|
[Medium impact] The PR appears safe to merge with four non-blocking follow-ups from earlier reviews. Findings
|
| video.addEventListener('play', sync) | ||
| video.addEventListener('pause', sync) | ||
| button.addEventListener('click', () => { | ||
| if (video.paused) void video.play() | ||
| else video.pause() |
There was a problem hiding this comment.
Clicking Pause does not keep the peering film paused. Base.astro calls video.play() whenever the film scrolls back into view, and this handler does not remember the user's choice. Add the userPaused guard already used by the hero and console films so scrolling away and back does not restart playback.
| const peeringLowVideo = [ | ||
| process.env.PEERING_LOW_SRC, | ||
| path.join(PEERING_LANDING, 'nostream-peering-low.mp4'), | ||
| peeringVideo === path.join(PEERING_LANDING, 'nostream-peering-low.mp4') ? null : peeringVideo, | ||
| ].find((p) => p && existsSync(p) && p !== peeringVideo) |
There was a problem hiding this comment.
The fallback to peeringVideo can never be used because the final filter rejects that same path. The documented refresh commands render only the full-quality film, so running them updates peering.mp4 but leaves peering-low.mp4 unchanged. Mobile and data-saver visitors then receive the old film. Allow the full-quality source to feed the low-quality encode, or require and document a separate low render.
| const peeringLowVideo = [ | |
| process.env.PEERING_LOW_SRC, | |
| path.join(PEERING_LANDING, 'nostream-peering-low.mp4'), | |
| peeringVideo === path.join(PEERING_LANDING, 'nostream-peering-low.mp4') ? null : peeringVideo, | |
| ].find((p) => p && existsSync(p) && p !== peeringVideo) | |
| const peeringLowVideo = [ | |
| process.env.PEERING_LOW_SRC, | |
| path.join(PEERING_LANDING, 'nostream-peering-low.mp4'), | |
| peeringVideo, | |
| ].find((p) => p && existsSync(p)) |
| <p class="lead"> | ||
| Peering lets operators specialize — community scope, deep archives, hot caches at the edge — without every | ||
| relay pretending to be the whole network. |
There was a problem hiding this comment.
Upcoming feature looks available
The new home section presents peering as available, including selling archive feeds and using cache peers, but the current relay has no peering implementation. The copy document also calls this a draft for review before the peering release ships. Mark the section and film as an upcoming preview, or wait to include them on the home page until the feature ships.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Clarify scope/peering/edge cards, rolling cache window, and flat or traffic-based fees; re-render site media.
Use a short title plus wrapped subtitle and constrain role-card text width; re-render site media.
Dismissed because a newer commit was pushed; Greptile will re-review the current head.
Drop sr-only blurb that was not styled hidden on the peering section.
| <div class="reveal film-wrap"> | ||
| <FilmFrame |
There was a problem hiding this comment.
Removing the description leaves screen-reader users with only “nostream relay peering.” FilmScreen provides no narration, text track, or description, and the remaining page copy does not explain film-only details such as selling feeds settled in sats. Restore a text description beside the film, or provide an equivalent transcript.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Description
This PR :-
website/hero-animation.#peeringon the marketing site and shipspeering.mp4/ poster via the media pipeline.website/hero-animation/docs/peering-film-copy.md(for maintainer review vs Relay peering: advertise terms in NIP-11, authenticate peers, handle feeds distinctly from clients #931–Peering: owner-attested peering requests — the operator co-signs, staking their reputation #940).Related Issue
Closes :- #942
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Checklist: