Skip to content

Commit 0872189

Browse files
authored
Merge branch 'master' into jodi/embeddings-grouping-thread-stacktrace
2 parents 51636e2 + e048f9e commit 0872189

File tree

639 files changed

+4603
-27393
lines changed

Some content is hidden

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

639 files changed

+4603
-27393
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -480,24 +480,24 @@ static/app/components/events/eventStatisticalDetector/ @getse
480480

481481

482482
## Issues
483+
**/issues/** @getsentry/issues
484+
/src/sentry/api/helpers/source_map_helper.py @getsentry/issues
485+
/src/sentry/api/helpers/actionable_items_helper.py @getsentry/issues
483486
/src/sentry/event_manager.py @getsentry/issues
484487
/src/sentry/grouping/ @getsentry/issues
485-
/src/sentry/issues/ @getsentry/issues
486488
/src/sentry/tasks/post_process.py @getsentry/issues
487489
/src/sentry/tasks/unmerge.py @getsentry/issues
490+
/src/sentry/search/snuba/ @getsentry/issues
488491
/tests/sentry/event_manager/ @getsentry/issues
489492
/tests/sentry/grouping/ @getsentry/issues
490-
/tests/sentry/issues/ @getsentry/issues
491493
/tests/sentry/search/ @getsentry/issues
492494
/tests/sentry/tasks/test_post_process.py @getsentry/issues
493495
/tests/snuba/search/ @getsentry/issues
494-
/src/sentry/search/snuba/ @getsentry/issues
495-
/static/app/views/issueList @getsentry/issues
496-
/src/sentry/api/helpers/source_map_helper.py @getsentry/issues
497-
/src/sentry/api/helpers/actionable_items_helper.py @getsentry/issues
496+
/static/app/views/issueList @getsentry/issues
497+
/static/app/views/issueList @getsentry/issues
498498
/static/app/components/events/interfaces/crashContent/exception/actionableItems.tsx @getsentry/issues
499-
/static/app/utils/analytics.tsx @getsentry/issues
500-
/static/app/utils/routeAnalytics/ @getsentry/issues
499+
/static/app/utils/analytics.tsx @getsentry/issues
500+
/static/app/utils/routeAnalytics/ @getsentry/issues
501501
## End of Issues
502502

503503
## Billing

.github/CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
## Feedback, Advice, and General Help
22

33
If you're looking to provide general feedback, or get help or advice, please
4-
utilize our [community forum](https://forum.sentry.io/) rather than GitHub Issues.
4+
utilize [GitHub Discussions](https://github.com/getsentry/sentry/discussions)
5+
rather than GitHub Issues.
56

67
## Contributing to Sentry
78

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ repos:
9494
rev: v1.10.0
9595
hooks:
9696
- id: python-use-type-annotations
97+
- id: python-check-blanket-type-ignore
9798

9899
- repo: https://github.com/python-jsonschema/check-jsonschema
99100
rev: 0.24.1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Sentry is a developer-first error tracking and performance monitoring platform t
4545
# Resources
4646

4747
- [Documentation](https://docs.sentry.io/)
48-
- [Community](https://forum.sentry.io/) (Bugs, feature requests,
48+
- [Discussions](https://github.com/getsentry/sentry/discussions) (Bugs, feature requests,
4949
general questions)
5050
- [Discord](https://discord.gg/PXa5Apfe7K)
5151
- [Contributing](https://docs.sentry.io/internal/contributing/)

build-utils/sentry-instrumentation.ts

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-env node */
2-
import type Sentry from '@sentry/node';
3-
import type {Transaction} from '@sentry/types';
2+
import type * as Sentry from '@sentry/node';
3+
import type {Span} from '@sentry/types';
44
import crypto from 'node:crypto';
55
import https from 'node:https';
66
import os from 'node:os';
@@ -33,7 +33,7 @@ class SentryInstrumentation {
3333

3434
Sentry?: typeof Sentry;
3535

36-
transaction?: Transaction;
36+
span?: Span;
3737

3838
constructor() {
3939
// Only run if SENTRY_INSTRUMENTATION` is set or when in ci,
@@ -42,14 +42,14 @@ class SentryInstrumentation {
4242
return;
4343
}
4444

45-
const sentry = require('@sentry/node');
46-
const {ProfilingIntegration} = require('@sentry/profiling-node');
45+
const sentry = require('@sentry/node') as typeof Sentry;
46+
const {nodeProfilingIntegration} = require('@sentry/profiling-node');
4747

4848
sentry.init({
4949
dsn: 'https://3d282d186d924374800aa47006227ce9@sentry.io/2053674',
5050
environment: IS_CI ? 'ci' : 'local',
5151
tracesSampleRate: 1.0,
52-
integrations: [new ProfilingIntegration()],
52+
integrations: [nodeProfilingIntegration()],
5353
profilesSampler: ({transactionContext}) => {
5454
if (transactionContext.name === INCREMENTAL_BUILD_TXN) {
5555
return 0;
@@ -76,11 +76,9 @@ class SentryInstrumentation {
7676

7777
this.Sentry = sentry;
7878

79-
this.transaction = sentry.startTransaction({
79+
this.span = sentry.startInactiveSpan({
8080
op: 'webpack-build',
81-
name: !this.hasInitializedBuild ? INITIAL_BUILD_TXN : INCREMENTAL_BUILD_TXN,
82-
description: 'webpack build times',
83-
trimEnd: true,
81+
name: INITIAL_BUILD_TXN,
8482
});
8583
}
8684

@@ -132,21 +130,20 @@ class SentryInstrumentation {
132130
if (!this.Sentry) {
133131
return;
134132
}
135-
if (this.hasInitializedBuild) {
136-
this.transaction = this.Sentry.startTransaction({
137-
op: 'webpack-build',
138-
name: !this.hasInitializedBuild ? 'initial-build' : 'incremental-build',
139-
description: 'webpack build times',
140-
startTimestamp: startTime,
141-
trimEnd: true,
142-
});
143-
}
144133

145-
this.transaction
134+
const span = !this.hasInitializedBuild
135+
? this.span
136+
: this.Sentry.startInactiveSpan({
137+
op: 'webpack-build',
138+
name: INCREMENTAL_BUILD_TXN,
139+
startTime,
140+
});
141+
142+
span
146143
?.startChild({
147144
op: 'build',
148-
description: 'webpack build',
149-
data: {
145+
name: 'webpack build',
146+
attributes: {
150147
os: `${os.platform()} ${os.arch()} v${os.release()}`,
151148
memory: os.freemem()
152149
? `${os.freemem() / GB_BYTE} / ${os.totalmem() / GB_BYTE} GB (${
@@ -157,8 +154,9 @@ class SentryInstrumentation {
157154
},
158155
startTimestamp: startTime,
159156
})
160-
.finish(endTime);
161-
this.transaction?.finish();
157+
.end(endTime);
158+
159+
span?.end();
162160
}
163161

164162
apply(compiler: webpack.Compiler) {

devenv/sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import subprocess
66

77
from devenv import constants
8-
from devenv.lib import venv # type: ignore
8+
from devenv.lib import venv # type: ignore[attr-defined]
99
from devenv.lib import colima, config, limactl, proc, volta
1010

1111

fixtures/js-stubs/config.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export function ConfigFixture(params: Partial<Config> = {}): Config {
1313
superUserCookieDomain: '.sentry.io',
1414
validateSUForm: true,
1515
features: new Set(),
16+
shouldPreloadData: true,
1617
singleOrganization: false,
1718
enableAnalytics: true,
1819
urlPrefix: 'https://sentry-jest-tests.example.com/',

fixtures/js-stubs/organization.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ export function OrganizationFixture(
6262
isDefault: false,
6363
isDynamicallySampled: true,
6464
isEarlyAdopter: false,
65+
genAIConsent: false,
6566
openMembership: false,
6667
pendingAccessRequests: 0,
6768
quota: {
@@ -75,6 +76,7 @@ export function OrganizationFixture(
7576
safeFields: [],
7677
scrubIPAddresses: false,
7778
sensitiveFields: [],
79+
aggregatedDataConsent: false,
7880
storeCrashReports: 0,
7981
trustedRelays: [],
8082
teams: [],

migrations_lockfile.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ feedback: 0004_index_together
99
hybridcloud: 0015_apitokenreplica_hashed_token_index
1010
nodestore: 0002_nodestore_no_dictfield
1111
replays: 0004_index_together
12-
sentry: 0679_add_query_sub_fk_to_aar_activations
12+
sentry: 0681_unpickle_authenticator_again
1313
social_auth: 0002_default_auto_field

package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,17 @@
5151
"@rsdoctor/webpack-plugin": "^0.1.0",
5252
"@sentry-internal/global-search": "^0.5.7",
5353
"@sentry-internal/react-inspector": "6.0.1-4",
54-
"@sentry-internal/rrweb": "2.9.0",
55-
"@sentry-internal/rrweb-player": "2.9.0",
56-
"@sentry-internal/rrweb-snapshot": "2.9.0",
57-
"@sentry/babel-plugin-component-annotate": "^2.14.0",
58-
"@sentry/core": "^7.105.0",
59-
"@sentry/integrations": "^7.105.0",
60-
"@sentry/node": "^7.105.0",
61-
"@sentry/react": "^7.105.0",
54+
"@sentry-internal/rrweb": "2.11.0",
55+
"@sentry-internal/rrweb-player": "2.11.0",
56+
"@sentry-internal/rrweb-snapshot": "2.11.0",
57+
"@sentry/babel-plugin-component-annotate": "^2.16.0",
58+
"@sentry/core": "^7.108.0",
59+
"@sentry/integrations": "^7.108.0",
60+
"@sentry/node": "^7.108.0",
61+
"@sentry/react": "^7.108.0",
6262
"@sentry/release-parser": "^1.3.1",
63-
"@sentry/types": "^7.105.0",
64-
"@sentry/utils": "^7.105.0",
63+
"@sentry/types": "^7.108.0",
64+
"@sentry/utils": "^7.108.0",
6565
"@spotlightjs/spotlight": "^1.2.13",
6666
"@tanstack/react-query": "^4.29.7",
6767
"@types/color": "^3.0.3",
@@ -178,7 +178,7 @@
178178
"@codecov/webpack-plugin": "^0.0.1-beta.4",
179179
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
180180
"@sentry/jest-environment": "^4.0.0",
181-
"@sentry/profiling-node": "^1.3.5",
181+
"@sentry/profiling-node": "^7.108.0",
182182
"@styled/typescript-styled-plugin": "^1.0.1",
183183
"@testing-library/jest-dom": "^5.16.5",
184184
"@testing-library/react": "^12.1.2",

pyproject.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ warn_unreachable = true
6464
warn_unused_configs = true
6565
warn_unused_ignores = true
6666
warn_redundant_casts = true
67+
enable_error_code = ["ignore-without-code"]
6768

6869
[tool.django-stubs]
6970
django_settings_module = "sentry.conf.server_mypy"
@@ -384,7 +385,6 @@ module = [
384385
"sentry.monitors.endpoints.monitor_ingest_checkin_attachment",
385386
"sentry.monitors.endpoints.monitor_ingest_checkin_details",
386387
"sentry.monitors.endpoints.organization_monitor_index",
387-
"sentry.monkey.pickle",
388388
"sentry.net.http",
389389
"sentry.net.socket",
390390
"sentry.notifications.additional_attachment_manager",
@@ -619,9 +619,11 @@ disable_error_code = [
619619
# beginning: stronger typing
620620
[[tool.mypy.overrides]]
621621
module = [
622+
"sentry.api.endpoints.issues.*",
622623
"sentry.buffer.base",
623624
"sentry.buffer.redis",
624625
"sentry.eventstore.reprocessing.redis",
626+
"sentry.issues.related.*",
625627
"sentry.utils.redis",
626628
"sentry.utils.redis_metrics",
627629
"sentry.utils.locking.backends.redis",
@@ -636,6 +638,7 @@ module = [
636638
"sentry.relay.config.metric_extraction",
637639
"sentry.snuba.metrics.extraction",
638640
"sentry.tasks.reprocessing2",
641+
"tests.sentry.api.endpoints.issues.*",
639642
"tests.sentry.tasks.test_on_demand_metrics",
640643
"tests.sentry.relay.config.test_metric_extraction",
641644
]

requirements-base.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ rfc3986-validator>=0.1.1
6363
# [end] jsonschema format validators
6464
sentry-arroyo>=2.16.2
6565
sentry-kafka-schemas>=0.1.64
66-
sentry-ophio==0.2.3
66+
sentry-ophio==0.2.5
6767
sentry-redis-tools>=0.1.7
6868
sentry-relay>=0.8.55
6969
sentry-sdk>=1.40.6
@@ -73,6 +73,7 @@ sqlparse>=0.4.4
7373
statsd>=3.3
7474
structlog>=22
7575
symbolic==12.8.0
76+
tiktoken>=0.6.0
7677
toronado>=0.1.0
7778
typing-extensions>=4.9.0
7879
ua-parser>=0.10.0

requirements-dev-frozen.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ sentry-devenv==1.2.3
178178
sentry-forked-django-stubs==4.2.7.post3
179179
sentry-forked-djangorestframework-stubs==3.14.5.post1
180180
sentry-kafka-schemas==0.1.64
181-
sentry-ophio==0.2.3
181+
sentry-ophio==0.2.5
182182
sentry-redis-tools==0.1.7
183183
sentry-relay==0.8.55
184184
sentry-sdk==1.40.6
@@ -194,6 +194,7 @@ statsd==3.3.0
194194
stripe==3.1.0
195195
structlog==22.1.0
196196
symbolic==12.8.0
197+
tiktoken==0.6.0
197198
time-machine==2.13.0
198199
tokenize-rt==5.2.0
199200
tomli==2.0.1

requirements-frozen.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ rsa==4.8
120120
s3transfer==0.10.0
121121
sentry-arroyo==2.16.2
122122
sentry-kafka-schemas==0.1.64
123-
sentry-ophio==0.2.3
123+
sentry-ophio==0.2.5
124124
sentry-redis-tools==0.1.7
125125
sentry-relay==0.8.55
126126
sentry-sdk==1.40.6
@@ -135,6 +135,7 @@ statsd==3.3.0
135135
stripe==3.1.0
136136
structlog==22.1.0
137137
symbolic==12.8.0
138+
tiktoken==0.6.0
138139
toronado==0.1.0
139140
tqdm==4.64.1
140141
typing-extensions==4.9.0

scripts/lib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ develop() {
169169
}
170170

171171
init-config() {
172-
sentry init --dev
172+
sentry init --dev --no-clobber
173173
}
174174

175175
run-dependent-services() {

src/sentry/analytics/events/rule_snooze.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class RuleSnoozeAction(analytics.Event):
1515

1616
class RuleSnoozed(RuleSnoozeAction):
1717
type = "rule.snoozed"
18-
attributes = RuleSnoozeAction.attributes + (analytics.Attribute("until", required=False),) # type: ignore
18+
attributes = RuleSnoozeAction.attributes + (analytics.Attribute("until", required=False),) # type: ignore[assignment]
1919

2020

2121
class RuleUnSnoozed(RuleSnoozeAction):

0 commit comments

Comments
 (0)