diff --git a/packages/trace-viewer/src/ui/workbench.tsx b/packages/trace-viewer/src/ui/workbench.tsx
index e54b490d0256c..58ee991e8de45 100644
--- a/packages/trace-viewer/src/ui/workbench.tsx
+++ b/packages/trace-viewer/src/ui/workbench.tsx
@@ -95,6 +95,7 @@ const PartitionedWorkbench: React.FunctionComponent
({ lastEdited: 'none' });
const [isInspecting, setIsInspectingState] = React.useState(false);
+ const [highlightedTime, setHighlightedTime] = React.useState(undefined);
const setSelectedAction = React.useCallback((action: ActionTraceEventInContext | undefined) => {
setSelectedCallId(action?.callId);
@@ -264,6 +265,7 @@ const PartitionedWorkbench: React.FunctionComponent setSelectedTime({ minimum: m.timestamp, maximum: m.timestamp })}
/>
};
@@ -271,7 +273,7 @@ const PartitionedWorkbench: React.FunctionComponent
+ render: () =>
};
const attachmentsTab: TabbedPaneTabModel = {
id: 'attachments',
@@ -367,6 +369,7 @@ const PartitionedWorkbench: React.FunctionComponent}
/>}
{
await expect(listViews.filter({ hasText: 'Cheers!' })).toHaveClass('list-view-entry');
});
+test('should highlight console message on timeline on hover', async ({ showTraceViewer }) => {
+ const traceViewer = await showTraceViewer(traceFile);
+ await traceViewer.showConsoleTab();
+ const highlight = traceViewer.page.locator('.timeline-highlight');
+ await expect(highlight).toBeHidden();
+ await traceViewer.consoleLines.filter({ hasText: 'Info' }).hover();
+ await expect(highlight).toBeVisible();
+});
+
test('should open console errors on click', async ({ showTraceViewer }) => {
const traceViewer = await showTraceViewer(traceFile);
await expect(traceViewer.actionIconsText('Evaluate')).toHaveText(['2', '1']);
@@ -468,6 +477,16 @@ test('should have network requests', async ({ showTraceViewer }) => {
await expect(traceViewer.networkRequests.filter({ hasText: '404GET404text' })).toHaveCSS('background-color', 'rgb(242, 222, 222)');
});
+test('should highlight network request on timeline on hover', async ({ showTraceViewer }) => {
+ const traceViewer = await showTraceViewer(traceFile);
+ await traceViewer.selectAction('Navigate');
+ await traceViewer.showNetworkTab();
+ const highlight = traceViewer.page.locator('.timeline-highlight');
+ await expect(highlight).toBeHidden();
+ await traceViewer.networkRequests.filter({ hasText: 'frame.html' }).hover();
+ await expect(highlight).toBeVisible();
+});
+
test('should filter network requests by resource type', async ({ page, runAndTrace, server }) => {
const traceViewer = await runAndTrace(async () => {
server.setRoute('/api/endpoint', (_, res) => res.setHeader('Content-Type', 'application/json').end());
diff --git a/utils/flakiness-dashboard/package-lock.json b/utils/flakiness-dashboard/package-lock.json
index 5dcf0ac7a5bfc..41bf8a585eba3 100644
--- a/utils/flakiness-dashboard/package-lock.json
+++ b/utils/flakiness-dashboard/package-lock.json
@@ -6,7 +6,7 @@
"": {
"name": "flakiness-dashboard",
"dependencies": {
- "@azure/identity": "^4.10.2",
+ "@azure/identity": "^4.13.1",
"@azure/storage-blob": "^12.27.0"
}
},
@@ -210,9 +210,9 @@
}
},
"node_modules/@azure/identity": {
- "version": "4.10.2",
- "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.10.2.tgz",
- "integrity": "sha512-Uth4vz0j+fkXCkbvutChUj03PDCokjbC6Wk9JT8hHEUtpy/EurNKAseb3+gO6Zi9VYBvwt61pgbzn1ovk942Qg==",
+ "version": "4.13.1",
+ "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.1.tgz",
+ "integrity": "sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==",
"license": "MIT",
"dependencies": {
"@azure/abort-controller": "^2.0.0",
@@ -222,8 +222,8 @@
"@azure/core-tracing": "^1.0.0",
"@azure/core-util": "^1.11.0",
"@azure/logger": "^1.0.0",
- "@azure/msal-browser": "^4.2.0",
- "@azure/msal-node": "^3.5.0",
+ "@azure/msal-browser": "^5.5.0",
+ "@azure/msal-node": "^5.1.0",
"open": "^10.1.0",
"tslib": "^2.2.0"
},
@@ -255,38 +255,37 @@
}
},
"node_modules/@azure/msal-browser": {
- "version": "4.15.0",
- "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.15.0.tgz",
- "integrity": "sha512-+AIGTvpVz+FIx5CsM1y+nW0r/qOb/ChRdM8/Cbp+jKWC0Wdw4ldnwPdYOBi5NaALUQnYITirD9XMZX7LdklEzQ==",
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.11.0.tgz",
+ "integrity": "sha512-zkGNYS3TwY8lUpPIafAmsFCYZbgFixY9y/LZB9GUg0IILoHTqpN26j5OrkL1AQThh/YdZsawe4iWXfp85lFVxg==",
"license": "MIT",
"dependencies": {
- "@azure/msal-common": "15.8.1"
+ "@azure/msal-common": "16.6.2"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-common": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.8.1.tgz",
- "integrity": "sha512-ltIlFK5VxeJ5BurE25OsJIfcx1Q3H/IZg2LjV9d4vmH+5t4c1UCyRQ/HgKLgXuCZShs7qfc/TC95GYZfsUsJUQ==",
+ "version": "16.6.2",
+ "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.6.2.tgz",
+ "integrity": "sha512-hQjjsekAjB00cM1EmatWJlzhEoK2Qhz7Rj5gvM6tYf8iL7RM3tkxlpU9fG0+ofkulzg9AEEA6dIEnSmDr5ZqUA==",
"license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-node": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.6.3.tgz",
- "integrity": "sha512-95wjsKGyUcAd5tFmQBo5Ug/kOj+hFh/8FsXuxluEvdfbgg6xCimhSP9qnyq6+xIg78/jREkBD1/BSqd7NIDDYQ==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.2.2.tgz",
+ "integrity": "sha512-toS+2AePxqyzb0YOKttDOOiSl3jrkK9aiqIvpurpis0O34QcIS5gToqrgT39p04Dpxw3YoUU0lxJKTpSFFfA6Q==",
"license": "MIT",
"dependencies": {
- "@azure/msal-common": "15.8.1",
- "jsonwebtoken": "^9.0.0",
- "uuid": "^8.3.0"
+ "@azure/msal-common": "16.6.2",
+ "jsonwebtoken": "^9.0.0"
},
"engines": {
- "node": ">=16"
+ "node": ">=20"
}
},
"node_modules/@azure/storage-blob": {
@@ -710,9 +709,9 @@
"license": "MIT"
},
"node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
+ "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -739,15 +738,6 @@
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/wsl-utils": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
diff --git a/utils/flakiness-dashboard/package.json b/utils/flakiness-dashboard/package.json
index 931546335a1eb..254238ef27cac 100644
--- a/utils/flakiness-dashboard/package.json
+++ b/utils/flakiness-dashboard/package.json
@@ -5,7 +5,7 @@
"main": "processing/index.js",
"author": "",
"dependencies": {
- "@azure/identity": "^4.10.2",
+ "@azure/identity": "^4.13.1",
"@azure/storage-blob": "^12.27.0"
}
}