Skip to content

Commit fb4c569

Browse files
chore: release nostream-website@1.3.0
1 parent eb68475 commit fb4c569

6 files changed

Lines changed: 66 additions & 72 deletions

File tree

‎.changeset/admin-console-film.md‎

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎.changeset/nostream-dev-domain.md‎

Lines changed: 0 additions & 26 deletions
This file was deleted.

‎.changeset/quiet-previews-deploy.md‎

Lines changed: 0 additions & 24 deletions
This file was deleted.

‎.changeset/social-preview-card.md‎

Lines changed: 0 additions & 16 deletions
This file was deleted.

‎website/site/CHANGELOG.md‎

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,70 @@
11
# nostream-website
22

3+
## 1.3.0
4+
5+
### Minor Changes
6+
7+
- [#884](https://github.com/cameri/nostream/pull/884) [`e654852`](https://github.com/cameri/nostream/commit/e65485297bf4d9a20ccf8f78a4aae638a22655e1) Thanks [@chappie-daemon](https://github.com/chappie-daemon)! - Add a social preview card generated from source.
8+
9+
`website/site/scripts/build-social-card.mjs` renders one composition at two sizes:
10+
`public/media/social-card.png` (1200×630, the site's `og:image`) and
11+
`public/media/github-social-preview.png` (1280×640, the GitHub repository preview).
12+
`Base.astro` now emits the full preview set — `og:image:width`, `og:image:height`,
13+
`og:image:alt`, `twitter:image`, `twitter:title`, `twitter:description`,
14+
`og:site_name`, `og:locale` — and takes an `ogImage` prop that defaults to the card;
15+
`hero-poster.webp` stays the film's poster.
16+
17+
The GitHub preview is uploaded by hand: **Settings → Social preview** in the
18+
repository, which no workflow can set.
19+
20+
### Patch Changes
21+
22+
- [#882](https://github.com/cameri/nostream/pull/882) [`9146fd3`](https://github.com/cameri/nostream/commit/9146fd311cf88fe36818eae3d29c809c99c634fb) Thanks [@Ferryx349](https://github.com/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 ship `admin.mp4` in site media.
23+
24+
- [#889](https://github.com/cameri/nostream/pull/889) [`eb68475`](https://github.com/cameri/nostream/commit/eb68475eb324f319f23f64670d331faa3f684c83) Thanks [@chappie-daemon](https://github.com/chappie-daemon)! - The site now lives at **https://nostream.dev**, and every other host redirects to it over https.
25+
26+
The router worker answers on `nostream.dev` and `www.nostream.dev` as well as the preview
27+
domain, and `CANONICAL_HOST` decides which one serves content: any other host the routes
28+
catch — `www`, or `ema.tnsor.network` for a non-preview path — gets a `301` to the canonical
29+
host, and `http` gets a `301` to the same URL over `https`. One origin serving means one
30+
canonical URL, so `www` and the apex cannot split search ranking by both answering `200`.
31+
32+
Previews deliberately stay on `ema.tnsor.network/preview/<n>/`: that is why the domain
33+
remains bound. A preview build must never sit on the production domain, and a preview's own
34+
`SITE_URL` stays the preview origin so its absolute links and canonical tags cannot claim
35+
`nostream.dev`.
36+
37+
The domain is an input now, not a constant: `SITE_URL` for the build, `CANONICAL_HOST` for
38+
the worker, both set in `deploy-website.yml`. Moving again is two lines rather than a search
39+
through the source, the social card and the README.
40+
41+
**Cloudflare-side setup this needs before it takes effect**: the `nostream.dev` zone must
42+
exist, and both `nostream.dev` and `www.nostream.dev` resolve through the worker's
43+
declared custom domains on the next deploy. Turning on the zone's _Always Use HTTPS_
44+
setting makes the upgrade happen at the edge, before the worker; the worker's own `301`
45+
covers the case where that setting is off.
46+
47+
- [#888](https://github.com/cameri/nostream/pull/888) [`07dc215`](https://github.com/cameri/nostream/commit/07dc2153d1d18e1641c8f0a079c542ab8187bcdc) Thanks [@chappie-daemon](https://github.com/chappie-daemon)! - A pull request's site preview now deploys even when the comment cannot be
48+
written, and the CDN cache is purged after a deploy so a fresh preview is not
49+
served the previous build.
50+
51+
**A comment can no longer prevent a deploy.** The preview workflow's comment
52+
steps ran before the deploy, so a pull request opened from a fork — whose
53+
`GITHUB_TOKEN` is read-only whatever the `permissions:` block grants — failed at
54+
`GraphQL: Resource not accessible by integration (addComment)` and skipped the
55+
deploy entirely ([run 39134047965](https://github.com/cameri/nostream/actions/runs/39134047965)).
56+
The deploy now runs first, every comment step is `continue-on-error`, and the
57+
job grants `issues: write` (PR conversation comments are issue comments;
58+
`pull-requests: write` alone does not cover them).
59+
60+
**The cache is purged after deploying**, scoped to `https://ema.tnsor.network/preview/<n>/`
61+
via the `prefixes` purge, so a stale window cannot be served — on 2026-10-18
62+
`/preview/885/` returned production HTML for about three minutes after the
63+
build landed. The production workflow purges the whole zone after its router
64+
deploy. Both purges skip with a notice when `CLOUDFLARE_ZONE_ID` is not set for
65+
their environment, so an unconfigured environment deploys normally instead of
66+
failing.
67+
368
## 1.2.5
469

570
### Patch Changes

‎website/site/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nostream-website",
3-
"version": "1.2.5",
3+
"version": "1.3.0",
44
"private": true,
55
"type": "module",
66
"description": "nostream.dev landing page and docs, built with Astro",

0 commit comments

Comments
 (0)