Remove stalePods checks from dependency manager to fix rebuild issues #684
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.
In #457, we added a concept of stale pods flag, that was used to mark whether pod install command should run as a consequence of node_modules.
Since that time, I got bitten by this setting causing unexpected rebuilds to the point where some projects I'm testing run native build every single time despite no change in fingerprint.
In general I don't like the fact we are adding additional state to facilitate checks that seemingly can be done offline. From my testing, I'm now a bit confused as to what was the purpose of this flag as #457 lacks a proper description and we also don't have any inline comments about this flag and related code. Therefore I'm assuming that the purpose of it was that we trigger pod installation if we had to reinstall node_modules. However, this still seem to not be necessary, as fingerprint seems to deal with this type of scenarios well. Specifically, when we add new native dependencies that get installed in node installation phase, fingerprint will detect that and trigger native rebuild.
On top of that, this mechanism, regardless of whether I guessed the original reason for it, is there to prevent from stale builds being used. However, it still appears like it is much easier for the users to recover from issues that may arise from stale native builds than to recover from persistent rebuilds taking many minutes. In the former scenario, all you need to do is to trigger "clean build" reload. In the latter, there's no way for the user to debug that, and I experienced that myself.
Fixes # (issue)