<p dir="auto">While my tests are executing in the correct sequence the HTML reporter is reporting them in the wrong order.<br>
After a little digging I figured out why:<br>
the HTML reporter is sorting by line numbers (highlighted below) but <em><strong>without</strong></em> accounting for the presence of multiple files.<br>
Notice in the illustration that I have circled all the line numbers. All these tests, and a dozen or so more omitted for brevity, are in strictly monotonically increasing order. That is WRONG.<br>
If they were all in the same file, sorting by line number would always be correct. But because they are in different files, the test order is essentially randomized by sorting only by line number.<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/6817500/229327586-c9eed2e8-a0b8-4b7b-a18c-90fd97be6bc0.png"><img width="582" alt="image" src="https://user-images.githubusercontent.com/6817500/229327586-c9eed2e8-a0b8-4b7b-a18c-90fd97be6bc0.png" style="max-width: 100%;"></a></p>
<p dir="auto">The correct order for the steps shown is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="k8s &gt; create cluster &gt; kind create cluster
k8s &gt; 1. initialize system &gt; add new system
k8s &gt; 1. initialize system &gt; install system
k8s &gt; 2. verify mutating policies &gt; mutating json patch: Add
k8s &gt; 3. verify validating and mutating policies &gt; validating policy
k8s &gt; 4. verify context aware policies &gt; validating policy"><pre class="notranslate"><code class="notranslate">k8s &gt; create cluster &gt; kind create cluster
k8s &gt; 1. initialize system &gt; add new system
k8s &gt; 1. initialize system &gt; install system
k8s &gt; 2. verify mutating policies &gt; mutating json patch: Add
k8s &gt; 3. verify validating and mutating policies &gt; validating policy
k8s &gt; 4. verify context aware policies &gt; validating policy
</code></pre></div>



