Skip to content

Commit

Permalink
ref(js): Make projectSourceMaps compatible with react-router 6 (#76435)
Browse files Browse the repository at this point in the history
  • Loading branch information
evanpurkhiser committed Aug 26, 2024
1 parent a0071d4 commit 7d17c33
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,15 @@ 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
expect(tabs[1]).toHaveTextContent('Release Bundles');
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
Expand All @@ -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
Expand Down
12 changes: 10 additions & 2 deletions static/app/views/settings/projectSourceMaps/projectSourceMaps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
<Fragment>
<SettingsPageHeader title={t('Source Maps')} />
Expand All @@ -378,7 +386,7 @@ export function ProjectSourceMaps({location, router, project}: Props) {
<ListLink
to={{
pathname: debugIdsUrl,
query: location.query,
...linkLocation,
}}
index
isActive={() => tabDebugIdBundlesActive}
Expand All @@ -388,7 +396,7 @@ export function ProjectSourceMaps({location, router, project}: Props) {
<ListLink
to={{
pathname: releaseBundlesUrl,
query: location.query,
...linkLocation,
}}
isActive={() => !tabDebugIdBundlesActive}
>
Expand Down

0 comments on commit 7d17c33

Please sign in to comment.