Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
2d5bf7d
ref(settings): Migrate personal tokens pages to useScrapsForm (#110502)
JonasBa Apr 7, 2026
7a2c6f4
fix(ui): Remove overflow hidden from GuidedSteps StepDetails (#112336)
priscilawebdev Apr 7, 2026
2b9fb08
chore(dynamic-sampling): remove CustomDynamicSamplingRule models & ma…
shellmayr Apr 7, 2026
5f7a276
ref(autofix): Unnest if (#112114)
chromy Apr 7, 2026
36c5869
ref(preprod): Remove PreprodStaticGroupType and PreprodDeltaGroupType…
chromy Apr 7, 2026
52883b6
fix(onboarding): change agent monitoring empty state to use openai in…
constantinius Apr 7, 2026
fc84cb2
fix(codeowners): Add coverage for markdownTextArea and clean baseline…
chromy Apr 7, 2026
b456371
fix(test): open overlays immediately when in test mode (#112196)
JoshuaKGoldberg Apr 7, 2026
d4ad198
ref(tsc): refactor self-contained endpoints that need response header…
TkDodo Apr 7, 2026
09b9704
feat(tracemetrics): Update ArithmeticBuilder to allow for REFERENCE t…
narsaynorath Apr 7, 2026
cf81d6d
feat(logs): Move continue scanning into full button (#112351)
nsdeschenes Apr 7, 2026
8f626e0
feat(errors): main body content sections (#112139)
nikkikapadia Apr 7, 2026
0a58b34
ref(profiles): Remove dead code from `process_profile_task` (#112257)
mjq Apr 7, 2026
b7608da
feat(preprod): Add installable attribute to EAP alias mappings (#112363)
mtopo27 Apr 7, 2026
1ac5e9a
feat(seer): Add the stopping-point field to project-specific seer set…
ryan953 Apr 7, 2026
a85469a
feat(seer): Setup Agent bulk-edit on the Seer Autofix list page, and …
ryan953 Apr 7, 2026
4dda701
feat(data_export): add logging for data-export-failure (#112169)
JoshuaKGoldberg Apr 7, 2026
7c7bdcb
fix(logs): don't render numbers with >13 digits using commas (#112354)
JoshuaKGoldberg Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,7 @@ tests/sentry/api/endpoints/test_organization_attribute_mappings.py @get
/static/app/components/loading/ @getsentry/app-frontend
/static/app/components/events/interfaces/ @getsentry/app-frontend
/static/app/components/forms/ @getsentry/app-frontend
/static/app/components/markdownTextArea.tsx @getsentry/app-frontend
/static/app/locale.tsx @getsentry/app-frontend
## End of Frontend

Expand Down
25 changes: 0 additions & 25 deletions .github/codeowners-coverage-baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -253,11 +253,6 @@ src/sentry/stacktraces/processing.py
src/sentry/status_checks/__init__.py
src/sentry/status_checks/base.py
src/sentry/status_checks/warnings.py
src/sentry/synapse/__init__.py
src/sentry/synapse/endpoints/__init__.py
src/sentry/synapse/endpoints/authentication.py
src/sentry/synapse/endpoints/org_cell_mappings.py
src/sentry/synapse/paginator.py
src/sentry/tagstore/__init__.py
src/sentry/tagstore/base.py
src/sentry/tagstore/exceptions.py
Expand Down Expand Up @@ -643,18 +638,6 @@ static/app/components/events/eventTagsAndScreenshot/tags.tsx
static/app/components/events/eventViewHierarchy.spec.tsx
static/app/components/events/eventViewHierarchy.tsx
static/app/components/events/eventXrayDiff.tsx
static/app/components/events/groupingInfo/groupingComponent.tsx
static/app/components/events/groupingInfo/groupingComponentChildren.tsx
static/app/components/events/groupingInfo/groupingComponentFrames.tsx
static/app/components/events/groupingInfo/groupingComponentStacktrace.tsx
static/app/components/events/groupingInfo/groupingInfo.tsx
static/app/components/events/groupingInfo/groupingInfoSection.spec.tsx
static/app/components/events/groupingInfo/groupingInfoSection.tsx
static/app/components/events/groupingInfo/groupingSummary.tsx
static/app/components/events/groupingInfo/groupingVariant.spec.tsx
static/app/components/events/groupingInfo/groupingVariant.tsx
static/app/components/events/groupingInfo/useEventGroupingInfo.tsx
static/app/components/events/groupingInfo/utils.tsx
static/app/components/events/meta/annotatedText/annotatedTextErrors.tsx
static/app/components/events/meta/annotatedText/annotatedTextValue.tsx
static/app/components/events/meta/annotatedText/filteredAnnotatedTextValue.tsx
Expand Down Expand Up @@ -789,8 +772,6 @@ static/app/components/list/index.tsx
static/app/components/list/listItem.tsx
static/app/components/list/utils.tsx
static/app/components/listGroup.tsx
static/app/components/loading/loadingContainer.spec.tsx
static/app/components/loading/loadingContainer.tsx
static/app/components/loadingError.stories.tsx
static/app/components/loadingError.tsx
static/app/components/loadingIndicator.stories.tsx
Expand Down Expand Up @@ -2258,7 +2239,6 @@ tests/sentry/receivers/outbox/test_control.py
tests/sentry/receivers/test_analytics.py
tests/sentry/receivers/test_core.py
tests/sentry/receivers/test_data_forwarding.py
tests/sentry/receivers/test_default_detector.py
tests/sentry/receivers/test_featureadoption.py
tests/sentry/receivers/test_onboarding.py
tests/sentry/receivers/test_releases.py
Expand Down Expand Up @@ -2357,10 +2337,6 @@ tests/sentry/sudo/test_middleware.py
tests/sentry/sudo/test_signals.py
tests/sentry/sudo/test_utils.py
tests/sentry/sudo/test_views.py
tests/sentry/synapse/__init__.py
tests/sentry/synapse/endpoints/__init__.py
tests/sentry/synapse/endpoints/test_org_cell_mappings.py
tests/sentry/synapse/test_paginator.py
tests/sentry/tagstore/__init__.py
tests/sentry/tagstore/test_types.py
tests/sentry/tasks/__init__.py
Expand Down Expand Up @@ -2535,7 +2511,6 @@ tests/social_auth/test_utils.py
tests/tools/__init__.py
tests/tools/test_api_urls_to_typescript.py
tests/tools/test_bump_action.py
tests/tools/test_compute_selected_tests.py
tests/tools/test_flake8_plugin.py
tests/tools/test_lint_requirements.py
tests/tools/test_pin_github_action.py
Expand Down
2 changes: 1 addition & 1 deletion migrations_lockfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ replays: 0007_organizationmember_replay_access

seer: 0005_delete_seerorganizationsettings

sentry: 1062_backfill_eventattachment_date_expires
sentry: 1063_remove_customdynamicsamplingrule

social_auth: 0003_social_auth_json_field

Expand Down
14 changes: 13 additions & 1 deletion src/sentry/data_export/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,19 @@ def email_failure(self, message: str) -> None:
error_payload=self.payload,
creation_date=self.date_added,
)
if NotificationService.has_access(self.organization, data.source):
has_access = NotificationService.has_access(self.organization, data.source)
logger.info(
"notification.platform.data-export-failure.has_access",
extra={
"organization_id": self.organization.id,
"data_export_id": self.id,
"data_source": data.source,
"has_access": has_access,
"user_email": user.email,
},
)

if has_access:
NotificationService(data=data).notify_async(
targets=[
GenericNotificationTarget(
Expand Down
54 changes: 54 additions & 0 deletions src/sentry/migrations/1063_remove_customdynamicsamplingrule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Generated by Django 5.2.11 on 2026-04-02
import django.db.models.deletion
from django.db import migrations

import sentry.db.models.fields.foreignkey
from sentry.new_migrations.migrations import CheckedMigration
from sentry.new_migrations.monkey.models import SafeDeleteModel
from sentry.new_migrations.monkey.state import DeletionAction


class Migration(CheckedMigration):
is_post_deployment = False

dependencies = [
("sentry", "1062_backfill_eventattachment_date_expires"),
]

operations = [
migrations.AlterField(
model_name="customdynamicsamplingruleproject",
name="custom_dynamic_sampling_rule",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.customdynamicsamplingrule",
),
),
migrations.AlterField(
model_name="customdynamicsamplingruleproject",
name="project",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.project",
),
),
migrations.AlterField(
model_name="customdynamicsamplingrule",
name="organization",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.organization",
),
),
SafeDeleteModel(
name="CustomDynamicSamplingRuleProject",
deletion_action=DeletionAction.MOVE_TO_PENDING,
),
SafeDeleteModel(
name="CustomDynamicSamplingRule",
deletion_action=DeletionAction.MOVE_TO_PENDING,
),
]
1 change: 0 additions & 1 deletion src/sentry/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
from .deletedteam import * # NOQA
from .deploy import * # NOQA
from .distribution import * # NOQA
from .dynamicsampling import * # NOQA
from .environment import * # NOQA
from .event import * # NOQA
from .eventattachment import * # NOQA
Expand Down
74 changes: 0 additions & 74 deletions src/sentry/models/dynamicsampling.py

This file was deleted.

2 changes: 0 additions & 2 deletions src/sentry/organizations/services/organization/impl.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
from sentry.incidents.models.incident import IncidentActivity
from sentry.models.activity import Activity
from sentry.models.dashboard import Dashboard, DashboardFavoriteUser
from sentry.models.dynamicsampling import CustomDynamicSamplingRule
from sentry.models.groupassignee import GroupAssignee
from sentry.models.groupbookmark import GroupBookmark
from sentry.models.groupsearchview import GroupSearchView
Expand Down Expand Up @@ -581,7 +580,6 @@ def merge_users(self, *, organization_id: int, from_user_id: int, to_user_id: in
Activity,
AlertRule,
AlertRuleActivity,
CustomDynamicSamplingRule,
Dashboard,
DashboardFavoriteUser,
GroupAssignee,
Expand Down
47 changes: 0 additions & 47 deletions src/sentry/preprod/grouptype.py
Original file line number Diff line number Diff line change
@@ -1,54 +1,7 @@
from __future__ import annotations

from dataclasses import dataclass

import sentry.preprod.size_analysis.grouptype # noqa: F401,F403
from sentry.issues.grouptype import GroupCategory, GroupType
from sentry.types.group import PriorityLevel

# We have to import sentry.preprod.size_analysis.grouptype above.
# grouptype modules in root packages (src/sentry/*) are auto imported
# but more deeply nested ones are not.


@dataclass(frozen=True)
class PreprodStaticGroupType(GroupType):
"""
Issues detected in a single uploaded artifact. For example an
Android app not being 16kb page size ready.
Typically these end up grouped across multiple builds e.g. if CI
uploads a build of an app for each commit to main each of those
uploads could result in an occurrence of some issue like the 16kb
page size.
"""

type_id = 11001
slug = "preprod_static"
description = "Static Analysis"
category = GroupCategory.PREPROD.value
category_v2 = GroupCategory.PREPROD.value
default_priority = PriorityLevel.LOW
released = False
enable_auto_resolve = True
enable_escalation_detection = False


@dataclass(frozen=True)
class PreprodDeltaGroupType(GroupType):
"""
Issues detected examining the delta between two uploaded artifacts.
For example a binary size regression. These are typically *not*
grouped. A size regression between v1 and v2 likely does not have
the same root cause (and hence resolution) as another regression
between v2 and v3.
"""

type_id = 11002
slug = "preprod_delta"
description = "Static Analysis Delta"
category = GroupCategory.PREPROD.value
category_v2 = GroupCategory.PREPROD.value
default_priority = PriorityLevel.LOW
released = False
enable_auto_resolve = True
enable_escalation_detection = False
Loading
Loading