Skip to content

Commit

Permalink
Merge branch 'develop' into cl/annotate-draw-tool
Browse files Browse the repository at this point in the history
  • Loading branch information
c298lee authored Jan 20, 2025
2 parents 88f3e42 + 9a9fb89 commit 9a6d802
Show file tree
Hide file tree
Showing 104 changed files with 977 additions and 3,266 deletions.
1 change: 0 additions & 1 deletion .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ targets:
# NPM Targets
## 1. Base Packages, node or browser SDKs depend on
## 1.1 Types
# TODO(v9): Remove
- name: npm
id: '@sentry/types'
includeNames: /^sentry-types-\d.*\.tgz$/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@ jobs:
run: yarn test

job_remix_integration_tests:
name: Remix v${{ matrix.remix }} (Node ${{ matrix.node }}) Tests
name: Remix (Node ${{ matrix.node }}) Tests
needs: [job_get_metadata, job_build]
if: needs.job_build.outputs.changed_remix == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!
Work in this release was contributed by @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

- **feat(solidstart)!: Default to `--import` setup and add `autoInjectServerSentry` ([#14862](https://github.com/getsentry/sentry-javascript/pull/14862))**

Expand Down
2 changes: 1 addition & 1 deletion dev-packages/browser-integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
"@sentry/browser": "8.45.0",
"axios": "1.7.7",
"babel-loader": "^8.2.2",
"html-webpack-plugin": "^5.5.0",
"fflate": "0.8.2",
"html-webpack-plugin": "^5.5.0",
"webpack": "^5.95.0"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ sentryTest('should capture feedback with custom button', async ({ getLocalTestUr
event_id: expect.stringMatching(/\w{32}/),
environment: 'production',
tags: {},
user: {
ip_address: '{{auto}}',
},
sdk: {
integrations: expect.arrayContaining(['Feedback']),
version: expect.any(String),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ sentryTest('should capture feedback', async ({ getLocalTestUrl, page }) => {
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ sentryTest('should capture feedback', async ({ forceFlushReplay, getLocalTestUrl
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ sentryTest('should capture feedback', async ({ getLocalTestUrl, page }) => {
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});
const cspViolation = await page.evaluate<boolean>('window.__CSPVIOLATION__');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import * as Sentry from '@sentry/browser';

import { moduleMetadataIntegration } from '@sentry/browser';

Sentry.init({
dsn: 'https://[email protected]/1337',
integrations: [Sentry.moduleMetadataIntegration()],
integrations: [moduleMetadataIntegration()],
beforeSend(event) {
const moduleMetadataEntries = [];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@ import { sentryTest } from '../../../../utils/fixtures';
import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers';

sentryTest('should provide module_metadata on stack frames in beforeSend', async ({ getLocalTestUrl, page }) => {
// moduleMetadataIntegration is not included in any CDN bundles
if (process.env.PW_BUNDLE?.startsWith('bundle')) {
sentryTest.skip();
}

const url = await getLocalTestUrl({ testDir: __dirname });

const errorEvent = await getFirstSentryEnvelopeRequest<Event>(page, url);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import * as Sentry from '@sentry/browser';

import { moduleMetadataIntegration } from '@sentry/browser';
import { rewriteFramesIntegration } from '@sentry/browser';

Sentry.init({
dsn: 'https://[email protected]/1337',
integrations: [
Sentry.moduleMetadataIntegration(),
Sentry.rewriteFramesIntegration({
moduleMetadataIntegration(),
rewriteFramesIntegration({
iteratee: frame => {
return {
...frame,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers';
sentryTest(
'should provide module_metadata on stack frames in beforeSend even though an event processor (rewriteFramesIntegration) modified the filename',
async ({ getLocalTestUrl, page }) => {
// moduleMetadataIntegration is not included in any CDN bundles
if (process.env.PW_BUNDLE?.startsWith('bundle')) {
sentryTest.skip();
}

const url = await getLocalTestUrl({ testDir: __dirname });

const errorEvent = await getFirstSentryEnvelopeRequest<Event>(page, url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ sentryTest('allows to setup a client manually & capture exceptions', async ({ ge
'User-Agent': expect.any(String),
}),
},
user: {
ip_address: '{{auto}}',
},
timestamp: expect.any(Number),
environment: 'local',
release: '0.0.1',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Sentry.setUser({
id: 'foo',
ip_address: null,
});

Sentry.captureMessage('first_user');
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { expect } from '@playwright/test';
import type { Event } from '@sentry/core';

import { sentryTest } from '../../../../utils/fixtures';
import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers';

sentryTest('should allow to set ip_address to null', async ({ getLocalTestUrl, page }) => {
const url = await getLocalTestUrl({ testDir: __dirname });

const eventData = await getFirstSentryEnvelopeRequest<Event>(page, url);

expect(eventData.message).toBe('first_user');
expect(eventData.user).toEqual({
id: 'foo',
ip_address: null,
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,17 @@ sentryTest('should unset user', async ({ getLocalTestUrl, page }) => {
const eventData = await getMultipleSentryEnvelopeRequests<Event>(page, 3, { url });

expect(eventData[0].message).toBe('no_user');
expect(eventData[0].user).toBeUndefined();
expect(eventData[0].user).toEqual({ ip_address: '{{auto}}' });

expect(eventData[1].message).toBe('user');
expect(eventData[1].user).toMatchObject({
expect(eventData[1].user).toEqual({
id: 'foo',
ip_address: 'bar',
other_key: 'baz',
});

expect(eventData[2].message).toBe('unset_user');
expect(eventData[2].user).toBeUndefined();
expect(eventData[2].user).toEqual({
ip_address: '{{auto}}',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@ sentryTest('should update user', async ({ getLocalTestUrl, page }) => {
const eventData = await getMultipleSentryEnvelopeRequests<Event>(page, 2, { url });

expect(eventData[0].message).toBe('first_user');
expect(eventData[0].user).toMatchObject({
expect(eventData[0].user).toEqual({
id: 'foo',
ip_address: 'bar',
});

expect(eventData[1].message).toBe('second_user');
expect(eventData[1].user).toMatchObject({
expect(eventData[1].user).toEqual({
id: 'baz',
ip_address: '{{auto}}',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ sentryTest(
headers: expect.any(Object),
url: expect.any(String),
},
user: {
ip_address: '{{auto}}',
},
sdk: expect.any(Object),
spans: [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ sentryTest('should allow nested scoping', async ({ getLocalTestUrl, page }) => {
const eventData = await getMultipleSentryEnvelopeRequests<Event>(page, 5, { url });

expect(eventData[0].message).toBe('root_before');
expect(eventData[0].user).toMatchObject({ id: 'qux' });
expect(eventData[0].user).toEqual({ id: 'qux', ip_address: '{{auto}}' });
expect(eventData[0].tags).toBeUndefined();

expect(eventData[1].message).toBe('outer_before');
expect(eventData[1].user).toMatchObject({ id: 'qux' });
expect(eventData[1].user).toEqual({ id: 'qux', ip_address: '{{auto}}' });
expect(eventData[1].tags).toMatchObject({ foo: false });

expect(eventData[2].message).toBe('inner');
expect(eventData[2].user).toBeUndefined();
expect(eventData[2].user).toEqual({ ip_address: '{{auto}}' });
expect(eventData[2].tags).toMatchObject({ foo: false, bar: 10 });

expect(eventData[3].message).toBe('outer_after');
expect(eventData[3].user).toMatchObject({ id: 'baz' });
expect(eventData[3].user).toEqual({ id: 'baz', ip_address: '{{auto}}' });
expect(eventData[3].tags).toMatchObject({ foo: false });

expect(eventData[4].message).toBe('root_after');
expect(eventData[4].user).toMatchObject({ id: 'qux' });
expect(eventData[4].user).toEqual({ id: 'qux', ip_address: '{{auto}}' });
expect(eventData[4].tags).toBeUndefined();
});
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ sentryTest('should capture replays (@sentry/browser export)', async ({ getLocalT
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});

Expand Down Expand Up @@ -93,6 +96,9 @@ sentryTest('should capture replays (@sentry/browser export)', async ({ getLocalT
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ sentryTest('should capture replays (@sentry-internal/replay export)', async ({ g
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});

Expand Down Expand Up @@ -93,6 +96,9 @@ sentryTest('should capture replays (@sentry-internal/replay export)', async ({ g
'User-Agent': expect.stringContaining(''),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ sentryTest('captures a "GOOD" CLS vital with its source as a standalone span', a
transaction: expect.stringContaining('index.html'),
'user_agent.original': expect.stringContaining('Chrome'),
'sentry.pageload.span_id': expect.stringMatching(/[a-f0-9]{16}/),
'client.address': '{{auto}}',
},
description: expect.stringContaining('body > div#content > p'),
exclusive_time: 0,
Expand Down Expand Up @@ -137,6 +138,7 @@ sentryTest('captures a "MEH" CLS vital with its source as a standalone span', as
transaction: expect.stringContaining('index.html'),
'user_agent.original': expect.stringContaining('Chrome'),
'sentry.pageload.span_id': expect.stringMatching(/[a-f0-9]{16}/),
'client.address': '{{auto}}',
},
description: expect.stringContaining('body > div#content > p'),
exclusive_time: 0,
Expand Down Expand Up @@ -203,6 +205,7 @@ sentryTest('captures a "POOR" CLS vital with its source as a standalone span.',
transaction: expect.stringContaining('index.html'),
'user_agent.original': expect.stringContaining('Chrome'),
'sentry.pageload.span_id': expect.stringMatching(/[a-f0-9]{16}/),
'client.address': '{{auto}}',
},
description: expect.stringContaining('body > div#content > p'),
exclusive_time: 0,
Expand Down Expand Up @@ -270,6 +273,7 @@ sentryTest(
transaction: expect.stringContaining('index.html'),
'user_agent.original': expect.stringContaining('Chrome'),
'sentry.pageload.span_id': expect.stringMatching(/[a-f0-9]{16}/),
'client.address': '{{auto}}',
},
description: 'Layout shift',
exclusive_time: 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ sentryTest('should capture an INP click event span after pageload', async ({ bro
'sentry.source': 'custom',
transaction: 'test-url',
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
measurements: {
inp: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ sentryTest(
'sentry.source': 'custom',
transaction: 'test-route',
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
measurements: {
inp: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ sentryTest(
'sentry.origin': 'auto.http.browser.inp',
transaction: 'test-route',
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
measurements: {
inp: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ sentryTest('should capture an INP click event span during pageload', async ({ br
'sentry.origin': 'auto.http.browser.inp',
transaction: 'test-url',
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
measurements: {
inp: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ const DEFAULT_REPLAY_EVENT = {
'User-Agent': expect.any(String),
},
},
user: {
ip_address: '{{auto}}',
},
platform: 'javascript',
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ installGlobals();

const ABORT_DELAY = 5_000;

export const handleError = Sentry.wrapRemixHandleError;
export const handleError = Sentry.sentryHandleError;

export default function handleRequest(
request: Request,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ installGlobals();

const ABORT_DELAY = 5_000;

export const handleError = Sentry.wrapRemixHandleError;
export const handleError = Sentry.sentryHandleError;

export default function handleRequest(
request: Request,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ installGlobals();

const ABORT_DELAY = 5_000;

export const handleError = Sentry.wrapRemixHandleError;
export const handleError = Sentry.sentryHandleError;

export default function handleRequest(
request: Request,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ test('sends an INP span', async ({ page }) => {
'sentry.exclusive_time': expect.any(Number),
replay_id: expect.any(String),
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
description: 'body > div#root > input#exception-button[type="button"]',
op: 'ui.interaction.click',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ test('sends an INP span', async ({ page }) => {
'sentry.exclusive_time': expect.any(Number),
replay_id: expect.any(String),
'user_agent.original': expect.stringContaining('Chrome'),
'client.address': '{{auto}}',
},
description: 'body > div#root > input#exception-button[type="button"]',
op: 'ui.interaction.click',
Expand Down
Loading

0 comments on commit 9a6d802

Please sign in to comment.