Skip to content

[pull] master from getsentry:master#1852

Merged
pull[bot] merged 14 commits into
KingDEV95:masterfrom
getsentry:master
Apr 7, 2026
Merged

[pull] master from getsentry:master#1852
pull[bot] merged 14 commits into
KingDEV95:masterfrom
getsentry:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 7, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

gricha and others added 14 commits April 6, 2026 14:57
Enable the `ViewerContextMiddleware` by setting the
`viewer-context.enabled`
option default to `True`. This causes the middleware to populate a
`ViewerContext` (unified caller identity) on every authenticated
request.

The option uses `FLAG_NOSTORE` so the value is read at process startup
from
deploy config (`SENTRY_OPTIONS`). Changing the default here means it
will be
active everywhere unless explicitly overridden to `False` in deploy
config.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
# Description
- Move the `ensure_default_detector` code out of the file for
`process_detectors` and into `defaults/detectors.py`
- Move the signals from the global folder to `workflow_engine` module
for discoverability

There shouldn't be any logic changes to this code, it's just a simple
move from one file to another (this is setting up a few more PRs)
#112293 didn't select anything
in sentry or getsentry dispatch for src/sentry/options/defaults.py -
this kind of stuff is evaluated at module load (before any test context
is active) so we don't have coverage data for it

added `src/sentry/options` FULL_SUITE_TRIGGERS and also had claude audit
for more stuff to put in there
…12288)

`react-textarea-autosize` accepts `minRows`, not `rows`
Our backlog is only 17m or so rows, but by reusing a task pattern we've
already used before we should be able to safely get that quickly cleaned
up in all regions.

A job or post-deploy migration would also be an option, but this is no
harder and more or less guarantees that next time we look it'll be dealt
with.
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Description

Adds the `superuser` keyword to all admin CMD-K actions and restores the
"Open Superuser Modal" action from the old command palette to match the
old workflow and improve discoverability. Also updates the organization
admin URL to use the correct customers endpoint.

This addresses the issue where users were trying to search for
"superuser" in the new CMD-K but couldn't find the admin actions or the
superuser escalation modal.

## Changes

- Added `keywords: [t('superuser')]` to "Open _admin" action
- Added `keywords: [t('superuser')]` to "Open org in _admin" action
- Added `keywords: [t('superuser')]` to "Exit Superuser" action
- **Added "Open Superuser Modal" action** - allows staff users to
escalate to superuser mode (only shown when not already a superuser)
- Changed organization admin URL from
`/_admin/organizations/${organization.slug}/` to
`/_admin/customers/${organization.slug}/`

## Testing

Users can now type "superuser" in CMD-K and see:
- "Open _admin" - opens the Django admin interface
- "Open org in _admin" - opens the organization's customer page in
Django admin
- "Open Superuser Modal" - opens the authentication modal to escalate to
superuser (only shown when not already superuser)
- "Exit Superuser" - exits superuser mode (only shown when already
superuser)
<!-- CURSOR_AGENT_PR_BODY_END -->

[Slack
Thread](https://sentry.slack.com/archives/C08QLT0PYQK/p1775510843648239?thread_ts=1775510843.648239&cid=C08QLT0PYQK)

<div><a
href="https://cursor.com/agents/bc-3faa6305-783b-5a27-be62-31d6ae10d612"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png"><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-3faa6305-783b-5a27-be62-31d6ae10d612"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Jonas <JonasBa@users.noreply.github.com>
https://linear.app/getsentry/issue/BIL-2224/add-formatting-for-stats-for-trace-metrics

This PR adds formatting in the stats page for trace metrics by
refactoring an existing if statement, and adding relevant tests.
…112302)

Snooze status should be stored in appropriate fields; using
'status=disabled' just results in the UI showing a warning banner as if
the rule is broken.

Fixes ISWF-2402.
There are a couple places where we check features and datasets to
determine whether a subscription is allowed to be enabled.
This defines that somewhere central and uses it in subscription
processing.
Once it lands, we'll extend it to some getsentry logic.
Remove this page, since we're moving supergroups to the issue stream.
This should let us remove a few troublesome APIs that we keep
maintaining in seer.

Co-authored-by: Claude <noreply@anthropic.com>
Remove the `feedbackSource` prop from `AskSeerComboBox` and
`AskSeerPollingComboBox`. Instead, derive the `feedback.source` tag
value from the existing `analyticsArea` context, using the pattern
`ai_query.{analyticsArea}`.

Both components already call `useAnalyticsArea()`, so no new
dependencies are introduced. The hardcoded strings at callsites (e.g.
`"issue_list_ai_query"`, `"trace_explorer_ai_query"`) are replaced by
the area that's already set on the surrounding `AnalyticsArea` provider.

will update [this
alert](https://sentry.sentry.io/monitors/alerts/2292166/?end=2026-04-02T08%3A52%3A00&project=11276&start=2026-04-02T04%3A06%3A00)
accordingly

Co-authored-by: Claude <noreply@anthropic.com>
…112278)

Replace the class-based AddIntegration render prop component with a
useAddIntegration hook. This modernizes the integration setup flow to
use hooks and prepares for the API-driven pipeline modal by adding
feature-flag-gated support for opening a React pipeline modal instead
of the legacy Django popup window.

- Convert AddIntegration class component to useAddIntegration hook
- Refactor AddIntegrationButton to use the hook directly
- Add API pipeline feature flag support for github and gitlab providers
- Rewrite tests to use renderHookWithProviders with comprehensive
  coverage for both legacy and API pipeline flows

---------

Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
no more setup-sentry and pytest --collect-only! test count is only used
to calculate shards and we don't need 100% accuracy, even ~90% is
acceptable.

this completely eliminates 2m serial per-workflow!

we now count test_ with a regex across SELECTED_FILES and ast-based
parsing for `@pytest.mark.parametrize multipliers` (inline lists,
variable references, subscript access, stacked decorators, stored
decorators).

this is ~99% accurate because there are only 7
`@pytest.fixture(params=...)` which cannot be statically determined, and
we have ~30k tests
@pull pull Bot locked and limited conversation to collaborators Apr 7, 2026
@pull pull Bot added the ⤵️ pull label Apr 7, 2026
@pull pull Bot merged commit 7585e12 into KingDEV95:master Apr 7, 2026
@github-actions github-actions Bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Apr 7, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.