Skip to content

[pull] master from getsentry:master#2011

Merged
pull[bot] merged 12 commits into
KingDEV95:masterfrom
getsentry:master
May 29, 2026
Merged

[pull] master from getsentry:master#2011
pull[bot] merged 12 commits into
KingDEV95:masterfrom
getsentry:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 29, 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 : )

ArthurKnaus and others added 12 commits May 29, 2026 12:36
Enable Seer Autofix for low-value span configuration issues.

Low-value span issues now opt into the issue detail Autofix surface
while keeping the existing static configuration issue details behavior.

Co-authored-by: OpenAI Codex <noreply@openai.com>
## Summary

Adds an `IconBot` button to the Seer Autofix drawer header
(`SeerDrawerHeader`) that opens the Seer Agent pane pre-loaded with the
current Autofix `run_id`.

**Behaviour:**
- Button appears in the Autofix header next to the existing Refresh/Copy
buttons
- Clicking it calls `openSeerExplorerDrawer({runId})`, which dispatches
the run ID into Seer Agent state and opens the pane
- Hidden until an Autofix run exists (`runState?.run_id` must be
defined)
- Only visible to Sentry employees (`useIsSentryEmployee()`), matching
the existing debug-UI convention used in the Seer Agent pane's slash
commands (`/langfuse`, `/conversations`)

## Files changed

- `static/app/components/events/autofix/v3/header.tsx` — adds
`onOpenSeerAgent` prop and `IconBot` button gated on
`useIsSentryEmployee`
- `static/app/components/events/autofix/v3/drawer.tsx` — wires
`useHandleOpenSeerAgent` hook via `useSeerExplorerDrawer`

## Verification

Imports verified: `IconBot`, `useIsSentryEmployee`,
`useSeerExplorerDrawer` all exist at their paths. Typecheck unavailable
in sandbox (no `node_modules`); shape follows existing patterns exactly.

## After

<img width="1972" height="1466" alt="CleanShot 2026-05-26 at 12 05
20@2x"
src="https://github.com/user-attachments/assets/16a58b44-d41e-41d5-8ba4-fce82587f57a"
/>

---
[View Session in
Sentry](https://sentry.sentry.io/traces/?project=4510944073809921&query=gen_ai.conversation.id%3A%22slack%3AC0B448X3T3J%3A1779792979.178209%22)

Action taken on behalf of Hector Dearman.

---------

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Hector Dearman <hector.dearman@sentry.io>
Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
## Summary
- Adds a new `/analytics` agent skill under `.agents/skills/analytics/`
that teaches agents how to instrument frontend analytics events using
Sentry's established patterns
- Covers event definitions, tracking patterns (route hooks, button
props, `trackAnalytics`), Amplitude MCP discovery/querying, and
troubleshooting
- Designed for users like design, PM, sales who might invoke the skill
through natural language like "how many people use X?" or "add tracking
to this button"

Skill structure:
- `SKILL.md` — router with naming rules, pattern selection table, key
files, non-negotiable constraints (type safety, `trackAnalytics` only,
no PII, reuse over create)
- `SPEC.md` — maintenance contract with scope, users, validation, known
limitations
- `references/event-definitions.md` — step-by-step event creation with
examples and anti-patterns
- `references/tracking-patterns.md` — route-level, button, manual, and
area context patterns
- `references/troubleshooting.md` — common mistakes matrix, debugging
with `DEBUG_ANALYTICS`, anti-patterns
- `references/amplitude-mcp.md` — MCP setup, event discovery, ad-hoc
querying, fallback workflow
Currently the mappings between deprecated attribute names is stored in a
separate JSON file (`deprecated_attributes.json`). This file requires [a
separate script in a different
repo](https://github.com/getsentry/sentry-conventions/blob/aff7614ea9e9d99b0ddd4eafe6bdc2abc23e77a3/scripts/generate_deprecated_attributes_json.ts)
to be run to keep up to date, which was easy to miss. All the
information already exists in the `sentry-conventions` library - read
directly from the library instead.

---

🤖: Claude Code (Opus 4.6) used to generate the code, with human editing
+ careful review. All words my own.
Our current hostname regex (used when parameterizing messages for
grouping) doesn't account for the fact that you can now use practically
anything as your top-level domain (the `great` part of
`dogs.are.great`), and doesn't include the length restrictions included
in the [URL
spec](https://datatracker.ietf.org/doc/html/rfc2181#section-11) (each
segment can be at most 63 characters long, and the whole thing can't
exceed 255 characters).

Unfortunately, fixing the first part leads to too many false positives -
you end up with both `some.module.path` and `somefile.txt` being
parameterized as `<hostname>` - but the length restrictions are solvable
with a combination of regex quantifiers and a validation function. This
PR therefore adds those to our regex, while leaving our list of the top
100 TLDs as the required match on the last segment.

Fixes ID-1575
The Email model and writes (via signal handlers) was added back in 2017,
but there have never been any reads to the table in either sentry,
getsentry or internal etl pipelines.

This table is often missing records which cause relocation validation
failures. Removing this table will reduce our write throughput and
simplify the user datamodel.
This reverts commit 037fc93.

Co-authored-by: roggenkemper <46740234+roggenkemper@users.noreply.github.com>
I'm not seeing the context engine index tasks getting kicked off
properly
Adding some logging to see what's up
…116157)

## What

Migrates the `onDiscard` flow in `views/issueDetails/actions/index.tsx`
from inline `api.request()` to a dedicated `discardIssueMutationOptions`
factory backed by TanStack Query's `mutationOptions` + `fetchMutation`.

## Changes

- Adds `discardIssueMutationOptions.ts` — options factory using
`mutationOptions` with `onMutate`/`onSuccess`/`onError`/`onSettled`
lifecycle callbacks
- `onDiscard` in `index.tsx` is now a simple call to the mutation; all
request logic lives in the options factory
- Removes `GroupStore` and `uniqueId` imports from `index.tsx` (moved to
options factory)
- `onSettled` replaces the `complete` callback for `clearIndicators`

## Notes

- `GroupStore.onDiscardSuccess`/`onDiscardError` both ignore the
response arg, so `includeAllArgs` is not needed
- `trackIssueAction('discarded')` stays at the call site in the
component (analytics, not request logic)
- Uses the options-factory pattern (`discardIssueMutationOptions`)
rather than a `use*` hook, keeping the mutation config independent of
React lifecycle

---------

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
Adds new loader animation + messages for pride month.

Automatically enabled in June—the feature flag handler already has an
internal check for the month.

<table>
<td>


https://github.com/user-attachments/assets/dd80273b-ddee-4336-842e-bd1a285364f6

</td>
<td>


https://github.com/user-attachments/assets/b472e5c4-c737-4188-b1c1-420c51749b8b

</td>
</table>

### Messages
- Exceptions belong in code; You belong here.
- You&rsquo;re valid. Your code, however&hellip;
- Making space for everyone&hellip;
- Waving some flags while you wait&hellip;

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…6314)

Add `bitbucket_server` to the list of providers that use the new
API-driven pipeline modal instead of the legacy popup-based flow.
@pull pull Bot locked and limited conversation to collaborators May 29, 2026
@pull pull Bot added the ⤵️ pull label May 29, 2026
@pull pull Bot merged commit 5a5cd99 into KingDEV95:master May 29, 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 May 29, 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.

9 participants