feat(onboarding): Add SCM messaging treatment route - #120992
Draft
jaydgoss wants to merge 1 commit into
Draft
Conversation
jaydgoss
force-pushed
the
feat/vdy-140-treatment-route-state
branch
from
July 31, 2026 22:14
35e346f to
9601f27
Compare
jaydgoss
changed the base branch from
feat/vdy-140-scm-messaging-experiment-flag
to
feat/vdy-140-onboarding-session-semantics
July 31, 2026 22:14
jaydgoss
force-pushed
the
feat/vdy-140-onboarding-session-semantics
branch
from
August 4, 2026 16:59
f09dc21 to
1fd0e34
Compare
jaydgoss
force-pushed
the
feat/vdy-140-treatment-route-state
branch
from
August 4, 2026 16:59
9601f27 to
12140ea
Compare
Contributor
Sentry Snapshot Testing
|
Adds the treatment-only fifth SCM onboarding step between platform/features and SDK setup, preserving the four-step control flow. The messaging destination slot persists in the onboarding session and survives refresh, Back, and repository/platform changes. Revalidation of a restored destination is stacked separately: nothing can write a `selected` destination until VDY-143 adds the picker. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jaydgoss
force-pushed
the
feat/vdy-140-treatment-route-state
branch
from
August 4, 2026 17:12
12140ea to
4a1eaad
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.
TLDR
Adds the treatment-only fifth SCM onboarding step between platform/features and SDK setup, preserving the four-step control flow. The messaging destination slot persists in the onboarding session and survives refresh, Back, and repository/platform changes. Treatment entry creates no project.
Details
Stacked on #121022, which makes onboarding session exits explicit and is the prerequisite for persisting anything that must outlive a platform change; that in turn sat on #120981, which registered the distinct
onboarding-scm-messaging-experimentkey and has merged. The FlagPole config is getsentry/sentry-options-automator#9012, deliberately scoped to a single throwaway developer alias.This layer establishes only the route and the session contract. It has no forward navigation on completion by design: VDY-141 owns shared project and alert-rule creation on final Continue or Set up later, VDY-143 owns inline destination configuration, and VDY-146 owns exposure and interaction analytics. A placeholder
onCompletehere would be deleted by VDY-141 and would strand users on a blanksetup-docs, which renders offrecentCreatedProjectand bails when absent. Because treatment cannot complete yet, the flag must not widen beyond that alias until VDY-141 lands.Revalidation of a restored destination is stacked separately in #121187. Nothing in this PR can write a
selectedorskippeddestination — VDY-143 adds the picker and VDY-141 addsSet up later— so that logic has no reachable consumer yet and is better reviewed on its own.The onboarding host consumes the nested assignment without reporting exposure and selects separate control and treatment step descriptors from entry, sharing the Welcome and repository steps.
ScmPlatformFeatureskeeps the existing control creation boundary but only stages platform and feature choices for treatment before advancing toscm-messaging;deferProjectCreationalso drops the teams/projects store gate, which only the auto-create path needs. Global Skip resets the onboarding session and exits without creating a project.Steppergainedrole="progressbar"witharia-valuemax, making the four- versus five-step split both accessible and assertable.OnboardingContextProviderpersists a typedunconfigured,skipped, or completed messaging destination in the existing session value, as a discriminated union so a partially-filled destination is unrepresentable. Because #121022 made field setters local, SCM repository, platform, refresh, and Back paths all preserve organization-scoped messaging state.Coverage exercises the four- versus five-step split, deferred creation, session remount and Back behavior, and global Skip.
Refs VDY-140