defaultPendingMinMs blocks the page on load
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
Hometab (this route has no loader) - you should see an empty page for 5 seconds.
- if you comment in the
defaultPendingComponent, you should seeloading...for 5 seconds.
- if you comment in the
- now go to the
abouttab (which has a 500ms loader, so shorter than the default 1spendingMs) and reload it.- you should, again see the
loading...(or an empty screen) for 5 seconds
- you should, again see the
- now navigate to
Homevia 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.
Yes I have the same issue.
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.
This is an interesting one. I haven't dug in, but I just discovered this today also.
this will be fixed by #1907
reproducer with pre-release package: https://stackblitz.com/edit/tanstack-router-um44ng?file=src%2Fmain.tsx&preset=node