Skip to content

fix: restore isDevFeaturesEnabled guards removed by #9072#9102

Merged
wangsijie merged 4 commits into
masterfrom
sijie-restore-dev-feature-guards-e8ce
Jun 25, 2026
Merged

fix: restore isDevFeaturesEnabled guards removed by #9072#9102
wangsijie merged 4 commits into
masterfrom
sijie-restore-dev-feature-guards-e8ce

Conversation

@wangsijie

Copy link
Copy Markdown
Contributor

Summary

PR #9072 intended to remove the Console Profile page and redirect profile entry points to Account Center, but it also removed isDevFeaturesEnabled guards across ~60 files in console, core, experience, account, and integration-tests. This prematurely exposed many unreleased features.

This PR restores all isDevFeaturesEnabled guards from before #9072, while keeping only the console profile page changes:

  • /profile routes always redirect to Account Center (no guard)
  • Topbar profile menu always opens Account Center (no guard)
  • Console Profile page and related components remain deleted

Restored guards include (non-exhaustive):

  • Delete Account route
  • OSS onboarding route and guard
  • Dev status UI badge and spacing
  • Webhook Message.RateLimited event
  • Connector dev-feature form fields
  • JWT customizer error handling and organization context
  • Organization invitation one-time token auth
  • Core API dev-feature routes and OpenAPI filtering
  • Integration test devFeatureTest / devFeatureDisabledTest helpers

Testing

Unit tests

Open in Web Open in Cursor 

PR #9072 accidentally removed all isDevFeaturesEnabled feature guards
across the codebase while removing the Console Profile page. Restore
the guards everywhere except for the console profile page changes:

- Profile routes always redirect to Account Center (no guard)
- Topbar profile menu always opens Account Center (no guard)
- DeleteAccount, onboarding, dev status UI, and all other dev features
  remain behind isDevFeaturesEnabled

Co-authored-by: sijie <sijiewg@gmail.com>
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

COMPARE TO master

Total Size Diff ⚠️ 📈 +17.84 KB

