From a439e19b8776b926d8127e42cb2e64406b3447b1 Mon Sep 17 00:00:00 2001
From: cpadm <57954026+cpAdm@users.noreply.github.com>
Date: Mon, 27 Oct 2025 19:41:41 +0100
Subject: [PATCH 1/2] fix(trace-viewer): Don't show 'Merge files' setting in
trace viewer, only UI mode
---
.../src/ui/defaultSettingsView.tsx | 65 +++++++++----------
packages/trace-viewer/src/ui/uiModeView.tsx | 10 ++-
.../trace-viewer/src/ui/workbenchLoader.tsx | 10 ++-
3 files changed, 46 insertions(+), 39 deletions(-)
diff --git a/packages/trace-viewer/src/ui/defaultSettingsView.tsx b/packages/trace-viewer/src/ui/defaultSettingsView.tsx
index 547af5fdcac8d..4b86f59c091ba 100644
--- a/packages/trace-viewer/src/ui/defaultSettingsView.tsx
+++ b/packages/trace-viewer/src/ui/defaultSettingsView.tsx
@@ -14,45 +14,40 @@
* limitations under the License.
*/
-import * as React from 'react';
-import { SettingsView } from './settingsView';
import { useDarkModeSetting } from '@web/theme';
import { useSetting } from '@web/uiUtils';
+import type { Setting } from './settingsView';
-/**
- * A view of the collection of standard settings used between various applications
- */
-export const DefaultSettingsView: React.FC<{}> = () => {
+export function useDarkModeCheckbox(): Setting {
+ const [darkMode, setDarkMode] = useDarkModeSetting();
+ return {
+ type: 'check',
+ value: darkMode,
+ set: setDarkMode,
+ name: 'Dark mode'
+ };
+}
+
+export function useMergeFilesCheckbox(): Setting {
+ const [mergeFiles, setMergeFiles] = useSetting('mergeFiles', false);
+ return {
+ type: 'check',
+ value: mergeFiles,
+ set: setMergeFiles,
+ name: 'Merge files'
+ };
+}
+
+export function usePopulateCanvasCheckbox(): Setting {
const [
shouldPopulateCanvasFromScreenshot,
setShouldPopulateCanvasFromScreenshot,
] = useSetting('shouldPopulateCanvasFromScreenshot', false);
- const [darkMode, setDarkMode] = useDarkModeSetting();
- const [mergeFiles, setMergeFiles] = useSetting('mergeFiles', false);
-
- return (
-
- );
-};
+ return {
+ type: 'check',
+ value: shouldPopulateCanvasFromScreenshot,
+ set: setShouldPopulateCanvasFromScreenshot,
+ name: 'Display canvas content',
+ title: 'Attempt to display the captured canvas appearance in the snapshot preview. May not be accurate.',
+ };
+}
diff --git a/packages/trace-viewer/src/ui/uiModeView.tsx b/packages/trace-viewer/src/ui/uiModeView.tsx
index 4399d2d13e078..97252f4ee693c 100644
--- a/packages/trace-viewer/src/ui/uiModeView.tsx
+++ b/packages/trace-viewer/src/ui/uiModeView.tsx
@@ -36,7 +36,7 @@ import { FiltersView } from './uiModeFiltersView';
import { TestListView } from './uiModeTestListView';
import { TraceView } from './uiModeTraceView';
import { SettingsView } from './settingsView';
-import { DefaultSettingsView } from './defaultSettingsView';
+import { useDarkModeCheckbox, useMergeFilesCheckbox, usePopulateCanvasCheckbox } from './defaultSettingsView';
let xtermSize = { cols: 80, rows: 24 };
const xtermDataSource: XtermDataSource = {
@@ -395,6 +395,12 @@ export const UIModeView: React.FC<{}> = ({
});
}, [closeInstallDialog, testServerConnection]);
+ const settingsView = [
+ useDarkModeCheckbox(),
+ useMergeFilesCheckbox(),
+ usePopulateCanvasCheckbox()
+ ];
+
return
{!hasBrowsers &&
}
/>
diff --git a/packages/trace-viewer/src/ui/workbenchLoader.tsx b/packages/trace-viewer/src/ui/workbenchLoader.tsx
index 0683b3a8a9bb0..999b82be4f870 100644
--- a/packages/trace-viewer/src/ui/workbenchLoader.tsx
+++ b/packages/trace-viewer/src/ui/workbenchLoader.tsx
@@ -21,8 +21,9 @@ import { Workbench } from './workbench';
import { TestServerConnection, WebSocketTestServerTransport } from '@testIsomorphic/testServerConnection';
import { DialogToolbarButton } from '@web/components/dialogToolbarButton';
import { Dialog } from '@web/shared/dialog';
-import { DefaultSettingsView } from './defaultSettingsView';
+import { useDarkModeCheckbox, usePopulateCanvasCheckbox } from './defaultSettingsView';
import { TraceModelContext } from './traceModelContext';
+import { SettingsView } from './settingsView';
export const WorkbenchLoader: React.FunctionComponent<{
}> = () => {
@@ -184,7 +185,12 @@ export const WorkbenchLoader: React.FunctionComponent<{
{model.title && {model.title}
}
-
+
From ed15e00312e1fccb85159b80b49c27f80706c0c5 Mon Sep 17 00:00:00 2001
From: cpadm <57954026+cpAdm@users.noreply.github.com>
Date: Wed, 29 Oct 2025 19:54:41 +0100
Subject: [PATCH 2/2] refactor(trace-viewer): Re-introduce DefaultSettingsView
and add location prop
---
.../src/ui/defaultSettingsView.tsx | 67 ++++++++++---------
packages/trace-viewer/src/ui/uiModeView.tsx | 10 +--
.../trace-viewer/src/ui/workbenchLoader.tsx | 10 +--
3 files changed, 41 insertions(+), 46 deletions(-)
diff --git a/packages/trace-viewer/src/ui/defaultSettingsView.tsx b/packages/trace-viewer/src/ui/defaultSettingsView.tsx
index 4b86f59c091ba..348b77b928bf1 100644
--- a/packages/trace-viewer/src/ui/defaultSettingsView.tsx
+++ b/packages/trace-viewer/src/ui/defaultSettingsView.tsx
@@ -14,40 +14,47 @@
* limitations under the License.
*/
+import * as React from 'react';
+import { type Setting, SettingsView } from './settingsView';
import { useDarkModeSetting } from '@web/theme';
import { useSetting } from '@web/uiUtils';
-import type { Setting } from './settingsView';
-export function useDarkModeCheckbox(): Setting {
- const [darkMode, setDarkMode] = useDarkModeSetting();
- return {
- type: 'check',
- value: darkMode,
- set: setDarkMode,
- name: 'Dark mode'
- };
-}
-
-export function useMergeFilesCheckbox(): Setting {
- const [mergeFiles, setMergeFiles] = useSetting('mergeFiles', false);
- return {
- type: 'check',
- value: mergeFiles,
- set: setMergeFiles,
- name: 'Merge files'
- };
-}
-
-export function usePopulateCanvasCheckbox(): Setting {
+/**
+ * A view of the collection of standard settings used between various applications
+ */
+export const DefaultSettingsView: React.FC<{
+ location: 'ui-mode' | 'trace-viewer'
+}> = ({ location }) => {
const [
shouldPopulateCanvasFromScreenshot,
setShouldPopulateCanvasFromScreenshot,
] = useSetting('shouldPopulateCanvasFromScreenshot', false);
- return {
- type: 'check',
- value: shouldPopulateCanvasFromScreenshot,
- set: setShouldPopulateCanvasFromScreenshot,
- name: 'Display canvas content',
- title: 'Attempt to display the captured canvas appearance in the snapshot preview. May not be accurate.',
- };
-}
+ const [darkMode, setDarkMode] = useDarkModeSetting();
+ const [mergeFiles, setMergeFiles] = useSetting('mergeFiles', false);
+
+ return (
+
+ );
+};
diff --git a/packages/trace-viewer/src/ui/uiModeView.tsx b/packages/trace-viewer/src/ui/uiModeView.tsx
index 97252f4ee693c..c81726e80344b 100644
--- a/packages/trace-viewer/src/ui/uiModeView.tsx
+++ b/packages/trace-viewer/src/ui/uiModeView.tsx
@@ -36,7 +36,7 @@ import { FiltersView } from './uiModeFiltersView';
import { TestListView } from './uiModeTestListView';
import { TraceView } from './uiModeTraceView';
import { SettingsView } from './settingsView';
-import { useDarkModeCheckbox, useMergeFilesCheckbox, usePopulateCanvasCheckbox } from './defaultSettingsView';
+import { DefaultSettingsView } from './defaultSettingsView';
let xtermSize = { cols: 80, rows: 24 };
const xtermDataSource: XtermDataSource = {
@@ -395,12 +395,6 @@ export const UIModeView: React.FC<{}> = ({
});
}, [closeInstallDialog, testServerConnection]);
- const settingsView = [
- useDarkModeCheckbox(),
- useMergeFilesCheckbox(),
- usePopulateCanvasCheckbox()
- ];
-
return
{!hasBrowsers &&
}
/>
diff --git a/packages/trace-viewer/src/ui/workbenchLoader.tsx b/packages/trace-viewer/src/ui/workbenchLoader.tsx
index ce6ed1816dcd0..1cccd7f3b5305 100644
--- a/packages/trace-viewer/src/ui/workbenchLoader.tsx
+++ b/packages/trace-viewer/src/ui/workbenchLoader.tsx
@@ -21,8 +21,7 @@ import { Workbench } from './workbench';
import { TestServerConnection, WebSocketTestServerTransport } from '@testIsomorphic/testServerConnection';
import { DialogToolbarButton } from '@web/components/dialogToolbarButton';
import { Dialog } from '@web/shared/dialog';
-import { useDarkModeCheckbox, usePopulateCanvasCheckbox } from './defaultSettingsView';
-import { SettingsView } from './settingsView';
+import { DefaultSettingsView } from './defaultSettingsView';
export const WorkbenchLoader: React.FunctionComponent<{
}> = () => {
@@ -184,12 +183,7 @@ export const WorkbenchLoader: React.FunctionComponent<{
{model.title && {model.title}
}
-
+