diff --git a/dev-packages/browser-integration-tests/package.json b/dev-packages/browser-integration-tests/package.json index 2803a03c8eec..0c28fbfabce5 100644 --- a/dev-packages/browser-integration-tests/package.json +++ b/dev-packages/browser-integration-tests/package.json @@ -62,7 +62,7 @@ "@sentry-internal/rrweb": "2.34.0", "@sentry/browser": "10.48.0", "@supabase/supabase-js": "2.49.3", - "axios": "1.13.5", + "axios": "1.15.0", "babel-loader": "^10.1.1", "fflate": "0.8.2", "html-webpack-plugin": "^5.5.0", diff --git a/dev-packages/browser-integration-tests/suites/sessions/route-lifecycle/test.ts b/dev-packages/browser-integration-tests/suites/sessions/route-lifecycle/test.ts index 1ccee9cd2728..05f10146f3f5 100644 --- a/dev-packages/browser-integration-tests/suites/sessions/route-lifecycle/test.ts +++ b/dev-packages/browser-integration-tests/suites/sessions/route-lifecycle/test.ts @@ -1,27 +1,30 @@ import { expect } from '@playwright/test'; -import type { SerializedSession } from '@sentry/core/src'; import { sentryTest } from '../../../utils/fixtures'; -import { getMultipleSentryEnvelopeRequests } from '../../../utils/helpers'; +import { waitForSession } from '../../../utils/helpers'; sentryTest( 'should start new sessions on pushState navigation with route lifecycle (default).', async ({ getLocalTestUrl, page }) => { const url = await getLocalTestUrl({ testDir: __dirname }); - const sessionsPromise = getMultipleSentryEnvelopeRequests(page, 10, { - url, - envelopeType: 'session', - timeout: 4000, - }); + const initSessionPromise = waitForSession(page, s => !!s.init && s.status === 'ok'); + await page.goto(url); + const initSession = await initSessionPromise; - await page.waitForSelector('#navigate'); - - await page.locator('#navigate').click(); + const session1Promise = waitForSession(page, s => !!s.init && s.status === 'ok' && s.sid !== initSession.sid); await page.locator('#navigate').click(); + const session1 = await session1Promise; + + const session2Promise = waitForSession(page, s => !!s.init && s.status === 'ok' && s.sid !== session1.sid); await page.locator('#navigate').click(); + const session2 = await session2Promise; - const startedSessions = (await sessionsPromise).filter(session => session.init); + const session3Promise = waitForSession(page, s => !!s.init && s.status === 'ok' && s.sid !== session2.sid); + await page.locator('#navigate').click(); + const session3 = await session3Promise; - expect(startedSessions.length).toBe(4); + // Verify we got 4 distinct init sessions (1 initial + 3 navigations) + const sids = new Set([initSession.sid, session1.sid, session2.sid, session3.sid]); + expect(sids.size).toBe(4); }, ); diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json index 46beea570042..6917e546a383 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json @@ -21,7 +21,7 @@ "@nestjs/platform-express": "^10.0.0", "@sentry/nestjs": "latest || *", "reflect-metadata": "^0.2.0", - "axios": "1.13.5", + "axios": "1.15.0", "rxjs": "^7.8.1" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 17e2c001080d..349d5ebfae0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11846,14 +11846,14 @@ aws-ssl-profiles@^1.1.2: resolved "https://registry.yarnpkg.com/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz#157dd77e9f19b1d123678e93f120e6f193022641" integrity sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g== -axios@1.13.5, axios@^1.12.0: - version "1.13.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43" - integrity sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q== +axios@1.15.0, axios@^1.12.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.0.tgz#0fcee91ef03d386514474904b27863b2c683bf4f" + integrity sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q== dependencies: follow-redirects "^1.15.11" form-data "^4.0.5" - proxy-from-env "^1.1.0" + proxy-from-env "^2.1.0" axobject-query@^3.2.1: version "3.2.1" @@ -25657,6 +25657,11 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-from-env@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== + proxy@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/proxy/-/proxy-2.1.1.tgz#45f9b307508ffcae12bdc71678d44a4ab79cbf8b" @@ -28557,7 +28562,6 @@ stylus@0.59.0, stylus@^0.59.0: sucrase@^3.27.0, sucrase@^3.35.0, sucrase@getsentry/sucrase#es2020-polyfills: version "3.36.0" - uid fd682f6129e507c00bb4e6319cc5d6b767e36061 resolved "https://codeload.github.com/getsentry/sucrase/tar.gz/fd682f6129e507c00bb4e6319cc5d6b767e36061" dependencies: "@jridgewell/gen-mapping" "^0.3.2"