pierrejeambrun opened a new pull request, #71943:
URL: https://github.com/apache/airflow/pull/71943

   A React plugin bundle exports its component by assigning to the shared 
`globalThis.AirflowPlugin` as a side effect of being imported. When a bundle is 
malformed or empty and never makes that assignment, the loader read whatever 
value a *previously-loaded* plugin had left on `globalThis.AirflowPlugin` — so 
one plugin silently rendered another plugin's component instead of failing. The 
`typeof !== "function"` guard didn't catch it because the stale value is a 
valid function.
   
   This clears the shared global before each import, so a bundle that assigns 
nothing surfaces a clear error (and the error page) rather than inheriting a 
stale component. The resolved component is also cached under its plugin name 
only after validation, so a failed load never leaves a bad value behind.
   
   closes: #56169
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.8)
   
   Generated-by: Claude Code (Opus 4.8) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to