Minor Changes
-
#884
e654852Thanks @chappie-daemon! - Add a social preview card generated from source.website/site/scripts/build-social-card.mjsrenders one composition at two sizes:
public/media/social-card.png(1200×630, the site'sog:image) and
public/media/github-social-preview.png(1280×640, the GitHub repository preview).
Base.astronow emits the full preview set —og:image:width,og:image:height,
og:image:alt,twitter:image,twitter:title,twitter:description,
og:site_name,og:locale— and takes anogImageprop that defaults to the card;
hero-poster.webpstays the film's poster.The GitHub preview is uploaded by hand: Settings → Social preview in the
repository, which no workflow can set.
Patch Changes
-
#882
9146fd3Thanks @Ferryx349! - Replace the home page admin screenshot gallery with an operator console film (explain beats on the hero backdrop, full-frame UI shots) and a pause control; add Framefields sources and shipadmin.mp4in site media. -
#889
eb68475Thanks @chappie-daemon! - The site now lives at https://nostream.dev, and every other host redirects to it over https.The router worker answers on
nostream.devandwww.nostream.devas well as the preview
domain, andCANONICAL_HOSTdecides which one serves content: any other host the routes
catch —www, orema.tnsor.networkfor a non-preview path — gets a301to the canonical
host, andhttpgets a301to the same URL overhttps. One origin serving means one
canonical URL, sowwwand the apex cannot split search ranking by both answering200.Previews deliberately stay on
ema.tnsor.network/preview/<n>/: that is why the domain
remains bound. A preview build must never sit on the production domain, and a preview's own
SITE_URLstays the preview origin so its absolute links and canonical tags cannot claim
nostream.dev.The domain is an input now, not a constant:
SITE_URLfor the build,CANONICAL_HOSTfor
the worker, both set indeploy-website.yml. Moving again is two lines rather than a search
through the source, the social card and the README.Cloudflare-side setup this needs before it takes effect: the
nostream.devzone must
exist, and bothnostream.devandwww.nostream.devresolve through the worker's
declared custom domains on the next deploy. Turning on the zone's Always Use HTTPS
setting makes the upgrade happen at the edge, before the worker; the worker's own301
covers the case where that setting is off. -
#888
07dc215Thanks @chappie-daemon! - A pull request's site preview now deploys even when the comment cannot be
written, and the CDN cache is purged after a deploy so a fresh preview is not
served the previous build.A comment can no longer prevent a deploy. The preview workflow's comment
steps ran before the deploy, so a pull request opened from a fork — whose
GITHUB_TOKENis read-only whatever thepermissions:block grants — failed at
GraphQL: Resource not accessible by integration (addComment)and skipped the
deploy entirely (run 39134047965).
The deploy now runs first, every comment step iscontinue-on-error, and the
job grantsissues: write(PR conversation comments are issue comments;
pull-requests: writealone does not cover them).The cache is purged after deploying, scoped to
https://ema.tnsor.network/preview/<n>/
via theprefixespurge, so a stale window cannot be served — on 2026-10-18
/preview/885/returned production HTML for about three minutes after the
build landed. The production workflow purges the whole zone after its router
deploy. Both purges skip with a notice whenCLOUDFLARE_ZONE_IDis not set for
their environment, so an unconfigured environment deploys normally instead of
failing. -
#885
f88a563Thanks @Priyanshubhartistm! - Add maintainer bio and social links on the community page for Priyanshu Bharti.