From d6431169c2c7f768c5d6b9dfc4006eb218500945 Mon Sep 17 00:00:00 2001 From: David Evans Date: Mon, 26 Aug 2024 17:26:59 +0100 Subject: [PATCH] Reduce issue reproduction --- e2e/.prettierignore | 1 - e2e/.prettierrc.json | 4 - e2e/basicflow.test.js | 101 +++++++++++++ e2e/helpers/customBy.ts | 4 - e2e/helpers/customUntil.ts | 7 - e2e/helpers/debug.ts | 40 ----- e2e/helpers/downloadProfiler.ts | 35 ----- e2e/helpers/downloads.ts | 37 ----- e2e/helpers/selenium.ts | 58 -------- e2e/package.json | 14 +- e2e/pages/Password.ts | 22 --- e2e/pages/Retro.ts | 151 ------------------- e2e/pages/RetroArchive.ts | 37 ----- e2e/pages/RetroArchiveList.ts | 54 ------- e2e/pages/RetroCreate.ts | 51 ------- e2e/pages/RetroList.ts | 71 --------- e2e/pages/RetroSettings.ts | 28 ---- e2e/pages/Security.ts | 16 -- e2e/pages/SiteMap.ts | 34 ----- e2e/pages/SsoLogin.ts | 28 ---- e2e/pages/Welcome.ts | 50 ------- e2e/pages/common/Page.ts | 72 --------- e2e/pages/common/PageFragment.ts | 52 ------- e2e/pages/common/Popup.ts | 31 ---- e2e/temp-logs-2.txt | 190 ++++++++++++++++++++++++ e2e/temp-logs.txt | 65 +++++++++ e2e/tests/basicflow.test.ts | 243 ------------------------------- e2e/tsconfig.json | 15 -- package.json | 8 +- scripts/test.mjs | 186 +++++++++-------------- 30 files changed, 426 insertions(+), 1279 deletions(-) delete mode 100644 e2e/.prettierignore delete mode 100644 e2e/.prettierrc.json create mode 100644 e2e/basicflow.test.js delete mode 100644 e2e/helpers/customBy.ts delete mode 100644 e2e/helpers/customUntil.ts delete mode 100644 e2e/helpers/debug.ts delete mode 100644 e2e/helpers/downloadProfiler.ts delete mode 100644 e2e/helpers/downloads.ts delete mode 100644 e2e/helpers/selenium.ts delete mode 100644 e2e/pages/Password.ts delete mode 100644 e2e/pages/Retro.ts delete mode 100644 e2e/pages/RetroArchive.ts delete mode 100644 e2e/pages/RetroArchiveList.ts delete mode 100644 e2e/pages/RetroCreate.ts delete mode 100644 e2e/pages/RetroList.ts delete mode 100644 e2e/pages/RetroSettings.ts delete mode 100644 e2e/pages/Security.ts delete mode 100644 e2e/pages/SiteMap.ts delete mode 100644 e2e/pages/SsoLogin.ts delete mode 100644 e2e/pages/Welcome.ts delete mode 100644 e2e/pages/common/Page.ts delete mode 100644 e2e/pages/common/PageFragment.ts delete mode 100644 e2e/pages/common/Popup.ts create mode 100644 e2e/temp-logs-2.txt create mode 100644 e2e/temp-logs.txt delete mode 100644 e2e/tests/basicflow.test.ts delete mode 100644 e2e/tsconfig.json diff --git a/e2e/.prettierignore b/e2e/.prettierignore deleted file mode 100644 index 4469528..0000000 --- a/e2e/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -**/build diff --git a/e2e/.prettierrc.json b/e2e/.prettierrc.json deleted file mode 100644 index a20502b..0000000 --- a/e2e/.prettierrc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all" -} diff --git a/e2e/basicflow.test.js b/e2e/basicflow.test.js new file mode 100644 index 0000000..12063f5 --- /dev/null +++ b/e2e/basicflow.test.js @@ -0,0 +1,101 @@ +import { fileURLToPath } from 'node:url'; +import { join, dirname } from 'node:path'; +import { mkdir } from 'node:fs/promises'; +import { Builder, By, until, logging } from 'selenium-webdriver'; +import { Options } from 'selenium-webdriver/chrome.js'; +import 'chromedriver'; + +const HOST = process.env['TARGET_HOST']; + +const downloadDir = join(dirname(fileURLToPath(import.meta.url)), 'downloads'); +await mkdir(downloadDir, { recursive: true }); + +const chromeOptions = new Options(); +chromeOptions.windowSize({ width: 900, height: 500 }); +chromeOptions.setUserPreferences({ + 'profile.default_content_settings.popups': 0, + 'download.prompt_for_download': false, + 'download.default_directory': downloadDir, +}); +chromeOptions.addArguments('--headless=new'); + +const logPrefs = new logging.Preferences(); +logPrefs.setLevel('driver', logging.Level.WARNING); +logPrefs.setLevel('browser', logging.Level.ALL); +//logPrefs.setLevel('performance', logging.Level.INFO); + +const user = `user-${Date.now()}`; + +const driver = new Builder() + .forBrowser('chrome') + .setLoggingPrefs(logPrefs) + .setChromeOptions(chromeOptions) + .build(); + +const times = []; +try { + await driver.get(HOST); + await driver.wait(until.elementLocated(By.css('.page-welcome')), 10000); + + await driver.findElement(By.css('.sso-google')).click(); + await driver.findElement(By.css('form input[name=identifier]')).sendKeys(user); + await driver.findElement(By.css('form button')).click(); + + await driver.wait(until.elementLocated(By.css('.page-retro-create')), 10000); + + await driver.findElement(By.css('form input[name=name]')).sendKeys('My Retro'); + await driver.findElement(By.css('form input[name=slug]')).sendKeys(`retro-${Date.now()}`); + await driver.findElement(By.css('form input[name=password]')).sendKeys('my-password'); + await driver.findElement(By.css('form input[name=password-confirmation]')).sendKeys('my-password'); + await driver.findElement(By.css('form button')).click(); + + await driver.wait(until.elementLocated(By.css('.page-retro')), 10000); + + await driver.findElement(By.css('.happy .text-entry textarea')).sendKeys('yay'); + await driver.findElement(By.css('.happy .text-entry button')).click(); + await driver.findElement(By.xpath(`//button[text()="Create Archive"]`)).click(); + + await driver.findElement(By.xpath(`//button[text()="Archive"]`)).click(); + await driver.sleep(300); // wait for popup to close + + await driver.findElement(By.linkText('Archives')).click(); + await driver.wait(until.elementLocated(By.css('.page-archive-list')), 10000); + await driver.findElement(By.linkText('Export as JSON')).click(); + await driver.sleep(300); + await driver.findElement(By.css('.archive-link')).click(); + await driver.sleep(300); + + times.push({ id: 'get', tm: Date.now() }); await driver.get(HOST + 'retros'); + times.push({ id: 'wait css', tm: Date.now() }); await driver.wait(until.elementLocated(By.css('.page-retro-list')), 10000); + times.push({ id: 'click login', tm: Date.now() }); await driver.findElement(By.css('.sso-google')).click(); + times.push({ id: 'sleep', tm: Date.now() }); await driver.sleep(500); + times.push({ id: 'populate', tm: Date.now() }); await driver.findElement(By.css('form input[name=identifier]')).sendKeys(user); + times.push({ id: 'click submit', tm: Date.now() }); await driver.findElement(By.css('form button')).click(); + times.push({ id: 'wait target css', tm: Date.now() }); await driver.wait(until.elementLocated(By.css('.page-retro-list')), 10000); + + times.push({ id: '', tm: Date.now() }); + const deltas = []; + for (let i = 0; i < times.length - 1; ++i) { + deltas.push({ id: times[i].id, d: times[i + 1].tm - times[i].tm }); + } + if (deltas.some(({ d }) => d > 4000)) { + throw new Error(`login timeout\n${deltas.map(({ id, d }) => `${id} = ${d}`).join('\n')}`); + } +} finally { + console.log('closing browser page'); + const logs = driver.manage().logs(); + const types = await logs.getAvailableLogTypes(); + const allLogs = []; + for (const type of types) { + const entries = await logs.get(type); + for (const entry of entries) { + entry.type = type; // logs.get returns blank types + allLogs.push(entry); + } + } + console.log('logs:\n' + allLogs + .sort((a, b) => a.timestamp - b.timestamp) + .map((l) => `${new Date(l.timestamp).toISOString()} ${l.type} ${l.level} ${l.message}`) + .join('\n')); + await driver.quit(); +} diff --git a/e2e/helpers/customBy.ts b/e2e/helpers/customBy.ts deleted file mode 100644 index f49555f..0000000 --- a/e2e/helpers/customBy.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { By } from 'selenium-webdriver'; - -export const byButtonText = (text: string) => - By.xpath(`//button[text()="${text}"]`); diff --git a/e2e/helpers/customUntil.ts b/e2e/helpers/customUntil.ts deleted file mode 100644 index aa42610..0000000 --- a/e2e/helpers/customUntil.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { type WebDriver, type Locator } from 'selenium-webdriver'; - -export const untilNoElementLocated = - (locator: Locator) => async (driver: WebDriver) => { - const elements = await driver.findElements(locator); - return elements.length === 0; - }; diff --git a/e2e/helpers/debug.ts b/e2e/helpers/debug.ts deleted file mode 100644 index 7d85380..0000000 --- a/e2e/helpers/debug.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { type WebDriver } from 'selenium-webdriver'; -import { type Entry } from 'selenium-webdriver/lib/logging'; - -export async function getDocumentHtml(driver: WebDriver) { - try { - return await driver.executeScript('return document.body.outerHTML'); - } catch (e) { - return `Failed to get HTML of document: ${e}`; - } -} - -export async function getLogs(driver: WebDriver) { - try { - const logs = driver.manage().logs(); - const types = await logs.getAvailableLogTypes(); - const allLogs: Entry[] = []; - for (const type of types) { - const entries = await logs.get(type); - for (const entry of entries) { - entry.type = type; // logs.get returns blank types - allLogs.push(entry); - } - } - return allLogs - .filter((l) => !isSpuriousLog(l)) - .sort((a, b) => a.timestamp - b.timestamp) - .map(formatLog) - .join('\n'); - } catch (e) { - // Known issue: FireFox does not support getAvailableLogTypes. See https://github.com/mozilla/geckodriver/issues/284#issuecomment-963108711 - return `Failed to get browser logs: ${e}`; - } -} - -const isSpuriousLog = (l: Entry) => - l.type === 'browser' && - l.message.includes('the server responded with a status of 404'); - -const formatLog = (l: Entry) => - `${new Date(l.timestamp).toISOString()} ${l.type} ${l.level} ${l.message}`; diff --git a/e2e/helpers/downloadProfiler.ts b/e2e/helpers/downloadProfiler.ts deleted file mode 100644 index 7aea607..0000000 --- a/e2e/helpers/downloadProfiler.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { type WebDriver } from 'selenium-webdriver'; - -const getResourcesSignature = (driver: WebDriver) => - driver.executeScript( - 'return JSON.stringify(performance.getEntriesByType("resource")[0]);', - ); - -const snapshotDownloadedBytes = (driver: WebDriver) => - driver.executeScript(` - return performance - .getEntriesByType("resource") - .map((x) => x.transferSize) - .reduce((a, b) => (a + b), 0); - `); - -export async function getDownloadedBytes( - driver: WebDriver, - operation: (driver: WebDriver) => Promise, -): Promise { - const begin = await snapshotDownloadedBytes(driver); - const beginSig = await getResourcesSignature(driver); - - await operation(driver); - - const end = await snapshotDownloadedBytes(driver); - const endSig = await getResourcesSignature(driver); - - if (beginSig !== endSig) { - // a page navigation occurred; 'end' does not include old data from 'begin' - return end; - } - return end - begin; -} - -export const Mbps = (bits: number) => (bits * 1000000) / 8; diff --git a/e2e/helpers/downloads.ts b/e2e/helpers/downloads.ts deleted file mode 100644 index 9349bc8..0000000 --- a/e2e/helpers/downloads.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { fileURLToPath } from 'node:url'; -import { join, dirname } from 'node:path'; -import { readFile, mkdir, rm, stat } from 'node:fs/promises'; - -export const downloadDir = join( - dirname(fileURLToPath(import.meta.url)), - '..', - 'build', - 'downloads', -); -await rm(downloadDir, { recursive: true, force: true }); -await mkdir(downloadDir, { recursive: true }); - -const sleep = (ms: number) => new Promise((res) => setTimeout(res, ms)); - -export async function waitForFile( - name: string, - minimumSize: number, - timeout: number, -): Promise { - const fileName = join(downloadDir, name); - const exp = Date.now() + timeout; - - do { - try { - const { size } = await stat(fileName); - if (size >= minimumSize) { - // wait until file has some content - await sleep(10); // wait a little longer to avoid partial file reads if we get unlucky with the timing - return await readFile(fileName, { encoding: 'utf-8' }); - } - } catch {} - await sleep(100); - } while (Date.now() < exp); - - throw new Error(`Failed to download file ${name} within ${timeout}ms`); -} diff --git a/e2e/helpers/selenium.ts b/e2e/helpers/selenium.ts deleted file mode 100644 index 6b2f66c..0000000 --- a/e2e/helpers/selenium.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Builder as WebDriverBuilder, logging } from 'selenium-webdriver'; -import { Options as ChromeOptions } from 'selenium-webdriver/chrome.js'; -import { Options as FirefoxOptions } from 'selenium-webdriver/firefox.js'; -import { downloadDir } from './downloads'; -import 'chromedriver'; -import 'geckodriver'; - -// Set SELENIUM_BROWSER environment variable to switch browser - -const headless = process.env['HEADLESS'] !== 'false'; - -const width = 900; // ensure non-mobile display -const height = 500; -const headlessUserAgent = 'HeadlessEndToEndTest'; - -const chromeOptions = new ChromeOptions(); -chromeOptions.windowSize({ width, height }); -chromeOptions.setUserPreferences({ - 'profile.default_content_settings.popups': 0, - 'download.prompt_for_download': false, - 'download.default_directory': downloadDir, -}); - -const firefoxOptions = new FirefoxOptions() - .windowSize({ width, height }) - .setPreference('browser.download.dir', downloadDir) - .setPreference('browser.download.folderList', 2) - .setPreference('browser.download.useDownloadDir', true) - .setPreference('browser.helperApps.neverAsk.saveToDisk', 'application/json'); - -if (process.env['DOCKER'] === 'true') { - // Prevent crashes in Docker - // (see https://developer.chrome.com/docs/puppeteer/troubleshooting/#best_practices_with_docker) - chromeOptions.addArguments('disable-dev-shm-usage', 'no-sandbox'); -} - -if (headless) { - chromeOptions.addArguments( - '--headless=new', - '--user-agent=' + headlessUserAgent, - ); - firefoxOptions - .addArguments('--headless') - .setPreference('general.useragent.override', headlessUserAgent); -} - -const logPrefs = new logging.Preferences(); -logPrefs.setLevel('driver', logging.Level.WARNING); -logPrefs.setLevel('browser', logging.Level.ALL); -//logPrefs.setLevel('performance', logging.Level.INFO); - -export const buildDriver = () => - new WebDriverBuilder() - .forBrowser('chrome') - .setLoggingPrefs(logPrefs) - .setChromeOptions(chromeOptions) - .setFirefoxOptions(firefoxOptions) - .build(); diff --git a/e2e/package.json b/e2e/package.json index 806dd95..5f967ac 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,20 +1,12 @@ { "name": "refacto-e2e", "private": true, + "type": "module", "scripts": { - "format": "prettier --write .", - "lint": "tsc && prettier --check .", - "test": "lean-test --preprocess tsc" + "test": "for i in $(seq 10); do node basicflow.test.js || exit 1; done" }, "devDependencies": { - "@tsconfig/strictest": "2.x", - "@types/node": "20.x", - "@types/selenium-webdriver": "4.x", "chromedriver": "128.x", - "geckodriver": "4.4.x", - "lean-test": "2.x", - "prettier": "3.3.2", - "selenium-webdriver": "4.23.x", - "typescript": "5.5.x" + "selenium-webdriver": "4.23.x" } } diff --git a/e2e/pages/Password.ts b/e2e/pages/Password.ts deleted file mode 100644 index c2b3bfc..0000000 --- a/e2e/pages/Password.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { Retro } from './Retro'; - -export class Password extends Page { - public constructor( - driver: WebDriver, - private readonly slug: string, - ) { - super(driver, `/retros/${slug}`, '.page-password'); - } - - public setPassword(pass: string) { - return this.setFormValue(By.css('form input[type=password]'), pass); - } - - public async submit() { - await this.click(By.css('form button')); - - return new Retro(this.driver, this.slug).wait(); - } -} diff --git a/e2e/pages/Retro.ts b/e2e/pages/Retro.ts deleted file mode 100644 index 7d68328..0000000 --- a/e2e/pages/Retro.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { By, Key, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { PageFragment } from './common/PageFragment'; -import { RetroArchiveList } from './RetroArchiveList'; -import { RetroSettings } from './RetroSettings'; -import { byButtonText } from '../helpers/customBy'; - -class ItemEntry extends PageFragment { - public setText(value: string) { - return this.setFormValue(By.css('textarea'), value); - } - - public submit() { - return this.click(By.css('button')); - } - - public async enter(value: string) { - await this.setText(value); - await this.submit(); - } -} - -export class Retro extends Page { - public constructor( - driver: WebDriver, - private readonly slug: string, - ) { - super(driver, `/retros/${slug}`, '.page-retro'); - } - - public getNameText() { - return this.getName().getText(); - } - - public getHappyItemEntry() { - return new ItemEntry(this.driver, By.css('.happy .text-entry')); - } - - public getMehItemEntry() { - return new ItemEntry(this.driver, By.css('.meh .text-entry')); - } - - public getSadItemEntry() { - return new ItemEntry(this.driver, By.css('.sad .text-entry')); - } - - public getActionItemEntry() { - return new ItemEntry(this.driver, By.css('.actions .text-entry')); - } - - public async toggleActionItemDone(index: number) { - const items = await this.getActionItems(); - const item = items[index]; - if (!item) { - throw new Error(`No action item at index ${index}`); - } - await item.findElement(By.css('.toggle-done')).click(); - } - - public async getActionItemLabels(): Promise { - const items = await this.getActionItems(); - return Promise.all( - items.map((item) => item.findElement(By.css('.message')).getText()), - ); - } - - public async focusMoodItem(index: number) { - const item = await this.getMoodItemAtIndex(index); - await item.findElement(By.css('.message')).click(); - } - - public async cancelMoodItem(index: number) { - const item = await this.getMoodItemAtIndex(index); - await item.findElement(By.css('.cancel')).click(); - } - - public async continueMoodItem(index: number) { - const item = await this.getMoodItemAtIndex(index); - await item.findElement(By.css('.continue')).click(); - } - - public pressReturn() { - return this.sendKeys(Key.RETURN); - } - - public pressEscape() { - return this.sendKeys(Key.ESCAPE); - } - - public pressLeftArrow() { - return this.sendKeys(Key.ARROW_LEFT); - } - - public pressRightArrow() { - return this.sendKeys(Key.ARROW_RIGHT); - } - - public async getMoodItemLabels(): Promise { - const items = await this.getMoodItems(); - return Promise.all( - items.map((item) => item.findElement(By.css('.message')).getText()), - ); - } - - public getArchivePopup() { - return this.getPopup('popup-archive'); - } - - public async performArchive() { - const popup = this.getArchivePopup(); - if (!(await popup.exists())) { - await this.click(byButtonText('Create Archive')); - } - - await popup.clickButton('Archive'); - await popup.waitUntilDismissed(); - } - - public async clickViewArchives() { - await this.click(By.linkText('Archives')); - - return new RetroArchiveList(this.driver, this.slug).wait(); - } - - public async clickSettings() { - await this.click(By.linkText('Settings')); - - return new RetroSettings(this.driver, this.slug).wait(); - } - - private getName() { - return this.findElement(By.css('.top-header h1')); - } - - private getActionItems() { - return this.findElements(By.css('.action-item')); - } - - private getMoodItems() { - return this.findElements(By.css('.mood-item')); - } - - private async getMoodItemAtIndex(index: number) { - const items = await this.getMoodItems(); - const item = items[index]; - if (!item) { - throw new Error(`No mood item at index ${index}`); - } - return item; - } -} diff --git a/e2e/pages/RetroArchive.ts b/e2e/pages/RetroArchive.ts deleted file mode 100644 index fcdf5a4..0000000 --- a/e2e/pages/RetroArchive.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { RetroArchiveList } from './RetroArchiveList'; - -export class RetroArchive extends Page { - private readonly slug: string; - - public constructor(driver: WebDriver, slug: string, archiveId: string) { - super(driver, `/retros/${slug}/archives/${archiveId}`, '.page-archive'); - this.slug = slug; - } - - public async clickBack() { - await this.click(By.linkText('Archives')); - - return new RetroArchiveList(this.driver, this.slug).wait(); - } - - public getNameText() { - return this.getName().getText(); - } - - public async getActionItemLabels(): Promise { - const items = await this.getActionItems(); - return Promise.all( - items.map((item) => item.findElement(By.css('.message')).getText()), - ); - } - - private getName() { - return this.findElement(By.css('.top-header h1')); - } - - private getActionItems() { - return this.findElements(By.css('.action-item')); - } -} diff --git a/e2e/pages/RetroArchiveList.ts b/e2e/pages/RetroArchiveList.ts deleted file mode 100644 index 4df7ca8..0000000 --- a/e2e/pages/RetroArchiveList.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { RetroArchive } from './RetroArchive'; -import { Retro } from './Retro'; -import { waitForFile } from '../helpers/downloads'; - -export class RetroArchiveList extends Page { - public constructor( - driver: WebDriver, - private readonly slug: string, - ) { - super(driver, `/retros/${slug}/archives`, '.page-archive-list'); - } - - public async clickBack() { - await this.click(By.linkText('Back to Retro')); - - return new Retro(this.driver, this.slug).wait(); - } - - public async clickExportJson(): Promise { - await this.click(By.linkText('Export as JSON')); - return waitForFile( - `${this.slug}-export.json`, - 10, - this.explicitWaitTimeout, - ); - } - - public async getArchiveLabels(): Promise { - const items = await this.getArchiveItems(); - return Promise.all(items.map((item) => item.getText())); - } - - public async clickArchiveAtIndex(index: number) { - const item = await this.getArchiveItemAtIndex(index); - await item.click(); - - return new RetroArchive(this.driver, this.slug, 'unknown').wait(); - } - - private getArchiveItems() { - return this.findElements(By.css('.archive-link')); - } - - private async getArchiveItemAtIndex(index: number) { - const items = await this.getArchiveItems(); - const item = items[index]; - if (!item) { - throw new Error(`No archive item at index ${index}`); - } - return item; - } -} diff --git a/e2e/pages/RetroCreate.ts b/e2e/pages/RetroCreate.ts deleted file mode 100644 index 98bc77e..0000000 --- a/e2e/pages/RetroCreate.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { Retro } from './Retro'; -import { Welcome } from './Welcome'; -import { RetroList } from './RetroList'; - -export class RetroCreate extends Page { - private slug?: string; - - public constructor(driver: WebDriver) { - super(driver, '/create', '.page-retro-create'); - } - - public async clickHome() { - await this.click(By.linkText('Home')); - - return new Welcome(this.driver).wait(); - } - - public async clickListRetros() { - await this.click(By.linkText('My Retros')); - - return new RetroList(this.driver).wait(); - } - - public setName(name: string) { - return this.setFormValue(By.css('form input[name=name]'), name); - } - - public setSlug(slug: string) { - this.slug = slug; - return this.setFormValue(By.css('form input[name=slug]'), slug); - } - - public setPassword(pass: string) { - return this.setFormValue(By.css('form input[name=password]'), pass); - } - - public setPasswordConfirmation(pass: string) { - return this.setFormValue( - By.css('form input[name=password-confirmation]'), - pass, - ); - } - - public async submit() { - await this.click(By.css('form button')); - - return new Retro(this.driver, this.slug || 'unknown').wait(); - } -} diff --git a/e2e/pages/RetroList.ts b/e2e/pages/RetroList.ts deleted file mode 100644 index b45cc39..0000000 --- a/e2e/pages/RetroList.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { RetroCreate } from './RetroCreate'; -import { Welcome } from './Welcome'; -import { SsoLogin } from './SsoLogin'; -import { Retro } from './Retro'; - -export class RetroList extends Page { - public constructor(driver: WebDriver) { - super(driver, '/retros', '.page-retro-list'); - } - - public async clickLoginWithGoogle() { - await this.click(By.css('.sso-google')); - - return new SsoLogin(this.driver, RetroList).wait(); - } - - public async loginAs(identifier: string) { - await this.click(By.css('.sso-google')); - - const loginSso = await new SsoLogin( - this.driver, - RetroList, - ).wait(); - return loginSso.loginAs(identifier); - } - - public async clickHome() { - await this.click(By.linkText('Home')); - - return new Welcome(this.driver).wait(); - } - - public async clickCreateRetro() { - await this.click(By.linkText('Create Retro')); - - return new RetroCreate(this.driver).wait(); - } - - public async getRetroNames(): Promise { - const items = await this.getRetroItems(); - return Promise.all(items.map((item) => item.getText())); - } - - public async clickRetroNamed(name: string) { - const names = await this.getRetroNames(); - const index = names.indexOf(name); - if (index === -1) { - throw new Error(`No retro named ${name}`); - } - - const item = await this.getRetroItemAtIndex(index); - await item.click(); - - return new Retro(this.driver, 'unknown').wait(); - } - - private getRetroItems() { - return this.findElements(By.css('.retro-link')); - } - - private async getRetroItemAtIndex(index: number) { - const items = await this.getRetroItems(); - const item = items[index]; - if (!item) { - throw new Error(`No retro item at index ${index}`); - } - return item; - } -} diff --git a/e2e/pages/RetroSettings.ts b/e2e/pages/RetroSettings.ts deleted file mode 100644 index 9722ddc..0000000 --- a/e2e/pages/RetroSettings.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { byButtonText } from '../helpers/customBy'; -import { Retro } from './Retro'; - -export class RetroSettings extends Page { - public constructor( - driver: WebDriver, - private slug: string, - ) { - super(driver, `/retros/${slug}/settings`, '.page-retro-settings'); - } - - public setName(name: string) { - return this.setFormValue(By.css('input[name=name]'), name); - } - - public setSlug(slug: string) { - this.slug = slug; - return this.setFormValue(By.css('input[name=slug]'), slug); - } - - public async clickSave() { - await this.click(byButtonText('Save')); - - return new Retro(this.driver, this.slug).wait(); - } -} diff --git a/e2e/pages/Security.ts b/e2e/pages/Security.ts deleted file mode 100644 index 56ed3e9..0000000 --- a/e2e/pages/Security.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; - -export class Security extends Page { - public constructor(driver: WebDriver) { - super(driver, '/security', '.page-security'); - } - - public getHeaderText() { - return this.getHeader().getText(); - } - - private getHeader() { - return this.findElement(By.css('h1')); - } -} diff --git a/e2e/pages/SiteMap.ts b/e2e/pages/SiteMap.ts deleted file mode 100644 index 227fdf3..0000000 --- a/e2e/pages/SiteMap.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { type WebDriver } from 'selenium-webdriver'; -import { getDocumentHtml, getLogs } from '../helpers/debug'; -import { Welcome } from './Welcome'; -import { Password } from './Password'; -import { RetroList } from './RetroList'; - -export class SiteMap { - public constructor(public readonly driver: WebDriver) {} - - public navigateToWelcome() { - return new Welcome(this.driver).load(); - } - - public navigateToRetroList() { - return new RetroList(this.driver).load(); - } - - public navigateToRetroPassword(slug: string) { - return new Password(this.driver, slug).load(); - } - - public async close() { - const [url, content, logs] = await Promise.all([ - this.driver.getCurrentUrl(), - getDocumentHtml(this.driver), - getLogs(this.driver), - ]); - console.log('closing browser page'); - console.log('current url', url); - console.log('page content', content); - console.log('logs', logs); - await this.driver.quit(); - } -} diff --git a/e2e/pages/SsoLogin.ts b/e2e/pages/SsoLogin.ts deleted file mode 100644 index 3758209..0000000 --- a/e2e/pages/SsoLogin.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; - -type Constructable = new (driver: WebDriver) => T; - -export class SsoLogin extends Page { - public constructor( - driver: WebDriver, - private readonly ExpectedTarget: Constructable, - ) { - super(driver, '/', 'input[name=identifier]'); - } - - public setIdentifier(identifier: string) { - return this.setFormValue(By.css('form input[name=identifier]'), identifier); - } - - public async submit(): Promise { - await this.click(By.css('form button')); - - return new this.ExpectedTarget(this.driver).wait(); - } - - public async loginAs(identifier: string): Promise { - await this.setIdentifier(identifier); - return this.submit(); - } -} diff --git a/e2e/pages/Welcome.ts b/e2e/pages/Welcome.ts deleted file mode 100644 index c0c34ca..0000000 --- a/e2e/pages/Welcome.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { Page } from './common/Page'; -import { RetroCreate } from './RetroCreate'; -import { SsoLogin } from './SsoLogin'; -import { Security } from './Security'; -import { RetroList } from './RetroList'; - -export class Welcome extends Page { - public constructor(driver: WebDriver) { - super(driver, '/', '.page-welcome'); - } - - public getHeaderText() { - return this.getHeader().getText(); - } - - public async clickCreateRetro() { - await this.click(By.css('.link-create')); - - return new RetroCreate(this.driver).wait(); - } - - public async clickListRetros() { - await this.click(By.linkText('My Retros')); - - return new RetroList(this.driver).wait(); - } - - public async clickLoginWithGoogle() { - await this.click(By.css('.sso-google')); - - return new SsoLogin(this.driver, RetroCreate).wait(); - } - - public async clickSecurity() { - const element = this.findElement(By.css('.link-security')); - // avoid opening a new tab, as this is difficult to manage - await this.driver.executeScript( - 'arguments[0].setAttribute("target", "_self");', - element, - ); - await element.click(); - - return new Security(this.driver).wait(); - } - - private getHeader() { - return this.findElement(By.css('h1')); - } -} diff --git a/e2e/pages/common/Page.ts b/e2e/pages/common/Page.ts deleted file mode 100644 index 00323c0..0000000 --- a/e2e/pages/common/Page.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { - By, - until, - type WebDriver, - type WebElementCondition, -} from 'selenium-webdriver'; -import { untilNoElementLocated } from '../../helpers/customUntil'; -import { PageFragment } from './PageFragment'; -import { Popup } from './Popup'; - -const HOST = process.env['TARGET_HOST'] ?? ''; -if (!HOST) { - throw new Error('Must configure TARGET_HOST'); -} - -const untilNoLoaders = untilNoElementLocated(By.css('.loader')); - -export abstract class Page extends PageFragment { - private readonly untilNavigated: WebElementCondition; - - protected constructor( - driver: WebDriver, - private readonly subpath: string, - expectedCSS: string, - ) { - super(driver, By.css('body')); - this.untilNavigated = until.elementLocated(By.css(expectedCSS)); - } - - public async load() { - await this.navigate(); - await this.wait(); - return this; - } - - public async wait() { - await this.driver.wait( - this.untilNavigated, - this.explicitWaitTimeout, - `Failed to load page '${this.constructor.name}'`, - ); - await this.driver.wait( - untilNoLoaders, - this.explicitWaitTimeout, - `Loading indicator for page '${this.constructor.name}' did not disappear`, - ); - // wait an additional frame to allow some async events (e.g. title changes) - await this.driver.sleep(100); - return this; - } - - public getTitle() { - return this.driver.getTitle(); - } - - protected async navigate() { - const path = new URL(this.subpath, HOST).toString(); - process.stdout.write(`Navigating to ${path}\n`); - await this.driver.get(path); - } - - protected getPopup(className: string) { - return new Popup(this.driver, className); - } - - protected async sendKeys(...keys: Array>) { - await this.driver - .actions({ async: false, bridge: false }) - .sendKeys(...keys) - .perform(); - } -} diff --git a/e2e/pages/common/PageFragment.ts b/e2e/pages/common/PageFragment.ts deleted file mode 100644 index 5d90f4b..0000000 --- a/e2e/pages/common/PageFragment.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { type By, type WebDriver } from 'selenium-webdriver'; - -export abstract class PageFragment { - protected readonly explicitWaitTimeout = Number( - process.env['EXPLICIT_WAIT_TIMEOUT'] || '5000', - ); - - protected constructor( - protected readonly driver: WebDriver, - protected readonly locator: By, - ) {} - - public async exists() { - return (await this.driver.findElements(this.locator)).length > 0; - } - - public async expectChange(fn: () => void | Promise): Promise { - const container = await this.container(); - const oldState = await container.getText(); - await fn(); - await this.driver.wait( - async () => { - const state = await container.getText(); - return state !== oldState; - }, - this.explicitWaitTimeout, - `Expected content to change but did not:\n\n${oldState}`, - ); - } - - protected container() { - return this.driver.findElement(this.locator); - } - - protected findElement(selector: By) { - return this.container().findElement(selector); - } - - protected findElements(selector: By) { - return this.container().findElements(selector); - } - - protected async setFormValue(selector: By, value: string) { - const element = this.findElement(selector); - await element.clear(); - await element.sendKeys(value); - } - - protected click(selector: By) { - return this.findElement(selector).click(); - } -} diff --git a/e2e/pages/common/Popup.ts b/e2e/pages/common/Popup.ts deleted file mode 100644 index e53e35d..0000000 --- a/e2e/pages/common/Popup.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { By, WebDriver } from 'selenium-webdriver'; -import { untilNoElementLocated } from '../../helpers/customUntil'; -import { byButtonText } from '../../helpers/customBy'; -import { PageFragment } from './PageFragment'; - -export class Popup extends PageFragment { - public constructor(driver: WebDriver, className: string) { - super(driver, By.css(`.popup-content .${className}`)); - } - - public async clickButton(label: string) { - await this.click(byButtonText(label)); - } - - public async waitUntilDismissed() { - await this.driver.wait( - untilNoElementLocated(this.locator), - this.explicitWaitTimeout, - 'Popup did not close', - ); - } - - public async dismiss() { - if (!(await this.exists())) { - return; - } - - await this.driver.findElement(By.css('.popup-overlay')).click(); - await this.waitUntilDismissed(); - } -} diff --git a/e2e/temp-logs-2.txt b/e2e/temp-logs-2.txt new file mode 100644 index 0000000..dd70580 --- /dev/null +++ b/e2e/temp-logs-2.txt @@ -0,0 +1,190 @@ +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"type":"parser","url":"http://localhost:5010/82.15fd206f.css"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest"},"initialPriority":"Low","isSameSite":false,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iLTEgLTEgMTQgMTQiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjEuOUMxMC42LjQgOS45IDAgOS4zIDBTOC4yLjQgOC4yLjRMMS45IDYuN1MwIDEwLjUgMCAxMWMwIC4zLjEuNS4zLjdzLjQuMy43LjNjLjUgMCA0LjMtMS45IDQuMy0xLjlsNi4zLTYuM3MuNC0uNS40LTEuMS0uNC0xLjMtLjktMS44bS0uNy43Yy0xLTEtMS41LS41LTEuNS0uNUwzLjQgNi42cy43LjMgMS4yLjguOCAxLjIuOCAxLjJsNS41LTUuNXMuNS0uNS0uNS0xLjVNMy45IDguMWMtMS0xLTEuNC0uNi0xLjQtLjZMMS40IDkuN3MuMyAwIC42LjMuMy42LjMuNmwyLjItMS4xcy40LS40LS42LTEuNG01LjgtNi41LS4yLS4xLTUuMSA1LjEuMi4xWm0uNy43LjEuMi01LjEgNS4xLS4xLS4yWiIvPjwvc3ZnPg=="},"requestId":"84984.66","timestamp":280067.852268,"type":"Image","wallTime":1724683745.747102}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.requestServedFromCache","params":{"requestId":"84984.66"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.66","response":{"charset":"","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Content-Type":"image/svg+xml"},"mimeType":"image/svg+xml","protocol":"data","securityState":"unknown","status":200,"statusText":"OK","url":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iLTEgLTEgMTQgMTQiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjEuOUMxMC42LjQgOS45IDAgOS4zIDBTOC4yLjQgOC4yLjRMMS45IDYuN1MwIDEwLjUgMCAxMWMwIC4zLjEuNS4zLjdzLjQuMy43LjNjLjUgMCA0LjMtMS45IDQuMy0xLjlsNi4zLTYuM3MuNC0uNS40LTEuMS0uNC0xLjMtLjktMS44bS0uNy43Yy0xLTEtMS41LS41LTEuNS0uNUwzLjQgNi42cy43LjMgMS4yLjguOCAxLjIuOCAxLjJsNS41LTUuNXMuNS0uNS0uNS0xLjVNMy45IDguMWMtMS0xLTEuNC0uNi0xLjQtLjZMMS40IDkuN3MuMyAwIC42LjMuMy42LjMuNmwyLjItMS4xcy40LS40LS42LTEuNG01LjgtNi41LS4yLS4xLTUuMSA1LjEuMi4xWm0uNy43LjEuMi01LjEgNS4xLS4xLS4yWiIvPjwvc3ZnPg=="},"timestamp":280067.852317,"type":"Image"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":460,"encodedDataLength":0,"requestId":"84984.66","timestamp":280067.852323}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.66","timestamp":280067.852325}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.748Z performance INFO {"message":{"method":"Network.webSocketFrameSent","params":{"requestId":"84984.63","response":{"mask":true,"opcode":1,"payloadData":"{\"change\":{\"items\":[\"push\",{\"id\":\"8fdb7b9b-ed07-4cc1-944f-41a7be0b1db3\",\"category\":\"happy\",\"created\":1724683745742,\"message\":\"yay\",\"attachment\":null,\"votes\":0,\"doneTime\":0}]},\"id\":1}"},"timestamp":280067.853524}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.844Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":4951,"functionName":"create","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":27593,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":209773,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":8864,"functionName":"onClick","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":17931,"functionName":"De","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":18085,"functionName":"We","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":37925,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38019,"functionName":"Ir","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38432,"functionName":"jr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":43850,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106889,"functionName":"ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":17064,"functionName":"Le","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":39717,"functionName":"Vr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":24142,"functionName":"Qt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":23926,"functionName":"Bt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"hasPostData":true,"headers":{"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","Content-Type":"application/json","Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isSameSite":true,"method":"POST","mixedContentType":"none","postData":"{\"format\":\"mood\",\"options\":{},\"items\":[{\"id\":\"8fdb7b9b-ed07-4cc1-944f-41a7be0b1db3\",\"category\":\"happy\",\"created\":1724683745742,\"message\":\"yay\",\"attachment\":null,\"votes\":0,\"doneTime\":0}]}","postDataEntries":[{"bytes":"eyJmb3JtYXQiOiJtb29kIiwib3B0aW9ucyI6e30sIml0ZW1zIjpbeyJpZCI6IjhmZGI3YjliLWVkMDctNGNjMS05NDRmLTQxYTdiZTBiMWRiMyIsImNhdGVnb3J5IjoiaGFwcHkiLCJjcmVhdGVkIjoxNzI0NjgzNzQ1NzQyLCJtZXNzYWdlIjoieWF5IiwiYXR0YWNobWVudCI6bnVsbCwidm90ZXMiOjAsImRvbmVUaW1lIjowfV19"}],"referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"requestId":"84984.67","timestamp":280067.948925,"type":"Fetch","wallTime":1724683745.843879}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.844Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280067.949485},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","Cache-Control":"max-age=0","Connection":"keep-alive","Content-Length":"186","Content-Type":"application/json","Host":"localhost:5010","Origin":"http://localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"84984.67","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:05.854Z performance INFO {"message":{"method":"Network.webSocketFrameReceived","params":{"requestId":"84984.63","response":{"mask":false,"opcode":1,"payloadData":"{\"id\":1,\"change\":{\"items\":[\"push\",{\"id\":\"8fdb7b9b-ed07-4cc1-944f-41a7be0b1db3\",\"category\":\"happy\",\"created\":1724683745742,\"message\":\"yay\",\"attachment\":null,\"votes\":0,\"doneTime\":0}]}}"},"timestamp":280067.958998}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.052Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"45","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"2d-CKz36U98xb0xDuchpLiuHVlEvVc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 45\r\nETag: W/\"2d-CKz36U98xb0xDuchpLiuHVlEvVc\"\r\nDate: Mon, 26 Aug 2024 14:49:06 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.67","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.053Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.67","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":409,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"45","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"2d-CKz36U98xb0xDuchpLiuHVlEvVc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683746051485e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":207.321,"receiveHeadersStart":207.206,"requestTime":280067.949485,"sendEnd":0.242,"sendStart":0.162,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"timestamp":280068.157421,"type":"Fetch"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.053Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":45,"encodedDataLength":45,"requestId":"84984.67","timestamp":280068.157771}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.053Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":454,"requestId":"84984.67","timestamp":280068.157199}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.054Z performance INFO {"message":{"method":"Network.webSocketFrameSent","params":{"requestId":"84984.63","response":{"mask":true,"opcode":1,"payloadData":"{\"change\":{\"state\":[\"=\",{}],\"groupStates\":[\"=\",{}],\"items\":[\"seq\",[\"deleteWhere\",{\"key\":\"category\",\"not\":\"action\"}],[\"deleteWhere\",{\"key\":\"doneTime\",\"greaterThan\":0}]]},\"id\":2}"},"timestamp":280068.159357}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.109Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.115Z performance INFO {"message":{"method":"Page.navigatedWithinDocument","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","url":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.115Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.116Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":178619,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164903,"functionName":"e._trySubscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164825,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184931,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184436,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":12429,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":94220,"functionName":"ru","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101443,"functionName":"wu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101299,"functionName":"bu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":100843,"functionName":"gu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":112500,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":113002,"functionName":"Ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106818,"functionName":"us","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":47846,"functionName":"$o","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":104246,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"requestId":"84984.68","timestamp":280068.209565,"type":"XHR","wallTime":1724683746.104501}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.116Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280068.210012},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"requestId":"84984.68","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.158Z performance INFO {"message":{"method":"Network.webSocketFrameReceived","params":{"requestId":"84984.63","response":{"mask":false,"opcode":1,"payloadData":"{\"id\":2,\"change\":{\"state\":[\"=\",{}],\"groupStates\":[\"=\",{}],\"items\":[\"seq\",[\"deleteWhere\",{\"key\":\"category\",\"not\":\"action\"}],[\"deleteWhere\",{\"key\":\"doneTime\",\"greaterThan\":0}]]}}"},"timestamp":280068.262943}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.211Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"84","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 84\r\nETag: W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"\r\nDate: Mon, 26 Aug 2024 14:49:06 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.68","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.213Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.68","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":409,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"84","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683746210464e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":105.767,"receiveHeadersStart":105.663,"requestTime":280068.210012,"sendEnd":0.475,"sendStart":0.361,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"timestamp":280068.3164,"type":"XHR"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.213Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":84,"encodedDataLength":0,"requestId":"84984.68","timestamp":280068.316469}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.213Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":0,"encodedDataLength":84,"requestId":"84984.68","timestamp":280068.317296}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.213Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":493,"requestId":"84984.68","timestamp":280068.316206}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.487Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":29034,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":209773,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":17931,"functionName":"De","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":18085,"functionName":"We","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":37925,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38019,"functionName":"Ir","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38432,"functionName":"jr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":43850,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106889,"functionName":"ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":17064,"functionName":"Le","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":39717,"functionName":"Vr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":24142,"functionName":"Qt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":23926,"functionName":"Bt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"headers":{"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/export/json"},"requestId":"84984.69","timestamp":280068.589929,"type":"Fetch","wallTime":1724683746.484833}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.487Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280068.590326},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"84984.69","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.643Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"494","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"1ee-o9XcuWwg8MTLqxAdVTY8W3KyV5g\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","content-disposition":"attachment; filename=\"e2e-test-retro-chrome-1724683742058-export.json\"","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\ncontent-disposition: attachment; filename=\"e2e-test-retro-chrome-1724683742058-export.json\"\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 494\r\nETag: W/\"1ee-o9XcuWwg8MTLqxAdVTY8W3KyV5g\"\r\nDate: Mon, 26 Aug 2024 14:49:06 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.69","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.644Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.69","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":504,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"494","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"1ee-o9XcuWwg8MTLqxAdVTY8W3KyV5g\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","content-disposition":"attachment; filename=\"e2e-test-retro-chrome-1724683742058-export.json\"","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683746643165e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":158.149,"receiveHeadersStart":158.065,"requestTime":280068.590326,"sendEnd":0.475,"sendStart":0.35,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/export/json"},"timestamp":280068.748851,"type":"Fetch"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.644Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":0,"encodedDataLength":494,"requestId":"84984.69","timestamp":280068.749165}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.644Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":998,"requestId":"84984.69","timestamp":280068.748748}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.648Z performance INFO {"message":{"method":"Page.downloadWillBegin","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","suggestedFilename":"e2e-test-retro-chrome-1724683742058-export.json","url":"blob:http://localhost:5010/4d048f60-04ed-4321-95ce-f99256326bdc"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.657Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":0,"state":"inProgress","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.657Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":494,"state":"inProgress","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.657Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":494,"state":"inProgress","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.670Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":494,"state":"inProgress","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.677Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":494,"state":"inProgress","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.699Z performance INFO {"message":{"method":"Page.downloadProgress","params":{"guid":"54823635-f996-4ec8-ba11-0e1d4b8944b2","receivedBytes":494,"state":"completed","totalBytes":494}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.775Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.778Z performance INFO {"message":{"method":"Page.navigatedWithinDocument","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","url":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives/b81a8483-2a5a-41a7-8393-09dd5eb9c7ef"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.778Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.778Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives/b81a8483-2a5a-41a7-8393-09dd5eb9c7ef","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":178619,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164903,"functionName":"e._trySubscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164825,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184931,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184436,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":12429,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":94220,"functionName":"ru","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101443,"functionName":"wu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101299,"functionName":"bu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":100843,"functionName":"gu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":112500,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":113002,"functionName":"Ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106818,"functionName":"us","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":47846,"functionName":"$o","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":104246,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives/b81a8483-2a5a-41a7-8393-09dd5eb9c7ef"},"requestId":"84984.70","timestamp":280068.878642,"type":"XHR","wallTime":1724683746.773498}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.779Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280068.879005},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"requestId":"84984.70","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.880Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"319","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"13f-zU59of6DIoCk/E8Wcz+rr9n3CAo\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 319\r\nETag: W/\"13f-zU59of6DIoCk/E8Wcz+rr9n3CAo\"\r\nDate: Mon, 26 Aug 2024 14:49:06 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.70","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.881Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.70","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":411,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"319","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:06 GMT","ETag":"W/\"13f-zU59of6DIoCk/E8Wcz+rr9n3CAo\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683746879836e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":106.164,"receiveHeadersStart":106.064,"requestTime":280068.879005,"sendEnd":0.271,"sendStart":0.185,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives/b81a8483-2a5a-41a7-8393-09dd5eb9c7ef"},"timestamp":280068.985774,"type":"XHR"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.881Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":319,"encodedDataLength":0,"requestId":"84984.70","timestamp":280068.985831}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.881Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":0,"encodedDataLength":319,"requestId":"84984.70","timestamp":280068.986292}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:06.881Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":730,"requestId":"84984.70","timestamp":280068.985595}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.163Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.165Z performance INFO {"message":{"method":"Page.navigatedWithinDocument","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","url":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.166Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.167Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros/e2e-test-retro-chrome-1724683742058/archives","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":178619,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164903,"functionName":"e._trySubscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164825,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184931,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184436,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":12429,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":94220,"functionName":"ru","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101443,"functionName":"wu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101299,"functionName":"bu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":100843,"functionName":"gu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":112500,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":113002,"functionName":"Ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106818,"functionName":"us","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":47846,"functionName":"$o","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":104246,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"DE873336ECB846F920842C57CC2CBBE6","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"requestId":"84984.71","timestamp":280069.267463,"type":"XHR","wallTime":1724683747.16233}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.169Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280069.267948},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NDUsImV4cCI6MTc0MDIzNTc0NSwiYXVkIjoicmV0cm8tYzVjNzY3ODQtMGE5Yy00M2Q5LWE0ZTAtYTU1N2VmM2MzMzIxIiwic2NvcGVzIjp7InJlYWQiOnRydWUsInJlYWRBcmNoaXZlcyI6dHJ1ZSwid3JpdGUiOnRydWV9fQ.3GAoXR9Vfa9gGfUG7jOYvPO_A0brfAB8iH1rXo57Eu7H85vQ0HE5pwHFka7bwWZAwNfhECrmtNtQ2buSTHTKaT6-VbXFWOPOEBOqZYdUXXShECmwwRwymRt3twAd2fFN89LNf49_d9IWG_XTdwyUZGrkTiuDE1jREjbQHGyfnPCEqVHmH4vNReGpA-cLEm-Jvo_Z8jqpbwPU5wep3b0CQb3u94uE5TLRK-zd6QHZpNoUw67tP1c3Eurz9-rw-60Ammig51_pIsrf5IWDz-GcNA3DNCu_uV2qXukL1SlZrkW_TcoO2hrrBYFpAP50SoR0SgC0hlvqvafX22AVttZCtA","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"requestId":"84984.71","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.266Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"84","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 84\r\nETag: W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"\r\nDate: Mon, 26 Aug 2024 14:49:07 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.71","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.267Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"DE873336ECB846F920842C57CC2CBBE6","requestId":"84984.71","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":409,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"84","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"54-3FqdB91Oc4AeK1+mynGy+fiPyAc\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683747265759e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":103.157,"receiveHeadersStart":103.057,"requestTime":280069.267948,"sendEnd":0.409,"sendStart":0.307,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros/c5c76784-0a9c-43d9-a4e0-a557ef3c3321/archives"},"timestamp":280069.371704,"type":"XHR"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.267Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":84,"encodedDataLength":0,"requestId":"84984.71","timestamp":280069.371762}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.267Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":0,"encodedDataLength":84,"requestId":"84984.71","timestamp":280069.372243}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.267Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":493,"requestId":"84984.71","timestamp":280069.371595}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.498Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.499Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"strict-origin-when-cross-origin","url":"http://localhost:5010/retros"},"requestId":"C730124A68568F0FB4FC1D73D489B8CC","timestamp":280069.604188,"type":"Document","wallTime":1724683747.498942}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.502Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"connectTiming":{"requestTime":280069.605158},"headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"C730124A68568F0FB4FC1D73D489B8CC","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.504Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Accept-Ranges":"bytes","Connection":"keep-alive","Content-Encoding":"br","Content-Length":"407","Content-Type":"text/html; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"197-1918f295f56\"","Keep-Alive":"timeout=5","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Link":"\u003C/api/config>; rel=preload; as=fetch; crossorigin","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncontent-security-policy: base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\r\npermissions-policy: accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\r\nreferrer-policy: no-referrer\r\ncross-origin-opener-policy: same-origin\r\ncross-origin-resource-policy: same-origin\r\ncross-origin-embedder-policy: require-corp\r\nLink: \u003C/api/config>; rel=preload; as=fetch; crossorigin\r\nVary: Accept-Encoding\r\nContent-Encoding: br\r\nContent-Type: text/html; charset=UTF-8\r\ncache-control: public, max-age=600, stale-if-error=86400\r\nAccept-Ranges: bytes\r\nLast-Modified: Mon, 26 Aug 2024 14:48:58 GMT\r\nETag: W/\"197-1918f295f56\"\r\nContent-Length: 407\r\nDate: Mon, 26 Aug 2024 14:49:07 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"C730124A68568F0FB4FC1D73D489B8CC","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.509Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"C730124A68568F0FB4FC1D73D489B8CC","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":1205,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Connection":"keep-alive","Content-Encoding":"br","Content-Length":"407","Content-Type":"text/html; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"197-1918f295f56\"","Keep-Alive":"timeout=5","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Link":"\u003C/api/config>; rel=preload; as=fetch; crossorigin","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"text/html","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683747503992e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":4.229,"receiveHeadersStart":4.087,"requestTime":280069.605158,"sendEnd":0.839,"sendStart":0.719,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/retros"},"timestamp":280069.61325,"type":"Document"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.511Z performance INFO {"message":{"method":"Page.frameNavigated","params":{"frame":{"adFrameStatus":{"adFrameType":"none"},"crossOriginIsolatedContextType":"Isolated","domainAndRegistry":"","gatedAPIFeatures":["SharedArrayBuffers","SharedArrayBuffersTransferAllowed"],"id":"020C802E9E7FD39C39D1024B939D5ED6","loaderId":"C730124A68568F0FB4FC1D73D489B8CC","mimeType":"text/html","secureContextType":"SecureLocalhost","securityOrigin":"http://localhost:5010","url":"http://localhost:5010/retros"},"type":"Navigation"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.514Z performance INFO {"message":{"method":"Network.policyUpdated","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.518Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Origin":"http://localhost:5010","Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isLinkPreload":true,"isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/config"},"requestId":"84984.73","timestamp":280069.616101,"type":"Other","wallTime":1724683747.510866}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.518Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":1233,"encodedDataLength":0,"requestId":"C730124A68568F0FB4FC1D73D489B8CC","timestamp":280069.616322}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":704,"lineNumber":0,"type":"parser","url":"http://localhost:5010/retros"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/runtime.74337e63.js"},"requestId":"84984.74","timestamp":280069.616485,"type":"Script","wallTime":1724683747.511248}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.requestServedFromCache","params":{"requestId":"84984.74"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.74","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"1814","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"716-1918f295f57\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743372263e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.707,"receiveHeadersStart":0.608,"requestTime":280066.126923,"sendEnd":0.099,"sendStart":0.099,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/runtime.74337e63.js"},"timestamp":280069.61655,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":4455,"encodedDataLength":0,"requestId":"84984.74","timestamp":280069.616559}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.74","timestamp":280069.616561}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":758,"lineNumber":0,"type":"parser","url":"http://localhost:5010/retros"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/458.f7c9ec98.js"},"requestId":"84984.75","timestamp":280069.616617,"type":"Script","wallTime":1724683747.511379}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.519Z performance INFO {"message":{"method":"Network.requestServedFromCache","params":{"requestId":"84984.75"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.75","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"64078","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"fa4e-1918f29610e\"","Last-Modified":"Mon, 26 Aug 2024 14:48:59 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743376693e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.505,"receiveHeadersStart":0.458,"requestTime":280066.137897,"sendEnd":0.114,"sendStart":0.114,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/458.f7c9ec98.js"},"timestamp":280069.616671,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":230563,"encodedDataLength":0,"requestId":"84984.75","timestamp":280069.616679}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.75","timestamp":280069.616681}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":814,"lineNumber":0,"type":"parser","url":"http://localhost:5010/retros"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/index.add54fe3.js"},"requestId":"84984.76","timestamp":280069.616728,"type":"Script","wallTime":1724683747.511487}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.requestServedFromCache","params":{"requestId":"84984.76"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.76","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"12272","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"2ff0-1918f295f82\"","Last-Modified":"Mon, 26 Aug 2024 14:48:59 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743377758e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.396,"receiveHeadersStart":0.356,"requestTime":280066.138201,"sendEnd":0.082,"sendStart":0.082,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/index.add54fe3.js"},"timestamp":280069.616777,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":43521,"encodedDataLength":0,"requestId":"84984.76","timestamp":280069.616784}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.520Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.76","timestamp":280069.616786}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":873,"lineNumber":0,"type":"parser","url":"http://localhost:5010/retros"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/index.277bd223.css"},"requestId":"84984.77","timestamp":280069.616834,"type":"Stylesheet","wallTime":1724683747.511592}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.requestServedFromCache","params":{"requestId":"84984.77"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.77","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"2622","Content-Type":"text/css; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"a3e-1918f295f56\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"text/css","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743373475e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.728,"receiveHeadersStart":0.662,"requestTime":280066.127253,"sendEnd":0.082,"sendStart":0.082,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/index.277bd223.css"},"timestamp":280069.616889,"type":"Stylesheet"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":14687,"encodedDataLength":0,"requestId":"84984.77","timestamp":280069.616897}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.77","timestamp":280069.616898}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.73","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":410,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"101","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683747512804e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":1.705,"receiveHeadersStart":1.643,"requestTime":280069.616415,"sendEnd":0.516,"sendStart":0.3,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/config"},"timestamp":280069.619399,"type":"Other"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":1612,"requestId":"C730124A68568F0FB4FC1D73D489B8CC","timestamp":280069.609968}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280069.616415},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Origin":"http://localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"84984.73","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"101","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 101\r\nETag: W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"\r\nDate: Mon, 26 Aug 2024 14:49:07 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84984.73","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Page.domContentEventFired","params":{"timestamp":280069.623877}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.521Z performance INFO {"message":{"method":"Page.loadEventFired","params":{"timestamp":280069.62424}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.524Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.524Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":101,"encodedDataLength":101,"requestId":"84984.73","timestamp":280069.624529}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.524Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":511,"requestId":"84984.73","timestamp":280069.618359}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.527Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Medium","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/manifest.json"},"requestId":"84984.87","timestamp":280069.630254,"type":"Manifest","wallTime":1724683747.525018}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.527Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.87","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"265","Content-Type":"application/json; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"109-1918f295f56\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743442574e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.261,"receiveHeadersStart":0.218,"requestTime":280069.630555,"sendEnd":0.039,"sendStart":0.039,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/manifest.json"},"timestamp":280069.631124,"type":"Manifest"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.527Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":741,"encodedDataLength":0,"requestId":"84984.87","timestamp":280069.631155}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.527Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.87","timestamp":280069.631153}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.528Z browser WARNING http://localhost:5010/retros - is deprecated. Please include +chrome: 2024-08-26T14:49:07.529Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/favicon512.png"},"requestId":"84984.88","timestamp":280069.632891,"type":"Other","wallTime":1724683747.527656}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.529Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"C730124A68568F0FB4FC1D73D489B8CC","requestId":"84984.88","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Length":"50354","Content-Type":"image/png","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"c4b2-1918f295f1c\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"image/png","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743475128e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.347,"receiveHeadersStart":0.249,"requestTime":280069.633115,"sendEnd":0.047,"sendStart":0.047,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/favicon512.png"},"timestamp":280069.633826,"type":"Other"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.529Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":50354,"encodedDataLength":0,"requestId":"84984.88","timestamp":280069.634006}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.532Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84984.88","timestamp":280069.633964}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.691Z performance INFO {"message":{"method":"Page.frameScheduledNavigation","params":{"delay":0,"frameId":"020C802E9E7FD39C39D1024B939D5ED6","reason":"scriptInitiated","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.691Z performance INFO {"message":{"method":"Page.frameRequestedNavigation","params":{"disposition":"currentTab","frameId":"020C802E9E7FD39C39D1024B939D5ED6","reason":"scriptInitiated","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.695Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.697Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"stack":{"callFrames":[{"columnNumber":19703,"functionName":"onClick","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":17931,"functionName":"De","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":18085,"functionName":"We","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":37925,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38019,"functionName":"Ir","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":38432,"functionName":"jr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":43850,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106889,"functionName":"ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":17064,"functionName":"Le","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":39717,"functionName":"Vr","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":24142,"functionName":"Qt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":23926,"functionName":"Bt","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","redirectHasExtraInfo":false,"request":{"headers":{"Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"},"requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","timestamp":280069.801427,"type":"Document","wallTime":1724683747.696197}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.697Z performance INFO {"message":{"method":"Page.frameClearedScheduledNavigation","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.700Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[{"blockedReasons":[],"cookie":{"domain":"localhost","expires":-1,"httpOnly":false,"name":"login-nonce","path":"/","priority":"Medium","sameParty":false,"sameSite":"Strict","secure":true,"session":true,"size":31,"sourcePort":5010,"sourceScheme":"NonSecure","value":"e6eeeea1d76587d36d46"},"exemptionReason":"None"}],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"Allow"},"connectTiming":{"requestTime":280069.805035},"headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Cookie":"login-nonce=e6eeeea1d76587d36d46","Host":"localhost:5012","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-site","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.701Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"1516","Content-Type":"text/html; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"5ec-/bT7/hIiL3v2WFWYeAsbFeScD/8\"","Keep-Alive":"timeout=5","X-Powered-By":"Express"},"headersText":"HTTP/1.1 200 OK\r\nX-Powered-By: Express\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 1516\r\nETag: W/\"5ec-/bT7/hIiL3v2WFWYeAsbFeScD/8\"\r\nDate: Mon, 26 Aug 2024 14:49:07 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.704Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":90,"connectionReused":true,"encodedDataLength":231,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"1516","Content-Type":"text/html; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:07 GMT","ETag":"W/\"5ec-/bT7/hIiL3v2WFWYeAsbFeScD/8\"","Keep-Alive":"timeout=5","X-Powered-By":"Express"},"mimeType":"text/html","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5012,"responseTime":1.724683747701452e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":1.727,"receiveHeadersStart":1.677,"requestTime":280069.805035,"sendEnd":0.861,"sendStart":0.71,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"},"timestamp":280069.809253,"type":"Document"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.708Z performance INFO {"message":{"method":"Page.frameNavigated","params":{"frame":{"adFrameStatus":{"adFrameType":"none"},"crossOriginIsolatedContextType":"NotIsolated","domainAndRegistry":"","gatedAPIFeatures":[],"id":"020C802E9E7FD39C39D1024B939D5ED6","loaderId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","mimeType":"text/html","secureContextType":"SecureLocalhost","securityOrigin":"http://localhost:5012","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"},"type":"Navigation"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.709Z performance INFO {"message":{"method":"Network.policyUpdated","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.715Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":1516,"encodedDataLength":0,"requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","timestamp":280069.812628}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.717Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":1747,"requestId":"2A0D3C8AD54C8BC6ADA0A643C077D70C","timestamp":280069.806986}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.730Z performance INFO {"message":{"method":"Page.domContentEventFired","params":{"timestamp":280069.822736}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.730Z performance INFO {"message":{"method":"Page.loadEventFired","params":{"timestamp":280069.835355}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.733Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.733Z performance INFO {"message":{"method":"Page.frameResized","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:07.739Z performance INFO {"message":{"method":"Page.frameResized","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.085Z performance INFO {"message":{"method":"Page.frameScheduledNavigation","params":{"delay":0,"frameId":"020C802E9E7FD39C39D1024B939D5ED6","reason":"formSubmissionPost","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.086Z performance INFO {"message":{"method":"Page.frameRequestedNavigation","params":{"disposition":"currentTab","frameId":"020C802E9E7FD39C39D1024B939D5ED6","reason":"formSubmissionPost","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.087Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.088Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"type":"other"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"hasPostData":true,"headers":{"Content-Type":"application/x-www-form-urlencoded","Origin":"http://localhost:5012","Referer":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"POST","mixedContentType":"none","postData":"redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&nonce=&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&client_id=mock-client-id&identifier=e2e-test-user-chrome-1724683742058","postDataEntries":[{"bytes":"cmVkaXJlY3RfdXJpPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E1MDEwJTJGc3NvJTJGZ29vZ2xlJm5vbmNlPSZzdGF0ZT0lN0IlMjJub25jZSUyMiUzQSUyMmU2ZWVlZWExZDc2NTg3ZDM2ZDQ2JTIyJTJDJTIycmVkaXJlY3QlMjIlM0ElMjIlMkZyZXRyb3MlMjIlN0QmY2xpZW50X2lkPW1vY2stY2xpZW50LWlkJmlkZW50aWZpZXI9ZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OA=="}],"referrerPolicy":"strict-origin-when-cross-origin","url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"},"requestId":"FBEC57BE8973364801A35D8E1E125252","timestamp":280070.193273,"type":"Document","wallTime":1724683748.088019}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.088Z performance INFO {"message":{"method":"Page.frameClearedScheduledNavigation","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.091Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[{"blockedReasons":[],"cookie":{"domain":"localhost","expires":-1,"httpOnly":false,"name":"login-nonce","path":"/","priority":"Medium","sameParty":false,"sameSite":"Strict","secure":true,"session":true,"size":31,"sourcePort":5010,"sourceScheme":"NonSecure","value":"e6eeeea1d76587d36d46"},"exemptionReason":"None"}],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"Allow"},"connectTiming":{"requestTime":280070.193987},"headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Cache-Control":"max-age=0","Connection":"keep-alive","Content-Length":"223","Content-Type":"application/x-www-form-urlencoded","Cookie":"login-nonce=e6eeeea1d76587d36d46","Host":"localhost:5012","Origin":"http://localhost:5012","Referer":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"FBEC57BE8973364801A35D8E1E125252","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.094Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":true,"initiator":{"type":"other"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":true,"redirectResponse":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":90,"connectionReused":true,"encodedDataLength":941,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"1496","Content-Type":"text/html; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:08 GMT","Keep-Alive":"timeout=5","Location":"http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D","Vary":"Accept","X-Powered-By":"Express"},"mimeType":"text/html","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5012,"responseTime":1.72468374809337e+12,"securityState":"secure","status":303,"statusText":"See Other","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":4.751,"receiveHeadersStart":4.655,"requestTime":280070.193987,"sendEnd":0.332,"sendStart":0.265,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false"},"request":{"headers":{"Content-Type":"application/x-www-form-urlencoded","Origin":"http://localhost:5012","Referer":"http://localhost:5012/","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"strict-origin-when-cross-origin","url":"http://localhost:5010/sso/google","urlFragment":"#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D"},"requestId":"FBEC57BE8973364801A35D8E1E125252","timestamp":280070.199404,"type":"Document","wallTime":1724683748.094157}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.094Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"1496","Content-Type":"text/html; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:08 GMT","Keep-Alive":"timeout=5","Location":"http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D","Vary":"Accept","X-Powered-By":"Express"},"headersText":"HTTP/1.1 303 See Other\r\nX-Powered-By: Express\r\nLocation: http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D\r\nVary: Accept\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 1496\r\nDate: Mon, 26 Aug 2024 14:49:08 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"FBEC57BE8973364801A35D8E1E125252","resourceIPAddressSpace":"Local","statusCode":303}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.095Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[{"blockedReasons":[],"cookie":{"domain":"localhost","expires":-1,"httpOnly":false,"name":"login-nonce","path":"/","priority":"Medium","sameParty":false,"sameSite":"Strict","secure":true,"session":true,"size":31,"sourcePort":5010,"sourceScheme":"NonSecure","value":"e6eeeea1d76587d36d46"},"exemptionReason":"None"}],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"Allow"},"connectTiming":{"requestTime":280070.1998},"headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Cache-Control":"max-age=0","Connection":"keep-alive","Cookie":"login-nonce=e6eeeea1d76587d36d46","Host":"localhost:5010","If-Modified-Since":"Mon, 26 Aug 2024 14:48:58 GMT","If-None-Match":"W/\"197-1918f295f56\"","Referer":"http://localhost:5012/","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-site","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"FBEC57BE8973364801A35D8E1E125252","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.097Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Accept-Ranges":"bytes","Connection":"keep-alive","Date":"Mon, 26 Aug 2024 14:49:08 GMT","ETag":"W/\"197-1918f295f56\"","Keep-Alive":"timeout=5","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Link":"\u003C/api/config>; rel=preload; as=fetch; crossorigin","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 304 Not Modified\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncontent-security-policy: base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\r\npermissions-policy: accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\r\nreferrer-policy: no-referrer\r\ncross-origin-opener-policy: same-origin\r\ncross-origin-resource-policy: same-origin\r\ncross-origin-embedder-policy: require-corp\r\nLink: \u003C/api/config>; rel=preload; as=fetch; crossorigin\r\nVary: Accept-Encoding\r\ncache-control: public, max-age=600, stale-if-error=86400\r\nAccept-Ranges: bytes\r\nLast-Modified: Mon, 26 Aug 2024 14:48:58 GMT\r\nETag: W/\"197-1918f295f56\"\r\nDate: Mon, 26 Aug 2024 14:49:08 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"FBEC57BE8973364801A35D8E1E125252","resourceIPAddressSpace":"Local","statusCode":304}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.101Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"FBEC57BE8973364801A35D8E1E125252","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":1132,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"407","Content-Type":"text/html; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:08 GMT","ETag":"W/\"197-1918f295f56\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Link":"\u003C/api/config>; rel=preload; as=fetch; crossorigin","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"text/html","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683748096665e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":2.301,"receiveHeadersStart":2.139,"requestTime":280070.1998,"sendEnd":0.509,"sendStart":0.448,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/sso/google"},"timestamp":280070.204842,"type":"Document"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.111Z performance INFO {"message":{"method":"Page.frameNavigated","params":{"frame":{"adFrameStatus":{"adFrameType":"none"},"crossOriginIsolatedContextType":"Isolated","domainAndRegistry":"","gatedAPIFeatures":["SharedArrayBuffers","SharedArrayBuffersTransferAllowed"],"id":"020C802E9E7FD39C39D1024B939D5ED6","loaderId":"FBEC57BE8973364801A35D8E1E125252","mimeType":"text/html","secureContextType":"SecureLocalhost","securityOrigin":"http://localhost:5010","url":"http://localhost:5010/sso/google","urlFragment":"#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D"},"type":"Navigation"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:08.111Z performance INFO {"message":{"method":"Network.policyUpdated","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} + + +chrome: 2024-08-26T14:49:13.123Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Origin":"http://localhost:5010","Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isLinkPreload":true,"isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/config"},"requestId":"84989.2","timestamp":280070.212081,"type":"Other","wallTime":1724683748.106845}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.123Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":1233,"encodedDataLength":0,"requestId":"FBEC57BE8973364801A35D8E1E125252","timestamp":280070.212573}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.123Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":704,"lineNumber":0,"type":"parser","url":"http://localhost:5010/sso/google"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/runtime.74337e63.js"},"requestId":"84989.3","timestamp":280070.212883,"type":"Script","wallTime":1724683748.107635}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.123Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":758,"lineNumber":0,"type":"parser","url":"http://localhost:5010/sso/google"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/458.f7c9ec98.js"},"requestId":"84989.4","timestamp":280070.213066,"type":"Script","wallTime":1724683748.107839}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":814,"lineNumber":0,"type":"parser","url":"http://localhost:5010/sso/google"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Low","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/index.add54fe3.js"},"requestId":"84989.5","timestamp":280070.213212,"type":"Script","wallTime":1724683748.107955}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"columnNumber":873,"lineNumber":0,"type":"parser","url":"http://localhost:5010/sso/google"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"VeryHigh","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/index.277bd223.css"},"requestId":"84989.6","timestamp":280070.213308,"type":"Stylesheet","wallTime":1724683748.108053}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.6","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"2622","Content-Type":"text/css; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"a3e-1918f295f56\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"text/css","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743373475e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.36,"receiveHeadersStart":0.253,"requestTime":280070.213756,"sendEnd":0.062,"sendStart":0.062,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/index.277bd223.css"},"timestamp":280070.217999,"type":"Stylesheet"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":14687,"encodedDataLength":0,"requestId":"84989.6","timestamp":280070.218033}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.6","timestamp":280070.214723}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.124Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":1132,"requestId":"FBEC57BE8973364801A35D8E1E125252","timestamp":280070.202499}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.128Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[{"blockedReasons":[],"cookie":{"domain":"localhost","expires":-1,"httpOnly":false,"name":"login-nonce","path":"/","priority":"Medium","sameParty":false,"sameSite":"Strict","secure":true,"session":true,"size":31,"sourcePort":5010,"sourceScheme":"NonSecure","value":"e6eeeea1d76587d36d46"},"exemptionReason":"None"}],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280070.213066},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Cookie":"login-nonce=e6eeeea1d76587d36d46","Host":"localhost:5010","Origin":"http://localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"84989.2","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.129Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"101","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:08 GMT","ETag":"W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 101\r\nETag: W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"\r\nDate: Mon, 26 Aug 2024 14:49:08 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84989.2","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.134Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.2","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":67,"connectionReused":true,"encodedDataLength":410,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"101","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:08 GMT","ETag":"W/\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683748110571e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":2.836,"receiveHeadersStart":2.779,"requestTime":280070.213066,"sendEnd":0.902,"sendStart":0.816,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/config"},"timestamp":280075.229816,"type":"Other"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.135Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.3","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"1814","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"716-1918f295f57\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743372263e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.839,"receiveHeadersStart":0.589,"requestTime":280070.213484,"sendEnd":0.099,"sendStart":0.099,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/runtime.74337e63.js"},"timestamp":280075.232406,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.135Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":4455,"encodedDataLength":0,"requestId":"84989.3","timestamp":280075.232542}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.135Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":101,"encodedDataLength":101,"requestId":"84989.2","timestamp":280075.233017}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.135Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":511,"requestId":"84989.2","timestamp":280070.216323}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.146Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.4","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"64078","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"fa4e-1918f29610e\"","Last-Modified":"Mon, 26 Aug 2024 14:48:59 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743376693e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":1.05,"receiveHeadersStart":0.895,"requestTime":280075.23202,"sendEnd":0.309,"sendStart":0.309,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/458.f7c9ec98.js"},"timestamp":280075.245641,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":230563,"encodedDataLength":0,"requestId":"84989.4","timestamp":280075.245682}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.3","timestamp":280070.216569}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.5","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"12272","Content-Type":"application/javascript; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"2ff0-1918f295f82\"","Last-Modified":"Mon, 26 Aug 2024 14:48:59 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=31536000, stale-if-error=31536000, immutable","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/javascript","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743377758e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.764,"receiveHeadersStart":0.706,"requestTime":280075.232712,"sendEnd":0.104,"sendStart":0.104,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/index.add54fe3.js"},"timestamp":280075.246832,"type":"Script"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":43521,"encodedDataLength":0,"requestId":"84989.5","timestamp":280075.246865}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Page.frameResized","params":{}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.5","timestamp":280075.235366}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.147Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.4","timestamp":280075.236274}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.169Z performance INFO {"message":{"method":"Page.domContentEventFired","params":{"timestamp":280075.273382}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.169Z performance INFO {"message":{"method":"Page.loadEventFired","params":{"timestamp":280075.273955}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.170Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.171Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"Medium","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/manifest.json"},"requestId":"84989.16","timestamp":280075.276225,"type":"Manifest","wallTime":1724683753.170809}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.176Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"stack":{"callFrames":[{"columnNumber":6278,"functionName":"login","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":16134,"functionName":"push.7795.N.search","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":16173,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":94220,"functionName":"ru","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":114165,"functionName":"ks","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":110824,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":191795,"functionName":"k","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":192327,"functionName":"N","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"hasPostData":true,"headers":{"Content-Type":"application/json","Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isSameSite":true,"method":"POST","mixedContentType":"none","postData":"{\"externalToken\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg\"}","postDataEntries":[{"bytes":"eyJleHRlcm5hbFRva2VuIjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SmhkV1FpT2lKdGIyTnJMV05zYVdWdWRDMXBaQ0lzSW01dmJtTmxJam9pSWl3aWFuUnBJam9pTXprMFlqaG1OV1V0TmpRd1pTMDBOV001TFdFNE9URXROVEExTkdJd1pEWTFZamszSWl3aWMzVmlJam9pWlRKbExYUmxjM1F0ZFhObGNpMWphSEp2YldVdE1UY3lORFk0TXpjME1qQTFPQ0lzSW1saGRDSTZNVGN5TkRZNE16YzBPQ3dpWlhod0lqb3hOekkwTmpnM016UTRmUS5YY1I3ZEFFcEVRVnRVM01EUlp0Slh0Ul92eHJIc3lYZUlKTl9UZl9pMXN3M0dCbVMtcTlwT3ZZQkhRM0Rrb3AzazFucUNzVTAwRS0xUllpTEtCclZmMXFmNU8wRTJBbzQ2RzB5QVR4bkg2YjhYX1BpUlZZdmNDWUp0TVpCeDlZLWhTTjdqM2pTSzNLSkYxZFdpNjRzSXJpTnlHSkJsSjZjUEpQdzEwV01DUDZ0ZUdxdGswZUJ4V3A2WGU5eDdKdm9lTnNHUERGNEUtZVRfNXlxbVFnLU1ZVjc0TmxXTEh1QUFFNmJnYUtSM0VSSS05OExTWjV2VF9ZMGM1ZEU3blVrdlVubjJDazFUODFjeWx5ZkUza3hFQ2NGSmVvQ2hjWGhFU05TdzNrRUVacU9wNnBwaG10dVN6T0x0ZXpSTFhPWGlyQmw5V2EzTnBTc01yeTFkbkhPTWcifQ=="}],"referrerPolicy":"no-referrer","url":"http://localhost:5010/api/sso/google"},"requestId":"84989.17","timestamp":280075.28019,"type":"Fetch","wallTime":1724683753.175669}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.176Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[{"blockedReasons":[],"cookie":{"domain":"localhost","expires":-1,"httpOnly":false,"name":"login-nonce","path":"/","priority":"Medium","sameParty":false,"sameSite":"Strict","secure":true,"session":true,"size":31,"sourcePort":5010,"sourceScheme":"NonSecure","value":"e6eeeea1d76587d36d46"},"exemptionReason":"None"}],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280075.281435},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Cache-Control":"max-age=0","Connection":"keep-alive","Content-Length":"610","Content-Type":"application/json","Cookie":"login-nonce=e6eeeea1d76587d36d46","Host":"localhost:5010","Origin":"http://localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"requestId":"84989.17","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.177Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.16","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Encoding":"br","Content-Length":"265","Content-Type":"application/json; charset=UTF-8","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"109-1918f295f56\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","Vary":"Accept-Encoding","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743442574e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.551,"receiveHeadersStart":0.477,"requestTime":280075.278341,"sendEnd":0.034,"sendStart":0.034,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/manifest.json"},"timestamp":280075.281608,"type":"Manifest"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.177Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":741,"encodedDataLength":0,"requestId":"84989.16","timestamp":280075.281641}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.177Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.16","timestamp":280075.279244}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.177Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/sso/google","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"type":"other"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\""},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/favicon512.png"},"requestId":"84989.18","timestamp":280075.282712,"type":"Other","wallTime":1724683753.177299}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.177Z browser WARNING http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiMzk0YjhmNWUtNjQwZS00NWM5LWE4OTEtNTA1NGIwZDY1Yjk3Iiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyNDY4Mzc0MjA1OCIsImlhdCI6MTcyNDY4Mzc0OCwiZXhwIjoxNzI0Njg3MzQ4fQ.XcR7dAEpEQVtU3MDRZtJXtR_vxrHsyXeIJN_Tf_i1sw3GBmS-q9pOvYBHQ3Dkop3k1nqCsU00E-1RYiLKBrVf1qf5O0E2Ao46G0yATxnH6b8X_PiRVYvcCYJtMZBx9Y-hSN7j3jSK3KJF1dWi64sIriNyGJBlJ6cPJPw10WMCP6teGqtk0eBxWp6Xe9x7JvoeNsGPDF4E-eT_5yqmQg-MYV74NlWLHuAAE6bgaKR3ERI-98LSZ5vT_Y0c5dE7nUkvUnn2Ck1T81cylyfE3kxECcFJeoChcXhESNSw3kEEZqOp6pphmtuSzOLtezRLXOXirBl9Wa3NpSsMry1dnHOMg&state=%7B%22nonce%22%3A%22e6eeeea1d76587d36d46%22%2C%22redirect%22%3A%22%2Fretros%22%7D - is deprecated. Please include +chrome: 2024-08-26T14:49:13.178Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":false,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.18","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"","connectionId":0,"connectionReused":false,"encodedDataLength":0,"fromDiskCache":true,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Accept-Ranges":"bytes","Content-Length":"50354","Content-Type":"image/png","Date":"Mon, 26 Aug 2024 14:49:03 GMT","ETag":"W/\"c4b2-1918f295f1c\"","Last-Modified":"Mon, 26 Aug 2024 14:48:58 GMT","cache-control":"public, max-age=600, stale-if-error=86400","content-security-policy":"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'","cross-origin-embedder-policy":"require-corp","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","permissions-policy":"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()","referrer-policy":"no-referrer","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"image/png","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683743475128e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":0.411,"receiveHeadersStart":0.35,"requestTime":280075.283119,"sendEnd":0.115,"sendStart":0.115,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/favicon512.png"},"timestamp":280075.283852,"type":"Other"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.178Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":50354,"encodedDataLength":0,"requestId":"84989.18","timestamp":280075.283929}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.182Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"84989.18","timestamp":280075.283863}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.187Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"547","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:13 GMT","ETag":"W/\"223-ga3h+KjtlEqv/X1N/zKMFKJJp20\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 547\r\nETag: W/\"223-ga3h+KjtlEqv/X1N/zKMFKJJp20\"\r\nDate: Mon, 26 Aug 2024 14:49:13 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84989.17","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.198Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.17","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":634,"connectionReused":false,"encodedDataLength":411,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"547","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:13 GMT","ETag":"W/\"223-ga3h+KjtlEqv/X1N/zKMFKJJp20\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683753187107e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":0.325,"connectStart":0.126,"dnsEnd":0.126,"dnsStart":0.121,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":11.162,"receiveHeadersStart":11.112,"requestTime":280075.281435,"sendEnd":0.445,"sendStart":0.369,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/sso/google"},"timestamp":280075.302713,"type":"Fetch"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.198Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":547,"encodedDataLength":547,"requestId":"84989.17","timestamp":280075.303031}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.198Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":958,"requestId":"84989.17","timestamp":280075.29277}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.201Z performance INFO {"message":{"method":"Page.frameStartedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.204Z performance INFO {"message":{"method":"Page.navigatedWithinDocument","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","url":"http://localhost:5010/retros"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.204Z performance INFO {"message":{"method":"Page.frameStoppedLoading","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.206Z performance INFO {"message":{"method":"Network.requestWillBeSent","params":{"documentURL":"http://localhost:5010/retros","frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasUserGesture":false,"initiator":{"stack":{"callFrames":[{"columnNumber":178619,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164903,"functionName":"e._trySubscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164825,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184931,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":184436,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":189864,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164795,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":188263,"functionName":"a","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":164740,"functionName":"e.subscribe","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":12429,"functionName":"","lineNumber":0,"scriptId":"9","url":"http://localhost:5010/index.add54fe3.js"},{"columnNumber":94220,"functionName":"ru","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101443,"functionName":"wu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":101299,"functionName":"bu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":100843,"functionName":"gu","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":112500,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":113002,"functionName":"Ss","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":106818,"functionName":"us","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":47846,"functionName":"$o","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"},{"columnNumber":104246,"functionName":"","lineNumber":1,"scriptId":"8","url":"http://localhost:5010/458.f7c9ec98.js"}]},"type":"script"},"loaderId":"FBEC57BE8973364801A35D8E1E125252","redirectHasExtraInfo":false,"request":{"headers":{"Referer":"","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NTMsImV4cCI6MTcyNDY5MDk1MywiYXVkIjoidXNlciIsImlzcyI6Imdvb2dsZSIsInN1YiI6Imdvb2dsZS1lMmUtdGVzdC11c2VyLWNocm9tZS0xNzI0NjgzNzQyMDU4In0.GwfMeNs4PcI1vtki9D69Z9fY6_eAyU20-2ffEfQ2lDdq1Sqk_-G5Hle_Al5dgV8m10IdsIebJGeDp7Px_8EVPEBeliQrcSZV9nH0_P4ws2CrfVdyekIhBXCgfTDWLjFSmcLu2LA94w6lAHKtKEL6Etk0s4W3OxYlOLO4ydYlmxd25gjBqP7CqHDfUZn4Osi1QESF1prTfK8AxtvqpjlM_EmuMwC8OPnoptrNK0REidYmI0l5UddLsTFNJR6bUFFAhAMxXwy75gsp8-TXaifuZ5t8BdyRl2XDNuKbFDZuKrDZ_CMFcFc4GPYW-TM25w3x-aYD_KK8ME4xP0RZEHJKsg","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"initialPriority":"High","isSameSite":true,"method":"GET","mixedContentType":"none","referrerPolicy":"no-referrer","url":"http://localhost:5010/api/retros"},"requestId":"84989.19","timestamp":280075.308645,"type":"XHR","wallTime":1724683753.204299}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.206Z performance INFO {"message":{"method":"Network.requestWillBeSentExtraInfo","params":{"associatedCookies":[],"clientSecurityState":{"initiatorIPAddressSpace":"Local","initiatorIsSecureContext":true,"privateNetworkRequestPolicy":"PreflightWarn"},"connectTiming":{"requestTime":280075.310091},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-GB,en-US;q=0.9,en;q=0.8","Connection":"keep-alive","Host":"localhost:5010","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"HeadlessEndToEndTest","authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MjQ2ODM3NTMsImV4cCI6MTcyNDY5MDk1MywiYXVkIjoidXNlciIsImlzcyI6Imdvb2dsZSIsInN1YiI6Imdvb2dsZS1lMmUtdGVzdC11c2VyLWNocm9tZS0xNzI0NjgzNzQyMDU4In0.GwfMeNs4PcI1vtki9D69Z9fY6_eAyU20-2ffEfQ2lDdq1Sqk_-G5Hle_Al5dgV8m10IdsIebJGeDp7Px_8EVPEBeliQrcSZV9nH0_P4ws2CrfVdyekIhBXCgfTDWLjFSmcLu2LA94w6lAHKtKEL6Etk0s4W3OxYlOLO4ydYlmxd25gjBqP7CqHDfUZn4Osi1QESF1prTfK8AxtvqpjlM_EmuMwC8OPnoptrNK0REidYmI0l5UddLsTFNJR6bUFFAhAMxXwy75gsp8-TXaifuZ5t8BdyRl2XDNuKbFDZuKrDZ_CMFcFc4GPYW-TM25w3x-aYD_KK8ME4xP0RZEHJKsg","sec-ch-ua":"\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Google Chrome\";v=\"128\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","x-requested-with":"XMLHttpRequest"},"requestId":"84989.19","siteHasCookieInOtherPartition":false}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.260Z performance INFO {"message":{"method":"Network.responseReceivedExtraInfo","params":{"blockedCookies":[],"cookiePartitionKey":{"hasCrossSiteAncestor":false,"topLevelSite":"http://localhost"},"cookiePartitionKeyOpaque":false,"exemptedCookies":[],"headers":{"Connection":"keep-alive","Content-Length":"121","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:13 GMT","ETag":"W/\"79-1pspHG3HmynCK4kPwaPKQti3kPA\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"headersText":"HTTP/1.1 200 OK\r\nx-frame-options: DENY\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\ncross-origin-resource-policy: same-origin\r\ncache-control: no-cache, no-store\r\nexpires: 0\r\npragma: no-cache\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 121\r\nETag: W/\"79-1pspHG3HmynCK4kPwaPKQti3kPA\"\r\nDate: Mon, 26 Aug 2024 14:49:13 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","requestId":"84989.19","resourceIPAddressSpace":"Local","statusCode":200}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.260Z performance INFO {"message":{"method":"Network.responseReceived","params":{"frameId":"020C802E9E7FD39C39D1024B939D5ED6","hasExtraInfo":true,"loaderId":"FBEC57BE8973364801A35D8E1E125252","requestId":"84989.19","response":{"alternateProtocolUsage":"unspecifiedReason","charset":"utf-8","connectionId":634,"connectionReused":true,"encodedDataLength":410,"fromDiskCache":false,"fromPrefetchCache":false,"fromServiceWorker":false,"headers":{"Connection":"keep-alive","Content-Length":"121","Content-Type":"application/json; charset=utf-8","Date":"Mon, 26 Aug 2024 14:49:13 GMT","ETag":"W/\"79-1pspHG3HmynCK4kPwaPKQti3kPA\"","Keep-Alive":"timeout=5","cache-control":"no-cache, no-store","cross-origin-resource-policy":"same-origin","expires":"0","pragma":"no-cache","x-content-type-options":"nosniff","x-frame-options":"DENY","x-xss-protection":"1; mode=block"},"mimeType":"application/json","protocol":"http/1.1","remoteIPAddress":"[::1]","remotePort":5010,"responseTime":1.724683753259037e+12,"securityState":"secure","status":200,"statusText":"OK","timing":{"connectEnd":-1,"connectStart":-1,"dnsEnd":-1,"dnsStart":-1,"proxyEnd":-1,"proxyStart":-1,"pushEnd":0,"pushStart":0,"receiveHeadersEnd":54.551,"receiveHeadersStart":54.388,"requestTime":280075.310091,"sendEnd":0.288,"sendStart":0.211,"sslEnd":-1,"sslStart":-1,"workerFetchStart":-1,"workerReady":-1,"workerRespondWithSettled":-1,"workerStart":-1},"url":"http://localhost:5010/api/retros"},"timestamp":280075.365358,"type":"XHR"}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.261Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":121,"encodedDataLength":0,"requestId":"84989.19","timestamp":280075.365416}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.261Z performance INFO {"message":{"method":"Network.dataReceived","params":{"dataLength":0,"encodedDataLength":121,"requestId":"84989.19","timestamp":280075.366574}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} +chrome: 2024-08-26T14:49:13.261Z performance INFO {"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":531,"requestId":"84989.19","timestamp":280075.365373}},"webview":"020C802E9E7FD39C39D1024B939D5ED6"} diff --git a/e2e/temp-logs.txt b/e2e/temp-logs.txt new file mode 100644 index 0000000..de20c12 --- /dev/null +++ b/e2e/temp-logs.txt @@ -0,0 +1,65 @@ +Chrome + +2024-07-25T19:41:03.376Z "{\"message\":{\"method\":\"Page.frameScheduledNavigation\",\"params\":{\"delay\":0,\"reason\":\"formSubmissionPost\",\"url\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\"}},}" +2024-07-25T19:41:03.376Z "{\"message\":{\"method\":\"Page.frameRequestedNavigation\",\"params\":{\"disposition\":\"currentTab\",\"reason\":\"formSubmissionPost\",\"url\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\"}},}" +2024-07-25T19:41:03.378Z "{\"message\":{\"method\":\"Page.frameStartedLoading\",\"params\":{}},}" +2024-07-25T19:41:03.379Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\",\"hasUserGesture\":true,\"initiator\":{\"type\":\"other\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"hasPostData\":true,\"headers\":{\"Content-Type\":\"application/x-www-form-urlencoded\",\"Origin\":\"http://localhost:5012\",\"Referer\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\",\"Upgrade-Insecure-Requests\":\"1\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"VeryHigh\",\"isSameSite\":true,\"method\":\"POST\",\"mixedContentType\":\"none\",\"postData\":\"redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&nonce=&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&client_id=mock-client-id&identifier=e2e-test-user-chrome-1721936453366\",\"postDataEntries\":[{\"bytes\":\"cmVkaXJlY3RfdXJpPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E1MDEwJTJGc3NvJTJGZ29vZ2xlJm5vbmNlPSZzdGF0ZT0lN0IlMjJub25jZSUyMiUzQSUyMjkyN2I3OTNiNzQzZjk4MGM2OGIyJTIyJTJDJTIycmVkaXJlY3QlMjIlM0ElMjIlMkZyZXRyb3MlMjIlN0QmY2xpZW50X2lkPW1vY2stY2xpZW50LWlkJmlkZW50aWZpZXI9ZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2Ng==\"}],\"referrerPolicy\":\"strict-origin-when-cross-origin\",\"url\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\"},\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"timestamp\":505374.444853,\"type\":\"Document\",\"wallTime\":1721936463.378814}},}" +2024-07-25T19:41:03.379Z "{\"message\":{\"method\":\"Page.frameClearedScheduledNavigation\",\"params\":{}},}" +2024-07-25T19:41:03.382Z "{\"message\":{\"method\":\"Network.requestWillBeSentExtraInfo\",\"params\":{\"associatedCookies\":[{\"blockedReasons\":[],\"cookie\":{\"domain\":\"localhost\",\"expires\":-1,\"httpOnly\":false,\"name\":\"login-nonce\",\"path\":\"/\",\"priority\":\"Medium\",\"sameParty\":false,\"sameSite\":\"Strict\",\"secure\":true,\"session\":true,\"size\":31,\"sourcePort\":5010,\"sourceScheme\":\"NonSecure\",\"value\":\"927b793b743f980c68b2\"},\"exemptionReason\":\"None\"}],\"clientSecurityState\":{\"initiatorIPAddressSpace\":\"Local\",\"initiatorIsSecureContext\":true,\"privateNetworkRequestPolicy\":\"Allow\"},\"connectTiming\":{\"requestTime\":505374.445569},\"headers\":{\"Accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\",\"Accept-Encoding\":\"gzip, deflate, br, zstd\",\"Accept-Language\":\"en-GB,en-US;q=0.9,en;q=0.8\",\"Cache-Control\":\"max-age=0\",\"Connection\":\"keep-alive\",\"Content-Length\":\"223\",\"Content-Type\":\"application/x-www-form-urlencoded\",\"Cookie\":\"login-nonce=927b793b743f980c68b2\",\"Host\":\"localhost:5012\",\"Origin\":\"http://localhost:5012\",\"Referer\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\",\"Sec-Fetch-Dest\":\"document\",\"Sec-Fetch-Mode\":\"navigate\",\"Sec-Fetch-Site\":\"same-origin\",\"Sec-Fetch-User\":\"?1\",\"Upgrade-Insecure-Requests\":\"1\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"siteHasCookieInOtherPartition\":false}},}" +2024-07-25T19:41:03.385Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":true,\"initiator\":{\"type\":\"other\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":true,\"redirectResponse\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":95,\"connectionReused\":true,\"encodedDataLength\":941,\"fromDiskCache\":false,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Connection\":\"keep-alive\",\"Content-Length\":\"1496\",\"Content-Type\":\"text/html; charset=utf-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"Keep-Alive\":\"timeout=5\",\"Location\":\"http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D\",\"Vary\":\"Accept\",\"X-Powered-By\":\"Express\"},\"mimeType\":\"text/html\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5012,\"responseTime\":1.721936463384141e+12,\"securityState\":\"secure\",\"status\":303,\"statusText\":\"See Other\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":4.716,\"receiveHeadersStart\":4.624,\"requestTime\":505374.445569,\"sendEnd\":0.409,\"sendStart\":0.338,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5012/auth?redirect_uri=http%3A%2F%2Flocalhost%3A5010%2Fsso%2Fgoogle&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D&response_type=id_token&scope=openid&client_id=mock-client-id&ss_domain=http%3A%2F%2Flocalhost%3A5010&fetch_basic_profile=false\"},\"request\":{\"headers\":{\"Content-Type\":\"application/x-www-form-urlencoded\",\"Origin\":\"http://localhost:5012\",\"Referer\":\"http://localhost:5012/\",\"Upgrade-Insecure-Requests\":\"1\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"VeryHigh\",\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"strict-origin-when-cross-origin\",\"url\":\"http://localhost:5010/sso/google\",\"urlFragment\":\"#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D\"},\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"timestamp\":505374.450749,\"type\":\"Document\",\"wallTime\":1721936463.384721}},}" +2024-07-25T19:41:03.385Z "{\"message\":{\"method\":\"Network.responseReceivedExtraInfo\",\"params\":{\"blockedCookies\":[],\"cookiePartitionKey\":\"http://localhost\",\"cookiePartitionKeyOpaque\":false,\"exemptedCookies\":[],\"headers\":{\"Connection\":\"keep-alive\",\"Content-Length\":\"1496\",\"Content-Type\":\"text/html; charset=utf-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"Keep-Alive\":\"timeout=5\",\"Location\":\"http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D\",\"Vary\":\"Accept\",\"X-Powered-By\":\"Express\"},\"headersText\":\"HTTP/1.1 303 See Other\\r\\nX-Powered-By: Express\\r\\nLocation: http://localhost:5010/sso/google#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D\\r\\nVary: Accept\\r\\nContent-Type: text/html; charset=utf-8\\r\\nContent-Length: 1496\\r\\nDate: Thu, 25 Jul 2024 19:41:03 GMT\\r\\nConnection: keep-alive\\r\\nKeep-Alive: timeout=5\\r\\n\\r\\n\",\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"resourceIPAddressSpace\":\"Local\",\"statusCode\":303}},}" +2024-07-25T19:41:03.385Z "{\"message\":{\"method\":\"Network.requestWillBeSentExtraInfo\",\"params\":{\"associatedCookies\":[{\"blockedReasons\":[],\"cookie\":{\"domain\":\"localhost\",\"expires\":-1,\"httpOnly\":false,\"name\":\"login-nonce\",\"path\":\"/\",\"priority\":\"Medium\",\"sameParty\":false,\"sameSite\":\"Strict\",\"secure\":true,\"session\":true,\"size\":31,\"sourcePort\":5010,\"sourceScheme\":\"NonSecure\",\"value\":\"927b793b743f980c68b2\"},\"exemptionReason\":\"None\"}],\"clientSecurityState\":{\"initiatorIPAddressSpace\":\"Local\",\"initiatorIsSecureContext\":true,\"privateNetworkRequestPolicy\":\"Allow\"},\"connectTiming\":{\"requestTime\":505374.451105},\"headers\":{\"Accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\",\"Accept-Encoding\":\"gzip, deflate, br, zstd\",\"Accept-Language\":\"en-GB,en-US;q=0.9,en;q=0.8\",\"Cache-Control\":\"max-age=0\",\"Connection\":\"keep-alive\",\"Cookie\":\"login-nonce=927b793b743f980c68b2\",\"Host\":\"localhost:5010\",\"If-Modified-Since\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"If-None-Match\":\"W/\\\"193-190eb691273\\\"\",\"Referer\":\"http://localhost:5012/\",\"Sec-Fetch-Dest\":\"document\",\"Sec-Fetch-Mode\":\"navigate\",\"Sec-Fetch-Site\":\"same-site\",\"Sec-Fetch-User\":\"?1\",\"Upgrade-Insecure-Requests\":\"1\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"siteHasCookieInOtherPartition\":false}},}" +2024-07-25T19:41:03.387Z "{\"message\":{\"method\":\"Network.responseReceivedExtraInfo\",\"params\":{\"blockedCookies\":[],\"cookiePartitionKey\":\"http://localhost\",\"cookiePartitionKeyOpaque\":false,\"exemptedCookies\":[],\"headers\":{\"Accept-Ranges\":\"bytes\",\"Connection\":\"keep-alive\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"ETag\":\"W/\\\"193-190eb691273\\\"\",\"Keep-Alive\":\"timeout=5\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Link\":\"\\u003C/api/config>; rel=preload; as=fetch; crossorigin\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=600, stale-if-error=86400\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"headersText\":\"HTTP/1.1 304 Not Modified\\r\\nx-frame-options: DENY\\r\\nx-xss-protection: 1; mode=block\\r\\nx-content-type-options: nosniff\\r\\ncontent-security-policy: base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\\r\\npermissions-policy: accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\\r\\nreferrer-policy: no-referrer\\r\\ncross-origin-opener-policy: same-origin\\r\\ncross-origin-resource-policy: same-origin\\r\\ncross-origin-embedder-policy: require-corp\\r\\nLink: \\u003C/api/config>; rel=preload; as=fetch; crossorigin\\r\\nVary: Accept-Encoding\\r\\ncache-control: public, max-age=600, stale-if-error=86400\\r\\nAccept-Ranges: bytes\\r\\nLast-Modified: Thu, 25 Jul 2024 19:40:50 GMT\\r\\nETag: W/\\\"193-190eb691273\\\"\\r\\nDate: Thu, 25 Jul 2024 19:41:03 GMT\\r\\nConnection: keep-alive\\r\\nKeep-Alive: timeout=5\\r\\n\\r\\n\",\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"resourceIPAddressSpace\":\"Local\",\"statusCode\":304}},}" +2024-07-25T19:41:03.389Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":true,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":68,\"connectionReused\":true,\"encodedDataLength\":1132,\"fromDiskCache\":false,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Accept-Ranges\":\"bytes\",\"Content-Encoding\":\"br\",\"Content-Length\":\"403\",\"Content-Type\":\"text/html; charset=UTF-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"ETag\":\"W/\\\"193-190eb691273\\\"\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Link\":\"\\u003C/api/config>; rel=preload; as=fetch; crossorigin\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=600, stale-if-error=86400\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"text/html\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.721936463386609e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":1.681,\"receiveHeadersStart\":1.557,\"requestTime\":505374.451105,\"sendEnd\":0.47,\"sendStart\":0.361,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/sso/google\"},\"timestamp\":505374.454828,\"type\":\"Document\"}},}" + +2024-07-25T19:41:03.405Z "{\"message\":{\"method\":\"Page.frameNavigated\",\"params\":{\"frame\":{\"adFrameStatus\":{\"adFrameType\":\"none\"},\"crossOriginIsolatedContextType\":\"Isolated\",\"domainAndRegistry\":\"\",\"gatedAPIFeatures\":[\"SharedArrayBuffers\",\"SharedArrayBuffersTransferAllowed\"],\"id\":\"B14EA21083B365187C8F558D293B7C1D\",\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"mimeType\":\"text/html\",\"secureContextType\":\"SecureLocalhost\",\"securityOrigin\":\"http://localhost:5010\",\"url\":\"http://localhost:5010/sso/google\",\"urlFragment\":\"#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw&state=%7B%22nonce%22%3A%22927b793b743f980c68b2%22%2C%22redirect%22%3A%22%2Fretros%22%7D\"},\"type\":\"Navigation\"}},}" +2024-07-25T19:41:03.405Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"type\":\"other\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"headers\":{\"Origin\":\"http://localhost:5010\",\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"High\",\"isLinkPreload\":true,\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/api/config\"},\"requestId\":\"74007.2\",\"timestamp\":505374.46186,\"type\":\"Other\",\"wallTime\":1721936463.395855}},}" +2024-07-25T19:41:03.405Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":1233,\"encodedDataLength\":0,\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"timestamp\":505374.462402}},}" +2024-07-25T19:41:03.405Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"columnNumber\":704,\"lineNumber\":0,\"type\":\"parser\",\"url\":\"http://localhost:5010/sso/google\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"headers\":{\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"Low\",\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/runtime.0ed02f98.js\"},\"requestId\":\"74007.3\",\"timestamp\":505374.46281,\"type\":\"Script\",\"wallTime\":1721936463.396786}},}" +2024-07-25T19:41:03.406Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"columnNumber\":758,\"lineNumber\":0,\"type\":\"parser\",\"url\":\"http://localhost:5010/sso/google\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"headers\":{\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"Low\",\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},\"requestId\":\"74007.4\",\"timestamp\":505374.463004,\"type\":\"Script\",\"wallTime\":1721936463.396973}},}" +2024-07-25T19:41:03.406Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"columnNumber\":814,\"lineNumber\":0,\"type\":\"parser\",\"url\":\"http://localhost:5010/sso/google\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"headers\":{\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"Low\",\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/index.bec36c65.js\"},\"requestId\":\"74007.5\",\"timestamp\":505374.4631,\"type\":\"Script\",\"wallTime\":1721936463.397064}},}" +2024-07-25T19:41:03.406Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"columnNumber\":873,\"lineNumber\":0,\"type\":\"parser\",\"url\":\"http://localhost:5010/sso/google\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"headers\":{\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"VeryHigh\",\"isSameSite\":true,\"method\":\"GET\",\"mixedContentType\":\"none\",\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/index.277bd223.css\"},\"requestId\":\"74007.6\",\"timestamp\":505374.463184,\"type\":\"Stylesheet\",\"wallTime\":1721936463.397147}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":false,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.6\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":0,\"connectionReused\":false,\"encodedDataLength\":0,\"fromDiskCache\":true,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Accept-Ranges\":\"bytes\",\"Content-Encoding\":\"br\",\"Content-Length\":\"2622\",\"Content-Type\":\"text/css; charset=UTF-8\",\"Date\":\"Thu, 25 Jul 2024 19:40:54 GMT\",\"ETag\":\"W/\\\"a3e-190eb691273\\\"\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=31536000, stale-if-error=31536000, immutable\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"text/css\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.721936454361368e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":0.303,\"receiveHeadersStart\":0.237,\"requestTime\":505374.46368,\"sendEnd\":0.051,\"sendStart\":0.051,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/index.277bd223.css\"},\"timestamp\":505374.467202,\"type\":\"Stylesheet\"}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":14687,\"encodedDataLength\":0,\"requestId\":\"74007.6\",\"timestamp\":505374.46724}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":0,\"requestId\":\"74007.6\",\"timestamp\":505374.465752}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":1132,\"requestId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"timestamp\":505374.45306}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.requestWillBeSentExtraInfo\",\"params\":{\"associatedCookies\":[{\"blockedReasons\":[],\"cookie\":{\"domain\":\"localhost\",\"expires\":-1,\"httpOnly\":false,\"name\":\"login-nonce\",\"path\":\"/\",\"priority\":\"Medium\",\"sameParty\":false,\"sameSite\":\"Strict\",\"secure\":true,\"session\":true,\"size\":31,\"sourcePort\":5010,\"sourceScheme\":\"NonSecure\",\"value\":\"927b793b743f980c68b2\"},\"exemptionReason\":\"None\"}],\"clientSecurityState\":{\"initiatorIPAddressSpace\":\"Local\",\"initiatorIsSecureContext\":true,\"privateNetworkRequestPolicy\":\"PreflightWarn\"},\"connectTiming\":{\"requestTime\":505374.462985},\"headers\":{\"Accept\":\"*/*\",\"Accept-Encoding\":\"gzip, deflate, br, zstd\",\"Accept-Language\":\"en-GB,en-US;q=0.9,en;q=0.8\",\"Connection\":\"keep-alive\",\"Cookie\":\"login-nonce=927b793b743f980c68b2\",\"Host\":\"localhost:5010\",\"Origin\":\"http://localhost:5010\",\"Sec-Fetch-Dest\":\"empty\",\"Sec-Fetch-Mode\":\"cors\",\"Sec-Fetch-Site\":\"same-origin\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"requestId\":\"74007.2\",\"siteHasCookieInOtherPartition\":false}},}" +2024-07-25T19:41:03.407Z "{\"message\":{\"method\":\"Network.responseReceivedExtraInfo\",\"params\":{\"blockedCookies\":[],\"cookiePartitionKey\":\"http://localhost\",\"cookiePartitionKeyOpaque\":false,\"exemptedCookies\":[],\"headers\":{\"Connection\":\"keep-alive\",\"Content-Length\":\"101\",\"Content-Type\":\"application/json; charset=utf-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"ETag\":\"W/\\\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\\\"\",\"Keep-Alive\":\"timeout=5\",\"cache-control\":\"no-cache, no-store\",\"cross-origin-resource-policy\":\"same-origin\",\"expires\":\"0\",\"pragma\":\"no-cache\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"headersText\":\"HTTP/1.1 200 OK\\r\\nx-frame-options: DENY\\r\\nx-xss-protection: 1; mode=block\\r\\nx-content-type-options: nosniff\\r\\ncross-origin-resource-policy: same-origin\\r\\ncache-control: no-cache, no-store\\r\\nexpires: 0\\r\\npragma: no-cache\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 101\\r\\nETag: W/\\\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\\\"\\r\\nDate: Thu, 25 Jul 2024 19:41:03 GMT\\r\\nConnection: keep-alive\\r\\nKeep-Alive: timeout=5\\r\\n\\r\\n\",\"requestId\":\"74007.2\",\"resourceIPAddressSpace\":\"Local\",\"statusCode\":200}},}" + +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":true,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.2\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":68,\"connectionReused\":true,\"encodedDataLength\":410,\"fromDiskCache\":false,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Connection\":\"keep-alive\",\"Content-Length\":\"101\",\"Content-Type\":\"application/json; charset=utf-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"ETag\":\"W/\\\"65-UlrudVfwKU2JdKFCI98jpfkMuMU\\\"\",\"Keep-Alive\":\"timeout=5\",\"cache-control\":\"no-cache, no-store\",\"cross-origin-resource-policy\":\"same-origin\",\"expires\":\"0\",\"pragma\":\"no-cache\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"application/json\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.72193646339917e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":2.293,\"receiveHeadersStart\":2.238,\"requestTime\":505374.462985,\"sendEnd\":0.896,\"sendStart\":0.801,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/api/config\"},\"timestamp\":505374.47184,\"type\":\"Other\"}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":false,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.3\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":0,\"connectionReused\":false,\"encodedDataLength\":0,\"fromDiskCache\":true,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Accept-Ranges\":\"bytes\",\"Content-Encoding\":\"br\",\"Content-Length\":\"1814\",\"Content-Type\":\"application/javascript; charset=UTF-8\",\"Date\":\"Thu, 25 Jul 2024 19:40:54 GMT\",\"ETag\":\"W/\\\"716-190eb691274\\\"\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=31536000, stale-if-error=31536000, immutable\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"application/javascript\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.72193645436042e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":0.74,\"receiveHeadersStart\":0.439,\"requestTime\":505374.463516,\"sendEnd\":0.059,\"sendStart\":0.059,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/runtime.0ed02f98.js\"},\"timestamp\":505374.473935,\"type\":\"Script\"}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":4455,\"encodedDataLength\":0,\"requestId\":\"74007.3\",\"timestamp\":505374.474043}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":101,\"encodedDataLength\":101,\"requestId\":\"74007.2\",\"timestamp\":505374.474326}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":511,\"requestId\":\"74007.2\",\"timestamp\":505374.465489}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":false,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.4\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":0,\"connectionReused\":false,\"encodedDataLength\":0,\"fromDiskCache\":true,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Accept-Ranges\":\"bytes\",\"Content-Encoding\":\"br\",\"Content-Length\":\"64078\",\"Content-Type\":\"application/javascript; charset=UTF-8\",\"Date\":\"Thu, 25 Jul 2024 19:40:54 GMT\",\"ETag\":\"W/\\\"fa4e-190eb69146b\\\"\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=31536000, stale-if-error=31536000, immutable\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"application/javascript\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.72193645436358e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":0.511,\"receiveHeadersStart\":0.42,\"requestTime\":505374.473491,\"sendEnd\":0.118,\"sendStart\":0.118,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},\"timestamp\":505374.47459,\"type\":\"Script\"}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":0,\"requestId\":\"74007.3\",\"timestamp\":505374.465959}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":false,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.5\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":0,\"connectionReused\":false,\"encodedDataLength\":0,\"fromDiskCache\":true,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Accept-Ranges\":\"bytes\",\"Content-Encoding\":\"br\",\"Content-Length\":\"12311\",\"Content-Type\":\"application/javascript; charset=UTF-8\",\"Date\":\"Thu, 25 Jul 2024 19:40:54 GMT\",\"ETag\":\"W/\\\"3017-190eb6912bb\\\"\",\"Last-Modified\":\"Thu, 25 Jul 2024 19:40:50 GMT\",\"Vary\":\"Accept-Encoding\",\"cache-control\":\"public, max-age=31536000, stale-if-error=31536000, immutable\",\"content-security-policy\":\"base-uri 'self'; default-src 'self'; object-src 'none'; script-src 'self'; style-src 'self' 'sha256-dhQFgDyZCSW+FVxPjFWZQkEnh+5DHADvj1I8rpzmaGU='; trusted-types dynamic-import; require-trusted-types-for 'script'; connect-src 'self' wss://localhost:*; img-src 'self' data: https://*.giphy.com; form-action 'none'; frame-ancestors 'none'\",\"cross-origin-embedder-policy\":\"require-corp\",\"cross-origin-opener-policy\":\"same-origin\",\"cross-origin-resource-policy\":\"same-origin\",\"permissions-policy\":\"accelerometer=(), autoplay=(), camera=(), geolocation=(), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), payment=(), sync-xhr=(), usb=()\",\"referrer-policy\":\"no-referrer\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"application/javascript\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.721936454366364e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":0.456,\"receiveHeadersStart\":0.385,\"requestTime\":505374.473801,\"sendEnd\":0.061,\"sendStart\":0.061,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/index.bec36c65.js\"},\"timestamp\":505374.475208,\"type\":\"Script\"}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":113922,\"encodedDataLength\":0,\"requestId\":\"74007.4\",\"timestamp\":505374.475286}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":43555,\"encodedDataLength\":0,\"requestId\":\"74007.5\",\"timestamp\":505374.475507}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":0,\"requestId\":\"74007.5\",\"timestamp\":505374.475502}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":65536,\"encodedDataLength\":0,\"requestId\":\"74007.4\",\"timestamp\":505374.476293}},}" +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":51105,\"encodedDataLength\":0,\"requestId\":\"74007.4\",\"timestamp\":505374.476519}},}" + +-- on a different run, the 5.001s delay is here + +2024-07-25T19:41:03.413Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":0,\"requestId\":\"74007.4\",\"timestamp\":505374.476357}},}" + + + + + + + +-- timestamp of log is 5.003s later, but timestamp of message in log is only 0.04s later (and following messages have similar timestamps) +-- seems to be a delay in the webdriver communication, NOT with the page being tested + +2024-07-25T19:41:08.416Z "{\"message\":{\"method\":\"Page.domContentEventFired\",\"params\":{\"timestamp\":505374.513143}},}" +2024-07-25T19:41:08.416Z "{\"message\":{\"method\":\"Page.loadEventFired\",\"params\":{\"timestamp\":505374.514476}},}" +2024-07-25T19:41:08.417Z "{\"message\":{\"method\":\"Page.frameStoppedLoading\",\"params\":{}},}" +2024-07-25T19:41:08.418Z "{\"message\":{\"method\":\"Network.requestWillBeSent\",\"params\":{\"documentURL\":\"http://localhost:5010/sso/google\",\"hasUserGesture\":false,\"initiator\":{\"stack\":{\"callFrames\":[{\"columnNumber\":6312,\"functionName\":\"login\",\"lineNumber\":0,\"scriptId\":\"9\",\"url\":\"http://localhost:5010/index.bec36c65.js\"},{\"columnNumber\":16168,\"functionName\":\"\",\"lineNumber\":0,\"scriptId\":\"9\",\"url\":\"http://localhost:5010/index.bec36c65.js\"},{\"columnNumber\":16207,\"functionName\":\"\",\"lineNumber\":0,\"scriptId\":\"9\",\"url\":\"http://localhost:5010/index.bec36c65.js\"},{\"columnNumber\":94220,\"functionName\":\"ru\",\"lineNumber\":1,\"scriptId\":\"8\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},{\"columnNumber\":114165,\"functionName\":\"ks\",\"lineNumber\":1,\"scriptId\":\"8\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},{\"columnNumber\":110824,\"functionName\":\"\",\"lineNumber\":1,\"scriptId\":\"8\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},{\"columnNumber\":191795,\"functionName\":\"k\",\"lineNumber\":1,\"scriptId\":\"8\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"},{\"columnNumber\":192327,\"functionName\":\"N\",\"lineNumber\":1,\"scriptId\":\"8\",\"url\":\"http://localhost:5010/458.f7c9ec98.js\"}]},\"type\":\"script\"},\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"redirectHasExtraInfo\":false,\"request\":{\"hasPostData\":true,\"headers\":{\"Content-Type\":\"application/json\",\"Referer\":\"\",\"User-Agent\":\"HeadlessEndToEndTest\",\"sec-ch-ua\":\"\\\"Not/A)Brand\\\";v=\\\"8\\\", \\\"Chromium\\\";v=\\\"126\\\", \\\"Google Chrome\\\";v=\\\"126\\\"\",\"sec-ch-ua-mobile\":\"?0\",\"sec-ch-ua-platform\":\"\\\"macOS\\\"\"},\"initialPriority\":\"High\",\"isSameSite\":true,\"method\":\"POST\",\"mixedContentType\":\"none\",\"postData\":\"{\\\"externalToken\\\":\\\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtb2NrLWNsaWVudC1pZCIsIm5vbmNlIjoiIiwianRpIjoiYTVjNjJiODYtMTRmZS00MmM0LThlZWQtODM2YjkyNGUxZDYwIiwic3ViIjoiZTJlLXRlc3QtdXNlci1jaHJvbWUtMTcyMTkzNjQ1MzM2NiIsImlhdCI6MTcyMTkzNjQ2MywiZXhwIjoxNzIxOTQwMDYzfQ.rfvEA_Q7SoR9mANOR48PVsIWap8sHCif-VPNzpFTkCgBTQWSmp6jIBiRJHmh6oVudST5Cd1RYQMQpOkA0wLiKZjXm_jiTWL3r15iNkhVTDkt1_PnZzMMa3uAPd_-GAFzPlJ9bHwPAiBBuAFh80ejdNq8XqhwGAt6YfDt1QdxSAHlv8ptFSzwmpVaKUK23L_XtK0yl1Mxtasrq0rSJ11wapYcReFD0AP6xmh77oOXGQYOd9u-jvHr3N8gY7TK5kEywTSHidPCLax60koxIeIURAB2lBItZvyadFwfYDUv7c2QPA_8BUVOs7G83uDchcXQgSeU0KIRugOMvfKao8DVAw\\\"}\",\"postDataEntries\":[{\"bytes\":\"eyJleHRlcm5hbFRva2VuIjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SmhkV1FpT2lKdGIyTnJMV05zYVdWdWRDMXBaQ0lzSW01dmJtTmxJam9pSWl3aWFuUnBJam9pWVRWak5qSmlPRFl0TVRSbVpTMDBNbU0wTFRobFpXUXRPRE0yWWpreU5HVXhaRFl3SWl3aWMzVmlJam9pWlRKbExYUmxjM1F0ZFhObGNpMWphSEp2YldVdE1UY3lNVGt6TmpRMU16TTJOaUlzSW1saGRDSTZNVGN5TVRrek5qUTJNeXdpWlhod0lqb3hOekl4T1RRd01EWXpmUS5yZnZFQV9RN1NvUjltQU5PUjQ4UFZzSVdhcDhzSENpZi1WUE56cEZUa0NnQlRRV1NtcDZqSUJpUkpIbWg2b1Z1ZFNUNUNkMVJZUU1RcE9rQTB3TGlLWmpYbV9qaVRXTDNyMTVpTmtoVlREa3QxX1BuWnpNTWEzdUFQZF8tR0FGelBsSjliSHdQQWlCQnVBRmg4MGVqZE5xOFhxaHdHQXQ2WWZEdDFRZHhTQUhsdjhwdEZTendtcFZhS1VLMjNMX1h0SzB5bDFNeHRhc3JxMHJTSjExd2FwWWNSZUZEMEFQNnhtaDc3b09YR1FZT2Q5dS1qdkhyM044Z1k3VEs1a0V5d1RTSGlkUENMYXg2MGtveEllSVVSQUIybEJJdFp2eWFkRndmWURVdjdjMlFQQV84QlVWT3M3RzgzdURjaGNYUWdTZVUwS0lSdWdPTXZmS2FvOERWQXcifQ==\"}],\"referrerPolicy\":\"no-referrer\",\"url\":\"http://localhost:5010/api/sso/google\"},\"requestId\":\"74007.16\",\"timestamp\":505374.553336,\"type\":\"Fetch\",\"wallTime\":1721936463.488203}},}" +2024-07-25T19:41:08.418Z "{\"message\":{\"method\":\"Network.responseReceived\",\"params\":{,\"hasExtraInfo\":true,\"loaderId\":\"BCFC5DAD834040AB5EE43E0D0AA9A71E\",\"requestId\":\"74007.16\",\"response\":{\"alternateProtocolUsage\":\"unspecifiedReason\",\"charset\":\"utf-8\",\"connectionId\":68,\"connectionReused\":true,\"encodedDataLength\":411,\"fromDiskCache\":false,\"fromPrefetchCache\":false,\"fromServiceWorker\":false,\"headers\":{\"Connection\":\"keep-alive\",\"Content-Length\":\"547\",\"Content-Type\":\"application/json; charset=utf-8\",\"Date\":\"Thu, 25 Jul 2024 19:41:03 GMT\",\"ETag\":\"W/\\\"223-Kj7bEggw1sUP8w7AG3/2QDELFGM\\\"\",\"Keep-Alive\":\"timeout=5\",\"cache-control\":\"no-cache, no-store\",\"cross-origin-resource-policy\":\"same-origin\",\"expires\":\"0\",\"pragma\":\"no-cache\",\"x-content-type-options\":\"nosniff\",\"x-frame-options\":\"DENY\",\"x-xss-protection\":\"1; mode=block\"},\"mimeType\":\"application/json\",\"protocol\":\"http/1.1\",\"remoteIPAddress\":\"[::1]\",\"remotePort\":5010,\"responseTime\":1.721936463498345e+12,\"securityState\":\"secure\",\"status\":200,\"statusText\":\"OK\",\"timing\":{\"connectEnd\":-1,\"connectStart\":-1,\"dnsEnd\":-1,\"dnsStart\":-1,\"proxyEnd\":-1,\"proxyStart\":-1,\"pushEnd\":0,\"pushStart\":0,\"receiveHeadersEnd\":9.906,\"receiveHeadersStart\":9.841,\"requestTime\":505374.554559,\"sendEnd\":0.276,\"sendStart\":0.197,\"sslEnd\":-1,\"sslStart\":-1,\"workerFetchStart\":-1,\"workerReady\":-1,\"workerRespondWithSettled\":-1,\"workerStart\":-1},\"url\":\"http://localhost:5010/api/sso/google\"},\"timestamp\":505374.5648,\"type\":\"Fetch\"}},}" +2024-07-25T19:41:08.418Z "{\"message\":{\"method\":\"Network.dataReceived\",\"params\":{\"dataLength\":547,\"encodedDataLength\":547,\"requestId\":\"74007.16\",\"timestamp\":505374.56506}},}" +2024-07-25T19:41:08.418Z "{\"message\":{\"method\":\"Network.loadingFinished\",\"params\":{\"encodedDataLength\":958,\"requestId\":\"74007.16\",\"timestamp\":505374.564673}},}" +2024-07-25T19:41:08.418Z "{\"message\":{\"method\":\"Page.frameStartedLoading\",\"params\":{}},}" +2024-07-25T19:41:08.420Z "{\"message\":{\"method\":\"Page.navigatedWithinDocument\",\"params\":{,\"url\":\"http://localhost:5010/retros\"}},}" +2024-07-25T19:41:08.420Z "{\"message\":{\"method\":\"Page.frameStoppedLoading\",\"params\":{}},}" diff --git a/e2e/tests/basicflow.test.ts b/e2e/tests/basicflow.test.ts deleted file mode 100644 index 58b4e8e..0000000 --- a/e2e/tests/basicflow.test.ts +++ /dev/null @@ -1,243 +0,0 @@ -import { buildDriver } from '../helpers/selenium'; -import { getDownloadedBytes, Mbps } from '../helpers/downloadProfiler'; -import { type Welcome } from '../pages/Welcome'; -import { type Password } from '../pages/Password'; -import { type RetroCreate } from '../pages/RetroCreate'; -import { type RetroList } from '../pages/RetroList'; -import { type Retro } from '../pages/Retro'; -import { type RetroArchiveList } from '../pages/RetroArchiveList'; -import { type RetroArchive } from '../pages/RetroArchive'; -import { SiteMap } from '../pages/SiteMap'; -import 'lean-test'; - -const uniqueID = `${process.env['SELENIUM_BROWSER']}-${Date.now()}`; -const timeout = Number(process.env['TEST_TIMEOUT'] || '40000'); - -describe('Refacto', { stopAtFirstFailure: true, timeout }, () => { - let user1: SiteMap; - - let userName: string; - let retroSlug: string; - let retroPassword: string; - - let welcome: Welcome; - let create: RetroCreate; - let retro: Retro; - - beforeAll(() => { - user1 = new SiteMap(buildDriver()); - - userName = `e2e-test-user-${uniqueID}`; - retroSlug = `e2e-test-retro-${uniqueID}`; - retroPassword = 'my-password'; - - return () => user1.close(); - }); - - // Tests run sequentially in a single (pair of) browser sessions - - it('loads quickly', async () => { - const bytes = await getDownloadedBytes(user1.driver, async () => { - welcome = await user1.navigateToWelcome(); - }); - const estimatedSeconds = bytes / Mbps(1.0); - - if (process.env['MODE'] !== 'dev') { - expect(estimatedSeconds).toBeLessThan(3); - } - }); - - it('begins on the welcome page', async () => { - expect(await welcome.getTitle()).toEqual('Refacto'); - expect(await welcome.getHeaderText()).toContain('Refacto'); - }); - - it('triggers a login flow when requested', async () => { - const ssoLogin = await welcome.clickLoginWithGoogle(); - await ssoLogin.setIdentifier(userName); - create = await ssoLogin.submit(); - }); - - it('returns to a retro creation screen', async () => { - expect(await create.getTitle()).toEqual('New Retro - Refacto'); - await create.setName('My Retro'); - await create.setSlug(retroSlug); - await create.setPassword(retroPassword); - await create.setPasswordConfirmation(retroPassword); - }); - - it('redirects to the newly created retro', async () => { - retro = await create.submit(); - - expect(await retro.getTitle()).toEqual('My Retro - Refacto'); - expect(await retro.getNameText()).toEqual('My Retro'); - }); - - it('lists created items', async () => { - await retro.getHappyItemEntry().enter('yay'); - await retro.getHappyItemEntry().enter('hurrah'); - - expect(await retro.getMoodItemLabels()).toEqual(['hurrah', 'yay']); - }); - - describe('second user journey', { stopAtFirstFailure: true }, () => { - let user2: SiteMap; - let password2: Password; - let retro2: Retro; - - beforeAll(() => { - user2 = new SiteMap(buildDriver()); - - return () => user2.close(); - }); - - it('prompts for a password for the retro', async () => { - password2 = await user2.navigateToRetroPassword(retroSlug); - }); - - it('loads the retro when the correct password is entered', async () => { - await password2.setPassword(retroPassword); - retro2 = await password2.submit(); - - expect(await retro2.getTitle()).toEqual('My Retro - Refacto'); - }); - - it('displays previously added items', async () => { - expect(await retro2.getMoodItemLabels()).toEqual(['hurrah', 'yay']); - }); - - it('synchronises activity (A -> B) in real time', async () => { - await retro2.expectChange(() => - retro.getActionItemEntry().enter('some action'), - ); - - const expectedActions1 = ['some action']; - expect(await retro.getActionItemLabels()).toEqual(expectedActions1); - expect(await retro2.getActionItemLabels()).toEqual(expectedActions1); - }); - - it('synchronises activity (B -> A) in real time', async () => { - await retro.expectChange(() => - retro2.getActionItemEntry().enter('another action'), - ); - - const expectedActions2 = ['another action', 'some action']; - expect(await retro.getActionItemLabels()).toEqual(expectedActions2); - expect(await retro2.getActionItemLabels()).toEqual(expectedActions2); - }); - - it('synchronises configuration changes', async () => { - await retro2.expectChange(async () => { - const settings = await retro.clickSettings(); - await settings.setName('My Retro Renamed'); - await settings.setSlug(`${retroSlug}-renamed`); - retro = await settings.clickSave(); - }); - - expect(await retro.getNameText()).toEqual('My Retro Renamed'); - expect(await retro2.getNameText()).toEqual('My Retro Renamed'); - }); - - it('switches URL automatically when slug changes', async () => { - const newSlug = `${retroSlug}-renamed`; - expect(await user1.driver.getCurrentUrl()).toContain(newSlug); - expect(await user2.driver.getCurrentUrl()).toContain(newSlug); - }); - - it('maintains connectivity after changing URL', async () => { - await retro.expectChange(() => retro2.focusMoodItem(0)); - await retro.expectChange(() => retro2.pressReturn()); - }); - - it('prompts to archive when the last item is completed', async () => { - expect(await retro2.getArchivePopup().exists()).toBeFalsy(); - - await retro.expectChange(() => retro2.focusMoodItem(1)); - await retro.expectChange(() => retro2.pressReturn()); - expect(await retro2.getArchivePopup().exists()).toBeTruthy(); - - // ...but does not prompt other viewers - expect(await retro.getArchivePopup().exists()).toBeFalsy(); - }); - }); - - describe('archiving', { stopAtFirstFailure: true }, () => { - let archiveList: RetroArchiveList; - let archive: RetroArchive; - - it('clears items and completed action items when archiving', async () => { - await retro.toggleActionItemDone(1); - await retro.performArchive(); - - expect(await retro.getMoodItemLabels()).toEqual([]); - expect(await retro.getActionItemLabels()).toEqual(['another action']); - }); - - it('displays a list of archives', async () => { - archiveList = await retro.clickViewArchives(); - - const labels = await archiveList.getArchiveLabels(); - expect(labels.length).toEqual(1); - }); - - it('downloads the retro in JSON format', async () => { - const content = await archiveList.clickExportJson(); - - expect(content).toContain('"My Retro Renamed"'); - }); - - it('displays archives in a read-only view', async () => { - archive = await archiveList.clickArchiveAtIndex(0); - - expect(await archive.getTitle()).toContain('My Retro'); - expect(await archive.getNameText()).toContain('My Retro'); - expect(await archive.getActionItemLabels()).toEqual([ - 'another action', - 'some action', - ]); - }); - - it('offers a path back to the retro', async () => { - archiveList = await archive.clickBack(); - retro = await archiveList.clickBack(); - - expect(await retro.getNameText()).toContain('My Retro'); - }); - }); - - describe('retro list', { stopAtFirstFailure: true }, () => { - const retroName = 'My Retro Renamed'; - let retroList: RetroList; - - it('prompts to log in when loaded', { timeout: 4000 }, async () => { - retroList = await user1.navigateToRetroList(); - retroList = await retroList.loginAs(userName); - }); - - it('displays retros created by the current user', async () => { - expect(await retroList.getRetroNames()).toEqual([retroName]); - }); - - it('loads linked retros without needing a password', async () => { - retro = await retroList.clickRetroNamed(retroName); - expect(await retro.getActionItemLabels()).toEqual(['another action']); - }); - - it('does not list retros from other users', { timeout: 4000 }, async () => { - retroList = await user1.navigateToRetroList(); - retroList = await retroList.loginAs('nobody'); - - expect(await retroList.getRetroNames()).toEqual([]); - }); - }); - - describe('security page', { stopAtFirstFailure: true }, () => { - it('is accessible from the home page', async () => { - welcome = await user1.navigateToWelcome(); - const security = await welcome.clickSecurity(); - - expect(await security.getTitle()).toEqual('Privacy & Security - Refacto'); - expect(await security.getHeaderText()).toContain('Privacy & Security'); - }); - }); -}); diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json deleted file mode 100644 index 5c03d6c..0000000 --- a/e2e/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "@tsconfig/strictest/tsconfig.json", - "compilerOptions": { - "lib": ["es2022"], - "types": ["node"], - "target": "es2022", - "module": "esnext", - "moduleResolution": "node", - "noEmit": true - }, - "typeAcquisition": { - "enable": false - }, - "include": ["helpers", "pages", "tests"] -} diff --git a/package.json b/package.json index 6372e53..472fd43 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,7 @@ "build": "SKIP_E2E_DEPS=true scripts/install.mjs && scripts/build.mjs", "clean": "scripts/clean.mjs", "install": "scripts/install.mjs --force", - "lint": "scripts/install.mjs && scripts/lint.mjs", "start": "SKIP_E2E_DEPS=true scripts/install.mjs && scripts/start.mjs", - "test": "scripts/install.mjs && scripts/lint.mjs && scripts/test.mjs", - "format": "npm --prefix=backend run format --quiet && npm --prefix=frontend run format --quiet && npm --prefix=e2e run format --quiet", - "test:backend": "npm --prefix=backend test --quiet --", - "test:frontend": "npm --prefix=frontend test --quiet --", - "test:frontend:watch": "npm --prefix=frontend test --quiet -- --watch", - "test:e2e": "scripts/install.mjs && scripts/test.mjs --only-e2e" + "test": "scripts/test.mjs" } } diff --git a/scripts/test.mjs b/scripts/test.mjs index 11b57c7..648fee6 100755 --- a/scripts/test.mjs +++ b/scripts/test.mjs @@ -1,55 +1,17 @@ #!/usr/bin/env node import { join } from 'node:path'; -import { basedir, deleteDirectory, findFiles, log } from './helpers/io.mjs'; +import { basedir, deleteDirectory, log } from './helpers/io.mjs'; import { stat, mkdir } from 'node:fs/promises'; import { exitWithCode, printPrefixed, runBackgroundTask, - runMultipleTasks, runTask, waitForOutput, } from './helpers/proc.mjs'; import { makeRandomAppSecrets } from './helpers/random.mjs'; -const PARALLEL_E2E = (process.env['PARALLEL_E2E'] ?? 'true') === 'true'; -const FOCUS_BROWSER = process.env['BROWSER']; -const SKIP_UNIT = process.argv.slice(2).includes('--only-e2e'); - -const units = ['frontend', 'backend']; - -if (!SKIP_UNIT) { - await runMultipleTasks( - units.map((pkg) => ({ - command: 'npm', - args: ['test', '--quiet'], - cwd: join(basedir, pkg), - beginMessage: `\nTesting ${pkg}...\n`, - failureMessage: `Unit tests failed: ${pkg}.`, - })), - { parallel: false }, - ); -} - -log('\nRunning end-to-end tests...'); - -const browsers = [ - { browser: 'chrome', format: '32' }, - { browser: 'firefox', format: '33' }, -]; - -const filteredBrowsers = FOCUS_BROWSER - ? browsers.filter(({ browser }) => browser === FOCUS_BROWSER) - : browsers; - -if (!filteredBrowsers.length) { - await exitWithCode( - 1, - `No end-to-end tests to run: ${FOCUS_BROWSER} is not available.`, - ); -} - const builddir = join(basedir, 'build'); const downloads = join(basedir, 'e2e', 'build', 'downloads'); @@ -60,102 +22,86 @@ await mkdir(downloads, { recursive: true }); const testEnv = { ...process.env }; let appLogs; -if (!testEnv['TARGET_HOST']) { - const port = Number.parseInt(process.env['PORT'] ?? '5010'); - - log('Building application...'); - await runTask({ - command: join(basedir, 'scripts', 'build.mjs'), - args: ['--keep-deps'], - }); - - if (!(await stat(join(builddir, 'node_modules')).catch(() => null))) { - log('Installing production dependencies...'); - await runTask({ - command: 'npm', - args: ['install', '--omit=dev', '--quiet'], - cwd: builddir, - }); - } +const port = Number.parseInt(process.env['PORT'] ?? '5010'); - log('Using mock authentication provider'); - const mockSSOPort = port + 2; - const mockSSOHost = `http://localhost:${mockSSOPort}`; - - const appEnv = { - ...process.env, - PORT: String(port), - SERVER_BIND_ADDRESS: 'localhost', - DB_URL: 'memory://refacto?simulatedLatency=50', - MOCK_SSO_PORT: mockSSOPort, - SSO_GOOGLE_CLIENT_ID: 'mock-client-id', - SSO_GOOGLE_AUTH_URL: `${mockSSOHost}/auth`, - SSO_GOOGLE_TOKEN_INFO_URL: `${mockSSOHost}/tokeninfo`, - PASSWORD_WORK_FACTOR: 4, - }; - - log('Using randomised secrets'); - const secrets = makeRandomAppSecrets(); - for (const [env, value] of secrets) { - process.stderr.write(`${env}=${value}\n`); - appEnv[env] = value; - } +await runTask({ + command: join(basedir, 'scripts', 'build.mjs'), + args: ['--keep-deps'], +}); - log('Starting application'); - const begin = Date.now(); - const appProc = runBackgroundTask({ - command: 'node', - args: [ - '--disable-proto=throw', - // TODO replace express with something else to be able to add this - //'--disallow-code-generation-from-strings', - join(builddir, 'index.js'), - ], - env: appEnv, - stdio: ['ignore', 'ignore', 'pipe'], +if (!(await stat(join(builddir, 'node_modules')).catch(() => null))) { + await runTask({ + command: 'npm', + args: ['install', '--omit=dev', '--quiet'], + cwd: builddir, }); +} - // Wait for startup - appLogs = waitForOutput(appProc.stdio[2], 'Available at', 30 * 1000); - try { - await appLogs.promise; - log(`Application started in ${((Date.now() - begin) * 0.001).toFixed(3)}s`); - } catch (e) { - log(`Application logs:`); - printPrefixed(process.stderr, appLogs.getOutput(), 'log'); - await exitWithCode( - 1, - `Failed to start server for E2E tests: ${e} (exit code: ${appProc.exitCode})`, - ); - } +const mockSSOPort = port + 2; +const mockSSOHost = `http://localhost:${mockSSOPort}`; + +const appEnv = { + ...process.env, + PORT: String(port), + SERVER_BIND_ADDRESS: 'localhost', + DB_URL: 'memory://refacto?simulatedLatency=50', + MOCK_SSO_PORT: mockSSOPort, + SSO_GOOGLE_CLIENT_ID: 'mock-client-id', + SSO_GOOGLE_AUTH_URL: `${mockSSOHost}/auth`, + SSO_GOOGLE_TOKEN_INFO_URL: `${mockSSOHost}/tokeninfo`, + PASSWORD_WORK_FACTOR: 4, +}; + +const secrets = makeRandomAppSecrets(); +for (const [env, value] of secrets) { + process.stderr.write(`${env}=${value}\n`); + appEnv[env] = value; +} - testEnv['TARGET_HOST'] = `http://localhost:${port}/`; +const begin = Date.now(); +const appProc = runBackgroundTask({ + command: 'node', + args: [ + '--disable-proto=throw', + // TODO replace express with something else to be able to add this + //'--disallow-code-generation-from-strings', + join(builddir, 'index.js'), + ], + env: appEnv, + stdio: ['ignore', 'ignore', 'pipe'], +}); + +// Wait for startup +appLogs = waitForOutput(appProc.stdio[2], 'Available at', 30 * 1000); +try { + await appLogs.promise; + log(`Application started in ${((Date.now() - begin) * 0.001).toFixed(3)}s`); +} catch (e) { + log(`Application logs:`); + printPrefixed(process.stderr, appLogs.getOutput(), 'log'); + await exitWithCode( + 1, + `Failed to start server for E2E tests: ${e} (exit code: ${appProc.exitCode})`, + ); } +testEnv['TARGET_HOST'] = `http://localhost:${port}/`; + // Run tests try { - await runMultipleTasks( - filteredBrowsers.map(({ browser, format }) => ({ - command: 'npm', - args: ['test', '--quiet'], - cwd: join(basedir, 'e2e'), - env: { ...testEnv, SELENIUM_BROWSER: browser }, - beginMessage: `E2E testing in ${browser}...`, - failureMessage: `E2E tests failed in ${browser}`, - outputPrefix: browser, - prefixFormat: format, - exitOnFailure: false, - })), - { parallel: PARALLEL_E2E }, - ); + await runTask({ + command: 'npm', + args: ['test', '--quiet'], + cwd: join(basedir, 'e2e'), + env: { ...testEnv, SELENIUM_BROWSER: 'chrome' }, + exitOnFailure: false, + }); } catch { if (appLogs) { log(`\nApplication logs:`); printPrefixed(process.stderr, appLogs.getOutput(), 'log'); } - log('\nFiles downloaded:'); - log((await findFiles(downloads)).join('\n')); await exitWithCode(1, 'End-to-end tests failed.'); }