From bd2074fd1be962055e27de1393cb254c0f9c169d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 10 Apr 2026 12:35:32 +0000 Subject: [PATCH 1/2] Initial plan From e7cdc4dab537420c6cc7a42214dcff2f3b44bbb3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 10 Apr 2026 12:39:19 +0000 Subject: [PATCH 2/2] fix(e2e-tests): remove flaky navigation breadcrumb assertions from parameterized-routes tests Remove unreliable navigation breadcrumb assertions from parameterized-routes E2E tests across all Next.js versions (13, 14, 15, 16, 16-bun, 16-cf-workers). These tests verify route parameterization, not breadcrumbs. The breadcrumb was not reliably present due to timing issues, causing flaky CI failures. Co-Authored-By: Claude Agent-Logs-Url: https://github.com/getsentry/sentry-javascript/sessions/6fc52aae-3e31-4ee7-bff3-fda21894f880 Co-authored-by: Lms24 <8420481+Lms24@users.noreply.github.com> --- .../tests/client/parameterized-routes.test.ts | 28 ------------------- .../tests/parameterized-routes.test.ts | 28 ------------------- .../tests/parameterized-routes.test.ts | 28 ------------------- .../tests/parameterized-routes.test.ts | 28 ------------------- .../tests/parameterized-routes.test.ts | 28 ------------------- .../tests/parameterized-routes.test.ts | 28 ------------------- 6 files changed, 168 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/parameterized-routes.test.ts index b53cda3ac968..ba446f2e7c4e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-13/tests/client/parameterized-routes.test.ts @@ -13,13 +13,6 @@ test('should create a parameterized transaction when the `app` directory is used const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -61,13 +54,6 @@ test('should create a static transaction when the `app` directory is used and th const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -107,13 +93,6 @@ test('should create a partially parameterized transaction when the `app` directo const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -154,13 +133,6 @@ test('should create a nested parameterized transaction when the `app` directory const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/tests/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-14/tests/parameterized-routes.test.ts index 2a5e2910050a..55ac655dfc5a 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/tests/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/tests/parameterized-routes.test.ts @@ -13,13 +13,6 @@ test('should create a parameterized transaction when the `app` directory is used const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -61,13 +54,6 @@ test('should create a static transaction when the `app` directory is used and th const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -107,13 +93,6 @@ test('should create a partially parameterized transaction when the `app` directo const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -154,13 +133,6 @@ test('should create a nested parameterized transaction when the `app` directory const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/parameterized-routes.test.ts index fb93e77aaf8b..ab2086622ca3 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/parameterized-routes.test.ts @@ -13,13 +13,6 @@ test('should create a parameterized transaction when the `app` directory is used const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -61,13 +54,6 @@ test('should create a static transaction when the `app` directory is used and th const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -107,13 +93,6 @@ test('should create a partially parameterized transaction when the `app` directo const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -154,13 +133,6 @@ test('should create a nested parameterized transaction when the `app` directory const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-bun/tests/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-16-bun/tests/parameterized-routes.test.ts index dc16f1590aa3..07e5f007efad 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-bun/tests/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-bun/tests/parameterized-routes.test.ts @@ -13,13 +13,6 @@ test('should create a parameterized transaction when the `app` directory is used const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -61,13 +54,6 @@ test('should create a static transaction when the `app` directory is used and th const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -107,13 +93,6 @@ test('should create a partially parameterized transaction when the `app` directo const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -154,13 +133,6 @@ test('should create a nested parameterized transaction when the `app` directory const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-cf-workers/tests/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-16-cf-workers/tests/parameterized-routes.test.ts index 3c9ab427b3de..30faebe69548 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-cf-workers/tests/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-cf-workers/tests/parameterized-routes.test.ts @@ -14,13 +14,6 @@ test.skip('should create a parameterized transaction when the `app` directory is const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -63,13 +56,6 @@ test.skip('should create a static transaction when the `app` directory is used a const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -110,13 +96,6 @@ test.skip('should create a partially parameterized transaction when the `app` di const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -158,13 +137,6 @@ test.skip('should create a nested parameterized transaction when the `app` direc const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/tests/parameterized-routes.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-16/tests/parameterized-routes.test.ts index 4078ded5734d..43a2aa6191de 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16/tests/parameterized-routes.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/tests/parameterized-routes.test.ts @@ -13,13 +13,6 @@ test('should create a parameterized transaction when the `app` directory is used const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino', to: '/parameterized/cappuccino' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -61,13 +54,6 @@ test('should create a static transaction when the `app` directory is used and th const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/static', to: '/parameterized/static' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -107,13 +93,6 @@ test('should create a partially parameterized transaction when the `app` directo const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep', to: '/parameterized/cappuccino/beep' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: { @@ -154,13 +133,6 @@ test('should create a nested parameterized transaction when the `app` directory const transaction = await transactionPromise; expect(transaction).toMatchObject({ - breadcrumbs: expect.arrayContaining([ - { - category: 'navigation', - data: { from: '/parameterized/cappuccino/beep/espresso', to: '/parameterized/cappuccino/beep/espresso' }, - timestamp: expect.any(Number), - }, - ]), contexts: { react: { version: expect.any(String) }, trace: {