ref(onboarding): Replace useEffect with derived state in ScmConnect#111359
Merged
ref(onboarding): Replace useEffect with derived state in ScmConnect#111359
Conversation
evanpurkhiser
approved these changes
Mar 23, 2026
76e09db to
057147d
Compare
057147d to
6c43ffe
Compare
Derive effectiveIntegration from selectedIntegration ?? activeIntegrationExisting instead of syncing to context via useEffect. Pass integrationId as a prop to ScmRepoSelector so it no longer reads selectedIntegration from context directly. Persist the derived integration to context in the Continue handler when the user accepts the default.
6c43ffe to
94a2cac
Compare
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.
Replace the useEffect that synced
activeIntegrationExistingto onboarding context with a derivedeffectiveIntegrationvalue. This eliminates a state-sync effect and makes the component's data flow more predictable.To support this,
ScmRepoSelectoranduseScmRepoSelectionnow receive the integration as a prop instead of readingselectedIntegrationfrom context directly. The derived integration is persisted to context in the Continue handler when the user accepts the auto-detected default.