Skip to content

[pull] master from getsentry:master#1808

Merged
pull[bot] merged 16 commits intoKingDEV95:masterfrom
getsentry:master
Mar 19, 2026
Merged

[pull] master from getsentry:master#1808
pull[bot] merged 16 commits intoKingDEV95:masterfrom
getsentry:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Mar 19, 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 : )

priscilawebdev and others added 16 commits March 19, 2026 10:06
)

Add `drawerCss` with `min-width` to the agents trace view drawer,
matching the behavior already present in the conversations drawer.

On mobile, the global drawer goes fullscreen (100% width). Without a
`min-width` on the drawer content, the two internal panels (AI Spans
list at 400px + trace details at 500px) collapse and overflow is hidden.
The conversations drawer already handles this by setting `min-width:
900px` via `drawerCss`, which allows the global drawer's
`overscroll-behavior-x: auto` on mobile to kick in and enable horizontal
scrolling.

Users may not realize they can scroll horizontally on mobile since
scrollbars are hidden by default, but this improves
the experience for now. We can revisit the mobile UX separately.


https://github.com/user-attachments/assets/5adfe5be-1ca1-4739-8236-115e77350232

contributes to
https://linear.app/getsentry/issue/TET-2058/user-feedback-mobile-website-breaks-when-clicking-tool-calls

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.4.5 to 0.6.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyasn1/pyasn1/releases">pyasn1's
releases</a>.</em></p>
<blockquote>
<h2>Release 0.6.3</h2>
<p>It's a minor release.</p>
<ul>
<li>Added nesting depth limit to ASN.1 decoder to prevent stack overflow
from deeply nested structures (CVE-2026-30922).</li>
<li>Fixed OverflowError from oversized BER length field.</li>
<li>Fixed DeprecationWarning stacklevel for deprecated attributes.</li>
<li>Fixed asDateTime incorrect fractional seconds parsing.</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst">CHANGELOG</a>.</p>
<h2>Release 0.6.2</h2>
<p>It's a minor release.</p>
<ul>
<li>Fixed continuation octet limits in OID/RELATIVE-OID decoder
(CVE-2026-23490).</li>
<li>Added support for Python 3.14.</li>
<li>Added SECURITY.md policy.</li>
<li>Migrated to pyproject.toml packaging.</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst">CHANGELOG</a>.</p>
<h2>Release 0.6.1</h2>
<p>It's a minor release.</p>
<ul>
<li>Added support for Python 3.13.</li>
<li>Cleaned Python 2-related code.</li>
<li>Removed bdist_wheel universal flag from setup.cfg.</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst">CHANGELOG</a>.</p>
<h2>Release 0.6.0</h2>
<p>It's a major release where we drop Python 2 support entirely.
The most significant changes are:</p>
<ul>
<li>Removed support for EOL Python 2.7, 3.6, 3.7</li>
<li>Added support for previously missing <code>RELATIVE-OID</code>
construct</li>
<li>Updated link to Layman's Guide</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/etingof/pyasn1/blob/master/CHANGES.rst">CHANGELOG</a>.</p>
<h2>Release 0.5.1</h2>
<p>It's a minor release.</p>
<ul>
<li>Added support for PyPy 3.10 and Python 3.12</li>
<li>Updated RTD configuration to include a dummy index.rst redirecting
to contents.html, ensuring compatibility with third-party documentation
and search indexes.</li>
<li>Fixed the API breakage wih decoder.decode(substrateFun=...).
A substrateFun passed to <code>decoder.decode()</code> can now be either
v0.4 Non-Streaming or v0.5 Streaming.
pyasn1 will detect and handle both cases transparently.
A substrateFun passed to one of the new streaming decoders is still
expected to be v0.5 Streaming only.</li>
</ul>
<p>All changes are noted in the <a
href="https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst">CHANGELOG</a>.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst">pyasn1's
changelog</a>.</em></p>
<blockquote>
<h2>Revision 0.6.3, released 16-03-2026</h2>
<ul>
<li>CVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth
limit to ASN.1 decoder to prevent stack overflow from deeply
nested structures (thanks for reporting, romanticpragmatism)</li>
<li>Fixed OverflowError from oversized BER length field
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/54">#54</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/54">pyasn1/pyasn1#54</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/100">#100</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/100">pyasn1/pyasn1#100</a>)</li>
<li>Fixed DeprecationWarning stacklevel for deprecated attributes
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/86">#86</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/86">pyasn1/pyasn1#86</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/101">#101</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/101">pyasn1/pyasn1#101</a>)</li>
<li>Fixed asDateTime incorrect fractional seconds parsing
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/81">#81</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/81">pyasn1/pyasn1#81</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/102">#102</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/102">pyasn1/pyasn1#102</a>)</li>
</ul>
<h2>Revision 0.6.2, released 16-01-2026</h2>
<ul>
<li>CVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet
limits
in OID/RELATIVE-OID decoder (thanks to tsigouris007)</li>
<li>Added support for Python 3.14
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/97">#97</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/97">pyasn1/pyasn1#97</a>)</li>
<li>Added SECURITY.md policy</li>
<li>Fixed unit tests failing due to missing code
[issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/91">#91</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/91">pyasn1/pyasn1#91</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/92">#92</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/92">pyasn1/pyasn1#92</a>)</li>
<li>Migrated to pyproject.toml packaging
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/90">#90</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/90">pyasn1/pyasn1#90</a>)</li>
</ul>
<h2>Revision 0.6.1, released 10-09-2024</h2>
<ul>
<li>Added support for Python 3.13 and updated GitHub Actions
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/73">#73</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/73/">pyasn1/pyasn1#73</a>)</li>
<li>Removed Python 2 support and related code
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/62">#62</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/62/">pyasn1/pyasn1#62</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/61">#61</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/61/">pyasn1/pyasn1#61</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/60">#60</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/60/">pyasn1/pyasn1#60</a>)</li>
<li>Improved error handling and consistency
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/71">#71</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/71/">pyasn1/pyasn1#71</a>)
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/70">#70</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/70/">pyasn1/pyasn1#70</a>)</li>
<li>Runtime deprecation of <code>tagMap</code> and <code>typeMap</code>
aliases
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/72">#72</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/72/">pyasn1/pyasn1#72</a>)</li>
<li>Fixed duplicated and missing declarations
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/64">#64</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/64/">pyasn1/pyasn1#64</a>)</li>
<li>Cleaned documentation and comments
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/63">#63</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/63/">pyasn1/pyasn1#63</a>)</li>
<li>Removed bdist_wheel universal flag from setup.cfg
[pr <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/69">#69</a>](<a
href="https://redirect.github.com/pyasn1/pyasn1/pull/69/">pyasn1/pyasn1#69</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98"><code>af65c3b</code></a>
Prepare release 0.6.3</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8"><code>5a49bd1</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f"><code>5494ba4</code></a>
Fix asDateTime incorrect fractional seconds parsing (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/102">#102</a>)</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476"><code>71f486e</code></a>
Fix DeprecationWarning stacklevel for deprecated attributes (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/101">#101</a>)</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8"><code>d7cb42d</code></a>
Fix OverflowError from oversized BER length field (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/100">#100</a>)</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424"><code>e7356f8</code></a>
Prepare release 0.6.2</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970"><code>3908f14</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c"><code>0a7e067</code></a>
Add support for Python 3.14 (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/97">#97</a>)</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1"><code>33656e9</code></a>
Create Security Policy</li>
<li><a
href="https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e"><code>fa62307</code></a>
fix for issue <a
href="https://redirect.github.com/pyasn1/pyasn1/issues/91">#91</a>: unit
tests failing due to missing code (<a
href="https://redirect.github.com/pyasn1/pyasn1/issues/92">#92</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pyasn1/pyasn1/compare/v0.4.5...v0.6.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyasn1&package-manager=uv&previous-version=0.4.5&new-version=0.6.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Summary
- Remove the `tracemetrics-overlay-charts-ui` feature flag from the
frontend, making multi-aggregate overlay chart behavior always-on
- Remove `canUseMetricsMultiAggregateUI` from `metricsFlags.tsx` and the
`multiVisualize` parameter from
`decodeMetricsQueryParams`/`parseVisualizes`
- Remove flag checks and single-select fallbacks from
`aggregateDropdown`, `multiMetricsQueryParams`, `useMetricTimeseries`,
and `metricGraph`

Recommended to review with whitespaces hidden.

Ticket: LOGS-551
… requests (#110640)

Adds two low-volume canary metrics to make auth misconfigurations
immediately visible in dashboards and alerting.

**`github.webhook.hmac_failure`** (with `reason` tag) is emitted when
`GitHubIntegrationsWebhookEndpoint.handle()` returns 401. The two
possible reasons are `missing_secret` (no webhook secret configured) and
`invalid_signature` (HMAC mismatch). Previously, detecting these
failures required scraping error logs or relying on downstream gaps in
processing.

**`seer.unsigned_request`** is emitted in `sign_with_seer_secret()` when
`SEER_API_SHARED_SECRET` is not set. This existing code path already
logged a warning; the metric makes it alertable.

Both are emitted at `sample_rate=1.0` since the failure paths are
expected to be very low volume.

Refs https://linear.app/getsentry/issue/CW-1014
Refs https://linear.app/getsentry/issue/CW-1015
#110984)

Relay [no longer uses this
flag](https://github.com/getsentry/relay/blob/33db70bc9fba30bf763561a0a8b72b299e356f53/relay-dynamic-config/src/feature.rs#L136-L139)
and it has been [removed from
flagpole](getsentry/sentry-options-automator#6868),
so it is safe to remove.

Fixes OPE-71.

Co-authored-by: Claude Opus 4.6 <noreply@example.com>
)

Each aggregate should be evaluated individually for the `metric` param
because we're opening up to multi-metric support in Dashboards. This
shouldn't change functionality because we should be actively storing the
tracemetric in the aggregates _already_, this just makes it read each
one to figure out what tracemetric to set instead of doing that reading
upfront and propagating it through to every other aggregate assuming
it's the same.
…#111012)

When there are multiple metrics selected, remove the attribute filter
from the config where we define properties to use for the trace item
attributes request.

Ideally we only fetch the ones that are relevant but I'm not entirely
sure the backend supports OR requests properly yet, so we're going to go
easy and just fetch everything.
…mpletion in case of validation errors resuming seer run (#111027)

- Updates dashboard chat panel to continue polling for blocks for 5 sec
after completion status. This is in case validation errors are detected
in the back end which can resume the seer run.
- Also update dashboard chat to be open by default
- Also small optimization to memoize `DashboardDetail` to reduce
rerenders on each poll
)

Prevent double HTML-escaping of series names in time series widget chart
tooltips.

When a widget has multiple queries with a `groupBy`, series names use `
> ` as a delimiter (e.g., `My Query > prod : count()`). The tooltip
`nameFormatter` in `TimeSeriesWidgetVisualization` called
`truncationFormatter` with escaping enabled, but the outer
`truncationFormatter` in `getFormatter` (tooltip.tsx) already escapes.
This caused `>` to be double-escaped to `&amp;gt;`, which rendered as
literal `&gt;` in tooltips.

The fix passes `escaped = false` to the inner `truncationFormatter`
call, matching the existing pattern in
`categoricalSeriesWidgetVisualization` (line 272-276) and the legend
formatter (line 707-714, which has a comment explicitly explaining why
escaping is disabled).

The ` > ` delimiter has been in series names since Jan 2025
(`transformEventsResponseToSeries`), but the double-escaping was
introduced when `TimeSeriesWidgetVisualization` was created with its
`nameFormatter` that redundantly escapes.

Fixes DAIN-1223

---------

Co-authored-by: Claude <noreply@anthropic.com>
…rds (#111017)

When duplicating a prebuilt dashboard, the saved filter values (e.g.
global filters configured by the user) were not being copied to the new
dashboard. The duplication reconstructed the dashboard entirely from the
static config, which has empty filter values.

Now, `useDuplicatePrebuiltDashboard` fetches the saved dashboard from
the detail endpoint to get the user's saved filters, then applies them
to the duplicate. Widgets still come from the static config since they
aren't stored for prebuilt dashboards.

Fixes DAIN-1335
…nization events tracing (#110723)

Implements double reads of occurrences from EAP for
`load_performance_issues` in
`src/sentry/api/endpoints/organization_events_trace.py`.
)

## Summary

- Support `SetStateAction<T>` (function updater) in
`useSessionStorage`'s setter, matching React's `useState` API
- Prevents stale-state bugs when multiple sequential calls spread the
same snapshot, since each updater receives the latest `prev` value
- Adds spec file with 6 tests covering direct values, functional
updaters, sequential calls, and item removal

Split out from #110883 per review feedback.

## Test plan

- [x] `CI=true pnpm test static/app/utils/useSessionStorage.spec.tsx` --
6 tests passing
- [x] Key test: sequential functional updaters don't clobber each other
(`{a: 1}` then `{b: 2}` results in `{a: 1, b: 2}`)
@pull pull bot locked and limited conversation to collaborators Mar 19, 2026
@pull pull bot added the ⤵️ pull label Mar 19, 2026
@pull pull bot merged commit 2253d8c into KingDEV95:master Mar 19, 2026
6 of 9 checks passed
@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 Mar 19, 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.