feat(storyblok-ui): refresh pinned Storyblok cache-version on a TTL#2639
Merged
Conversation
storyblok-js-client pins the space cache-version (cv) per process on the first published request and never refreshes it (cache.clear defaults to 'manual'), so published content stays frozen at the process-start cv until restart. On long-lived servers (multi-pod Kubernetes) published edits never become visible. Add refreshStoryblokCacheVersion(), which re-fetches cdn/spaces/me at most once per the new storyblok.cacheVersionTtl config (seconds, default 60; 0 refreshes on every read) to advance the pinned cv, and call it before published fetchStory/fetchStories/fetchAllStories reads. Skipped for preview/draft and in dev. Exported so on-demand revalidation can force an immediate refresh.
🦋 Changeset detectedLatest commit: 780902c The changes in this PR will be included in the next version bump. This PR includes changesets to release 86 packages
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
@tiptap/suggestion (pulled in transitively via @storyblok/react → @storyblok/richtext) declares @floating-ui/dom as a peerDependency, which Yarn does not auto-install. Nothing provided it, so production builds failed with "Module not found: Can't resolve '@floating-ui/dom'". Declare it directly in the example so it ships with the seed project. Co-Authored-By: Claude Opus 4.8 <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.
storyblok-js-client pins the space cache-version (cv) per process on the first published request and never refreshes it (cache.clear defaults to 'manual'), so published content stays frozen at the process-start cv until restart. On long-lived servers (multi-pod Kubernetes) published edits never become visible.
Add refreshStoryblokCacheVersion(), which re-fetches cdn/spaces/me at most once per the new storyblok.cacheVersionTtl config (seconds, default 60; 0 refreshes on every read) to advance the pinned cv, and call it before published fetchStory/fetchStories/fetchAllStories reads. Skipped for preview/draft and in dev. Exported so on-demand revalidation can force an immediate refresh.