-
-
Couldn't load subscription status.
- Fork 359
Description
Describe the bug
We have been experiencing temporary outages which only occur on prod after starting a new container, or MFE revalidation where loadRemote is unable to fetch a remote MFE, even though the remote is published and no changes since the last deploy. The root cause of the loadRemote failures is a separate topic - this issue deals with the fact that our retry logic is currently unable to mitigate the issue - instead once loadRemote fails, it will continue to fail no matter how many times you call it.
I have created a sample repository to demo the bug here :
https://github.com/nameofname/next-module-federation/tree/master/fix-chunk-retries
IMPORTANT DISCLAIMER: Our setup uses nextjs-mf plugin and we rely on SSR for our MFEs. We're aware that it's deprecated. This is particularly relevant to this bug because the server side MFE imports (loadRemote) will fail until the node process is restarted.
After investigating, I found that the same promise is returned from loadRemote, and after diving into the code identified the handle function in @module-federation/node's runtimePlugin. I am opening a PR to address, however I'm not sure the full implications of the change, and want to discuss if it's appropriate or a different solution would work.
*Note - I also tried out using the retry plugin available from the core package and had the same issue.
Reproduction
https://github.com/nameofname/next-module-federation/tree/master/fix-chunk-retries
Used Package Manager
npm
System Info
System:
OS: macOS 15.3.2
CPU: (10) arm64 Apple M1 Pro
Memory: 263.16 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.12.2 - ~/.local/share/mise/installs/node/20/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 10.5.0 - ~/.local/share/mise/installs/node/20/bin/npm
pnpm: 10.8.0 - /opt/homebrew/bin/pnpm
Browsers:
Chrome: 135.0.7049.43
Safari: 18.3.1Validations
- Read the docs.
- Read the common issues list.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Make sure this is a Module federation issue and not a framework-specific issue.
- The provided reproduction is a minimal reproducible example of the bug.