[pull] master from getsentry:master#1853
Merged
Merged
Conversation
Migrates the personal API tokens settings pages (`apiNewToken.tsx` and
`apiTokenDetails.tsx`) from the deprecated `ApiForm`/`Form`+`FormModel`
system to the new `useScrapsForm` + `fetchMutation` pattern, consistent
with the org auth tokens implementation.
**What changed:**
- `apiNewToken.tsx`: replaces the deprecated `ApiForm` wrapper with
`useScrapsForm` + `useMutation`/`fetchMutation`. Permissions remain
local `useState` — scopes are derived via `permissionStateToList` at
submit time rather than through the old form model's `scopes` field. The
disabled `TextareaField` preview becomes a read-only `FieldGroup`.
- `apiTokenDetails.tsx`: replaces `Form` + the `useMutateApiToken` hook
with `useScrapsForm` + an inline `useMutation`. Read-only fields (token
preview, scopes) move from disabled `TextField`/`FieldGroup` to plain
`FieldGroup` with a `<div>`, matching the org tokens pattern. Query
cache updates are preserved.
- `permissionSelection.tsx`: exports `permissionStateToList` so callers
can compute the full hierarchical scope list independently; guards
`this.context.form?.setValue` with optional chaining so the component
works outside a legacy `FormModel` context tree.
- Deletes `useMutateApiToken.tsx` — no remaining consumers after the
details page migration.
- Expands test coverage: adds success modal appearance, API error
handling, initial render state (name/preview/scopes), and fetch error
state; renames the misnamed `describe('ApiNewToken')` block in the
details spec.
Fixes DE-965
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Priscila Oliveira <priscila.oliveira@sentry.io>
Remove `overflow: hidden` from `StepDetails` in the `GuidedSteps` component. ### Background `StepDetails` is a grid item in a `34px 1fr` layout. When content inside it (like a code block with long lines) had a large intrinsic width, it would push past its `1fr` column and break the layout on small viewports. To prevent this, `overflow: hidden` was added — it worked, but it also clipped everything that extended beyond the container bounds, including focus rings on form elements (which use `box-shadow` in Sentry's design system): <img width="427" height="241" alt="image" src="https://github.com/user-attachments/assets/f693c434-1027-4237-b643-52d974f94897" /> ### What happened On **Mar 25**, Evans noticed the clipping issue and removed `overflow: hidden` in #111462. But without it, content started overflowing on small screens again, so on **Mar 27** it was reverted in 939e726. Then on **Mar 31**, Lazar landed #111657 which added `min-width: 0` to `StepDetails` to fix a code block overflow issue in the Metrics onboarding. Since the revert had already restored `overflow: hidden`, the overflow was no longer visible — but `min-width: 0` was still the right addition, and it also happens to solve the clipping issue, since it lets the grid item respect its track width without needing to clip its contents. ### This PR Now that `min-width: 0` handles the overflow problem, `overflow: hidden` is redundant and can be safely removed — finishing what Evans started in #111462. closes https://linear.app/getsentry/issue/DE-1048/stepper-overflow-hidden-clips-focus-rings Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…rk tables for deletion (#112093)
…#112337) Remove the unused `PreprodStaticGroupType` (type_id 11001) and `PreprodDeltaGroupType` (type_id 11002) group types. Neither class was referenced anywhere in the codebase. The `grouptype.py` module is retained for its side-effect import of `sentry.preprod.size_analysis.grouptype`. Agent transcript: https://claudescope.sentry.dev/share/TB-Jn6n67lNj6NQ-Hu4JOrlbup4fW28mdJdywsxjyoY
…#112339) Add `markdownTextArea.tsx` to CODEOWNERS Agent transcript: https://claudescope.sentry.dev/share/871UYxUBaZ8vQJ9ftWv61JC9JCwVPM23lLo0kqC_Q3o
Removes the pattern of passing `delay={0}` / `displayTimeout={0}` in
specs: for _opening_ hover overlays immediately. That's now done
automatically in `useHoverOverlay` when `NODE_ENV === "test"`. This way
we don't need to manually create & pipe zero-value delay props around
various components.
Note that _closing_ timing is unchanged. That way any triggers to portal
content / async events still have a grace period in tests.
A few seemingly-unrelated tests had to be updated to account for
overlays now suddenly being available. I think this is good, actually,
because they previously were relying on timed opening not having
happened yet. See 92f3779.
Fixes ENG-7208. Fixes ENG-7211. Fixes ENG-7212.
Supersedes #111926, #111928, #111929, and #112004.
…s to apiOptions (#112347) as discussed in last week’s TSC, we need to start moving endpoints over to `apiOptions` so that we can re-use caches. the quickest win would be to implement `useApiQuery` with `apiOptions` internally, and to get there, we need to migrate endpoints that now need `getResponseHeader` over to `apiOptions` because those headers are exposed differently. this PR takes the first couple of endpoints that are (mostly) self-contained (no other usages of the url found) and moves them over. I’ve also exposed `selectJsonWithHeaders` because the default impl only selects `json` without `headers`. I plan to tackle the other occurrences with an endpoint-by-endpoint approach, as we need to identify all places where an endpoint is used (e.g. `invalidateQueries` or `getApiQueryData` or `setApiQueryData`) and migrate them together.
…okens (#111956) To be able to do equations using series, we need to be able to support UI that will allow us to reference other series definitions. To do this I've added a `REFERENCE` token type which will be used in conjunction with an argument passed in, `references`, which determines the available references. This required me to update the grammar, validators, and tokenizer to have the right check for this "references" condition (i.e. if it's not in the set, it's not a reference and it will fall back to free text) The changes also follow closely to the code path for functions, so places where it checks for functions as valid terms should also check for references. These are used to update things like the autoformatting and cursor placement when switching from freetext to a reference token. I also changed some of the internals for how we handle `static/app/components/arithmeticBuilder/action.tsx` because I want the expression to be able to re-evaluate if the references change. If a reference is removed, the equation should also update and render the old reference as free text. Since there's no UI using this at the moment, I've opted to render it in Storybook
This PR refreshes the continue scanning logs experience to really call out to users that they're able to continue scanning for more data, as the previous setup was a bit harder to read. Refs LOGS-644 --------- Co-authored-by: GPT-5.4 <noreply@openai.com>
Just adding in the content sections, no real functionality yet just getting the layout set up. Also added in an empty schema hints so i remember to fill it in along with the search bar when possible💀 <img height="400" alt="image" src="https://github.com/user-attachments/assets/0e8c1097-9f97-4399-9182-ecc456192b98" />
Register PREPROD in the shared `INTERNAL_TO_PUBLIC_ALIAS_MAPPINGS` infrastructure so the EAP attributes endpoint translates `has_installable_file` → `installable`. This makes the `installable` boolean filter appear in the mobile builds search bar dropdown on the Distribution view. Previously, the PREPROD trace item type had no entry in the alias mapping dicts in `search/eap/utils.py`, so `translate_internal_to_public_alias()` returned the raw internal name `has_installable_file`. The frontend `filterToAllowedKeys()` then couldn't match it against the allowlist (which expects `installable`), so the attribute was silently filtered out. The mapping dict is built dynamically from `PREPROD_SIZE_ATTRIBUTE_DEFINITIONS`, so any future aliased PREPROD attributes will automatically be included. Refs EME-868 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…tings (#112232) This brings in the stopping-point dropdown to the project-specific seer settings page Follows: #112211 There's still more to cleanup in here, but we're well on the way. <img width="960" height="383" alt="SCR-20260403-msjw" src="https://github.com/user-attachments/assets/09b86dd8-6a0e-4bf5-89d9-9cd9d9649f6d" /> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…bring back Create PR bulk edits (#112249) <img width="279" height="198" alt="SCR-20260403-oruo" src="https://github.com/user-attachments/assets/c8b49017-40fe-49ec-aa47-d364ed9b4d8c" /> --------- Co-authored-by: Claude Sonnet 4 <noreply@example.com>
We already have logging for `data-export-success`. That success log includes the user's email, which makes it nice and easy to tell if someone's data export has succeeded (at least this far in code). But there's no equivalent log for failure. Which is what @narsaynorath and I were trying to debug earlier today and having to do all sorts of log/trace query workarounds for. Fixes LOGS-673.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )