You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
The in-host dependency scan no longer starves the plugin host on large apps. Rolldown's crawl floods its resolve callbacks up front, every import's plugin resolveId chain ran as one unbroken stretch of JS on the shared isolate, and queued hooks and their replies got no turn until the watchdog declared the host gone, after which every SSR route answered 500 until restart. Scan resolution units (the resolveId chain per import, the glob expansion in the scan transform) now run through a fair work queue: one at a time in arrival order, and once a few milliseconds of work are spent the queue parks on a timer so the engine schedules waiting hooks first, the per-iteration fairness Vite's scan gets from Node's event loop for free.
An editor's HMR-gate flush that lands while a TanStack Start rebuild is still running no longer strands the page on the previous bundle. The gate now holds at the watcher event instead of at rebuild end, a flush covers every write made before it (a later-delivered watcher event for a pre-flush write is already released, whichever watcher delivers it), and the rebuild reloads on completion when its hold was consumed mid-flight; before, that reload waited out the 4-minute hold cap for a flush that had already happened.
Editing a file reached through a symlink (a linked workspace package, a symlinked app directory) now invalidates the runner-backed environments (a Cloudflare worker, an SSR runner) instead of leaving them serving the old module until a restart. Vite keys a module's file by its canonical path (its resolver realpaths every file unless resolve.preserveSymlinks is set) while the watcher reports the spelling it watched; the invalidation now retries the real path when the watched spelling matches no module.