fix: handle undefined hash in socket message handler #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
Fixed handling of undefined hash values received from rspack during hot module reload.
Why
When rspack sends an undefined hash through WebSocket messages, it causes a TypeError when trying to use indexOf on the undefined value. This happens in the following sequence:
Run the dev-server
Visit the page
Rspack triggers a HMR and for some reason returns an empty hash
The hash is handled and when triggering a
reloadApp
thecurrentHash
isundefined
How
Added propert handling for
undefined
hash values in the hot update handler to prevent the TypeError.Notes
I've used
--no-verify
for the commit as the file contains pre-existing style inconsistencies that are outside the scope of this fix.Screenshots
The messages sent from Rspack via the WebSocket showing a type hash without data
The error thrown and catched with react-refresh of
reloadApp
trying to callcurrentHash.indexOf(/** @type {string} */ previousHash) >= 0