[pull] master from getsentry:master#1844
Merged
Merged
Conversation
This adds seerDrawer=true to the url so the drawer stays open when sharing.
This takes advantage of the new `ParameterizationRegex.replacement_callback` option[1], to fix a number of problems with our IPv6 parameterization. Our IP regexes are already quite complicated, and were still missing many of the potential IPv6 formats. From the research I did, it seems the consensus view is that the IPv6 rules are sufficiently complicated that it's hard to create a regex incorporating all of them. Given that, this PR opts to loosen the IP regexes to that they identify IP-like strings. It then uses the new replacement callback option to pass those potential matches to a new helper, `is_valid_ip`, which uses Python's built-in `ipaddress` functions to check if the string actually is a valid IP address. If it is, the callback returns the normal `<ip>` replacement string. If it's not, it returns the original value untouched. Because the new parameterization method may trigger the false positive fallback handling added in #111948, this also includes a test of that behavior. Note: Since IPv6 strings include colons, the new looser regex now can match strings which should be considered times instead. The new IP regex has therefore been moved after the datetime regex, to prevent that from happening. [1] #111352
…tend) (#111851) Currently GitHub Copilot coding agent handoff is a permission set at the user-level as users must choose to connect their github account. However, after some discussion we think copilot integration should have to be allowed at the organization admin in line with how cursor and claude operate. Since copilot does not need an api key or any credentials, this PR creates a DirectEnableIntegration which skips the pop up stage and enables the integration. Only if this is enabled are users within the org provided access to "Setup/Send to GitHub Copilot" option for the handoff dropdown. This is an intermediate fix for now. There are several changes planned for coding integration settings that would likely make this unnecessary. Additionally, we only launched EA of copilot in the last couple of weeks, this should not be merged or put out until we decide how we would like to inform our current users that this will break their setup (minimally). This frontend PR follows #111850 https://github.com/user-attachments/assets/24f3c665-0ae8-4a4b-8347-5c92752f3d56
…t response (#111976) Adds the ability for users to approve snapshot comparison results via a new API endpoint, and surfaces approval status in the snapshot details response. **Approve endpoint** (`POST /preprodartifacts/{id}/approve/`): - Accepts a `feature_type` (`snapshots` or `size`) and creates an `APPROVED` record for the requesting user - Cleans up any existing `NEEDS_APPROVAL` records for that artifact/feature - Re-triggers the relevant status check task so the VCS commit status updates immediately **Snapshot response changes**: - Adds `approval_info` to the snapshot details response containing the current approval status (`approved` or `requires_approval`) and a list of approvers - Supports both Sentry users and GitHub users (via `extras` on the approval record) with avatar URLs Stacked on #111803
The API version of the installation step doesn't need the list of organizations to include the 'new' organization step.
Add the frontend approval workflow UI to the snapshot detail header. This replaces the temporary `SnapshotDevTools` component with a production-ready `SnapshotHeaderActions` component. The new header actions show: - **Approval status**: "Approved" tag with approver avatars, or "Requires approval" tag with an approve button - **Overflow menu**: Delete with confirmation dialog, and admin-only re-run comparison action (gated to Sentry employees) - Proper error handling with staff permission redirects (403 → re-auth flow) New `SnapshotApprovalInfo` and `SnapshotApprover` types added to match the API response from #111976. Stacked on #111976. Screenshot for a snapshot that needs approval: <img width="3524" height="2944" alt="CleanShot 2026-04-01 at 13 07 45@2x" src="https://github.com/user-attachments/assets/96870a1c-997c-403d-b3ac-879b34ab1699" /> Screenshot for an approved snapshot: <img width="3604" height="2948" alt="CleanShot 2026-04-01 at 12 55 48@2x" src="https://github.com/user-attachments/assets/0c92ff8d-4a9e-464d-b029-dbea69d0015b" /> within the "...": <img width="518" height="376" alt="CleanShot 2026-04-01 at 13 03 28@2x" src="https://github.com/user-attachments/assets/0060c4d6-8a55-4180-b8e3-5799ad772b3d" />
similar to #112010 tsc was starting to bump up against the old limit
…kwards compatible endpoint flags (#112063) We are using several flags to control rollout of the issue alert rule backwards compatible endpoints so it'd be simpler to combine them to use one flag now that they are all GA'd. Step 1: This PR - add the new flag Step 2: options automator PR - enable the new flag for GA Step 3: replace usage of `organizations:workflow-engine-projectrulesendpoint-get`, `organizations:workflow-engine-projectruledetailsendpoint-get`, and `organizations:workflow-engine-projectrulegroupstats-get` with this new flag
# Description Add basic type for `DetectorInput` which matches the expected input on the validator. Created a space to define the `DataSourceInput`, right now I just want to make sure it's passed into the detector input as expected.
Correctly inline pad line numbers, use subgrid instead of a grid for each row. Fixes line number position when single digit, looks a little better before <img width="408" height="220" alt="image" src="https://github.com/user-attachments/assets/2cf5cde1-9e3b-4a80-b3b7-8259a13ef888" /> after <img width="394" height="239" alt="image" src="https://github.com/user-attachments/assets/eb693ab7-a7ec-4c58-9b48-45b51eb5c71c" /> long line numbers are bout the same before/after <img width="408" height="225" alt="image" src="https://github.com/user-attachments/assets/14922421-d0a6-4832-b5ae-2ce758d6a442" />
… creation (#112068) When creating a workflow with a GH ticket creation action you must pass `data` to it but the docs don't have an example of what that might look like. This PR adds an example. Note that we still have a [bug](https://linear.app/getsentry/issue/ISWF-2265/create-gh-issue-action-api-accepts-empty-data-object-when-front-end) where we accept an empty `data` dict on the backend, but the front end prevents this from being submitted as it's not actually valid.
…112076) React Query defaults to 3 retries with exponential backoff (~1s, ~2s, ~4s) on failed queries. When accessing a non-existent or inaccessible snapshot, the backend returns 404 almost instantly, but the frontend waited ~8 seconds retrying before showing the error page. This skips retries on 4xx responses (which won't resolve on retry) while preserving retries for 5xx/network errors. Also replaces the plain text error message with the `BuildError` component used elsewhere in preprod for a more polished, consistent error experience. Closes EME-918 also improved the UI <img width="3312" height="2634" alt="CleanShot 2026-04-01 at 17 10 50@2x" src="https://github.com/user-attachments/assets/da818d4a-76e1-4069-843c-cbe7fff965a2" /> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Fixes [SENTRY-5MPK](https://sentry.sentry.io/issues/7380499064/events/a0228ed0904f46d3902e8a8ab8deb137/). Use id filter instead of short id
…kill (#112074) Adds the `/generate-snapshot-tests` skill and uses it to generate a snapshot test for InputGroup
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 : )