Skip to content

Remove the pre-launch Pro gating - #1972

Open
jagerman wants to merge 1 commit into
session-foundation:devfrom
jagerman:remove-pro-gating
Open

Remove the pre-launch Pro gating#1972
jagerman wants to merge 1 commit into
session-foundation:devfrom
jagerman:remove-pro-gating

Conversation

@jagerman

@jagerman jagerman commented Aug 4, 2026

Copy link
Copy Markdown
Member

The next release off the dev branch will be Pro-enabled (if we need another intermediate release we'll branch off stable): this removes all the Pro gating code so that dev builds are now always Pro enabled.

Session Pro is launching, so the proAvailable feature flag is permanently on.
Rather than leave a dead always-true flag wrapping every call site, remove it
entirely: delete the flag (from defaultFeatureFlags and the flag type union)
and collapse every getFeatureFlag('proAvailable') / getIsProAvailableMemo()
consumer to unconditional Pro-available behaviour, dropping the dead pre-launch
branches and now-unused imports. Dev-only flags (useTestProBackend,
proGroupsAvailable, mock*) and the debug menu itself stay gated.
};
}, [proExpiredCTASetting]);

if (!proAvailable && !isDebugMode()) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have kept this !isDebugMode() early return here, but I guess Claude removed it because it's already dealt with in higher component?

window.inboxStore?.dispatch(sectionActions.resetRightOverlayMode());

if (window.inboxStore) {
if (getFeatureFlag('proAvailable')) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be worth asking claude to clean up the doc too, at least in architecture.md there is a ref to proAvailable

Comment on lines -478 to -482
const isProAvailable = getIsProAvailableMemo();
const isProCTA = useIsProCTAVariant(variant);
if (isProCTA && !isProAvailable) {
return () => null;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to keep that early return with

if (isProCTA) {
    return () => null;
  }

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I'm not understanding, but wouldn't that just always hide the Pro CTA?

@jagerman jagerman Aug 7, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this logic was wrong before, and this should have been: if (!isProCTA || !isProAvailable) { return () => null; }, and so now should be drop+fix changed to: if (!isProCTA) { return () => null; }

Comment on lines -492 to -494
if (isProCTAVariant(variant) && !isProAvailable) {
return;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And likewise here: should this have been if (!isProCTAVariant(variant) || !isProAvailable), so so now should drop + fix to:

    if (isProCTAVariant(variant)) {
      showSessionCTA(variant, dispatch);
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants