Repository navigation
ref(flags): Graduate organizations:autofix-browser-notifications in the UI - #129455
cursor[bot] wants to merge 1 commit into
Conversation
…he UI The flag has been GA (rollout 100, conditions []) since automator #9026 on 2026-08-03. Its only non-GA segment disables the feature for the `sandbox` org, which `isDemoModeActive()` expresses in the frontend. Co-authored-by: charlie.luo <charlie.luo@sentry.io>
There was a problem hiding this comment.
@getsentry/machine-learning-ai (CODEOWNERS for /static/app/components/events/autofix/) — this graduates organizations:autofix-browser-notifications, opened by the stale-flag-cleanup automation. @ryan953 is requested as reviewer since he created the flag (#119737), wrote both readers, and rolled it out in getsentry/sentry-options-automator#9026.
Merge order: this PR → getsentry/sentry-options-automator#10417 (flagpole value) → #129456 (temporary.py registration).
The one hunk to actually review is the sandbox handling. The flagpole block is not a plain GA — a Disable for sandbox org segment sits above the GA segment, so the flag evaluates false for the sandbox org, which the eval output in #9026 confirms. That exclusion is reachable rather than theoretical: GroupAiPermission on /organizations/{org}/issues/{id}/autofix/ sets ALLOWED_METHODS = SAFE_METHODS + ["POST"] with the comment "We want to allow POST requests in order to showcase AI features in demo mode", so a sandbox visitor can put a run into processing and reach SeerEnableNotifications. Collapsing to a bare true would start asking demo visitors for browser notification permission.
So the collapse is !isDemoModeActive() in both readers, plus a spec for it. Note it is not byte-identical to the org-slug rule: demoMode in the client config is is_demo_mode_enabled() and is_demo_user(user), so a logged-in employee browsing the sandbox now gets notifications where flagpole said no. If you would rather collapse to plain true and drop the sandbox special-case entirely, say so and I will.
CI is green apart from getsentry dispatch, which gates on the author having write permission and always fails for cursor[bot] — a collaborator needs to add the Trigger: getsentry tests label. Verified locally: pnpm test-ci static/app/components/events/autofix (21 suites, 406 tests), pnpm run typecheck, pnpm run lint:js, pnpm run lint:format.
Sent by Cursor Automation: Feature flag cleanup


Remove the frontend reads of
organizations:autofix-browser-notifications. The flag was rolled out to GA (rollout: 100,conditions: []) in the automator in getsentry/sentry-options-automator#9026 on 8/3, and hasn't been touched since.The one hunk that isn't mechanical. The flagpole block is not a plain GA: a
Disable for sandbox orgsegment sits above the GA segment, so the feature evaluatesfalsefor thesandboxorg. That exclusion is load-bearing —/organizations/{org}/issues/{id}/autofix/usesGroupAiPermission, which allows POST for demo users "in order to showcase AI features in demo mode", so a sandbox visitor can put a run intoprocessingand would be asked for browser notification permission. The collapse is therefore!isDemoModeActive()rather than an unconditionaltrue, in both readers, with a new spec covering it. Happy to drop that and collapse totrueif the team would rather handle the sandbox differently.Follow-ups, in order: remove the flagpole value, then the
temporary.pyregistration.Verified locally:
pnpm test-ci static/app/components/events/autofix(21 suites / 406 tests),pnpm run typecheck,pnpm run lint:js,pnpm run lint:formatall pass.