Comments (4)
One week later, it seems both reproducers are successfully revalidated:
- CodeSandbox reproducer (Canary) timestamp: 1721659019626
- Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017469
Interestingly, when I visited them after the first 24 hours had passed, they did not revalidate no matter how many times I refreshed the page. Will check them again 24 hours later.
Meanwhile, my other production deployment running Next 13.5.4 also seems to start revalidating randomly after 24 hours -- with an unpredictable interval that is definitely longer than 24 hours.
from next.js.
One week later, it seems both reproducers are successfully revalidated:
- CodeSandbox reproducer (Canary) timestamp: 1721659019626
- Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017469
Interestingly, when I visited them after the first 24 hours had passed, they did not revalidate no matter how many times I refreshed the page. Will check them again 24 hours later.
Meanwhile, my other production deployment running Next 13.5.4 also seems to start revalidating randomly after 24 hours -- with an unpredictable interval that is definitely longer than 24 hours.
24+ hours have passed, and:
- CodeSandbox reproducer (Canary) timestamp: 1721764284118 (
(1721764284118 - 1721659019626) / 3600000 = 29.2401366667
, it revalidates correctly) - Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017450 (
(1721659017450 - 1721659017469) / 360000 = -0.0000527778
, revalidates but stale data persisted and rendered)
For the CodeSandbox reproducer, I noticed that CodeSandbox seems to keep the server (npm run start
) running because I can still see the logs from last few times. I stopped the npm run start
command and restarted it just now to mimic a cold start.
For the Vercel production deployment reproducer, I took two snapshots:
- 24+ hours earlier: https://web.archive.org/web/20240722145504/https://next-15-cache.vercel.app/cached/24h
- Just now: https://web.archive.org/web/20240723194919/https://next-15-cache.vercel.app/cached/24h
For the second snapshot, I took it after refreshing the page quite a few times to make sure the revalidated data persisted and propagated across the network.
from next.js.
One week later, it seems both reproducers are successfully revalidated:
- CodeSandbox reproducer (Canary) timestamp: 1721659019626
- Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017469
Interestingly, when I visited them after the first 24 hours had passed, they did not revalidate no matter how many times I refreshed the page. Will check them again 24 hours later.
Meanwhile, my other production deployment running Next 13.5.4 also seems to start revalidating randomly after 24 hours -- with an unpredictable interval that is definitely longer than 24 hours.24+ hours have passed, and:
- CodeSandbox reproducer (Canary) timestamp: 1721764284118 (
(1721764284118 - 1721659019626) / 3600000 = 29.2401366667
, it revalidates correctly)- Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017450 (
(1721659017450 - 1721659017469) / 360000 = -0.0000527778
, revalidates but stale data persisted and rendered)For the CodeSandbox reproducer, I noticed that CodeSandbox seems to keep the server (
npm run start
) running because I can still see the logs from last few times. I stopped thenpm run start
command and restarted it just now to mimic a cold start.For the Vercel production deployment reproducer, I took two snapshots:
- 24+ hours earlier: https://web.archive.org/web/20240722145504/https://next-15-cache.vercel.app/cached/24h
- Just now: https://web.archive.org/web/20240723194919/https://next-15-cache.vercel.app/cached/24h
For the second snapshot, I took it after refreshing the page quite a few times to make sure the revalidated data persisted and propagated across the network.
Interestingly, I believe the timestamp 1721659017450
came from the double rendering 24+ hours ago when I visited https://next-15-cache.vercel.app/cached/24h. The double rendering issue happened just now as well as I checked the log:
Getting user { revalidate: 86400, user: 'Foo', ts: 1721764088848 }
Getting user { revalidate: 86400, user: 'Foo', ts: 1721764088751 }
Funny enough, none of 1721764088848 and 1721764088751 was returned or cached.
IMO this is 100% a fatal bug which might affect a great number of production websites negatively. Somehow, I cannot find any other similar report. Maybe this bug is ignored by the majority as it does not happen 100% of the time, and when it happens, it might be hard to spotted.
from next.js.
Visited both reproducers again:
- CodeSandbox reproducer (Canary) timestamp (after restarting the
npm run start
command to emulate a cold start): 1721764284118 (stale data; screenshot below) - Vercel production deployment reproducer (Next 15 RC) timestamp: 1721659017450 (stale data)
from next.js.
Related Issues (20)
- meta tag in Head from next/head is not working in app router next js HOT 1
- `robots.txt` generation from `robots.ts` fails with `output: "export"` config in Next 15 RC & Canary.108
- Mermaid renders as code HOT 1
- unstable_cache gets called multiple times if it is being called in another function wrapped in unstable_cache HOT 1
- unstable_cache gets called multiple times if it is being called in another function wrapped in unstable_cache
- sendGTMEvent doesn't work before GoogleTagMananger is initialised HOT 1
- Production Build failing when localFont function used with error 'An error occurred in `next/font`.' HOT 1
- HMR doesn't work in server component with <Link> or/and <Image> when css.module is imported. HOT 11
- Modal stays there even when navigating away HOT 2
- Docker standalone build is not working when adding layout to /app path HOT 3
- Next.js project in an npm workspace has broken standalone build
- devIndicators `buildActivityPosition` option doesn't work HOT 3
- Rewrites are in conflict with i18n HOT 3
- Build fails when calling `after` in server action HOT 2
- Instrumentation files not included in standalone output HOT 2
- NextJS /app router waits for server response before showing 'loading.tsx' HOT 3
- Scroll restoration does not work with pages router. HOT 5
- Incorrect typing of `ProcessEnv` HOT 1
- eslint-plugin-next → fast-glob only matching files HOT 8
- Strange multi-zone pattern(奇怪的多区域模式) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from next.js.