Skip to content

Commit 60ebe94

Browse files
authored
Revert "fix(trace-viewer): don't preserve network selections across runs" (#37932)
1 parent b57d673 commit 60ebe94

File tree

2 files changed

+6
-42
lines changed

2 files changed

+6
-42
lines changed

packages/trace-viewer/src/ui/networkTab.tsx

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ type RenderedEntry = {
4444
route: string,
4545
resource: Entry,
4646
contextId: string,
47-
frameref: string | undefined,
4847
};
4948
type ColumnName = keyof RenderedEntry;
5049
type Sorting = { by: ColumnName, negate: boolean};
@@ -71,31 +70,23 @@ export const NetworkTab: React.FunctionComponent<{
7170
sdkLanguage: Language,
7271
}> = ({ boundaries, networkModel, onEntryHovered, sdkLanguage }) => {
7372
const [sorting, setSorting] = React.useState<Sorting | undefined>(undefined);
74-
const [selectedEntryKey, setSelectedEntryKey] = React.useState<string | undefined>(undefined);
73+
const [selectedEntry, setSelectedEntry] = React.useState<RenderedEntry | undefined>(undefined);
7574
const [filterState, setFilterState] = React.useState(defaultFilterState);
7675

77-
const { renderedEntries, renderedEntryMap } = React.useMemo(() => {
76+
const { renderedEntries } = React.useMemo(() => {
7877
const renderedEntries = networkModel.resources.map(entry => renderEntry(entry, boundaries, networkModel.contextIdMap)).filter(filterEntry(filterState));
7978
if (sorting)
8079
sort(renderedEntries, sorting);
81-
const renderedEntryMap = new Map(renderedEntries.map((entry, i) => [`${entry.frameref}:${i}`, entry]));
82-
return { renderedEntries, renderedEntryMap };
80+
return { renderedEntries };
8381
}, [networkModel.resources, networkModel.contextIdMap, filterState, sorting, boundaries]);
8482

85-
const selectedEntry = selectedEntryKey ? renderedEntryMap.get(selectedEntryKey) : undefined;
86-
8783
const [columnWidths, setColumnWidths] = React.useState<Map<ColumnName, number>>(() => {
8884
return new Map(allColumns().map(column => [column, columnWidth(column)]));
8985
});
9086

91-
const onSelected = React.useCallback((item: RenderedEntry) => {
92-
const index = renderedEntries.indexOf(item);
93-
setSelectedEntryKey(index !== -1 ? `${item.frameref}:${index}` : undefined);
94-
}, [renderedEntries]);
95-
9687
const onFilterStateChange = React.useCallback((newFilterState: FilterState) => {
9788
setFilterState(newFilterState);
98-
setSelectedEntryKey(undefined);
89+
setSelectedEntry(undefined);
9990
}, []);
10091

10192
if (!networkModel.resources.length)
@@ -106,7 +97,7 @@ export const NetworkTab: React.FunctionComponent<{
10697
ariaLabel='Network requests'
10798
items={renderedEntries}
10899
selectedItem={selectedEntry}
109-
onSelected={onSelected}
100+
onSelected={item => setSelectedEntry(item)}
110101
onHighlighted={item => onEntryHovered?.(item?.resource)}
111102
columns={visibleColumns(!!selectedEntry, renderedEntries)}
112103
columnTitle={columnTitle}
@@ -127,7 +118,7 @@ export const NetworkTab: React.FunctionComponent<{
127118
sidebarIsFirst={true}
128119
orientation='horizontal'
129120
settingName='networkResourceDetails'
130-
main={<NetworkResourceDetails resource={selectedEntry.resource} sdkLanguage={sdkLanguage} startTimeOffset={selectedEntry.start} onClose={() => setSelectedEntryKey(undefined)} />}
121+
main={<NetworkResourceDetails resource={selectedEntry.resource} sdkLanguage={sdkLanguage} startTimeOffset={selectedEntry.start} onClose={() => setSelectedEntry(undefined)} />}
131122
sidebar={grid}
132123
/>}
133124
</>;
@@ -299,7 +290,6 @@ const renderEntry = (resource: Entry, boundaries: Boundaries, contextIdGenerator
299290
route: routeStatus,
300291
resource,
301292
contextId: contextIdGenerator.contextId(resource),
302-
frameref: resource._frameref,
303293
};
304294
};
305295

tests/playwright-test/ui-mode-test-network-tab.spec.ts

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -241,29 +241,3 @@ test('should not duplicate network entries from beforeAll', {
241241
await page.getByText('Network', { exact: true }).click();
242242
await expect(page.getByRole('list', { name: 'Network requests' }).getByText('empty.html')).toHaveCount(1);
243243
});
244-
245-
test('should not preserve selection across test runs', async ({ runUITest, server }) => {
246-
server.setRoute('/api/endpoint', (_, res) => res.setHeader('Content-Type', 'application/json').end());
247-
248-
const { page } = await runUITest({
249-
'a.spec.ts': `
250-
import { test } from '@playwright/test';
251-
252-
test('some test', async ({ page }) => {
253-
await page.goto('${server.PREFIX}/network-tab/network.html');
254-
// await page.evaluate(() => (window as any).donePromise);
255-
});
256-
`,
257-
});
258-
259-
await page.getByText('some test').dblclick();
260-
await page.getByText('Network', { exact: true }).click();
261-
262-
await page.getByText('network.html', { exact: true }).click();
263-
await expect(page.getByText('General')).toBeVisible();
264-
265-
await page.getByText('some test').dblclick();
266-
await expect(page.getByText('network.html', { exact: true })).toBeVisible();
267-
268-
await expect(page.getByText('General')).not.toBeVisible();
269-
});

0 commit comments

Comments
 (0)