Skip to content

feat(website): relay peering launch film and home section - #969

Merged
cameri merged 5 commits into
mainfrom
feat/peering-launch-film
Oct 24, 2026
Merged

cameri merged 5 commits into
mainfrom
feat/peering-launch-film

Conversation

@Ferryx349

Copy link
Copy Markdown
Collaborator

Description

This PR :-

Related Issue

Closes :- #942

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Non-functional change (docs, style, minor refactor)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my code changes.
  • I added a changeset, or this is docs-only and I added an empty changeset.
  • All new and existing tests passed.

Add ~40s peering film (hero-animation render pipeline), site #peering block,
and encoded public media for the marketing page.
@changeset-bot

changeset-bot Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 66205e3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
nostream Patch
nostream-website Patch

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

@Ferryx349
Ferryx349 deployed to website-preview October 24, 2026 14:00 — with GitHub Actions Active
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Site preview for this PR was deleted (PR closed).

@cameri
cameri requested a review from chappie-daemon October 24, 2026 14:00
@chappie-daemon

Copy link
Copy Markdown
Collaborator

Copy review of website/hero-animation/docs/peering-film-copy.md at 870e43a6. The structure, the scene beats and the guardrail table are solid, and the terms row in Scene 2 is the strongest copy in the film. Four edits, one of which is a correctness issue against your own guardrails.

1. Scene 1, Card 2 (line 32) says nothing

PEERS FOR · Its scope · peers for its scope uses "scope" twice and never says what a peer is, and "its" has no antecedent on screen — the viewer cannot tell who is peering with whom. This is the one card in the film that should teach the mechanism:

label title body
now PEERS FOR Its scope peers for its scope
proposed PEERING Their relays the ones your people use

PEERS FOR is also not idiomatic English, and PEERING makes all three labels one noun — SCOPE, PEERING, FETCHES — which the layout already implies. Line 36's gloss is circular for the same reason; it should say that the scope is the set of relays your people use.

2. Scene 4, Edge (line 86) has the same defect

Faces users · edges facing users — the body restates the title. Keep the title, make the body carry the fact: EDGE · Faces users · the relay readers connect to.

3. Scene 3, Note B (line 68) inverts its own guardrail

Line 15 states that "the last hour" is an example and the window is operator-configured. On screen the example is the title and the actual claim is the footnote. Swap them: title A rolling window, body the last hour, or whatever you configure. Then the configurability reads as the product and the hour reads as an illustration.

4. Scene 1, Card 1 (line 31) repeats the accent

The accent is already "Not the whole network.", so SCOPE · Your people · not the whole network spends a card body on a repeat. Give it the second fact instead, e.g. the people you follow.

Minor: the kickers mix possessive and bare forms — 01 — YOUR PEOPLE, 02 — YOUR ARCHIVE, 03 — HOT FEED, 04 — THE MIDDLE. Pick one.

I reviewed the copy doc only, not the render.

@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge with four non-blocking follow-ups from earlier reviews.

Findings

  1. P2 Paused film starts again ▶
  2. P2 Mobile film stays outdated ▶
  3. P2 Upcoming feature looks available ▶
  4. P2 Film description is gone ▶

Summary

Adds a 40-second relay peering film and a new home-page section.

  • Maintainers can render a 40-second relay peering film.
  • The home page introduces relay peering with a playable film.

The previous and current commits have different merge bases with the target commit, so this review used the full PR diff.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A["peering-film.ts"] --> B["peering-render.ts"]
  B --> C["output/peering: videos and still frames"]
  C --> D["build-media.mjs"]
  D --> E["public/media: videos and poster"]
  E --> F["Peering.astro"]
  F --> G["FilmFrame → FilmScreen"]
Loading

Reviews (4) · Last reviewed commit: "Merge branch 'main' into feat/peering-la..." · Reviewed by Greptile

Comment on lines +90 to +94
video.addEventListener('play', sync)
video.addEventListener('pause', sync)
button.addEventListener('click', () => {
if (video.paused) void video.play()
else video.pause()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Paused film starts again

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.

Comment on lines +153 to +157
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)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Mobile film stays outdated

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.

Suggested change
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))

Comment on lines +15 to +17
<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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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.
@Ferryx349
Ferryx349 deployed to website-preview October 24, 2026 14:21 — with GitHub Actions Active
greptile-apps[bot]
greptile-apps Bot previously approved these changes Oct 24, 2026
Use a short title plus wrapped subtitle and constrain role-card text width; re-render site media.
@greptile-apps
greptile-apps Bot dismissed their stale review October 24, 2026 14:33

Dismissed because a newer commit was pushed; Greptile will re-review the current head.

@Ferryx349
Ferryx349 deployed to website-preview October 24, 2026 14:33 — with GitHub Actions Active
Drop sr-only blurb that was not styled hidden on the peering section.
Comment on lines +22 to +23
<div class="reveal film-wrap">
<FilmFrame

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Film description is gone

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!

@cameri
cameri merged commit 8ea15fc into main Oct 24, 2026
5 checks passed
@cameri
cameri deleted the feat/peering-launch-film branch October 24, 2026 15:40
@cameri
cameri deployed to website-preview October 24, 2026 15:40 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
website-preview — 66205e31 Deployed Oct 24, 2026 by cameri via preview #120
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants