Skip to content

Commit f02b29b

Browse files
authored
Merge branch 'master' into shaunkaasten/dain-1281-customer-unable-to-create-dashboards-from-widget-library
2 parents d9b5b8c + 6e0886f commit f02b29b

File tree

264 files changed

+6501
-2893
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

264 files changed

+6501
-2893
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,7 @@ tests/sentry/api/endpoints/test_organization_attribute_mappings.py @get
832832
/static/app/components/core/ @getsentry/design-engineering
833833
/static/app/components/dnd/ @getsentry/design-engineering
834834
/static/app/components/pageFilters/ @getsentry/design-engineering
835+
/static/app/components/backendJsonFormAdapter/ @getsentry/design-engineering
835836
/static/app/icons/ @getsentry/design-engineering
836837
/static/app/stories/ @getsentry/design-engineering
837838
/static/app/components/commandPalette/ @getsentry/design-engineering

eslint.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,7 @@ export default typescript.config([
609609
'@typescript-eslint/no-for-in-array': 'error',
610610
'@typescript-eslint/no-unnecessary-template-expression': 'error',
611611
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
612+
'@typescript-eslint/no-unnecessary-type-parameters': 'error',
612613
'@typescript-eslint/switch-exhaustiveness-check': [
613614
'error',
614615
{considerDefaultExhaustiveForUnions: true},

migrations_lockfile.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ replays: 0007_organizationmember_replay_access
3131

3232
seer: 0005_delete_seerorganizationsettings
3333

34-
sentry: 1064_eventattachment_date_expires_now
34+
sentry: 1065_delete_customdynamicsamplingrule
3535

3636
social_auth: 0003_social_auth_json_field
3737

3838
tempest: 0003_use_encrypted_char_field
3939

4040
uptime: 0055_backfill_2xx_status_assertion
4141

42-
workflow_engine: 0111_add_workflowfirehistory_date_added_index
42+
workflow_engine: 0112_drop_redundant_error_detector_workflows

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,7 @@ module = [
682682
"sentry.tasks.beacon",
683683
"sentry.tasks.codeowners.*",
684684
"sentry.tasks.commit_context",
685+
"sentry.tasks.commits",
685686
"sentry.tasks.on_demand_metrics",
686687
"sentry.tasks.post_process",
687688
"sentry.tasks.reprocessing2",

src/sentry/analytics/events/autofix_events.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class AiAutofixPrCreatedCompletedEvent(AiAutofixPhaseEvent):
7272
@analytics.eventclass("ai.autofix.agent_handoff")
7373
class AiAutofixAgentHandoffEvent(AiAutofixPhaseEvent):
7474
coding_agent: str | None
75+
initiator: str | None = None
7576

7677

7778
analytics.register(AiAutofixRootCauseStartedEvent)

src/sentry/api/bases/rule.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ def convert_args(
6262
if use_workflow_engine:
6363
try:
6464
arw = AlertRuleWorkflow.objects.get(
65-
rule_id=rule_id, workflow__organization=project.organization
65+
rule_id=rule_id,
66+
workflow__organization=project.organization,
67+
workflow__status=ObjectStatus.ACTIVE,
6668
)
6769
kwargs["rule"] = arw.workflow
6870
except AlertRuleWorkflow.DoesNotExist:

src/sentry/api/endpoints/organization_events_stats.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
Referrer.API_ENDPOINT_REGRESSION_ALERT_CHARTCUTERIE.value,
5454
Referrer.API_FUNCTION_REGRESSION_ALERT_CHARTCUTERIE.value,
5555
Referrer.DISCOVER_SLACK_UNFURL.value,
56+
Referrer.EXPLORE_SLACK_UNFURL.value,
5657
]
5758

5859
logger = logging.getLogger(__name__)

src/sentry/api/endpoints/project_rule_details.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,10 @@ def delete(self, request: Request, project: Project, rule: Rule | Workflow) -> R
451451
rule=rule, user_id=request.user.id, type=RuleActivityType.DELETED.value
452452
)
453453
scheduled = CellScheduledDeletion.schedule(rule, days=0, actor=request.user)
454+
# The Rule's scheduled deletion should take care of the workflow, but
455+
# we mark it pending immediately so we don't return it while the deletion is in progress.
456+
for workflow in Workflow.objects.filter(alertruleworkflow__rule_id=rule.id):
457+
workflow.update(status=ObjectStatus.PENDING_DELETION)
454458

455459
self.create_audit_entry(
456460
request=request,

src/sentry/db/router.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ class SiloRouter:
7676
"sentry_alertruleactivations": SiloMode.CELL,
7777
"sentry_alertruleactivationcondition": SiloMode.CELL,
7878
"sentry_code_review_event": SiloMode.CELL,
79+
"sentry_customdynamicsamplingrule": SiloMode.CELL,
80+
"sentry_customdynamicsamplingruleproject": SiloMode.CELL,
7981
"sentry_dashboardwidgetsnapshot": SiloMode.CELL,
8082
"sentry_datasecrecywaiver": SiloMode.CELL,
8183
"sentry_incidentseen": SiloMode.CELL,

src/sentry/features/temporary.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ def register_temporary_features(manager: FeatureManager) -> None:
6060
manager.add("organizations:code-review-experiments-enabled", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)
6161
# Enable continuous profiling
6262
manager.add("organizations:continuous-profiling", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
63-
# Enabled for beta orgs
64-
manager.add("organizations:continuous-profiling-beta", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, api_expose=True)
6563
# Enabled ui for beta orgs
6664
manager.add("organizations:continuous-profiling-beta-ui", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
6765
# Display profile durations on the stats page
@@ -138,6 +136,7 @@ def register_temporary_features(manager: FeatureManager) -> None:
138136
manager.add("organizations:integrations-claude-code", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
139137
manager.add("organizations:integrations-cursor", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
140138
manager.add("organizations:integrations-github-copilot-agent", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
139+
manager.add("organizations:integrations-github-fetch-commits-compare-cache", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)
141140
manager.add("organizations:integrations-github-platform-detection", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
142141
manager.add("organizations:github-repo-auto-sync", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)
143142
manager.add("organizations:github-repo-auto-sync-apply", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)

0 commit comments

Comments
 (0)