Diff by File
Name Diff
packages/account/src/App.test.tsx 📈 +97 Bytes
packages/account/src/jest.setup.ts 📈 +97 Bytes
packages/console/src/cloud/AppRoutes.tsx 📈 +109 Bytes
packages/console/src/components/BasicWebhookForm/index.tsx 📈 +222 Bytes
packages/console/src/components/ConnectorForm/ConfigForm/ConfigFormFields/index.tsx 📈 +144 Bytes
packages/console/src/components/Guide/hooks.tsx 📈 +89 Bytes
packages/console/src/consts/env.ts 📈 +53 Bytes
packages/console/src/consts/storage.ts 📈 +61 Bytes
packages/console/src/containers/ConsoleContent/Sidebar/OssCloudCard.tsx 📈 +123 Bytes
packages/console/src/containers/ConsoleContent/Sidebar/index.module.scss 📈 +242 Bytes
packages/console/src/containers/ConsoleContent/Sidebar/index.tsx 📈 +144 Bytes
packages/console/src/containers/ConsoleContent/Sidebar/oss-cloud-card.module.scss 📈 +139 Bytes
packages/console/src/containers/ConsoleContent/_dev-status-spacing.scss 📈 +323 Bytes
packages/console/src/containers/ConsoleContent/index.module.scss 📈 +212 Bytes
packages/console/src/containers/ConsoleContent/index.tsx 📈 +269 Bytes
packages/console/src/containers/ConsoleRoutes/index.tsx 📈 +132 Bytes
packages/console/src/containers/OssOnboardingGuard/index.tsx 📈 +52 Bytes
packages/console/src/containers/OssOnboardingGuard/utils.test.ts 📈 +615 Bytes
packages/console/src/containers/OssOnboardingGuard/utils.ts 📈 +86 Bytes
packages/console/src/pages/CustomizeJwtDetails/MainContent/SettingsSection/InstructionTab/index.tsx 📈 +156 Bytes
packages/console/src/pages/CustomizeJwtDetails/MainContent/SettingsSection/index.tsx 📈 +157 Bytes
packages/console/src/pages/CustomizeJwtDetails/utils/config.tsx 📈 +1 Bytes
packages/console/src/pages/EnterpriseSsoDetails/index.tsx 📈 +52 Bytes
packages/console/src/pages/OssOnboarding/submit-oss-onboarding.test.ts 📈 +906 Bytes
packages/console/src/pages/OssOnboarding/submit-oss-onboarding.ts 📈 +70 Bytes
packages/console/src/pages/SignInExperience/PageContent/Content/LanguagesForm/ManageLanguage/LanguageEditor/constants.ts 📈 +768 Bytes
packages/core/src/libraries/organization-invitation.ts 📈 +122 Bytes
packages/core/src/libraries/verification-helpers/single-sign-on.test.ts 📈 +200 Bytes
packages/core/src/libraries/verification-helpers/single-sign-on.ts 📈 +179 Bytes
packages/core/src/oidc/extra-token-claims.test.ts 📈 +752 Bytes
packages/core/src/oidc/extra-token-claims.ts 📈 +42 Bytes
packages/core/src/routes-me/verification-code.ts 📈 +140 Bytes
packages/core/src/routes/authn.ts 📈 +86 Bytes
packages/core/src/routes/experience/classes/experience-interaction.adaptive-mfa.test.ts 📈 +514 Bytes
packages/core/src/routes/experience/classes/experience-interaction.test.ts 📈 +803 Bytes
packages/core/src/routes/experience/classes/libraries/adaptive-mfa-validator/index.test.ts 📈 +533 Bytes
packages/core/src/routes/experience/classes/verifications/social-verification.test.ts 📈 +487 Bytes
packages/core/src/routes/experience/index.test.ts 📈 +921 Bytes
packages/core/src/routes/experience/verification-routes/mfa-sentinel-guard.test.ts 📈 +470 Bytes
packages/core/src/routes/experience/verification-routes/verification-code-helpers.ts 📈 +533 Bytes
packages/core/src/routes/interaction/additional.ts 📈 +128 Bytes
packages/core/src/routes/sign-in-experience/index.test.ts 📈 +658 Bytes
packages/core/src/routes/sso-connector/index.ts 📈 +133 Bytes
packages/core/src/routes/swagger/utils/documents.ts 📈 +255 Bytes
packages/core/src/routes/swagger/utils/general.test.ts 📈 +1.37 KB
packages/core/src/routes/swagger/utils/general.ts 📈 +1.4 KB
packages/core/src/routes/swagger/utils/operation-id.ts 📈 +267 Bytes
packages/core/src/routes/verification-code.ts 📈 +128 Bytes
packages/core/src/routes/verification/index.ts 📈 +148 Bytes
packages/core/src/utils/injected-header-mapping.test.ts 📈 +5 Bytes
packages/core/src/utils/injected-header-mapping.ts 📈 +7 Bytes
packages/experience/src/constants/env.ts 📈 +127 Bytes
packages/integration-tests/src/constants.ts 📈 +79 Bytes
packages/integration-tests/src/tests/api/oidc/client-credentials-grant.test.ts 📈 +707 Bytes
packages/integration-tests/src/tests/api/oidc/token-exchange/index.test.ts 📈 +1.11 KB
packages/integration-tests/src/tests/console/bootstrap.test.ts 📈 +358 Bytes
packages/integration-tests/src/utils.ts 📈 +305 Bytes

@wangsijie wangsijie marked this pull request as ready for review June 25, 2026 10:13
@wangsijie wangsijie requested a review from simeng-li as a code owner June 25, 2026 10:13
Copilot AI review requested due to automatic review settings June 25, 2026 10:13
@wangsijie wangsijie enabled auto-merge (squash) June 25, 2026 10:14

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6bfcb47. Configure here.

Comment thread packages/core/src/routes/swagger/utils/operation-id.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR restores isDevFeaturesEnabled feature-gating that was unintentionally removed by #9072, while keeping the intended Console /profile redirects and Profile page removal so unreleased capabilities stay hidden by default.

Changes:

  • Reintroduces dev-feature gating across Core (routes/libs/swagger), Console (routes/UI), Experience, Account, and integration tests.
  • Adds/updates integration-test helpers and expectations to run or skip dev-feature-dependent tests based on DEV_FEATURES_ENABLED.
  • Updates Swagger/OpenAPI filtering logic to hide dev-feature operations/properties when dev features are disabled.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
