-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
ref(preprod): Rename projectId to projectSlug #101404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
8bb29a0 to
a8398a6
Compare
Sentry projects have both ids (numerical) and slugs (string) here we were using slugs but all the variables were named projectId which was confusing.
a8398a6 to
e40d7fe
Compare
| <BuildDetailsHeaderContent | ||
| buildDetailsQuery={buildDetailsQuery} | ||
| projectId={projectId} | ||
| projectSlug={projectId} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rename the local projectid variable too
| buildDetailsData={selectedBuildDetail} | ||
| artifactId={selectedBuildId} | ||
| projectId={null} | ||
| projectSlug={undefined} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be able to just leave out since undefined
The work to derive code mappings for Java fell short of supporting multi module directory structure. This adds support for multi module directory structure behind a feature flag.
Adds a route for `/activity-logs`, which is the same as `/usage-log`, but allows us to render `Subscription > Activity Logs` instead of `Subscription > Usage Log` when that route is hit. <img width="725" height="210" alt="Screenshot 2025-10-10 at 2 47 08 PM" src="https://github.com/user-attachments/assets/781a3120-fa2c-46c5-a96e-c389f118f77d" />
…mes (#101357) Auto-opens the `Reserve additional volume` substep for customers that already have at least one category reserved above platform volume.
Now that we've returned the `changedReason` column from the widget and saved query apis we're creating the UI for these dropped fields warnings. This is an example of what they look like: Explore: <img width="944" height="213" alt="image" src="https://github.com/user-attachments/assets/5e4cfc09-a79f-4bd3-ad45-40417407ce3e" /> Widgets: <img width="508" height="242" alt="image" src="https://github.com/user-attachments/assets/19ee5b90-4012-4bad-8dbb-89cb83f404d6" />
…ult (#101408) Turn off missing instrumentation warnings in the trace waterfall by default. <img width="740" height="41" alt="Screenshot 2025-10-13 at 15 28 38" src="https://github.com/user-attachments/assets/03d6318f-dd9b-47a7-88d1-ff2bf57194dc" /> Co-authored-by: Daniel Griesser <[email protected]>
…101438) Am1 customers should not see laravel/nextjs pages, I believe any customers that doesn't have eap (which is only am1), should not see laravel/nextjs.
<img width="469" height="716" alt="Screenshot 2025-10-10 at 1 43 32 PM" src="https://github.com/user-attachments/assets/6b92d745-585c-46bd-b225-eafdad30f017" /> <img width="854" height="1652" alt="Screenshot 2025-10-10 at 11 27 32 AM" src="https://github.com/user-attachments/assets/f6aa6082-bb6e-4b5a-a95c-c8b340d87283" />
Adds some nicer handling for `http.client` spans! 1. Uses semantic attributes (`"url.full"`, `"http.request.method"`) for formatting 2. Adds a button to open the URL in a new tab, if possible 3. Adds the "source", so if the request has a known line number and file name, it appears If semantic attributes are not available, falls back to plain ho-hum formatting. Awaiting #101340 for the `wordBreak` support. **e.g.,** <img width="680" height="331" alt="Screenshot 2025-10-09 at 4 55 16 PM" src="https://github.com/user-attachments/assets/b8535b49-dcb3-44cf-a118-f0a457d09fc6" />
# before <img width="403" height="509" alt="Screenshot 2025-10-14 at 10 10 46 AM" src="https://github.com/user-attachments/assets/acb4dd30-a9bb-482f-9d8c-0cf260ef1e40" /> # after <img width="420" height="491" alt="Screenshot 2025-10-14 at 10 10 35 AM" src="https://github.com/user-attachments/assets/eee79083-49fc-41be-878b-c6e7875bd607" />
- Removed the `Trial available` tag as it was redundant with the trial starter button - Moved the `x days left` tag to the same column as the trial starter button - Renamed column key to be more accurate to column contents <img width="1350" height="732" alt="Screenshot 2025-10-14 at 10 20 52 AM" src="https://github.com/user-attachments/assets/ba523f61-05b3-4217-85b7-ea4fa79a6a2f" />
rm the feature flag CTA (was only ever shown to LD users)
Receives new query mode param from getsentry/seer#3595 to correctly determine which mode to use. The previous condition was not correct logic in all cases
- This makes the response of the timeseries endpoint consistent with whether there's projects or not - Without this the frontend would crash since it expects a valid StatsResponse - Closes ENG-5712
Quickly adding in a tooltip (and fixing backwards color states), to help inform users what will result when clicking on the button.
### Summary Span fields should probably be eventually removed, but for the time being we still shouldn't show hidden attribute names
… backend (#101439) two things in this pr: 1. we're making sure that all updated migrated saved queries in explore have the `spans` dataset instead of saving with the `segment_spans` dataset 2. we're passing in `USER` as the dataset source for spans widgets so that when they're updated we can set the dropped fields to null (backend change to follow)
- Removes spans and logs columns - Add call to discover endpoint to get error counts by trace ID - Renders timestamp using the same renderer as logs Closes LOGS-407
Delayed workflows tasks are currently all scheduled every minute. This frequency (60s) is what we want, but running them all at once makes our load bursty, and causes some rate limits to be frequently hit in Snuba querying. This change establishes "cohorts" and schedules one cohort at a time, allowing us to smoothly transition to N groups of `delayed_workflow` tasks per minute, one every 1/Nth of a minute, smoothing out our workload. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduce cohort-sharded scheduling for delayed workflows, persisting cohort run timestamps in Redis and refactoring processing/cleanup; add pydantic-based Redis helpers and a new num_cohorts option. > > - **Workflow Engine (Scheduling & Processing)** > - Introduce cohort-sharded scheduling via `ProjectChooser` and `chosen_projects`, selecting projects per run based on `workflow_engine.num_cohorts`. > - Persist cohort run timestamps in Redis as `CohortUpdates` using `DelayedWorkflowClient.fetch_updates/persist_updates`. > - Refactor cleanup into `mark_projects_processed`; compute `max_project_timestamp` and use conditional delete or range clear accordingly. > - **Buffer Layer** > - Add `RedisHashSortedSetBuffer.get_parsed_key/put_parsed_key` for pydantic models; extend supported ops and expiry handling. > - Extend `DelayedWorkflowClient` with `_COHORT_UPDATES_KEY` and cohort update helpers. > - **Options** > - Add `workflow_engine.num_cohorts` (Int, default `1`). > - **Tests** > - Convert to pytest-style and add coverage for cohort selection, Redis parsed key helpers, and new scheduling/cleanup flows. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 87a09d0. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
) - This adds a test for doing case insensitivity with wildcards - Requires getsentry/snuba#7452 to pass
) We were adding `event.type:transactions` to transaction detectors, but it doesn't seem necessary and displays an error in the filter.. <img width="509" height="113" alt="image" src="https://github.com/user-attachments/assets/c8f7a288-7ec5-45c7-9478-3c88876dce25" />
Improves the ASCII "screenshot" we capture alongside user queries. - hooks into e-charts to render ASCII graphs - mirrors text truncation and wrapping done in the UI to match the real layout more closely - excludes Sentry left nav from the screenshot <img width="658" height="430" alt="Screenshot 2025-10-13 at 10 55 38 AM" src="https://github.com/user-attachments/assets/dc658130-61ce-4e11-be09-ffb44e948df4" />
Register custom copy for trace query tool <img width="1030" height="608" alt="Screenshot 2025-10-11 at 7 08 45 PM" src="https://github.com/user-attachments/assets/ba4e9fdf-36d1-450d-b809-92e1c4ed140e" />
…101489) Since, going forward, we are only branding issue debugging features as Seer, let's remove the Seer icons from the user feedback AI summaries & categories and the replay AI summary. Also, replay AI summary is using a different badge component. Let's switch over to using the same one as UF for consistency. Before: <img width="683" height="99" alt="Screenshot 2025-10-14 at 3 04 24 PM" src="https://github.com/user-attachments/assets/337eda93-96ff-4e77-bc0a-d3ed9291bdd1" /> <img width="462" height="98" alt="Screenshot 2025-10-14 at 3 06 36 PM" src="https://github.com/user-attachments/assets/d5250d1a-5966-4940-a66a-a4cee7fa06f1" /> After: <img width="685" height="89" alt="Screenshot 2025-10-14 at 3 24 43 PM" src="https://github.com/user-attachments/assets/e961ac97-01c4-4283-ada7-95c4445c3eab" /> <img width="462" height="98" alt="Screenshot 2025-10-14 at 3 04 50 PM" src="https://github.com/user-attachments/assets/0a368164-b18a-434d-b68e-38e33e029b17" />
Fixes [NEW-566: The monitor slug should be copyable](https://linear.app/getsentry/issue/NEW-566/the-monitor-slug-should-be-copyable)
Try to point people towards the router returned from render, has no use in the new test environment.
Apply the formatting we use for single metric charts to those with group-bys as well. This will fix a bug where charts are not getting processed in Seer correctly
…o prevent empty state in compare page (#101454)
**Problem** When creating a new project, users can configure alerts to be sent to a Slack, Discord, or Microsoft Teams channel. Currently, the channel name is entered manually in a text field, with no pre-validation to verify that the channel actually exists. As a result, users may enter an invalid or non-existent channel. The issue is only detected after the form is submitted, when Sentry attempts to validate the channel. If the channel is invalid, an error is returned and the project creation fails. The experience is further complicated when projects are created via the modal (for example, when a user selects a vanilla platform like JavaScript, a modal is displayed asking if they want to use a more specific framework, and they can submit the form from there). If project creation fails due to an invalid channel, the resulting error appears beneath the modal and is difficult to see. (This UI issue will be addressed in a separate PR.) **Solution** To improve the user experience, we propose replacing the manual text field with a searchable Select field where users can choose a channel from a list (This will be done in multiple PRs and this is the first one). This PR introduces a new endpoint: `/integrations/(slack/discord/msteams)/channels/` - For Slack, the API supports cursor-based pagination and limit parameter - For Microsoft Teams and Discord, which return the full channel list without pagination, we implement cursor and limit manually and cache results to reduce repeated API requests. This helps users select an existing channel and reduces the likelihood of project creation failing due to invalid channel. contributes to https://linear.app/getsentry/issue/TET-1229/implement-dropdown-or-validation-for-slack-field
<img width="761" height="510" alt="image" src="https://github.com/user-attachments/assets/4e8c051c-cb78-48ed-8995-9bc6c58a85db" />
…date_project_config (#101331)" This reverts commit 06aedf6. Co-authored-by: shellmayr <[email protected]>
…irection (#101065) This changes the way how the "NoProjectMessage" is shown on mobile and tablet. A little padding is always added, so that the corners are not touching the browser borders. <details> <summary> Before on various mobile devices: </summary> <img width="300" height="940" alt="iPhonePro12_b" src="https://github.com/user-attachments/assets/556db191-0162-4ea2-8a70-c77c75f3c36a" /> <img width="300" height="1119" alt="iPadMini_b" src="https://github.com/user-attachments/assets/b1ce2569-52de-49cf-9304-9d99223257cf" /> <img width="300" height="1145" alt="iPadAir_b" src="https://github.com/user-attachments/assets/5e331af2-f417-48ab-8f59-c7c407d97edf" /> </details> <details> <summary> After on various mobile devices: </summary> <img width="300" height="928" alt="iPhonePro12" src="https://github.com/user-attachments/assets/1714fbbf-9599-4a6c-a595-e39de992d87e" /> <img width="300" height="1114" alt="iPadMini" src="https://github.com/user-attachments/assets/2e1ef4ea-c43c-42f3-be49-68d9f609ce2f" /> <img width="300" height="1142" alt="iPadAir" src="https://github.com/user-attachments/assets/50e775cc-bfd6-458c-b294-1d1f0e3fcdee" /> </details>
**Problem** Users who have paginated a table (with tableCursor in the URL) may encounter an empty page when they change the project, environment, or date. This happens because the pagination cursor points to a page that may not exist in the new context, even though results are available. **Solution** We should follow the behaviour of Discover tables and reset pagination cursors whenever the project, environment, or date changes.
This PR makes `contains` the default operator for string filters. Ticket EXP-499
This makes the granularity of the stack root consistent rather than trying to optimize number of created code mappings. This also removes the option and old code path from #101288.
Enable the SDK flag to add code source attributes to spans representing slow HTTP requests. Closes #101500 --------- Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
Format available tools nicely and highlight used ones. https://github.com/user-attachments/assets/fd8784a3-e24c-4d67-b2d7-e54f4d9655e9
Tweaks the Usage Overview table to make it more obvious when you can click a row. Changes: - changes row background on hover - surfaces button on hover - add-on dropdown behavior now occurs on whole row, as opposed to just on a button in the first column for that add-on - adjusted some column widths for larger screens - opening a new drawer should replace the browser URL instead of adding to the browser history https://github.com/user-attachments/assets/a9f2087e-f751-4733-a4c8-df63e5478bd9 Closes BIL-1671 and BIL-1679
Closes BIL-1681, BIL-1682, BIL-1683: - hides PAYG and Next Bill card for free plans <img width="2278" height="432" alt="Screenshot 2025-10-14 at 4 43 55 PM" src="https://github.com/user-attachments/assets/180d1dd2-b62d-4cda-8ca7-abff3dd16c76" /> - Shows empty bar for 0% Seer usage <img width="719" height="157" alt="Screenshot 2025-10-14 at 4 45 26 PM" src="https://github.com/user-attachments/assets/358f7cee-d697-410f-b5f3-6d2a53dcedec" />
Partial fix for EME-318
- Start replay recording every time any of the Usage & Billing settings pages are navigated to - Remove `trackSubscriptionView`; this event has been removed and we can use the automated Page View events instead - Add route analytics param for whether the page view is with the new UI flag - Automatically add analytics params for new checkout and new UI for all events defined in `trackGetsentryAnalytics`, instead of needing to manually add these flags for every relevant event - Adds some missing analytics events - Add feedback form button to every Usage & Billing settings page Closes BIL-1594, BIL-1595, and BIL-1640
Sentry projects have both ids (numerical) and slugs (string) here we were using slugs but all the variables were named projectId which was confusing.
|
🚨 Warning: This pull request contains Frontend and Backend changes! It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently. Have questions? Please ask in the |
|
This issue has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you remove the label "A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀 |
Sentry projects have both ids (numerical) and slugs (string) here we
were using slugs but all the variables were named projectId which was
confusing.