<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: v1.32</li>
<li>Operating System: macOS 12.6</li>
<li>Browser: Chromium</li>
<li>Other info: NA</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Config file</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="// playwright.config.ts
export default defineConfig({
  testDir: 'tests',
  projects: [
    {
      name: 'chromium',
      use: {
        ...devices['Desktop Chrome'],
      }
    }
  ]
})"><pre class="notranslate"><span class="pl-c">// playwright.config.ts</span>
<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-en">defineConfig</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
  <span class="pl-c1">testDir</span>: <span class="pl-s">'tests'</span><span class="pl-kos">,</span>
  <span class="pl-c1">projects</span>: <span class="pl-kos">[</span>
    <span class="pl-kos">{</span>
      <span class="pl-c1">name</span>: <span class="pl-s">'chromium'</span><span class="pl-kos">,</span>
      <span class="pl-c1">use</span>: <span class="pl-kos">{</span>
        ...<span class="pl-s1">devices</span><span class="pl-kos">[</span><span class="pl-s">'Desktop Chrome'</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span>
    <span class="pl-kos">}</span>
  <span class="pl-kos">]</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span></pre></div>
<p dir="auto"><strong>Test files (self-contained)</strong></p>
<p dir="auto">Test file: main.spec.js</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import firstTest from '.first.js'
import secondTest from '.second.js'

import {test} from '#test'

test.describe('main', () =&gt; {
  test.describe('should run first', firstTest)
  test.describe('should run second', secondTest)
})"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">firstTest</span> <span class="pl-k">from</span> <span class="pl-s">'.first.js'</span>
<span class="pl-k">import</span> <span class="pl-s1">secondTest</span> <span class="pl-k">from</span> <span class="pl-s">'.second.js'</span>

<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-s1">test</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'#test'</span>

<span class="pl-s1">test</span><span class="pl-kos">.</span><span class="pl-en">describe</span><span class="pl-kos">(</span><span class="pl-s">'main'</span><span class="pl-kos">,</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
  <span class="pl-s1">test</span><span class="pl-kos">.</span><span class="pl-en">describe</span><span class="pl-kos">(</span><span class="pl-s">'should run first'</span><span class="pl-kos">,</span> <span class="pl-s1">firstTest</span><span class="pl-kos">)</span>
  <span class="pl-s1">test</span><span class="pl-kos">.</span><span class="pl-en">describe</span><span class="pl-kos">(</span><span class="pl-s">'should run second'</span><span class="pl-kos">,</span> <span class="pl-s1">secondTest</span><span class="pl-kos">)</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">Test file: first.js</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import {expect, test} from '#test'

// comments simply to push the definition of the test to start at a higher line number
// comment
// comment
// comment
// comment
export default function () {
  test('test in first.js', async () =&gt; {
    expect(5).toBeTruthy()
  })
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-s1">expect</span><span class="pl-kos">,</span> <span class="pl-s1">test</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'#test'</span>

<span class="pl-c">// comments simply to push the definition of the test to start at a higher line number</span>
<span class="pl-c">// comment</span>
<span class="pl-c">// comment</span>
<span class="pl-c">// comment</span>
<span class="pl-c">// comment</span>
<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'test in first.js'</span><span class="pl-kos">,</span> <span class="pl-k">async</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
    <span class="pl-en">expect</span><span class="pl-kos">(</span><span class="pl-c1">5</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">toBeTruthy</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
  <span class="pl-kos">}</span><span class="pl-kos">)</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">Test file: second.js</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import {expect, test} from '#test'

export default function () {
  test('test in second.js', async () =&gt; {
    expect(5).toBeTruthy()
  })
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-s1">expect</span><span class="pl-kos">,</span> <span class="pl-s1">test</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'#test'</span>

<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'test in second.js'</span><span class="pl-kos">,</span> <span class="pl-k">async</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
    <span class="pl-en">expect</span><span class="pl-kos">(</span><span class="pl-c1">5</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">toBeTruthy</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
  <span class="pl-kos">}</span><span class="pl-kos">)</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Steps</strong></p>
<ul dir="auto">
<li><code class="notranslate">npx playwright test</code></li>
<li><code class="notranslate">npx playwright show-report</code></li>
</ul>
<p dir="auto"><strong>Expected</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  ✓  1 [chromium] › k8s/first.js:9:3 › main › should run first › test in first.js (5ms)
  ✓  2 [chromium] › k8s/second.js:4:3 › main › should run second › test in second.js (1ms)"><pre class="notranslate"><code class="notranslate">  ✓  1 [chromium] › k8s/first.js:9:3 › main › should run first › test in first.js (5ms)
  ✓  2 [chromium] › k8s/second.js:4:3 › main › should run second › test in second.js (1ms)
</code></pre></div>
<p dir="auto">Then in the report view:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/6817500/229328020-193cd212-893d-4e17-bfb8-3d299c72b703.png"><img width="401" alt="image" src="https://user-images.githubusercontent.com/6817500/229328020-193cd212-893d-4e17-bfb8-3d299c72b703.png" style="max-width: 100%;"></a></p>
<p dir="auto"><strong>Actual</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  ✓  1 [chromium] › k8s/first.js:9:3 › main › should run first › test in first.js (5ms)
  ✓  2 [chromium] › k8s/second.js:4:3 › main › should run second › test in second.js (1ms)"><pre class="notranslate"><code class="notranslate">  ✓  1 [chromium] › k8s/first.js:9:3 › main › should run first › test in first.js (5ms)
  ✓  2 [chromium] › k8s/second.js:4:3 › main › should run second › test in second.js (1ms)
</code></pre></div>
<p dir="auto">Then in the report view:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/6817500/229327941-70f30921-346a-49f8-b134-37d629a5a0f8.png"><img width="385" alt="image" src="https://user-images.githubusercontent.com/6817500/229327941-70f30921-346a-49f8-b134-37d629a5a0f8.png" style="max-width: 100%;"></a></p>
<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: 1.33.0</li>
<li>Operating System: Mac OS Ventura 13.1</li>
<li>Browser: All</li>
<li>Other info: Updated from 1.29.x Playwright version to 1.33.0</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Link to the GitHub repository with the repro</strong></p>
<p dir="auto">[https://github.com/your_profile/playwright_issue_title]</p>
<p dir="auto">or</p>
<p dir="auto"><strong>Config file</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import type { PlaywrightTestConfig } from '@playwright/test';
// import { devices } from '@playwright/test';

/**
 * Read environment variables from file.
 * https://github.com/motdotla/dotenv
 */
// eslint-disable-next-line @typescript-eslint/no-var-requires
require('dotenv').config({ path: './.env.local' });

console.log('BASE_URL', process.env.BASE_URL);
console.log('CI', process.env.CI);
console.log('process.env.BUILD_ENVIRONMENT', process.env.BUILD_ENVIRONMENT);

const config: PlaywrightTestConfig = {
  testDir: './tests/functional',
  /* ignore SIT (kitchen sink) tests if running against prod env */
  testIgnore: process.env.BUILD_ENVIRONMENT === 'prod' ? 'SIT/*' : '',
  /* Maximum time one test can run for. */
  timeout: 30 * 1000,
  expect: {
    timeout: 5000
  },
  /* Run tests in files in parallel */
  fullyParallel: true,
  /* Fail the build on CI if you accidentally left test.only in the source code. */
  forbidOnly: !!process.env.CI,
  /* Retry on CI only */
  retries: process.env.CI ? 2 : 0,
  /* Opt out of parallel tests on CI. */
  workers: process.env.CI ? 1 : undefined,
  /* Reporter to use. See https://playwright.dev/docs/test-reporters */
  reporter: [['html', { open: 'never' }]],
  /* Run your local dev server before starting the tests */
  webServer: {
    command: 'yarn dev',
    port: 3000,
    reuseExistingServer: true
  },
  /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
  use: {
    /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
    actionTimeout: 0,
    /* Base URL to use in actions like `await page.goto('/')`. */
    baseURL: 'http://localhost:3000',
    /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
    trace: 'on-first-retry',
    screenshot: 'only-on-failure',
    httpCredentials: {
      username: process.env.BASIC_AUTH_USER as string,
      password: process.env.BASIC_AUTH_PASSWORD as string
    }
  },
  /* Configure projects for major browsers */
  // TODO: determine appropriate strategy for envs
  projects: [
    // {
    //   name: 'chromium',
    //   use: {
    //     ...devices['Desktop Chrome']
    //   }
    // },
    // {
    //   name: 'firefox',
    //   use: {
    //     ...devices['Desktop Firefox']
    //   }
    // },
    // {
    //   name: 'webkit',
    //   use: {
    //     ...devices['Desktop Safari']
    //   }
    // },
    // /* Test against mobile viewports. */
    // {
    //   name: 'Mobile Chrome',
    //   use: {
    //     ...devices['Pixel 5']
    //   }
    // },
    // {
    //   name: 'Mobile Safari',
    //   use: {
    //     ...devices['iPhone 13']
    //   }
    // },
    // {
    //   name: 'Mobile Safari Pro Max',
    //   use: {
    //     ...devices['iPhone 13 Pro Max']
    //   }
    // },
    // {
    //   name: 'Mobile Safari ipad portrait',
    //   use: {
    //     ...devices['iPad (gen 7)']
    //   }
    // },
    // /* Test against branded browsers. */
    // {
    //   name: 'Microsoft Edge',
    //   use: {
    //     channel: 'msedge'
    //   }
    // },
    {
      name: 'Google Chrome',
      use: {
        channel: 'chrome'
      }
    }
  ],
  /* Folder for test artifacts such as screenshots, videos, traces, etc. */
  outputDir: 'test-results/'
};

export default config;
"><pre class="notranslate"><code class="notranslate">import type { PlaywrightTestConfig } from '@playwright/test';
// import { devices } from '@playwright/test';

/**
 * Read environment variables from file.
 * https://github.com/motdotla/dotenv
 */
// eslint-disable-next-line @typescript-eslint/no-var-requires
require('dotenv').config({ path: './.env.local' });

console.log('BASE_URL', process.env.BASE_URL);
console.log('CI', process.env.CI);
console.log('process.env.BUILD_ENVIRONMENT', process.env.BUILD_ENVIRONMENT);

const config: PlaywrightTestConfig = {
  testDir: './tests/functional',
  /* ignore SIT (kitchen sink) tests if running against prod env */
  testIgnore: process.env.BUILD_ENVIRONMENT === 'prod' ? 'SIT/*' : '',
  /* Maximum time one test can run for. */
  timeout: 30 * 1000,
  expect: {
    timeout: 5000
  },
  /* Run tests in files in parallel */
  fullyParallel: true,
  /* Fail the build on CI if you accidentally left test.only in the source code. */
  forbidOnly: !!process.env.CI,
  /* Retry on CI only */
  retries: process.env.CI ? 2 : 0,
  /* Opt out of parallel tests on CI. */
  workers: process.env.CI ? 1 : undefined,
  /* Reporter to use. See https://playwright.dev/docs/test-reporters */
  reporter: [['html', { open: 'never' }]],
  /* Run your local dev server before starting the tests */
  webServer: {
    command: 'yarn dev',
    port: 3000,
    reuseExistingServer: true
  },
  /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
  use: {
    /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
    actionTimeout: 0,
    /* Base URL to use in actions like `await page.goto('/')`. */
    baseURL: 'http://localhost:3000',
    /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
    trace: 'on-first-retry',
    screenshot: 'only-on-failure',
    httpCredentials: {
      username: process.env.BASIC_AUTH_USER as string,
      password: process.env.BASIC_AUTH_PASSWORD as string
    }
  },
  /* Configure projects for major browsers */
  // TODO: determine appropriate strategy for envs
  projects: [
    // {
    //   name: 'chromium',
    //   use: {
    //     ...devices['Desktop Chrome']
    //   }
    // },
    // {
    //   name: 'firefox',
    //   use: {
    //     ...devices['Desktop Firefox']
    //   }
    // },
    // {
    //   name: 'webkit',
    //   use: {
    //     ...devices['Desktop Safari']
    //   }
    // },
    // /* Test against mobile viewports. */
    // {
    //   name: 'Mobile Chrome',
    //   use: {
    //     ...devices['Pixel 5']
    //   }
    // },
    // {
    //   name: 'Mobile Safari',
    //   use: {
    //     ...devices['iPhone 13']
    //   }
    // },
    // {
    //   name: 'Mobile Safari Pro Max',
    //   use: {
    //     ...devices['iPhone 13 Pro Max']
    //   }
    // },
    // {
    //   name: 'Mobile Safari ipad portrait',
    //   use: {
    //     ...devices['iPad (gen 7)']
    //   }
    // },
    // /* Test against branded browsers. */
    // {
    //   name: 'Microsoft Edge',
    //   use: {
    //     channel: 'msedge'
    //   }
    // },
    {
      name: 'Google Chrome',
      use: {
        channel: 'chrome'
      }
    }
  ],
  /* Folder for test artifacts such as screenshots, videos, traces, etc. */
  outputDir: 'test-results/'
};

export default config;

</code></pre></div>
<p dir="auto"><strong>Test file (self-contained)</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import { Locator, Page } from '@playwright/test';

export class NotFoundPage {
  readonly page: Page;
  readonly pageGridDiv: Locator;
  readonly pageHeading: Locator;
  readonly pageParagraph: Locator;
  readonly pageButton: Locator;

  constructor(page: Page) {
    this.page = page;
    this.pageGridDiv = page.locator('[data-testid=&quot;404PageGrid&quot;]');
    this.pageHeading = page.getByTestId('404heading');
    this.pageParagraph = page.getByTestId('404paragraph');
    this.pageButton = page.getByTestId('404returnHome');
  }
  async goto() {
    await this.page.goto('http://localhost:3000/null/');
  }
}

//seperate file test file: 

import { test, expect } from '@playwright/test';
import { NotFoundPage } from './model/NoFoundPage';

test('Verify 404 page components are visible', async ({ page }) =&gt; {
  const notFoundPage = new NotFoundPage(page);
  await notFoundPage.goto();
  await expect(notFoundPage.pageGridDiv).toBeVisible();
  await expect(notFoundPage.pageHeading).toBeVisible();
  await expect(notFoundPage.pageParagraph).toBeVisible();
});

test('Verify Go back home button return&quot;', async ({ page }) =&gt; {
  const notFoundPage = new NotFoundPage(page);
  await notFoundPage.goto();
  const returnHomePromise = page.waitForEvent('requestfinished');
  await notFoundPage.pageButton.click();
  await expect(page).toHaveURL('http://localhost:3000/');
  await returnHomePromise;
});
"><pre class="notranslate"><code class="notranslate">import { Locator, Page } from '@playwright/test';

export class NotFoundPage {
  readonly page: Page;
  readonly pageGridDiv: Locator;
  readonly pageHeading: Locator;
  readonly pageParagraph: Locator;
  readonly pageButton: Locator;

  constructor(page: Page) {
    this.page = page;
    this.pageGridDiv = page.locator('[data-testid="404PageGrid"]');
    this.pageHeading = page.getByTestId('404heading');
    this.pageParagraph = page.getByTestId('404paragraph');
    this.pageButton = page.getByTestId('404returnHome');
  }
  async goto() {
    await this.page.goto('http://localhost:3000/null/');
  }
}

//seperate file test file: 

import { test, expect } from '@playwright/test';
import { NotFoundPage } from './model/NoFoundPage';

test('Verify 404 page components are visible', async ({ page }) =&gt; {
  const notFoundPage = new NotFoundPage(page);
  await notFoundPage.goto();
  await expect(notFoundPage.pageGridDiv).toBeVisible();
  await expect(notFoundPage.pageHeading).toBeVisible();
  await expect(notFoundPage.pageParagraph).toBeVisible();
});

test('Verify Go back home button return"', async ({ page }) =&gt; {
  const notFoundPage = new NotFoundPage(page);
  await notFoundPage.goto();
  const returnHomePromise = page.waitForEvent('requestfinished');
  await notFoundPage.pageButton.click();
  await expect(page).toHaveURL('http://localhost:3000/');
  await returnHomePromise;
});

</code></pre></div>
<p dir="auto"><strong>Steps</strong></p>
<ul dir="auto">
<li>[Updated playwright from 1.29.x. to 1.33.0]</li>
<li>[npx playwright test --ui]</li>
</ul>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">[Expecting UI mode to open and show my tests]</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto">[UI Mode opens fine, but I can't see any of my tests -&gt; displays "no tests".  However if I run the tests using Visual studio Test Explorer (using the play button), they run fine &amp; all expected tests are identified.<br>
Also when I run our command yarn test:functional all tests are run fine as well.<br>
Error in terminal:<br>
➜ website git:(dev) npx playwright test --ui<br>
BASE_URL https://sit.org.au/<br>
CI undefined<br>
process.env.BUILD_ENVIRONMENT sit</p>
<p dir="auto">BASE_URL <a href="https://sit.org.au/" rel="nofollow">https://sit.org.au/</a><br>
CI undefined<br>
process.env.BUILD_ENVIRONMENT sit<br>
Error: TypeError: Cannot read properties of undefined (reading 'source')<br>
at <a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:7954" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:7954</a><br>
at Array.map ()<br>
at Y (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:7924" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:7924</a>)<br>
at Pe._parseProject (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:5251" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:5251</a>)<br>
at Pe._onBegin (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:2836" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:2836</a>)<br>
at Pe.dispatch (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:2003" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:2003</a>)<br>
at window.dispatch (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:3:354" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:3:354</a>)<br>
at eval (eval at evaluate (:197:30), :2:10)<br>
at UtilityScript.evaluate (:199:17)<br>
at UtilityScript. (:1:44)Error: TypeError: Cannot read properties of undefined (reading 'configFile')<br>
at te (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:10800" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:10800</a>)<br>
at re (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:2:4912" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:2:4912</a>)<br>
at X (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:2:5004" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:2:5004</a>)<br>
at Object.onEnd (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:2:5226" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:2:5226</a>)<br>
at Pe._onEnd (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:4856" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:4856</a>)<br>
at Pe.dispatch (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:1:2472" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:1:2472</a>)<br>
at window.dispatch (<a href="http://localhost:54477/trace/uiMode.79da54b1.js:3:354" rel="nofollow">http://localhost:54477/trace/uiMode.79da54b1.js:3:354</a>)<br>
at eval (eval at evaluate (:197:30), :2:10)<br>
at UtilityScript.evaluate (:199:17)<br>
at UtilityScript. (:1:44)]</p>