fix(rsc): handle transform errors before server hmr#626
Merged
hi-ogawa merged 12 commits intoJul 26, 2025
Conversation
commit: |
hi-ogawa
added a commit
to hi-ogawa/waku
that referenced
this pull request
Jul 26, 2025
Add e2e tests for syntax error scenarios: - Client HMR syntax error with error overlay - Server HMR syntax error with error overlay - Initial SSR with server component syntax error - Initial SSR with client component syntax error Tests validate the fix for handling syntax errors before server HMR and proper error overlay behavior during development. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Remove manual timeouts in favor of Playwright defaults - Move defineSyntaxErrorTests function to outer scope for reusability - Replace manual waitForTimeout with expect().toPass() pattern - Add client counter component for testing state preservation - Simplify server syntax error test (3/4 tests now passing) Tests validate syntax error handling during: - Client HMR with error overlay - Server HMR with error overlay - Initial SSR with server/client component errors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Improve error recovery detection with proper error page check - Increase timeout for server HMR error overlay dismissal - Re-add client state preservation test for server syntax error - Add more lenient retry logic for SSR recovery This addresses the intermittent test failures and ensures proper validation of server HMR behavior without full page reloads. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add client state preservation validation to client syntax error test - Remove TODO comment from server test (now working with recent fix) - Both HMR tests now verify client state is preserved during error recovery - Validates that fix prevents full page reloads during syntax error handling Tests now comprehensively verify that syntax error recovery works without losing client state, confirming the HMR improvements work correctly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Merged line-by-line comments into more concise, purpose-driven sections to improve readability and reduce verbosity. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
summary
rsc:updatewhen syntax errors by callingtransformRequestduringhotUpdate.hotUpdateproperly triggers server hmr (without full reload).transformRequesterror to client to trigger error overlay.todo
@vitejs/plugin-rscwakujs/waku#1493