Repository navigation
Fix breeze start-airflow breaking on outdated provider UI installs - #75607
Draft
Andrushika wants to merge 1 commit into
Draft
Andrushika wants to merge 1 commit into
Andrushika wants to merge 1 commit into
Conversation
When a provider UI's node_modules was installed with a different pnpm store or layout, pnpm must purge and reinstall it, and it asks for confirmation first. compile_provider_assets.py runs pnpm install with captured output, so nobody can answer: with stdin closed pnpm exits 0 without installing anything, and with stdin left open it waits forever. The build then fails on any dependency added since the last install, for example react-icons for common.ai after apache#74334. The other prek hooks that install UI dependencies on the host already skip this confirmation.
Andrushika
requested review from
amoghrajesh,
ashb,
bugraoz93,
gopidesupavan,
jason810496,
jscheffl and
potiuk
as code owners
October 25, 2026 10:59
Contributor
Author
|
Turn it into draft temporarily bc PR limit, giving slots to recent |
Andrushika
marked this pull request as draft
October 27, 2026 12:39
Andrushika
marked this pull request as ready for review
October 28, 2026 00:44
Andrushika
marked this pull request as draft
November 2, 2026 07:05
This branch has not been deployed
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.
Background
Before each
breeze start-airflow,compile_provider_assets.pyrunspnpm install --frozen-lockfilein each provider's plugin UI directory, for exampleproviders/common/ai/.../plugins/www. Then it builds the UI.pnpm records the store location that was used to install
node_modules. If the current store location is different, pnpm must removenode_modulesand install again. It asks for confirmation before it removes anything.Before #73538, our lint hooks wrote
store-dir=.pnpm-storeinto the global pnpm config. An oldernode_moduleson a dev machine can still use that per-directory store. I removed that line from my config, so my next install used a different store.Why
The script captures the pnpm output, so nobody sees the question. If stdin is closed, pnpm exits 0 and installs nothing. If stdin is open, pnpm waits forever.
The build then fails on each dependency that was added after the old install. For common.ai, #74334 added
react-icons, and the build fails withRolldown failed to resolve import "react-icons/lu".What
Pass
--config.confirmModulesPurge=falsetopnpm install. pnpm then removesnode_modulesand installs again without a question. The other prek hooks that install UI dependencies on the host already pass this flag:compile_ui_assets.py,compile_ui_assets_dev.pyand thets_compile_lint_*.pyhooks.I reproduced the problem with real pnpm. I used a
node_modulesfrom before #74334, installed with a different store. On main the build fails with the error above. On this branch it builds.How to reproduce
You may not see this problem on your machine. If
pnpm config get store-dirprints.pnpm-store, every install uses the same store. Then pnpm never asks. These commands create the old install with a different store and do not change your config:Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 5.5) following the guidelines