Repository navigation
feat(server): publish rebuilt SSR application resources - #8862
Merged
Merged
Conversation
3 of 6 tasks
Contributor
Rsdoctor Bundle Diff Analysis
📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 bundle-diffPath:
📦 Download Diff Report: bundle-diff Bundle Diff Generated by Rsdoctor GitHub Action |
Draft
5 of 6 tasks
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.
Summary
Add opt-in
createProdServer({ ssrApplication })integration for same-process SSR application publication. Admission now precedes direct/plugin middleware and resource selection. Updates drain requests and producer work, run the owned invalidator/disposer, reload declared CommonJS render/loader roots, validate fresh resources and publish a new renderer and HTML-cache namespace. Failed preparation cleans candidate adapters and keeps SSR unavailable until an explicit retry; the HTTP server and logical MF control plane remain.Also propagate work into standalone data loaders and settle their deferred response subscriptions on cancellation, abort and serialization failure. Static/liveness bypass is an explicit direct-response hook; unconfigured routes remain behind the application-wide gate. Native ESM application roots are rejected. RSC is excluded.
The real production test found a shared-factory identity bug in both MF cleanup layers. Use with companion module-federation/core #5053. With that repair, compiled dynamic remotes v1/v2/v3 pass on one PID/port with queued requests using new handlers, strict host/provider shared identity, adapter detachment, preserved business globals and failed-warmup recovery. The test compiles before serving; updates do not rerun serve or compile the host.
Validation: server-core 46/46; data-loader 10 passed plus one pre-existing skipped test; three affected package builds/declarations; native HTTP artifact tests 3/3; production MF artifact 1/1; prior strict local Rspack/Modern baseline 13/13; Biome, Changesets and commit hooks pass. The companion MF suites pass 138/138 and 122/122. Its full Prettier gate reports 683 existing/generated or unrelated dirty files; touched files pass. Full framework/builder/browser-hydration, Cypress and load/heap endurance are not claimed complete and remain RFC R6. Exact commands and limitations:
packages/server/core/SSR_REQUEST_COORDINATION.md.This is R3's application rebuild path. R4 selective planning and R5 final MF update API/migration are still pending; no release is performed.
Related Links
feat/mf-ssr-clear-cacheat3d6b2f910d.Checklist
pnpm run change.