From 7d17c333c26223605b446da98a83578c0d217a38 Mon Sep 17 00:00:00 2001 From: Evan Purkhiser Date: Mon, 26 Aug 2024 10:34:56 -0400 Subject: [PATCH] ref(js): Make projectSourceMaps compatible with react-router 6 (#76435) --- .../projectSourceMaps/projectSourceMaps.spec.tsx | 8 ++++---- .../settings/projectSourceMaps/projectSourceMaps.tsx | 12 ++++++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/static/app/views/settings/projectSourceMaps/projectSourceMaps.spec.tsx b/static/app/views/settings/projectSourceMaps/projectSourceMaps.spec.tsx index 3b0f2fc5d95c0..8cc322d235294 100644 --- a/static/app/views/settings/projectSourceMaps/projectSourceMaps.spec.tsx +++ b/static/app/views/settings/projectSourceMaps/projectSourceMaps.spec.tsx @@ -99,7 +99,7 @@ describe('ProjectSourceMaps', function () { expect(tabs[0]).not.toHaveClass('active'); expect(within(tabs[0]).getByRole('link')).toHaveAttribute( 'href', - '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/?' + '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/' ); // Tab 2 @@ -107,7 +107,7 @@ describe('ProjectSourceMaps', function () { expect(tabs[1]).toHaveClass('active'); expect(within(tabs[0]).getByRole('link')).toHaveAttribute( 'href', - '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/?' + '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/' ); // Search bar @@ -131,13 +131,13 @@ describe('ProjectSourceMaps', function () { // Active tab contains correct link expect(screen.getByRole('link', {name: /Release Bundles/})).toHaveAttribute( 'href', - '/settings/org-slug/projects/project-slug/source-maps/release-bundles/?' + '/settings/org-slug/projects/project-slug/source-maps/release-bundles/' ); // Artifact Bundles Tab expect(screen.getByRole('link', {name: /Artifact Bundles/})).toHaveAttribute( 'href', - '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/?' + '/settings/org-slug/projects/project-slug/source-maps/artifact-bundles/' ); // Name diff --git a/static/app/views/settings/projectSourceMaps/projectSourceMaps.tsx b/static/app/views/settings/projectSourceMaps/projectSourceMaps.tsx index f0fcc45bae80b..b48a726c13340 100644 --- a/static/app/views/settings/projectSourceMaps/projectSourceMaps.tsx +++ b/static/app/views/settings/projectSourceMaps/projectSourceMaps.tsx @@ -361,6 +361,14 @@ export function ProjectSourceMaps({location, router, project}: Props) { ? ArtifactBundlesPanelTable : ReleaseBundlesPanelTable; + // TODO(__SENTRY_USING_REACT_ROUTER_SIX): We can remove this later, react + // router 6 handles empty query objects without appending a trailing ? + const linkLocation = { + ...(location.query && Object.keys(location.query).length > 0 + ? {query: location.query} + : {}), + }; + return ( @@ -378,7 +386,7 @@ export function ProjectSourceMaps({location, router, project}: Props) { tabDebugIdBundlesActive} @@ -388,7 +396,7 @@ export function ProjectSourceMaps({location, router, project}: Props) { !tabDebugIdBundlesActive} >