packages/integration-tests/src/utils.ts Adds devFeatureTest/devFeatureDisabledTest wrappers gated by DEV_FEATURES_ENABLED.
packages/integration-tests/src/tests/console/bootstrap.test.ts Adjusts onboarding URL expectations and asserts dev-feature label visibility.
packages/integration-tests/src/tests/api/oidc/token-exchange/index.test.ts Adds dev-features-disabled coverage for JWT customizer error handling behavior.
packages/integration-tests/src/tests/api/oidc/client-credentials-grant.test.ts Adds dev-features-disabled coverage for JWT customizer error handling behavior.
packages/integration-tests/src/constants.ts Introduces isDevFeaturesEnabled derived from DEV_FEATURES_ENABLED.
packages/experience/src/constants/env.ts Introduces isDevFeaturesEnabled for Experience based on env.
packages/core/src/utils/injected-header-mapping.ts Switches debug injected-header behavior to dev-features gating.
packages/core/src/utils/injected-header-mapping.test.ts Updates tests to reflect dev-features gating for debug injected headers.
packages/core/src/routes/verification/index.ts Gates rate-limited hook context / message-rate behavior behind dev features.
packages/core/src/routes/verification-code.ts Gates message-rate behavior behind dev features.
packages/core/src/routes/swagger/utils/operation-id.ts Attempts to gate dev-feature routes in customRoutes based on dev features.
packages/core/src/routes/swagger/utils/general.ts Exposes dev-feature tag/extension and prunes dev-feature operations/properties when disabled.
packages/core/src/routes/swagger/utils/general.test.ts Adds tests for dev-feature property pruning with dev features enabled/disabled.
packages/core/src/routes/swagger/utils/documents.ts Filters out dev-feature supplement documents when dev features are disabled.
packages/core/src/routes/sso-connector/index.ts Gates IdP-initiated auth config routes behind dev features.
packages/core/src/routes/sign-in-experience/index.test.ts Adds dev-features-enabled toggle handling for custom UI CSP tests.
packages/core/src/routes/interaction/additional.ts Gates message-rate behavior behind dev features.
packages/core/src/routes/experience/verification-routes/verification-code-helpers.ts Gates suppression logic and message-rate behavior behind dev features.
packages/core/src/routes/experience/verification-routes/mfa-sentinel-guard.test.ts Ensures MFA sentinel behavior remains covered with dev features toggled.
packages/core/src/routes/experience/index.test.ts Adds dev-feature toggling to geo/adaptive MFA related route tests.
packages/core/src/routes/experience/classes/verifications/social-verification.test.ts Adds EnvSet mock to test legacy vs dev-feature social verification paths.
packages/core/src/routes/experience/classes/libraries/adaptive-mfa-validator/index.test.ts Adds dev-feature toggling around adaptive MFA validator tests.
packages/core/src/routes/experience/classes/experience-interaction.test.ts Adds dev-feature toggling around geo-context related tests.
packages/core/src/routes/experience/classes/experience-interaction.adaptive-mfa.test.ts Adds EnvSet mock and toggles dev-features for adaptive MFA behaviors.
packages/core/src/routes/authn.ts Gates IdP-initiated SSO RelayState fallback behind dev features.
packages/core/src/routes-me/verification-code.ts Gates message-rate behavior behind dev features for /me verification-code send.
packages/core/src/oidc/extra-token-claims.ts Gates blocking issuance on error and org context exposure behind dev features.
packages/core/src/oidc/extra-token-claims.test.ts Adds tests for dev-features-disabled behavior around org context and fail-open.
packages/core/src/libraries/verification-helpers/single-sign-on.ts Gates IdP-initiated SAML SSO session checks behind dev features.
packages/core/src/libraries/verification-helpers/single-sign-on.test.ts Adds EnvSet stubbing for IdP-initiated SSO tests.
packages/core/src/libraries/organization-invitation.ts Gates invitation message-rate behavior behind dev features.
packages/console/src/pages/SignInExperience/PageContent/Content/LanguagesForm/ManageLanguage/LanguageEditor/constants.ts Documents how to hide unreleased phrases/groups behind dev features.
packages/console/src/pages/OssOnboarding/submit-oss-onboarding.ts Gates OSS survey reporting behind dev features.
packages/console/src/pages/OssOnboarding/submit-oss-onboarding.test.ts Adds coverage ensuring no survey reporting when dev features disabled.
packages/console/src/pages/EnterpriseSsoDetails/index.tsx Gates IdP-initiated auth config UI behind dev features.
packages/console/src/pages/CustomizeJwtDetails/utils/type-definitions.ts Gates org-context TS definitions behind dev features.
packages/console/src/pages/CustomizeJwtDetails/utils/config.tsx Gates org-context docs/default context values behind dev features.
packages/console/src/pages/CustomizeJwtDetails/MainContent/SettingsSection/InstructionTab/index.tsx Hides ErrorHandling and org-context instruction cards when dev features disabled.
packages/console/src/pages/CustomizeJwtDetails/MainContent/SettingsSection/index.tsx Removes ErrorHandling tab when dev features disabled.
packages/console/src/pages/AcceptInvitation/index.tsx Gates one-time-token invitation auth flow behind dev features; adjusts request behavior.
packages/console/src/pages/AcceptInvitation/index.test.tsx Updates tests to align with revised invitation flow and env gating.
packages/console/src/containers/OssOnboardingGuard/utils.ts Adds dev-features gating to OSS onboarding redirect logic.
packages/console/src/containers/OssOnboardingGuard/utils.test.ts Adds coverage for “no redirect when dev features disabled”.
packages/console/src/containers/OssOnboardingGuard/index.tsx Wires isDevFeaturesEnabled into OSS onboarding guard.
packages/console/src/containers/ConsoleRoutes/index.tsx Gates internal import-error route and OSS onboarding route behind dev features.
packages/console/src/containers/ConsoleContent/Sidebar/OssCloudCard.tsx Adjusts layout spacing when dev status badge is present.
packages/console/src/containers/ConsoleContent/Sidebar/oss-cloud-card.module.scss Adds padding reserved space support for dev status badge.
packages/console/src/containers/ConsoleContent/Sidebar/index.tsx Adds spacer element to keep sidebar content clear of dev badge.
packages/console/src/containers/ConsoleContent/Sidebar/index.module.scss Defines dev-status spacer height and behavior.
packages/console/src/containers/ConsoleContent/index.tsx Adds dev-status badge UI when dev features enabled.
packages/console/src/containers/ConsoleContent/index.module.scss Styles the dev-status badge positioning.
packages/console/src/containers/ConsoleContent/_dev-status-spacing.scss Introduces shared spacing variables for the dev-status badge.
packages/console/src/consts/storage.ts Documents local storage key for dev-features enablement.
packages/console/src/consts/env.ts Keeps isDevFeaturesEnabled env calculation (now used broadly again).
packages/console/src/components/Guide/hooks.tsx Filters dev-feature guides when dev features are disabled.
packages/console/src/components/ConnectorForm/ConfigForm/ConfigFormFields/index.tsx Hides dev-feature connector form items when dev features are disabled.
packages/console/src/components/BasicWebhookForm/index.tsx Keeps Message.RateLimited hook event behind dev features.
packages/console/src/cloud/AppRoutes.tsx Gates Delete Account route behind dev features.
packages/account/src/jest.setup.ts Mocks Account Center isDevFeaturesEnabled for tests.
packages/account/src/App.test.tsx Mocks Account Center isDevFeaturesEnabled for tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/core/src/routes/swagger/utils/operation-id.ts
Comment thread packages/core/src/routes/swagger/utils/general.ts
Comment thread packages/core/src/routes/verification/index.ts
Comment thread packages/core/src/routes/verification-code.ts
Comment thread packages/core/src/routes-me/verification-code.ts
Comment thread packages/core/src/libraries/organization-invitation.ts
Comment thread packages/integration-tests/src/constants.ts
Comment thread packages/console/src/pages/AcceptInvitation/index.tsx
Comment thread packages/console/src/pages/AcceptInvitation/index.tsx
Comment thread packages/console/src/pages/AcceptInvitation/index.tsx
@github-actions github-actions Bot added size/xl and removed size/xl labels Jun 25, 2026
Copilot AI review requested due to automatic review settings June 25, 2026 10:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added size/xl and removed size/xl labels Jun 25, 2026
@github-actions github-actions Bot added size/xl and removed size/xl labels Jun 25, 2026
@wangsijie wangsijie merged commit bc0f703 into master Jun 25, 2026
35 checks passed
@wangsijie wangsijie deleted the sijie-restore-dev-feature-guards-e8ce branch June 25, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

5 participants