Skip to content

fix(cache): pass graced entry to factory in SWR path#116

Open
niksy wants to merge 1 commit intoJulien-R44:mainfrom
niksy:graced-entry-swr
Open

fix(cache): pass graced entry to factory in SWR path#116
niksy wants to merge 1 commit intoJulien-R44:mainfrom
niksy:graced-entry-swr

Conversation

@niksy
Copy link
Copy Markdown

@niksy niksy commented Apr 19, 2026

In SWR mode, getOrSet could invoke the factory withgracedEntry set to undefined even when a stale value existed. This happened because the SWR background factory run did not receive gracedValue. gracedValue is now forwarded in that path so gracedEntry.value is consistently available.

I went ahead and adjusted tests so previous codebase fails, but new one passes. Previous assertion actually throws with AssertionError: expected undefined to deeply equal 'bar' but it’s not thrown since grace period for that test is set to 2 minutes and the graced value is returned, but that graced value is not available in factory context, only as return value of getOrSet call.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 19, 2026

⚠️ No Changeset found

Latest commit: 2cb2edb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@niksy niksy force-pushed the graced-entry-swr branch from e954284 to 2cb2edb Compare April 19, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant