PR 404 follow-ups: generated publication cover + review-app env vars#405
Merged
byte-the-bot merged 2 commits intoJun 5, 2026
Merged
Conversation
- standard_site init now fetches the publication's branded OG card as a
PNG through imgproxy (`/og/publication/{key}.svg` → imgproxy 1200×630
PNG → upload as blob) instead of reading a static `opengraph.png`
from disk. New `/og/publication/{key}` SVG route on the server owns
the rendering; the CLI just wraps it in the same imgproxy URL format
used by per-post cards. `publications.toml` loses the `cover_image`
field; `PublicationConfig` no longer exposes it.
- Sequencing: the bluesky workflow `workflow_run`-chains off Fly
Deploy, so on merge the new SVG route is live before init runs.
- Bump review-app memory 512MB → 2048MB and add the env vars currently
missing from review-app secrets (boot-time required by
`AppState::from_env`): `ANTHROPIC_API_KEY`, `LINEAR_CLIENT_ID`,
`LINEAR_CLIENT_SECRET`, `LINEAR_WEBHOOK_SECRET`. Without these the
app crashes during `*Config::from_env()` before serving any request.
- Wire `IMGPROXY_URL` secret into the bluesky workflow init step so
init can rasterize the SVG card.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Boot crashes were the env-var gap (LINEAR_*, ANTHROPIC_API_KEY), not OOM. Keep memory at 512MB; revisit only if we see actual OOM signal. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.
Stacked on top of #404 (
implement/BLOG-b31d0c4d3b164931). Three independent fixes flagged after reading PR 404:1. Use the generated OG card for the publication cover
PR 404 currently uploads a static
static/opengraph.pngas the cover blob on thesite.standard.publicationrecord. This swaps that out for the same branded OG card system you already added in #399/#400/#401./og/publication/{key}— renders the publication's branded card using existingrender_card_svginfra (new `render_publication_card_svg` helper, same template, no date).publications.tomlat compile time (mirrors the pattern inblog/mod.rs). Card tag is keyed offpublication.key(`blog` → `POSTS`, with podcast/notes/newsletter mappings ready for future publications).Sequencing note
The bluesky workflow `workflow_run`-chains off Fly Deploy, so on merge the new SVG route is live BEFORE init runs. Inline comment in `bluesky.yml` spells this out. `IMGPROXY_URL` is now passed to the init step.
2. Cross-check review-app boot env vars
`AppState::from_env` requires these at boot, but the review-app secrets line didn't pass them — so review apps would crash inside `*Config::from_env()` before serving any request:
All four added as `"FAKE"` to match the existing pattern.
3. (Reverted) Review-app memory bump
Originally bumped memory `512 → 2048`. Reverted after realizing the boot crashes were the env-var gap, not OOM. Keep at 512MB; revisit only if we see actual OOM signal.
Tests
🤖 Generated with Claude Code