Skip to content

Commit 889f77e

Browse files
chore(issues): Remove legacy browser flag from FE (#67715)
Removes `organizations:legacy-browser-update` and logic from the frontend. Won't merge until relay updates are in place. --------- Co-authored-by: Richard Roggenkemper <[email protected]>
1 parent 2affc0d commit 889f77e

File tree

3 files changed

+25
-56
lines changed

3 files changed

+25
-56
lines changed

fixtures/js-stubs/projectFilters.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export function ProjectFiltersFixture(params = []) {
1515
'This applies to both IPv4 (``127.0.0.1``) and IPv6 (``::1``) addresses.',
1616
},
1717
{
18-
active: ['ie_pre_9', 'ie9'],
18+
active: ['ie', 'safari'],
1919
id: 'legacy-browsers',
2020
name: 'Filter out known errors from legacy browsers',
2121
description:

static/app/views/settings/project/projectFilters/index.spec.tsx

+19-40
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,18 @@ describe('ProjectFilters', function () {
110110

111111
expect(
112112
await screen.findByRole('checkbox', {
113-
name: 'Internet Explorer (Deprecated) Version 8 and lower',
113+
name: 'Internet Explorer Verison 11 and lower',
114114
})
115115
).toBeChecked();
116116

117117
expect(
118-
screen.getByRole('checkbox', {name: 'Internet Explorer (Deprecated) Version 9'})
118+
await screen.findByRole('checkbox', {
119+
name: 'Safari Version 11 and lower',
120+
})
119121
).toBeChecked();
120122

121123
expect(
122-
screen.getByRole('checkbox', {name: 'Internet Explorer (Deprecated) Version 10'})
124+
screen.getByRole('checkbox', {name: 'Firefox Version 66 and lower'})
123125
).not.toBeChecked();
124126
});
125127

@@ -131,44 +133,22 @@ describe('ProjectFilters', function () {
131133

132134
await userEvent.click(
133135
await screen.findByRole('checkbox', {
134-
name: 'Safari (Deprecated) Version 5 and lower',
136+
name: 'Firefox Version 66 and lower',
135137
})
136138
);
137139
expect(mock.mock.calls[0][0]).toBe(getFilterEndpoint(filter));
138140
// Have to do this because no jest matcher for JS Set
139141
expect(Array.from(mock.mock.calls[0][1].data.subfilters)).toEqual([
140-
'ie_pre_9',
141-
'ie9',
142-
'safari_pre_6',
142+
'ie',
143+
'safari',
144+
'firefox',
143145
]);
144146

145147
// Toggle filter off
146148
await userEvent.click(
147-
screen.getByRole('checkbox', {name: 'Internet Explorer (Deprecated) Version 11'})
148-
);
149-
expect(Array.from(mock.mock.calls[1][1].data.subfilters)).toEqual([
150-
'ie_pre_9',
151-
'ie9',
152-
'safari_pre_6',
153-
'ie11',
154-
]);
155-
156-
mock.mockReset();
157-
158-
// Click ie9 and < ie9
159-
await userEvent.click(
160-
screen.getByRole('checkbox', {name: 'Internet Explorer (Deprecated) Version 9'})
161-
);
162-
await userEvent.click(
163-
screen.getByRole('checkbox', {
164-
name: 'Internet Explorer (Deprecated) Version 8 and lower',
165-
})
149+
await screen.findByRole('checkbox', {name: 'Firefox Version 66 and lower'})
166150
);
167-
168-
expect(Array.from(mock.mock.calls[1][1].data.subfilters)).toEqual([
169-
'safari_pre_6',
170-
'ie11',
171-
]);
151+
expect(Array.from(mock.mock.calls[1][1].data.subfilters)).toEqual(['ie', 'safari']);
172152
});
173153

174154
it('can toggle all/none for legacy browser', async function () {
@@ -180,15 +160,14 @@ describe('ProjectFilters', function () {
180160
await userEvent.click(await screen.findByRole('button', {name: 'All'}));
181161
expect(mock.mock.calls[0][0]).toBe(getFilterEndpoint(filter));
182162
expect(Array.from(mock.mock.calls[0][1].data.subfilters)).toEqual([
183-
'safari_pre_6',
184-
'android_pre_4',
185-
'edge_pre_79',
186-
'ie_pre_9',
187-
'ie9',
188-
'ie10',
189-
'ie11',
190-
'opera_pre_15',
191-
'opera_mini_pre_8',
163+
'chrome',
164+
'safari',
165+
'firefox',
166+
'android',
167+
'edge',
168+
'ie',
169+
'opera',
170+
'opera_mini',
192171
]);
193172

194173
await userEvent.click(screen.getByRole('button', {name: 'None'}));

static/app/views/settings/project/projectFilters/projectFiltersSettings.tsx

+5-15
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ type RowProps = {
188188
data: {
189189
active: string[] | boolean;
190190
};
191-
hasLegacyBrowserUpdate: boolean;
192191
onToggle: (
193192
data: RowProps['data'],
194193
filters: RowState['subfilters'],
@@ -211,8 +210,7 @@ class LegacyBrowserFilterRow extends Component<RowProps, RowState> {
211210
if (props.data.active === true) {
212211
initialSubfilters = new Set(
213212
Object.keys(LEGACY_BROWSER_SUBFILTERS).filter(
214-
key =>
215-
LEGACY_BROWSER_SUBFILTERS[key].legacy === !this.props.hasLegacyBrowserUpdate
213+
key => !LEGACY_BROWSER_SUBFILTERS[key].legacy
216214
)
217215
);
218216
} else if (props.data.active === false) {
@@ -234,8 +232,7 @@ class LegacyBrowserFilterRow extends Component<RowProps, RowState> {
234232
if (subfilter === true) {
235233
subfilters = new Set(
236234
Object.keys(LEGACY_BROWSER_SUBFILTERS).filter(
237-
key =>
238-
LEGACY_BROWSER_SUBFILTERS[key].legacy === !this.props.hasLegacyBrowserUpdate
235+
key => !LEGACY_BROWSER_SUBFILTERS[key].legacy
239236
)
240237
);
241238
} else if (subfilter === false) {
@@ -293,13 +290,10 @@ class LegacyBrowserFilterRow extends Component<RowProps, RowState> {
293290
<FilterGrid>
294291
{Object.keys(LEGACY_BROWSER_SUBFILTERS)
295292
.filter(key => {
296-
if (this.props.hasLegacyBrowserUpdate) {
297-
if (!LEGACY_BROWSER_SUBFILTERS[key].legacy) {
298-
return true;
299-
}
300-
return this.state.subfilters.has(key);
293+
if (!LEGACY_BROWSER_SUBFILTERS[key].legacy) {
294+
return true;
301295
}
302-
return LEGACY_BROWSER_SUBFILTERS[key].legacy;
296+
return this.state.subfilters.has(key);
303297
})
304298
.map(key => {
305299
const subfilter = LEGACY_BROWSER_SUBFILTERS[key];
@@ -405,9 +399,6 @@ type Filter = {
405399
export function ProjectFiltersSettings({project, params, features}: Props) {
406400
const organization = useOrganization();
407401
const {projectId: projectSlug} = params;
408-
409-
const hasLegacyBrowserUpdate = organization.features.includes('legacy-browser-update');
410-
411402
const projectEndpoint = `/projects/${organization.slug}/${projectSlug}/`;
412403
const filtersEndpoint = `${projectEndpoint}filters/`;
413404

@@ -511,7 +502,6 @@ export function ProjectFiltersSettings({project, params, features}: Props) {
511502
onToggle={(_data, subfilters, event) =>
512503
handleLegacyChange({onChange, onBlur, event, subfilters})
513504
}
514-
hasLegacyBrowserUpdate={hasLegacyBrowserUpdate}
515505
/>
516506
)}
517507
</FormField>

0 commit comments

Comments
 (0)