Skip to content

Commit 7e8cc1d

Browse files
Merge branch 'master' into priscila/ref/quick-start/rename-variables
2 parents 1d03331 + 544733e commit 7e8cc1d

File tree

274 files changed

+5287
-3883
lines changed

Some content is hidden

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

274 files changed

+5287
-3883
lines changed

Diff for: .github/actions/setup-sentry/action.yml

+29
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ inputs:
4343
description: 'PostgreSQL version to use'
4444
default: '14'
4545
required: false
46+
use-new-devservices:
47+
description: 'Use new devservices'
48+
required: false
49+
default: 'false'
50+
mode:
51+
description: 'Mode to bring up by new devservices'
52+
required: false
53+
default: 'default'
4654

4755
outputs:
4856
yarn-cache-dir:
@@ -139,6 +147,7 @@ runs:
139147
140148
- name: Start devservices
141149
shell: bash --noprofile --norc -eo pipefail -ux {0}
150+
if: ${{ inputs.use-new-devservices != 'true' }}
142151
env:
143152
NEED_KAFKA: ${{ inputs.kafka }}
144153
NEED_SNUBA: ${{ inputs.snuba }}
@@ -195,3 +204,23 @@ runs:
195204
# This is necessary when other repositories (e.g. relay) want to take advantage of this workflow
196205
# without needing to fork it. The path needed is the one where tools are located
197206
cd "$WORKDIR"
207+
208+
- name: Start new devservices
209+
if: ${{ inputs.use-new-devservices == 'true' }}
210+
shell: bash --noprofile --norc -eo pipefail -ux {0}
211+
env:
212+
WORKDIR: ${{ inputs.workdir }}
213+
ENABLE_AUTORUN_MIGRATION_SEARCH_ISSUES: '1'
214+
run: |
215+
sentry init
216+
217+
devservices up --mode ${{ inputs.mode }}
218+
219+
# have tests listen on the docker gateway ip so loopback can occur
220+
echo "DJANGO_LIVE_TEST_SERVER_ADDRESS=$(docker network inspect bridge --format='{{(index .IPAM.Config 0).Gateway}}')" >> "$GITHUB_ENV"
221+
222+
docker ps -a
223+
224+
# This is necessary when other repositories (e.g. relay) want to take advantage of this workflow
225+
# without needing to fork it. The path needed is the one where tools are located
226+
cd "$WORKDIR"

Diff for: .github/workflows/backend.yml

+1
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,7 @@ jobs:
330330
# mypy does not have granular codes so don't allow specific messages to regress
331331
set -euo pipefail
332332
! grep "'Settings' object has no attribute" .artifacts/mypy-all
333+
! grep 'Argument .* of "dispatch" is incompatible with' .artifacts/mypy-all
333334
! grep 'Cannot override class variable' .artifacts/mypy-all
334335
! grep 'Exception type must be derived from BaseException' .artifacts/mypy-all
335336
! grep 'Incompatible default for argument' .artifacts/mypy-all

Diff for: CHANGES

