fix(astro): recover island hydration from transient import failures#16412
fix(astro): recover island hydration from transient import failures#16412ematipico merged 6 commits intowithastro:mainfrom
Conversation
🦋 Changeset detectedLatest commit: 2ae3eec The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Small update now that CI is fully green. This PR fixes #16341 by handling island hydration import failures in
Two follow-up commits were needed during CI hardening:
All checks are now passing. |
|
Hi maintainers — friendly ping on this one whenever you have time. This PR addresses the hydration import failure recovery path discussed in the issue and includes e2e coverage for both retry-success and persistent-failure event behavior. If there’s any part you’d like reworked (implementation or test shape), I can update quickly. |
Trigger a fresh workflow run for PR withastro#16412 after an unrelated flaky Cloudflare development e2e failure on windows. Made-with: Cursor
Retry failed hydration imports with a cache-busting specifier and emit a cancelable astro:hydration-error event so applications can recover without unhandled rejection noise. Made-with: Cursor
Add the new e2e fixture importer to pnpm-lock.yaml so frozen-lockfile CI installs succeed. Made-with: Cursor
Wait for island hydration before clicking in the retry test to avoid timing-dependent failures on slower CI runners. Made-with: Cursor
Trigger a fresh CI run to verify the unrelated lint/typecheck failure is reproducible. Made-with: Cursor
Trigger a fresh workflow run for PR withastro#16412 after an unrelated flaky Cloudflare development e2e failure on windows. Made-with: Cursor
d9da665 to
622ad51
Compare
matthewp
left a comment
There was a problem hiding this comment.
Let's make this just an event, no retries.
| @@ -0,0 +1,5 @@ | |||
| --- | |||
| 'astro': patch | |||
There was a problem hiding this comment.
This is a new feature so should be minor.
Also make the changeset a little more in-depth, show a code example of how you might use this.
matthewp
left a comment
There was a problem hiding this comment.
please make this a minor change
Summary
astro-islandimport retry handling with a hash-based retry specifier so transient hydration module import failures can recoverastro:hydration-errorevent with error context and keep default logging only when the event is not preventedValidation
Fixes #16341.