Skip to content

Commit

Permalink
Merge branch 'master' into spans-buffer-consumer-v2
Browse files Browse the repository at this point in the history
* master: (809 commits)
  feat(partnership): set password email template (#86366)
  feat(ui): chonkify InputGroup (#86282)
  feat(laravel-insights): New caches widget (#86367)
  fix(api): fix error in OrganizationSamplingProjectSpanCountsEndpoint when metric not set for projects (#86271)
  chore(shellmayr): remove metrics endpoints from api publish list (#86272)
  feat(laravel-insights): New queries widget (#86279)
  fix(seer-issues-patch) More logs (#86173)
  fix(seer-issues-patch) Loosen issues first_seen_at to 52 weeks (#86364)
  chore(stacktrace): Convert `RawContent` to functional component  (#85985)
  ref(aci): misc fixes for issue alert migration (#86342)
  fix(issue-details): Fix edge case with sidebar (#86041)
  chore(sentry apps): write out the categories for publishing emails (#86357)
  feat(releases): add user count/rate session breakdown charts on insights (#86353)
  chore(sentry app): update tests and remove FF for frontend publish flow (#86317)
  ref(releases): add ProjectBadge to release tables on insights (#86319)
  ref: fix types for endpoints.internal.mail (#86348)
  feat(releases): add session health breakdown chart to insights (#86340)
  ref(flags): improve group flags coverage on topValues and totalValues (#86345)
  chore(ACI): Make functions reusable, update tests (#86253)
  fix(aci): workflow name should allow 256 chars (#86344)
  ...
  • Loading branch information
jan-auer committed Mar 5, 2025
2 parents fabfcbb + f34ac45 commit 616f719
Show file tree
Hide file tree
Showing 2,696 changed files with 160,007 additions and 29,146 deletions.
26 changes: 19 additions & 7 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,6 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge
/tests/sentry/api/endpoints/test_organization_metric* @getsentry/telemetry-experience
/src/sentry/api/endpoints/organization_sessions.py @getsentry/telemetry-experience
/tests/snuba/api/endpoints/test_organization_sessions.py @getsentry/telemetry-experience
/tests/sentry/api/endpoints/test_projects_metrics_visibility.py @getsentry/telemetry-experience
/src/sentry/api/endpoints/organization_onboarding* @getsentry/telemetry-experience
/tests/sentry/api/endpoints/test_organization_onboarding* @getsentry/telemetry-experience
/src/sentry/api/endpoints/organization_sampling_project_span_counts.py @getsentry/telemetry-experience
Expand All @@ -490,28 +489,22 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge
/tests/sentry/sentry_metrics/querying/ @getsentry/telemetry-experience
/src/sentry/sentry_metrics/visibility/ @getsentry/telemetry-experience
/tests/sentry/sentry_metrics/visibility/ @getsentry/telemetry-experience
/src/sentry/sentry_metrics/extraction_rules.py @getsentry/telemetry-experience
/src/sentry/snuba/metrics/ @getsentry/telemetry-experience
/tests/sentry/snuba/metrics/ @getsentry/telemetry-experience

/static/app/actionCreators/metrics.spec.tsx @getsentry/telemetry-experience
/static/app/actionCreators/metrics.tsx @getsentry/telemetry-experience
/static/app/data/platformCategories.tsx @getsentry/telemetry-experience
/static/app/data/platformPickerCategories.tsx @getsentry/telemetry-experience
/static/app/data/platforms.tsx @getsentry/telemetry-experience
/static/app/gettingStartedDocs/ @getsentry/telemetry-experience
/static/app/types/metrics.tsx @getsentry/telemetry-experience
/static/app/types/project.tsx @getsentry/telemetry-experience
/static/app/utils/metrics/ @getsentry/telemetry-experience
/static/app/views/metrics/ @getsentry/telemetry-experience
/static/app/views/settings/project/dynamicSampling/ @getsentry/telemetry-experience
/static/app/views/settings/dynamicSampling/ @getsentry/telemetry-experience
/static/app/views/settings/projectMetrics/* @getsentry/telemetry-experience
/static/app/views/onboarding* @getsentry/telemetry-experience

/static/app/components/metrics/ @getsentry/telemetry-experience
/static/app/components/modals/metricWidgetViewerModal* @getsentry/telemetry-experience
/static/app/views/dashboards/metrics/ @getsentry/telemetry-experience
## End of Telemetry Experience


Expand Down Expand Up @@ -591,13 +584,31 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge
## Billing
/src/sentry/api/endpoints/check_am2_compatibility.py @getsentry/revenue

## gsApp
/static/gsApp/* @getsentry/revenue
/static/gsApp/components/gsBanner.tsx @getsentry/revenue
/static/gsApp/hooks/useAM2* @getsentry/revenue
/static/gsApp/views/checkout/ @getsentry/revenue
/static/gsApp/views/amCheckout/ @getsentry/revenue
/static/gsApp/views/subscriptionPage/ @getsentry/revenue
/static/gsApp/hooks/spendVisibility/ @getsentry/revenue
/static/gsApp/views/spendAllocations/ @getsentry/revenue
/static/gsApp/views/spikeProtection/ @getsentry/revenue
/static/gsApp/hooks/superuser* @getsentry/enterprise
/static/gsApp/hooks/integration* @getsentry/ecosystem
/static/gsApp/hooks/escalatingIssues* @getsentry/issues
/static/gsApp/hooks/issue* @getsentry/issues
/static/gsApp/components/crons/ @getsentry/crons
/static/gsApp/components/replay* @getsentry/replay-frontend

## ML & AI
*autofix*.py @getsentry/machine-learning-ai
/src/sentry/api/endpoints/event_ai_suggested_fix.py @getsentry/machine-learning-ai
/static/app/components/events/aiSuggestedSolution/ @getsentry/machine-learning-ai
/static/app/components/events/autofix/ @getsentry/machine-learning-ai
/static/app/components/modals/autofixSetupModal.spec.tsx @getsentry/machine-learning-ai
/static/app/components/modals/autofixSetupModal.tsx @getsentry/machine-learning-ai
/src/sentry/seer/fetch_issues_given_patches.py @getsentry/machine-learning-ai
## End of ML & AI

## Processing
Expand Down Expand Up @@ -656,4 +667,5 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge

## Frontend Platform (keep last as we want highest specificity)
/static/app/utils/theme/ @getsentry/design-engineering
/static/app/components/core/ @getsentry/design-engineering
## End of Frontend Platform
4 changes: 2 additions & 2 deletions .github/file-filters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ typecheckable_rules_changed: &typecheckable_rules_changed
# Trigger to apply the 'Scope: Frontend' label to PRs
frontend_all: &frontend_all
- added|modified: '**/*.[tj]{s,sx}'
- added|modified: '**/*.{less,json,yml,md}'
- added|modified: '{.volta,vercel}.json'
- added|modified: 'static/**/*.{less,json,yml,md}'
- added|modified: '{.volta,vercel,tsconfig,biome,package}.json'

# Also used in `getsentry-dispatch.yml` to dispatch backend tests on getsentry
backend_dependencies: &backend_dependencies
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/codecov_ats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ jobs:
uses: ./.github/actions/setup-sentry
id: setup
with:
use-new-devservices: true
mode: backend-ci
- name: Download Codecov CLI
run: |
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/codecov_per_test_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ jobs:
uses: ./.github/actions/setup-sentry
id: setup
with:
use-new-devservices: true
mode: backend-ci

- name: Run backend test (${{ steps.setup.outputs.matrix-instance-number }} of ${{ steps.setup.outputs.matrix-instance-total }}) with --cov-context=test
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/migrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ jobs:
- name: Setup sentry env
uses: ./.github/actions/setup-sentry
with:
use-new-devservices: true
mode: migrations

- name: Apply migrations
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/openapi-diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ jobs:
- name: Setup sentry env
uses: ./.github/actions/setup-sentry
with:
use-new-devservices: true
mode: migrations
if: steps.changes.outputs.api_docs == 'true'

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ jobs:
- name: Setup sentry env
uses: ./.github/actions/setup-sentry
with:
use-new-devservices: true
mode: migrations
if: steps.changes.outputs.api_docs == 'true'

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/shuffle-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ jobs:
uses: ./.github/actions/setup-sentry
id: setup
with:
use-new-devservices: true
mode: backend-ci

- name: Run backend test (${{ steps.setup.outputs.matrix-instance-number }} of ${{ steps.setup.outputs.matrix-instance-total }})
Expand Down
55 changes: 55 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,58 @@
25.2.0
------

### Automate Code Mappings & In-App Stack Trace Rules for Java projects (ongoing)

Currently, we ask developers to set up their Java code mappings manually (because the SDK cannot determine it):
https://docs.sentry.io/platforms/java/source-context/#setting-up-code-mappings

Unfortunately, many stack traces do not contain in-app frames, thus, many Sentry features are not available (e.g. SCM linking, suspect commit).

This tracks using the code mappings derivation system to automatically add the code mappings and stack trace rules to mark in-app frames as such.

This will automatically enable the following Sentry features :
- Suspect Commits
- GitHub pull request comments
- Auto-assignments (if Codeowners imported)
- Stack trace linking
- Code coverage (if the customer also has an account)

This will only be available to customers with the GitHub integration installed.

You can read more about the system here:
https://blog.sentry.io/code-mappings-and-why-they-matter/

By: @armenzg (#85174, #85065)

### Various fixes & improvements

- Revert "feat(autofix): Add Autofix status to sidebar button (#85287)" (b20e50ed) by @getsentry-bot
- fix(autofix): Fix flash on initial run (#85299) by @roaga
- feat(autofix): Add Autofix status to sidebar button (#85287) by @roaga
- fix(issues): Left align commit authors (#85291) by @scttcper
- :sparkles: feat(aci): add support for sentry apps for issue alerts in NOA (#85218) by @iamrajjoshi
- feat(crons): Implement an all checks page for crons (#85202) by @leeandher
- fix(apidocs): fix typo in user feedback api (#85280) by @michellewzhang
- ref(dashboards): Namespaced `Widget` components (#85238) by @gggritso
- ref(uptime): Remove config_topic from UptimeRegionConfig (#85155) by @evanpurkhiser
- ref(seer grouping): Add ability to ignore useless filenames (#85277) by @lobsterkatie
- fix(auto_source_config): Handle when the frame is None (#85235) by @armenzg
- feat(issues): Disable delete on missing permission (#85278) by @scttcper
- fix(widget-builder): Visualize field overflows on long field names (#85271) by @nikkikapadia
- feat(nav): Update rest of alert links to use new pathname builder (#85257) by @malwilley
- fix(profiling): Prevent landing page from scrolling on context menu (#85273) by @Zylphrex
- ref: remove default margin from Alert in sentry (#85128) by @michellewzhang
- feat(taskworker) Add metrics for RPC durations (#85194) by @markstory
- feat(nav): Update alert links from explore/insights/crons (#85254) by @malwilley
- feat(nav): Update replay onboarding to use drawer (#85267) by @malwilley
- ref(crons): Rename parallel field -> batched_parallel (#85261) by @evanpurkhiser
- Reapply "ref(crons): Remove parallel mode (batched-parallel replaced it)" (#85262) by @evanpurkhiser
- ref(widget-builder): Extract selection components (#85248) by @narsaynorath
- chore(apis): Publish GroupExternalIssue endpoint (#85184) by @Christinarlong
- ref: get_group_{body,title,description} to not need request (#85263) by @asottile-sentry

_Plus 1429 more_

25.1.0
------

Expand Down
7 changes: 5 additions & 2 deletions config/tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,13 @@
"sentry/*": ["static/app/*"],
"sentry-fixture/*": ["tests/js/fixtures/*"],
"sentry-test/*": ["tests/js/sentry-test/*"],
"getsentry-test/*": ["tests/js/getsentry-test/*"],
"sentry-images/*": ["static/images/*"],
"sentry-locale/*": ["src/sentry/locale/*"],
"sentry-logos/*": ["src/sentry/static/sentry/images/logos/*"],
"sentry-fonts/*": ["static/fonts/*"]
"sentry-fonts/*": ["static/fonts/*"],
"getsentry/*": ["static/gsApp/*"],
"getsentry-images/*": ["static/images/*"]
},

"plugins": [
Expand All @@ -112,7 +115,7 @@
{ "name": "@styled/typescript-styled-plugin" }
]
},
"include": ["../static/app", "../tests/js"],
"include": ["../static/app", "../static/gsApp", "../tests/js"],
"exclude": ["../node_modules", "../**/*.benchmark.ts"],
"ts-node": {
"transpileOnly": true
Expand Down
1 change: 1 addition & 0 deletions config/tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"exclude": [
"../tests/js",
"../static/app/**/*.spec.*",
"../static/gsApp/**/*.spec.*",
"../static/app/**/*.benchmark.ts"
]
}
26 changes: 1 addition & 25 deletions devenv/config.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[devenv]
minimum_version = 1.13.0
minimum_version = 1.14.2

[venv.sentry]
python = 3.13.1
Expand Down Expand Up @@ -42,30 +42,6 @@ linux_x86_64_sha256 = 83bf07dd343002a26211cf1fcd46a9d9534219aad42ee02847816940bf
version = v22.11.0
yarn_version = 1.22.22

[colima]
darwin_x86_64 = https://github.com/abiosoft/colima/releases/download/v0.7.5/colima-Darwin-x86_64
darwin_x86_64_sha256 = 53f78b4aaef5fb5dab65cae19fba4504047de1fdafa152fba90435d8a7569c2b
darwin_arm64 = https://github.com/abiosoft/colima/releases/download/v0.7.5/colima-Darwin-arm64
darwin_arm64_sha256 = 267696d6cb28eaf6daa3ea9622c626697b4baeb847b882d15b26c732e841913c
linux_x86_64 = https://github.com/abiosoft/colima/releases/download/v0.7.5/colima-Linux-x86_64
linux_x86_64_sha256 = a3d440033776b2fb0cdd6139a2dbebf6764aabf78a671d4aa13b45c26df21a8a
linux_arm64 = https://github.com/abiosoft/colima/releases/download/v0.7.5/colima-Linux-aarch64
linux_arm64_sha256 = 330e11a4b2e5ce69ee6253635308c9f0f49195f236da01718ede35cdb2729901
# used for autoupdate
version = v0.7.5

[lima]
# upstream github releases aren't built for macOS 14, so we use homebrew binaries
# from https://formulae.brew.sh/api/formula/lima.json
darwin_x86_64 = https://ghcr.io/v2/homebrew/core/lima/blobs/sha256:c2e69a572afa3a3cf895643ede988c87dc0622dae4aebc539d5564d820845841
darwin_x86_64_sha256 = c2e69a572afa3a3cf895643ede988c87dc0622dae4aebc539d5564d820845841
darwin_arm64 = https://ghcr.io/v2/homebrew/core/lima/blobs/sha256:be8e2b92961eca2f862f1a994dbef367e86d36705a705ebfa16d21c7f1366c35
darwin_arm64_sha256 = be8e2b92961eca2f862f1a994dbef367e86d36705a705ebfa16d21c7f1366c35
linux_x86_64 = https://ghcr.io/v2/homebrew/core/lima/blobs/sha256:741e9c7345e15f04b8feaf5034868f00fc3ff792226c485ab2e7679803411e0c
linux_x86_64_sha256 = 741e9c7345e15f04b8feaf5034868f00fc3ff792226c485ab2e7679803411e0c
# used for autoupdate
version = 0.23.2

# kept here only for compatibility with older `devenv`
[python]
version = 3.13.1
Expand Down
27 changes: 5 additions & 22 deletions devenv/sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def check_minimum_version(minimum_version: str) -> bool:


def main(context: dict[str, str]) -> int:
minimum_version = "1.13.0"
minimum_version = "1.14.2"
if not check_minimum_version(minimum_version):
raise SystemExit(
f"""
Expand Down Expand Up @@ -111,13 +111,10 @@ def main(context: dict[str, str]) -> int:

USE_OLD_DEVSERVICES = os.environ.get("USE_OLD_DEVSERVICES") == "1"

if constants.DARWIN and check_minimum_version("1.14.2"):
# `devenv update`ing to >=1.14.0 will install global colima
# so if it's there, uninstall the repo local stuff
if os.path.exists(f"{constants.root}/bin/colima"):
binroot = f"{reporoot}/.devenv/bin"
colima.uninstall(binroot)
limactl.uninstall(binroot)
if constants.DARWIN and os.path.exists(f"{constants.root}/bin/colima"):
binroot = f"{reporoot}/.devenv/bin"
colima.uninstall(binroot)
limactl.uninstall(binroot)

from devenv.lib import node

Expand All @@ -139,20 +136,6 @@ def main(context: dict[str, str]) -> int:
print(f"ensuring {repo} venv at {venv_dir}...")
venv.ensure(venv_dir, python_version, url, sha256)

if constants.DARWIN:
colima.install(
repo_config["colima"]["version"],
repo_config["colima"][constants.SYSTEM_MACHINE],
repo_config["colima"][f"{constants.SYSTEM_MACHINE}_sha256"],
reporoot,
)
limactl.install(
repo_config["lima"]["version"],
repo_config["lima"][constants.SYSTEM_MACHINE],
repo_config["lima"][f"{constants.SYSTEM_MACHINE}_sha256"],
reporoot,
)

if not run_procs(
repo,
reporoot,
Expand Down
18 changes: 10 additions & 8 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,8 @@ export default typescript.config([
...importPlugin.flatConfigs.recommended,
name: 'plugin/import',
rules: {
// https://github.com/import-js/eslint-plugin-import/blob/main/config/recommended.js
...importPlugin.flatConfigs.recommended.rules,
'import/newline-after-import': 'error', // https://prettier.io/docs/en/rationale.html#empty-lines
'import/no-absolute-path': 'error',
'import/no-amd': 'error',
Expand All @@ -309,9 +311,6 @@ export default typescript.config([
'import/no-named-default': 'error',
'import/no-nodejs-modules': 'error',
'import/no-webpack-loader-syntax': 'error',

// https://github.com/import-js/eslint-plugin-import/blob/main/config/recommended.js
...importPlugin.flatConfigs.recommended.rules,
'import/default': 'off', // Disabled in favor of typescript-eslint
'import/named': 'off', // Disabled in favor of typescript-eslint
'import/namespace': 'off', // Disabled in favor of typescript-eslint
Expand Down Expand Up @@ -412,15 +411,16 @@ export default typescript.config([
rules: {
'prefer-spread': 'off',
'@typescript-eslint/prefer-enum-initializers': 'error',
'no-unused-expressions': 'off', // Disabled in favor of @typescript-eslint/no-unused-expressions
'@typescript-eslint/no-unused-expressions': ['error', {allowTernary: true}],

// Recommended overrides
'@typescript-eslint/no-empty-object-type': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-empty-object-type': ['error', {allowInterfaces: 'always'}],
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-require-imports': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-this-alias': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-unsafe-function-type': 'off', // TODO(ryan953): Fix violations and delete this line

// Strict overrides
'@typescript-eslint/no-dynamic-delete': 'off', // TODO(ryan953): Fix violations and delete this line
Expand All @@ -435,7 +435,6 @@ export default typescript.config([
'@typescript-eslint/consistent-indexed-object-style': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/consistent-type-definitions': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-empty-function': 'off', // TODO(ryan953): Fix violations and delete this line
'@typescript-eslint/no-inferrable-types': 'off', // TODO(ryan953): Fix violations and delete this line

// Customization
'@typescript-eslint/no-unused-vars': [
Expand Down Expand Up @@ -505,8 +504,6 @@ export default typescript.config([
// Internal packages.
['^(sentry-locale|sentry-images)(/.*|$)'],

['^(getsentry-images)(/.*|$)'],

['^(app|sentry)(/.*|$)'],

// Getsentry packages.
Expand Down Expand Up @@ -659,6 +656,11 @@ export default typescript.config([
{
paths: [
...restrictedImportPaths,
{
name: 'sentry/components/button',
message:
"Cannot depend on Button from inside the toolbar. Button depends on analytics tracking which isn't avaialble in the toolbar context",
},
{
name: 'sentry/utils/queryClient',
message:
Expand Down
Loading

0 comments on commit 616f719

Please sign in to comment.