+32
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
24.12.2
2+
-------
3+
4+
### Various fixes & improvements
5+
6+
- feat(devservices): Add option to setup sentry with new devservices to existing action (#83415) by @hubertdeng123
7+
- ref(react19): Remove various styled defaultProps (#83409) by @scttcper
8+
- feat(new-trace-issues): Updating designs for trace preview in issue details (#83430) by @Abdkhan14
9+
- feat(metric-issues): Add "correlated issues" section (#83353) by @snigdhas
10+
- fix(ui): Clamp timeline zoom to the minute (#83435) by @evanpurkhiser
11+
- fix(eslint): Enable no-constant-binary-expression and fix violations (#83273) by @ryan953
12+
- feat(eap): Support eap autocompleting booleans (#83433) by @Zylphrex
13+
- fix(migrations): Actually fix BoundedPositiveBigIntegerField (#83431) by @wedamija
14+
- ref: delete dead serializer code (#83429) by @asottile-sentry
15+
- feat(ui): List available param keys in useParams (#83428) by @scttcper
16+
- ref: fix types for mentions serializer (#83424) by @asottile-sentry
17+
- :recycle: feat(workflow_engine): issue alert action migration util for slack (#83123) by @iamrajjoshi
18+
- feat(metric-issues): Hide log level indicator for non-error issues (#83354) by @snigdhas
19+
- ref: use types-requests-oauthlib (#83418) by @asottile-sentry
20+
- ref: use types-unidiff (#83416) by @asottile-sentry
21+
- ref(profiling) drop drag and drop functionality (#83420) by @JonasBa
22+
- ref: upgrade django-stubs (#83413) by @asottile-sentry
23+
- chore(alerts): Remove lingering activated alerts code (#83342) by @ceorourke
24+
- chore(analytics): Add experimental analytics for new streamlined orgs (#83390) by @leeandher
25+
- feat(dashboards): Improve duration Y axis label formatting (#83337) by @gggritso
26+
- ref(profiling): Merge profile provider for both modes (#83338) by @Zylphrex
27+
- fix(migrations): Set the correct internal type for BoundedPositiveBigIntegerField (#83412) by @wedamija
28+
- fix: check user in helper (#83407) by @oioki
29+
- fix(widget-builder): Aggregates with no column not wiped (#83410) by @narsaynorath
30+
31+
_Plus 775 more_
32+
133
24.12.1
234
-------
335

Diff for: eslint.config.mjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -281,14 +281,12 @@ export default typescript.config([
281281
...eslint.configs.recommended.rules,
282282
'no-cond-assign': ['error', 'always'],
283283
'no-case-declarations': 'off', // TODO(ryan953): Fix violations and delete this line
284-
'no-constant-binary-expression': 'off', // TODO(ryan953): Fix violations and delete this line
285284
'no-dupe-class-members': 'off', // TODO(ryan953): Fix violations and delete this line
286285
'no-import-assign': 'off', // TODO(ryan953): Fix violations and delete this line
287286
'no-prototype-builtins': 'off', // TODO(ryan953): Fix violations and delete this line
288287
'no-unsafe-optional-chaining': 'off', // TODO(ryan953): Fix violations and delete this line
289288
'no-useless-catch': 'off', // TODO(ryan953): Fix violations and delete this line
290289
'no-useless-escape': 'off', // TODO(ryan953): Fix violations and delete this line
291-
'valid-typeof': 'off', // TODO(ryan953): Fix violations and delete this line
292290
},
293291
},
294292
{
@@ -684,7 +682,7 @@ export default typescript.config([
684682
},
685683
{
686684
name: 'files/sentry-stories',
687-
files: ['**/*.stories.{tsx}'],
685+
files: ['**/*.stories.tsx'],
688686
rules: {
689687
'no-loss-of-precision': 'off', // Sometimes we have wild numbers hard-coded in stories
690688
},

Diff for: jest.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ const config: Config.InitialOptions = {
234234
'<rootDir>/tests/js/setup.ts',
235235
'<rootDir>/tests/js/setupFramework.ts',
236236
],
237-
testMatch: testMatch || ['<rootDir>/static/**/?(*.)+(spec|test).[jt]s?(x)'],
237+
testMatch: testMatch || ['<rootDir>/(static|tests/js)/**/?(*.)+(spec|test).[jt]s?(x)'],
238238
testPathIgnorePatterns: ['<rootDir>/tests/sentry/lang/javascript/'],
239239

240240
unmockedModulePathPatterns: [

Diff for: migrations_lockfile.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ remote_subscriptions: 0003_drop_remote_subscription
1515

1616
replays: 0004_index_together
1717

18-
sentry: 0813_rm_alertruleactivation_models
18+
sentry: 0815_add_action_cols_to_threads_model
1919

2020
social_auth: 0002_default_auto_field
2121

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146
"qrcode.react": "^3.1.0",
147147
"query-string": "7.0.1",
148148
"react": "18.2.0",
149-
"react-autosize-textarea": "7.1.0",
149+
"react-textarea-autosize": "8.5.7",
150150
"react-date-range": "^1.4.0",
151151
"react-dom": "18.2.0",
152152
"react-grid-layout": "^1.3.4",

Diff for: pyproject.toml

+1-8
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,9 @@ module = [
103103
"onelogin.saml2.idp_metadata_parser.*",
104104
"phabricator.*",
105105
"rb.*",
106-
"requests_oauthlib.*",
107106
"sqlparse.*",
108107
"statsd.*",
109108
"u2flib_server.model.*",
110-
"unidiff.*",
111109
]
112110
ignore_missing_imports = true
113111
# end: missing 3rd party stubs
@@ -134,7 +132,6 @@ module = [
134132
"sentry.api.endpoints.organization_events_meta",
135133
"sentry.api.endpoints.organization_events_spans_performance",
136134
"sentry.api.endpoints.organization_index",
137-
"sentry.api.endpoints.organization_issues_count",
138135
"sentry.api.endpoints.organization_member.details",
139136
"sentry.api.endpoints.organization_member.index",
140137
"sentry.api.endpoints.organization_member.requests.invite.details",
@@ -162,11 +159,9 @@ module = [
162159
"sentry.api.serializers.models.group",
163160
"sentry.api.serializers.models.group_stream",
164161
"sentry.api.serializers.models.organization",
165-
"sentry.api.serializers.models.plugin",
166162
"sentry.api.serializers.models.project",
167163
"sentry.api.serializers.models.role",
168164
"sentry.api.serializers.models.rule",
169-
"sentry.api.serializers.rest_framework.mentions",
170165
"sentry.auth.helper",
171166
"sentry.auth.provider",
172167
"sentry.auth.system",
@@ -188,10 +183,8 @@ module = [
188183
"sentry.incidents.tasks",
189184
"sentry.integrations.aws_lambda.integration",
190185
"sentry.integrations.bitbucket.client",
191-
"sentry.integrations.bitbucket.installed",
192186
"sentry.integrations.bitbucket.integration",
193187
"sentry.integrations.bitbucket.issues",
194-
"sentry.integrations.bitbucket.uninstalled",
195188
"sentry.integrations.bitbucket_server.client",
196189
"sentry.integrations.bitbucket_server.integration",
197190
"sentry.integrations.example.integration",
@@ -288,7 +281,6 @@ module = [
288281
"sentry.snuba.metrics.query_builder",
289282
"sentry.snuba.spans_metrics",
290283
"sentry.tagstore.snuba.backend",
291-
"sentry.tagstore.types",
292284
"sentry.tasks.auth",
293285
"sentry.tasks.base",
294286
"sentry.testutils.cases",
@@ -344,6 +336,7 @@ module = [
344336
"sentry.api.helpers.group_index.update",
345337
"sentry.api.helpers.source_map_helper",
346338
"sentry.api.serializers.models.organization_member.*",
339+
"sentry.api.serializers.rest_framework.group_notes",
347340
"sentry.audit_log.services.*",
348341
"sentry.auth.services.*",
349342
"sentry.auth.view",

Diff for: requirements-dev-frozen.txt

+8-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
#
77
--index-url https://pypi.devinfra.sentry.io/simple
88

9-
amqp==5.2.0
9+
amqp==5.3.1
1010
anyio==3.7.1
1111
asgiref==3.8.1
1212
attrs==24.2.0
1313
avalara==20.9.0
1414
beautifulsoup4==4.7.1
15-
billiard==4.2.0
15+
billiard==4.2.1
1616
black==24.10.0
1717
boto3==1.34.128
1818
botocore==1.34.128
@@ -44,7 +44,7 @@ django==5.1.4
4444
django-crispy-forms==1.14.0
4545
django-csp==3.8
4646
django-pg-zero-downtime-migrations==0.16
47-
django-stubs-ext==5.1.1
47+
django-stubs-ext==5.1.2
4848
djangorestframework==3.15.2
4949
docker==7.1.0
5050
drf-spectacular==0.26.3
@@ -92,7 +92,7 @@ jsonschema==4.20.0
9292
jsonschema-path==0.3.2
9393
jsonschema-spec==0.2.4
9494
jsonschema-specifications==2023.7.1
95-
kombu==5.3.6
95+
kombu==5.4.2
9696
lazy-object-proxy==1.10.0
9797
lxml==5.3.0
9898
lxml-stubs==0.4.0
@@ -184,7 +184,7 @@ sentry-arroyo==2.19.9
184184
sentry-cli==2.16.0
185185
sentry-covdefaults-disable-branch-coverage==1.0.2
186186
sentry-devenv==1.14.2
187-
sentry-forked-django-stubs==5.1.1.post1
187+
sentry-forked-django-stubs==5.1.2.post1
188188
sentry-forked-djangorestframework-stubs==3.15.2.post1
189189
sentry-forked-email-reply-parser==0.5.12.post1
190190
sentry-kafka-schemas==0.1.128
@@ -229,16 +229,18 @@ types-pytz==2022.1.2
229229
types-pyyaml==6.0.11
230230
types-redis==3.5.18
231231
types-requests==2.32.0.20241016
232+
types-requests-oauthlib==2.0.0.20240417
232233
types-setuptools==69.0.0.0
233234
types-simplejson==3.17.7.2
235+
types-unidiff==0.7.0.20240505
234236
typing-extensions==4.12.0
235237
tzdata==2023.3
236238
ua-parser==0.10.0
237239
unidiff==0.7.4
238240
uritemplate==4.1.1
239241
urllib3==2.2.2
240242
vine==5.1.0
241-
virtualenv==20.25.0
243+
virtualenv==20.26.6
242244
wcwidth==0.2.10
243245
werkzeug==3.0.6
244246
wheel==0.38.4

Diff for: requirements-dev.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pip-tools>=7.1.0
3737
packaging>=21.3
3838

3939
# for type checking
40-
sentry-forked-django-stubs>=5.1.1.post1
40+
sentry-forked-django-stubs>=5.1.2.post1
4141
sentry-forked-djangorestframework-stubs>=3.15.2.post1
4242
lxml-stubs
4343
msgpack-types>=0.2.0
@@ -57,5 +57,7 @@ types-pyyaml
5757
# make sure to match close-enough to redis==
5858
types-redis<4
5959
types-requests>=2.32.0.20241016
60+
types-requests-oauthlib
6061
types-setuptools>=68
6162
types-simplejson>=3.17.7.2
63+
types-unidiff

Diff for: requirements-frozen.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
#
77
--index-url https://pypi.devinfra.sentry.io/simple
88

9-
amqp==5.2.0
9+
amqp==5.3.1
1010
anyio==3.7.1
1111
asgiref==3.8.1
1212
attrs==24.2.0
1313
avalara==20.9.0
1414
beautifulsoup4==4.7.1
15-
billiard==4.2.0
15+
billiard==4.2.1
1616
boto3==1.34.128
1717
botocore==1.34.128
1818
brotli==1.1.0
@@ -73,7 +73,7 @@ isodate==0.6.1
7373
jmespath==0.10.0
7474
jsonschema==4.20.0
7575
jsonschema-specifications==2023.7.1
76-
kombu==5.3.6
76+
kombu==5.4.2
7777
lxml==5.3.0
7878
maxminddb==2.3.0
7979
milksnake==0.1.6

Diff for: src/sentry/api/endpoints/auth_config.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from django.conf import settings
22
from django.contrib.auth import REDIRECT_FIELD_NAME
3+
from django.http.request import HttpRequest
4+
from django.http.response import HttpResponseBase
35
from django.urls import reverse
46
from rest_framework.request import Request
57
from rest_framework.response import Response
@@ -30,7 +32,7 @@ class AuthConfigEndpoint(Endpoint, OrganizationMixin):
3032
# Disable authentication and permission requirements.
3133
permission_classes = ()
3234

33-
def dispatch(self, request: Request, *args, **kwargs) -> Response:
35+
def dispatch(self, request: HttpRequest, *args, **kwargs) -> HttpResponseBase:
3436
self.determine_active_organization(request)
3537
return super().dispatch(request, *args, **kwargs)
3638

Diff for: src/sentry/api/endpoints/organization_derive_code_mappings.py

-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from rest_framework.request import Request
33
from rest_framework.response import Response
44

5-
from sentry import features
65
from sentry.api.api_owners import ApiOwner
76
from sentry.api.api_publish_status import ApiPublishStatus
87
from sentry.api.base import region_silo_endpoint
@@ -42,9 +41,6 @@ def get(self, request: Request, organization: Organization) -> Response:
4241
:param string stacktraceFilename:
4342
:auth: required
4443
"""
45-
if not features.has("organizations:derive-code-mappings", organization):
46-
return Response(status=status.HTTP_403_FORBIDDEN)
47-
4844
stacktrace_filename = request.GET.get("stacktraceFilename")
4945
installation, _ = get_installation(organization) # only returns GitHub integrations
5046
if not installation:
@@ -85,9 +81,6 @@ def post(self, request: Request, organization: Organization) -> Response:
8581
:param string sourceRoot:
8682
:auth: required
8783
"""
88-
if not features.has("organizations:derive-code-mappings", organization):
89-
return Response(status=status.HTTP_403_FORBIDDEN)
90-
9184
installation, organization_integration = get_installation(organization)
9285
if not installation or not organization_integration:
9386
return self.respond(

0 commit comments

Comments
 (0)