Repository navigation
Conversation
Content routes no longer set dynamicParams = false, so a story published after a build renders on its first visit and is then cached. Pages that exist at build time are still prerendered, and staging renders drafts. The top-level [slug] route rejects addresses that can't be a page slug, or that belong to a story with its own route, before calling Storyblok. A missing story is a normal 404 and is no longer logged to Rollbar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bloom frontend
|
||||||||||||||||||||||||||||||
| Project |
Bloom frontend
|
| Branch Review |
publish-without-redeploy
|
| Run status |
|
| Run duration | 05m 40s |
| Commit |
|
| Committer | annachayn |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
0
|
|
|
12
|
|
|
0
|
|
|
136
|
Upgrade your plan to view test results. | |
| View all changes introduced in this branch ↗︎ | |
kabir-chayn
self-requested a review
November 4, 2026 14:53
kabir-chayn
approved these changes
Nov 4, 2026
This branch was successfully deployed
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.
What changes did you make and why did you make them?
Every content route set
dynamicParams = false, so a story published after a build returned a 404 until production was redeployed. That covered new resources, courses, sessions, course resources, general pages and policies. The revalidation webhook refreshes existing pages but can't add new ones. Content editors had to ask for a redeploy after every new page, and until then a new resource's library card led to "page not found".dynamicParams = falsefrom the nine Storyblok content routes. Pages that exist at build time are still prerendered (generateStaticParamsis unchanged). Any other slug renders on its first visit and is cached with the route's 4-hourrevalidate. An address with no story still returns a 404 through the existingnotFound()calls.draft, so new general pages and policies can now be checked there before their first publish. Before, those two routes only built published stories.[slug]guard:isInvalidSlugPageRequestnow rejects slugs Storyblok can't produce (/wp-login.php,/favicon.png) before calling the CMS, as well as slugs of stories served by their own route. Without that,/homewould render the home story as a general page now that unbuilt slugs render.docs/courses-sessions-and-resources.mdanddocs/modular-courses-plan.md.Unchanged: the sitemap still lists only published pages, and the library search route keeps
dynamicParams = false, because its locales are fixed.Until the Storyblok revalidation webhook is set up (see
docs/configure-env.md), there's one known edge case. If someone opens a page's address before it's published, that 404 can stay cached for up to 4 hours after publishing.Did you run tests? Share screenshot of results:
yarn test: 35 suites, 313 tests pass, including a newvalidateSlugPageRequest.test.ts. Type-check, lint and Prettier are clean.yarn buildpasses. To reproduce a story published after deploy, I built locally with one existing video (fear) temporarily left out ofgenerateStaticParams, then ranyarn start:/video/fear(not prebuilt)/tr/video/fear/video/what-are-boundaries,/policies/terms-of-service/video/does-not-exist,/courses/not-a-course/home,/wp-login.phpWith the default worker count, the local build hit Storyblok rate limits on draft content. It passed with
experimental.cpus: 1. That's unrelated to this change.PR CHECKLIST:
🤖 Generated with Claude Code