router icon indicating copy to clipboard operation
router copied to clipboard

defaultPendingMinMs blocks the page on load

Open TkDodo opened this issue 1 year ago • 2 comments

Describe the bug

when hard-loading a page for the first time, it will show the loader (or an empty page) for the pendingMinMs time even if the route has no loader at all or the loader resolves before pendingMs has expired (default 1 second).

This is not the case when navigating to a route

Your Example Website or App

https://stackblitz.com/edit/tanstack-router-hzdror?file=src%2Fmain.tsx&preset=node

Steps to Reproduce the Bug or Issue

  • reload the sandbox on the Home tab (this route has no loader)
  • you should see an empty page for 5 seconds.
    • if you comment in the defaultPendingComponent, you should see loading... for 5 seconds.
  • now go to the about tab (which has a 500ms loader, so shorter than the default 1s pendingMs) and reload it.
    • you should, again see the loading... (or an empty screen) for 5 seconds
  • now navigate to Home via the link
    • home loads instantly, as expected, because it has no loader.

Expected behavior

I'd expect pendingMinMs to not influence the hard reload times, just like it doesn't block navigations either.

Screenshots or Videos

No response

Platform

any

Additional context

This behaviour is observable even with the default settings, but because defaultPendingMinMs is "just" 500ms, it's harder to spot.

TkDodo avatar May 21 '24 09:05 TkDodo

Yes I have the same issue.

acoBOYZ avatar May 23 '24 12:05 acoBOYZ

In addition I can see that pendingMs is ignoring. Loading... will be displayed in 1s (default value) even if value was changed to smth big, i.e. 10_000.

By default, TanStack Router will show a pending component for loaders that take longer than 1 second to resolve. This is an optimistic threshold that can be configured via: pendingMs

I would expect not to see Loading... for 10s if loader not resolved.

shevdrakon avatar May 24 '24 21:05 shevdrakon

This is an interesting one. I haven't dug in, but I just discovered this today also.

ericchernuka avatar Jul 06 '24 16:07 ericchernuka

this will be fixed by #1907

reproducer with pre-release package: https://stackblitz.com/edit/tanstack-router-um44ng?file=src%2Fmain.tsx&preset=node

schiller-manuel avatar Jul 16 '24 17:07 schiller-manuel