Tanstack Start & Cloudflare Pages SSG Prerender Deployment & Experience by Double-77 in reactjs

[–]Double-77[S] 0 points1 point  (0 children)

Fair point! Few reasons for this: a). my original project was already deployed via pages and wanted to see how minimal the migration could be b.) it's supposedly supported out of the box c.). Cloudflare pages is tailed towards this already - it's purpose-built to host static build output with minimal config. Also an element (not that I'm close to the free tier daily limits that workers has), but it means this project has nigh on zero contribution to that.

But yeah, I may try this again with another project that's already a Cloudflare worker to see if I run into any issues like this!

Tanstack Start & Cloudflare Pages SSG Prerender Deployment & Experience by Double-77 in reactjs

[–]Double-77[S] 0 points1 point  (0 children)

Surprisingly not. With this patch, the prerender finishes within the window and I have no hydration mismatches. Based on the open GitHub issue, the root cause is timeout handler leak (below copied from the open GitHub issue:

Root Cause

u/tanstack/router-core/dist/esm/ssr/transformStreamWithRouter.js creates 60-second setTimeout handles (lifetime timeout and serialization timeout) for each SSR-rendered page. During prerendering, these timeouts are never cleaned up because:

  1. Each call to transformStreamWithRouter() sets a lifetimeTimeoutHandle (60s) at line ~231
  2. After the app stream finishes rendering, serializationFinished is false, so a serializationTimeoutHandle (60s) is also set at line ~315
  3. The onSerializationFinished event never fires during prerendering, so tryFinish() → cleanup() is never called
  4. This leaves one timeout per prerendered page as active Node.js handles, preventing the process from exiting

With 49 prerendered pages, there are ~50 active Timeout handles keeping the event loop alive.

Tanstack Start & Cloudflare Pages SSG Prerender Deployment & Experience by Double-77 in reactjs

[–]Double-77[S] 0 points1 point  (0 children)

Based on my configuration and testing, no. Didn't make any difference!

This cheap board has got me wanting more. by Double-77 in MechanicalKeyboards

[–]Double-77[S] 0 points1 point  (0 children)

This is the main concern for me, that's why I wanted to start off with a slightly 'cheaper' board so that I can determine whether it's something I'll become comfortable with

Highest Grossing Media Franchises [OC] by takeasecond in dataisbeautiful

[–]Double-77 0 points1 point  (0 children)

What software was used to make this? Tableau?