diff --git a/e2e-tests/.ci/server.generate.sh b/e2e-tests/.ci/server.generate.sh index 417372f3d4..fe34a9ede6 100755 --- a/e2e-tests/.ci/server.generate.sh +++ b/e2e-tests/.ci/server.generate.sh @@ -224,7 +224,7 @@ $(if mme2e_is_token_in_list "webhook-interactions" "$ENABLED_DOCKER_SERVICES"; t $(if mme2e_is_token_in_list "playwright" "$ENABLED_DOCKER_SERVICES"; then echo ' playwright: - image: mcr.microsoft.com/playwright:v1.42.1-jammy + image: mcr.microsoft.com/playwright:v1.43.0-jammy entrypoint: ["/bin/bash", "-c"] command: ["until [ -f /var/run/mm_terminate ]; do sleep 5; done"] env_file: diff --git a/e2e-tests/.ci/server.run_playwright.sh b/e2e-tests/.ci/server.run_playwright.sh index 2ef209c8f6..7f7bd43257 100755 --- a/e2e-tests/.ci/server.run_playwright.sh +++ b/e2e-tests/.ci/server.run_playwright.sh @@ -12,6 +12,10 @@ mkdir -p logs touch logs/mattermost.log EOF +# Install webapp dependencies +mme2e_log "Prepare Playwright: install webapp dependencies" +${MME2E_DC_SERVER} exec -T -u "$MME2E_UID" -- playwright bash -c "cd webapp && npm install --cache /tmp/empty-cache" + # Install Playwright dependencies mme2e_log "Prepare Playwright: install dependencies" ${MME2E_DC_SERVER} exec -T -u "$MME2E_UID" -- playwright bash -c "cd e2e-tests/playwright && rm -rf node_modules && PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm install --cache /tmp/empty-cache" diff --git a/e2e-tests/playwright/README.md b/e2e-tests/playwright/README.md index 852d039bde..495985beef 100644 --- a/e2e-tests/playwright/README.md +++ b/e2e-tests/playwright/README.md @@ -45,7 +45,7 @@ npm run test Change to root directory, run docker container ``` -docker run -it --rm -v "$(pwd):/mattermost/" --ipc=host mcr.microsoft.com/playwright:v1.42.1-jammy /bin/bash +docker run -it --rm -v "$(pwd):/mattermost/" --ipc=host mcr.microsoft.com/playwright:v1.43.0-jammy /bin/bash ``` #### 2. Inside the docker container @@ -57,7 +57,7 @@ export PW_HEADLESS=true cd mattermost/e2e-tests/playwright # Install npm packages. Use "npm ci" to match the automated environment -PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm ci +export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm ci # Run specific test. See https://playwright.dev/docs/test-cli. npm run test -- login --project=chrome diff --git a/e2e-tests/playwright/global_setup.ts b/e2e-tests/playwright/global_setup.ts index 55e5fe54d0..9be3a84001 100644 --- a/e2e-tests/playwright/global_setup.ts +++ b/e2e-tests/playwright/global_setup.ts @@ -107,8 +107,8 @@ async function printClientInfo(client: Client) { const {LogSettings, ServiceSettings} = await client.getConfig(); // eslint-disable-next-line no-console console.log(`Notable Server Config: - - ServiceSettings.EnableSecurityFixAlert = ${ServiceSettings.EnableSecurityFixAlert} - - LogSettings.EnableDiagnostics = ${LogSettings.EnableDiagnostics}`); + - ServiceSettings.EnableSecurityFixAlert = ${ServiceSettings?.EnableSecurityFixAlert} + - LogSettings.EnableDiagnostics = ${LogSettings?.EnableDiagnostics}`); } async function ensurePluginsLoaded(client: Client) { diff --git a/e2e-tests/playwright/package-lock.json b/e2e-tests/playwright/package-lock.json index b225205562..15eea9b088 100644 --- a/e2e-tests/playwright/package-lock.json +++ b/e2e-tests/playwright/package-lock.json @@ -7,12 +7,12 @@ "": { "hasInstallScript": true, "dependencies": { - "@axe-core/playwright": "4.8.5", - "@percy/cli": "1.28.1", - "@percy/playwright": "1.0.4", - "@playwright/test": "1.42.1", + "@axe-core/playwright": "4.9.0", + "@percy/cli": "1.28.3", + "@percy/playwright": "1.0.5", + "@playwright/test": "1.43.1", "async-wait-until": "2.0.12", - "axe-core": "4.8.4", + "axe-core": "4.9.0", "chalk": "4.1.2", "deepmerge": "4.3.1", "dotenv": "16.4.5", @@ -27,7 +27,7 @@ "cross-env": "7.0.3", "eslint": "8.57.0", "prettier": "3.2.5", - "typescript": "5.4.2" + "typescript": "5.4.5" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -40,49 +40,28 @@ } }, "node_modules/@axe-core/playwright": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.5.tgz", - "integrity": "sha512-GFdXXAEn9uk0Vyzgl2eEP+VwvgGzas0YSnacoJ/0U237G83zWZ1PhbP/RDymm0cqevoA+xRjMo+ONzh9Q711nw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.9.0.tgz", + "integrity": "sha512-Q1Lz75dNsX38jof+aev7RficDMdH/HLOLySkDdXR0fUoeFcLdw4UNgDO2CNNP4CTpoesEdfYRdd6VmDXjhBgbA==", "dependencies": { - "axe-core": "~4.8.4" + "axe-core": "~4.9.0" }, "peerDependencies": { "playwright-core": ">= 1.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", @@ -92,13 +71,14 @@ } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -275,9 +255,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@nodelib/fs.scandir": { @@ -313,19 +293,19 @@ } }, "node_modules/@percy/cli": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.28.1.tgz", - "integrity": "sha512-W/6ZvjSiIFZCmIjoeW0KQbFoEaatmQoFpDaxCsxAgfaddYKdXxXusKZluROZSnuPfZryCUDYEgRQ313EL/ILzQ==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.28.3.tgz", + "integrity": "sha512-jijqaFneyIpk1RxE8hvoQmd+YG1WoLVY5fuXPbU05HFlKwBGRLRcEYwNuvYQ5PK8reBYQr3FPtWISGBgpYitWQ==", "dependencies": { - "@percy/cli-app": "1.28.1", - "@percy/cli-build": "1.28.1", - "@percy/cli-command": "1.28.1", - "@percy/cli-config": "1.28.1", - "@percy/cli-exec": "1.28.1", - "@percy/cli-snapshot": "1.28.1", - "@percy/cli-upload": "1.28.1", - "@percy/client": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/cli-app": "1.28.3", + "@percy/cli-build": "1.28.3", + "@percy/cli-command": "1.28.3", + "@percy/cli-config": "1.28.3", + "@percy/cli-exec": "1.28.3", + "@percy/cli-snapshot": "1.28.3", + "@percy/cli-upload": "1.28.3", + "@percy/client": "1.28.3", + "@percy/logger": "1.28.3" }, "bin": { "percy": "bin/run.cjs" @@ -335,36 +315,36 @@ } }, "node_modules/@percy/cli-app": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.28.1.tgz", - "integrity": "sha512-oKNIWIg/MOy8T3S1FujTTcz46Y9ZyhQpkXsdJwU/VOQ9iAsRRSIPK97Rltpj25t8mqvWqV49/YaXo25cZJJvzw==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.28.3.tgz", + "integrity": "sha512-rVT5Up/1latM8fEQwOFveii0xAZoqW/jIyy5z5wka420YxiusHNke19L4tb66VTVXs+JxyvmfXg172/mUhXIsw==", "dependencies": { - "@percy/cli-command": "1.28.1", - "@percy/cli-exec": "1.28.1" + "@percy/cli-command": "1.28.3", + "@percy/cli-exec": "1.28.3" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-build": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.28.1.tgz", - "integrity": "sha512-9qSMQiC5K14ynsjvKkoAKNqENkF/NUqOoJKpHPfh5xdhgbChoedo7rzw3BDc1x0wsSMQi/VlFOyUVKHed7rC5g==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.28.3.tgz", + "integrity": "sha512-HU3TyD0Qgjv9PF9OVf+SCYS8FEwKaaWkWN2xMWAntlD+lufcnPyD9oXgyD/iKMvKmZi7VRqYEw+RiShIBYrEjg==", "dependencies": { - "@percy/cli-command": "1.28.1" + "@percy/cli-command": "1.28.3" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-command": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.28.1.tgz", - "integrity": "sha512-akdG5WA8XipUl6YkB+uXdHCgH4vgkXkasSniSjaXE/DHqZVUGfr5nJjvHIRCmQx7+ehAE2bvEYSCQXBMLCo6QA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.28.3.tgz", + "integrity": "sha512-hlXqPD+CaUcPF9yHw8U8z9ql4diLXtJIwoMQbMPOTVL08ObFCrASjcTcopbAHztHe6f71S9tP5ryTO+fwjsuMw==", "dependencies": { - "@percy/config": "1.28.1", - "@percy/core": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/config": "1.28.3", + "@percy/core": "1.28.3", + "@percy/logger": "1.28.3" }, "bin": { "percy-cli-readme": "bin/readme.js" @@ -374,22 +354,22 @@ } }, "node_modules/@percy/cli-config": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.28.1.tgz", - "integrity": "sha512-HPWnXltjp5UItTh6zFUh5su79P8mYRbNYcq7wAAnJdJkT950kcoaBJQj7wDaaAjEnCIRXYT2dIb+UBC/Mj3P9w==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.28.3.tgz", + "integrity": "sha512-2jNt+D7mVUjMFwRaWa6YuR2pNg5dxcbauLEojDup1rfX97LypiONkOySNKfAE8WRu8kh0eH4ezNZVq3W3yIAHQ==", "dependencies": { - "@percy/cli-command": "1.28.1" + "@percy/cli-command": "1.28.3" }, "engines": { "node": ">=14" } }, "node_modules/@percy/cli-exec": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.28.1.tgz", - "integrity": "sha512-6Uki4PttzF9PGAINSRZqqr1QtDgxjiCh/pa6Eu9lNzrqVUV3/SRnK6dCatW/bBst6D97O1sNIZ1hsbFpP/m8dw==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.28.3.tgz", + "integrity": "sha512-Xiz77MBBffvOIT3WMV+/HABKQRr/3OmjQDpKIf5+5YcjGktEch+G4IPSNr8jJzA64z8faxiLoSDBPcCsHuaqIw==", "dependencies": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "cross-spawn": "^7.0.3", "which": "^2.0.2" }, @@ -398,11 +378,11 @@ } }, "node_modules/@percy/cli-snapshot": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.28.1.tgz", - "integrity": "sha512-wAsG95KabtDT83BfG3IhlcUa47IfllB7YQ+bQUnOKxYC4979PsAGpui9Nb7dUqv0X4N2IKaVppuoe3Nov7lgBg==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.28.3.tgz", + "integrity": "sha512-GzNqpjEcWBuLXT+spQ9QNNu3f5deAr1FzX7XoNK1Vt+ksGsg5feNxyolz6Aj0yXg3YtjhRxDIBBnlmTkcj4DFQ==", "dependencies": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "yaml": "^2.0.0" }, "engines": { @@ -410,11 +390,11 @@ } }, "node_modules/@percy/cli-upload": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.28.1.tgz", - "integrity": "sha512-GAUdDuoUDt3DIWGZq5XX+kPBsKZFHr4kQKsN3lbkh5lVmpgXdDjH8P3KsTb2LwCg5UyIo9fOKO3liG4Os8iIJA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.28.3.tgz", + "integrity": "sha512-fwIOl+LbO/a4cA3/HGVptm6mGGq7anWIQgKQIo0E2yuxPEQ/1MzW/tZOtdPzsuulHqLfNuRwXYZdLy22l0mBWg==", "dependencies": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "fast-glob": "^3.2.11", "image-size": "^1.0.0" }, @@ -423,23 +403,24 @@ } }, "node_modules/@percy/client": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.28.1.tgz", - "integrity": "sha512-vHBvC+r4KIiBag3xWIcEn/cN3RLqPhI9JhhIpO7TppD71NIAGmprqBg8FEdXNuFJ9L9kmrDTn2L2w4xr79dTIg==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.28.3.tgz", + "integrity": "sha512-UpgwvppMh5DMQlH1QVPkt3A2gMr5WiZJA6kHBnTRgUyGt7tZYVlvJshb1Mbu2tnTYJ1vtA6Lrtyb+VCLNAodug==", "dependencies": { - "@percy/env": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/env": "1.28.3", + "@percy/logger": "1.28.3", + "pako": "^2.1.0" }, "engines": { "node": ">=14" } }, "node_modules/@percy/config": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.28.1.tgz", - "integrity": "sha512-TgtU8QCaVNa7jvI7aLf/lpfdVmzOv6zE0rUhggVW4oUv3sa5fTzthXJiZeDZq++0T86/Mposquw+x+NEgdDv7A==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.28.3.tgz", + "integrity": "sha512-qoKTLD1bBTbv1gncS3F48IAg8WkDnSOH1EJpZdl2ZkbbQV1DUELqOiKZQjl4EYStI8JR722r8D9PHls4K3nJWg==", "dependencies": { - "@percy/logger": "1.28.1", + "@percy/logger": "1.28.3", "ajv": "^8.6.2", "cosmiconfig": "^8.0.0", "yaml": "^2.0.0" @@ -449,22 +430,23 @@ } }, "node_modules/@percy/core": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.28.1.tgz", - "integrity": "sha512-VVCQ9PnCpHytXohfw+Dh/02exN0j4a7/L4iSdNNYk82nB1l1enp9mbNkxzHf6NBFSx76xjUCluinFxP/qm0aeA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.28.3.tgz", + "integrity": "sha512-aICOHPYrEmG8EIDhepl/wmVyaGo7PFWHHCgf2QUwvfp6qDaydfIVbVJ87BhXLB3Tz1xfjxeE+X1egkavvffq1w==", "hasInstallScript": true, "dependencies": { - "@percy/client": "1.28.1", - "@percy/config": "1.28.1", - "@percy/dom": "1.28.1", - "@percy/logger": "1.28.1", - "@percy/webdriver-utils": "1.28.1", + "@percy/client": "1.28.3", + "@percy/config": "1.28.3", + "@percy/dom": "1.28.3", + "@percy/logger": "1.28.3", + "@percy/webdriver-utils": "1.28.3", "content-disposition": "^0.5.4", "cross-spawn": "^7.0.3", "extract-zip": "^2.0.1", "fast-glob": "^3.2.11", "micromatch": "^4.0.4", "mime-types": "^2.1.34", + "pako": "^2.1.0", "path-to-regexp": "^6.2.0", "rimraf": "^3.0.2", "ws": "^8.0.0" @@ -474,36 +456,33 @@ } }, "node_modules/@percy/dom": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.28.1.tgz", - "integrity": "sha512-5UHGjXxKUyq8CJt+o6NwvLW0R5P2V4gkmLMXw2z3k/0xhtw2Qtl1pzEsgEiCG8LNElD27EeMx63CwdO04T5nHA==" + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.28.3.tgz", + "integrity": "sha512-ybCctmntKK/4JoHkY2ISieqmIxzOFVQTPGqyBuckojVaEuVJS7KjYWg54Wk3/SPchpcNPbRS4/1wxgVxU3BE/g==" }, "node_modules/@percy/env": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.28.1.tgz", - "integrity": "sha512-8RRNmsJR5MjUYR+zqcrGJhztuu51X2VjLucfk/V4FRX2cg5qHBGJ3aZFCCR2pTEREGn+VqoG/75ocAJDU6dP8Q==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.28.3.tgz", + "integrity": "sha512-hFNj81QGNA7LZhKUD3TwraAQYjKwrFfLS4j7fBwGZbV5QfanUMnaUaecTiwvOwflEqk2YOoivZ6vY7hmKhdQhg==", "dependencies": { - "@percy/logger": "1.28.1" + "@percy/logger": "1.28.3" }, "engines": { "node": ">=14" } }, "node_modules/@percy/logger": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.28.1.tgz", - "integrity": "sha512-L2KpxIzC40oqjDdUheAGiZBDQ64QaOfFQXDLEGzyJ7rE8il5OzbcDQ9AIrW/ortWhF7Uu/soORSJqI1V9XaVAw==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.28.3.tgz", + "integrity": "sha512-zAFlK4CPCC55mnZCtYRJxdQGQ69q1e99xy0z1JkZNe56HL5jShtG3JDdf9T6WH/H+snECdv0oPCwY40gAjZmWA==", "engines": { "node": ">=14" } }, "node_modules/@percy/playwright": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@percy/playwright/-/playwright-1.0.4.tgz", - "integrity": "sha512-prXvaEyvM6M7vGx0YujdMmFf+rZqkQpDEK32ZOwXbMzKYhGXjyiYESa4Axhc+Pz/c0THhXZWH4/70IW0RcyCQA==", - "dependencies": { - "@percy/sdk-utils": "^1.0.0" - }, + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@percy/playwright/-/playwright-1.0.5.tgz", + "integrity": "sha512-5WNNkua1CzWm0suyfAqRxPuXOEPd9Vs79759DpgPO0r/QACDcICCLCmAOM+urGlVj17uZqsdC2rMK7MphEXslw==", "engines": { "node": ">=14" }, @@ -512,31 +491,31 @@ } }, "node_modules/@percy/sdk-utils": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.1.tgz", - "integrity": "sha512-joS3i5wjFYXRSVL/NbUvip+bB7ErgwNjoDcID31l61y/QaSYUVCOxl/Fy4nvePJtHVyE1hpV0O7XO3tkoG908g==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.3.tgz", + "integrity": "sha512-0qzyW28U4p/GRSx0mxu+O5dygtECk5uFWoxAbDVGjnTodvH4LKa6nfjr1da+Ebi9w1jW4cNBq1eVGT3Riga/vw==", "engines": { "node": ">=14" } }, "node_modules/@percy/webdriver-utils": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.28.1.tgz", - "integrity": "sha512-KDXTgiwb033S7V9xfia6uwVOQlBgTKKr0+W7aDboFB5aUgdR8szM5sWp9LqqaWaGj534ppUNlkgG5aekQgM6sA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.28.3.tgz", + "integrity": "sha512-B1fILN7XgTsFf0qdsFHx1IV0rqBvwx/lY6Z0jJdc5Md0YNnlxk4YQHUACaovEE3OtVLc7Nc15RTiCVonXFfYiA==", "dependencies": { - "@percy/config": "1.28.1", - "@percy/sdk-utils": "1.28.1" + "@percy/config": "1.28.3", + "@percy/sdk-utils": "1.28.3" }, "engines": { "node": ">=14" } }, "node_modules/@playwright/test": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz", - "integrity": "sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", + "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", "dependencies": { - "playwright": "1.42.1" + "playwright": "1.43.1" }, "bin": { "playwright": "cli.js" @@ -552,9 +531,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.11.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz", - "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "optional": true, "dependencies": { "undici-types": "~5.26.4" @@ -616,6 +595,58 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", + "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/utils": "7.2.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", + "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, "node_modules/@typescript-eslint/parser": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", @@ -661,33 +692,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", - "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/utils": "7.2.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/@typescript-eslint/types": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", @@ -729,31 +733,6 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", - "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", @@ -862,9 +841,9 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/axe-core": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz", - "integrity": "sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.0.tgz", + "integrity": "sha512-H5orY+M2Fr56DWmMFpMrq5Ge93qjNdPVqzBv5gWK3aD1OvjBEJlEzxf09z93dGVQeI0LiW+aCMIx1QtShC/zUw==", "engines": { "node": ">=4" } @@ -2049,6 +2028,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -2103,9 +2087,9 @@ } }, "node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" }, "node_modules/path-type": { "version": "4.0.0", @@ -2120,6 +2104,11 @@ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -2132,11 +2121,11 @@ } }, "node_modules/playwright": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.42.1.tgz", - "integrity": "sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", + "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", "dependencies": { - "playwright-core": "1.42.1" + "playwright-core": "1.43.1" }, "bin": { "playwright": "cli.js" @@ -2149,9 +2138,9 @@ } }, "node_modules/playwright-core": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.42.1.tgz", - "integrity": "sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", + "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", "bin": { "playwright-core": "cli.js" }, @@ -2439,9 +2428,9 @@ } }, "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -2576,37 +2565,20 @@ "dev": true }, "@axe-core/playwright": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.5.tgz", - "integrity": "sha512-GFdXXAEn9uk0Vyzgl2eEP+VwvgGzas0YSnacoJ/0U237G83zWZ1PhbP/RDymm0cqevoA+xRjMo+ONzh9Q711nw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.9.0.tgz", + "integrity": "sha512-Q1Lz75dNsX38jof+aev7RficDMdH/HLOLySkDdXR0fUoeFcLdw4UNgDO2CNNP4CTpoesEdfYRdd6VmDXjhBgbA==", "requires": { - "axe-core": "~4.8.4" + "axe-core": "~4.9.0" } }, "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" } }, "@babel/helper-validator-identifier": { @@ -2615,13 +2587,14 @@ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "requires": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "dependencies": { "chalk": { @@ -2757,9 +2730,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@nodelib/fs.scandir": { @@ -2786,172 +2759,172 @@ } }, "@percy/cli": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.28.1.tgz", - "integrity": "sha512-W/6ZvjSiIFZCmIjoeW0KQbFoEaatmQoFpDaxCsxAgfaddYKdXxXusKZluROZSnuPfZryCUDYEgRQ313EL/ILzQ==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.28.3.tgz", + "integrity": "sha512-jijqaFneyIpk1RxE8hvoQmd+YG1WoLVY5fuXPbU05HFlKwBGRLRcEYwNuvYQ5PK8reBYQr3FPtWISGBgpYitWQ==", "requires": { - "@percy/cli-app": "1.28.1", - "@percy/cli-build": "1.28.1", - "@percy/cli-command": "1.28.1", - "@percy/cli-config": "1.28.1", - "@percy/cli-exec": "1.28.1", - "@percy/cli-snapshot": "1.28.1", - "@percy/cli-upload": "1.28.1", - "@percy/client": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/cli-app": "1.28.3", + "@percy/cli-build": "1.28.3", + "@percy/cli-command": "1.28.3", + "@percy/cli-config": "1.28.3", + "@percy/cli-exec": "1.28.3", + "@percy/cli-snapshot": "1.28.3", + "@percy/cli-upload": "1.28.3", + "@percy/client": "1.28.3", + "@percy/logger": "1.28.3" } }, "@percy/cli-app": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.28.1.tgz", - "integrity": "sha512-oKNIWIg/MOy8T3S1FujTTcz46Y9ZyhQpkXsdJwU/VOQ9iAsRRSIPK97Rltpj25t8mqvWqV49/YaXo25cZJJvzw==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.28.3.tgz", + "integrity": "sha512-rVT5Up/1latM8fEQwOFveii0xAZoqW/jIyy5z5wka420YxiusHNke19L4tb66VTVXs+JxyvmfXg172/mUhXIsw==", "requires": { - "@percy/cli-command": "1.28.1", - "@percy/cli-exec": "1.28.1" + "@percy/cli-command": "1.28.3", + "@percy/cli-exec": "1.28.3" } }, "@percy/cli-build": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.28.1.tgz", - "integrity": "sha512-9qSMQiC5K14ynsjvKkoAKNqENkF/NUqOoJKpHPfh5xdhgbChoedo7rzw3BDc1x0wsSMQi/VlFOyUVKHed7rC5g==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.28.3.tgz", + "integrity": "sha512-HU3TyD0Qgjv9PF9OVf+SCYS8FEwKaaWkWN2xMWAntlD+lufcnPyD9oXgyD/iKMvKmZi7VRqYEw+RiShIBYrEjg==", "requires": { - "@percy/cli-command": "1.28.1" + "@percy/cli-command": "1.28.3" } }, "@percy/cli-command": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.28.1.tgz", - "integrity": "sha512-akdG5WA8XipUl6YkB+uXdHCgH4vgkXkasSniSjaXE/DHqZVUGfr5nJjvHIRCmQx7+ehAE2bvEYSCQXBMLCo6QA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.28.3.tgz", + "integrity": "sha512-hlXqPD+CaUcPF9yHw8U8z9ql4diLXtJIwoMQbMPOTVL08ObFCrASjcTcopbAHztHe6f71S9tP5ryTO+fwjsuMw==", "requires": { - "@percy/config": "1.28.1", - "@percy/core": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/config": "1.28.3", + "@percy/core": "1.28.3", + "@percy/logger": "1.28.3" } }, "@percy/cli-config": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.28.1.tgz", - "integrity": "sha512-HPWnXltjp5UItTh6zFUh5su79P8mYRbNYcq7wAAnJdJkT950kcoaBJQj7wDaaAjEnCIRXYT2dIb+UBC/Mj3P9w==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.28.3.tgz", + "integrity": "sha512-2jNt+D7mVUjMFwRaWa6YuR2pNg5dxcbauLEojDup1rfX97LypiONkOySNKfAE8WRu8kh0eH4ezNZVq3W3yIAHQ==", "requires": { - "@percy/cli-command": "1.28.1" + "@percy/cli-command": "1.28.3" } }, "@percy/cli-exec": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.28.1.tgz", - "integrity": "sha512-6Uki4PttzF9PGAINSRZqqr1QtDgxjiCh/pa6Eu9lNzrqVUV3/SRnK6dCatW/bBst6D97O1sNIZ1hsbFpP/m8dw==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.28.3.tgz", + "integrity": "sha512-Xiz77MBBffvOIT3WMV+/HABKQRr/3OmjQDpKIf5+5YcjGktEch+G4IPSNr8jJzA64z8faxiLoSDBPcCsHuaqIw==", "requires": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "cross-spawn": "^7.0.3", "which": "^2.0.2" } }, "@percy/cli-snapshot": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.28.1.tgz", - "integrity": "sha512-wAsG95KabtDT83BfG3IhlcUa47IfllB7YQ+bQUnOKxYC4979PsAGpui9Nb7dUqv0X4N2IKaVppuoe3Nov7lgBg==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.28.3.tgz", + "integrity": "sha512-GzNqpjEcWBuLXT+spQ9QNNu3f5deAr1FzX7XoNK1Vt+ksGsg5feNxyolz6Aj0yXg3YtjhRxDIBBnlmTkcj4DFQ==", "requires": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "yaml": "^2.0.0" } }, "@percy/cli-upload": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.28.1.tgz", - "integrity": "sha512-GAUdDuoUDt3DIWGZq5XX+kPBsKZFHr4kQKsN3lbkh5lVmpgXdDjH8P3KsTb2LwCg5UyIo9fOKO3liG4Os8iIJA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.28.3.tgz", + "integrity": "sha512-fwIOl+LbO/a4cA3/HGVptm6mGGq7anWIQgKQIo0E2yuxPEQ/1MzW/tZOtdPzsuulHqLfNuRwXYZdLy22l0mBWg==", "requires": { - "@percy/cli-command": "1.28.1", + "@percy/cli-command": "1.28.3", "fast-glob": "^3.2.11", "image-size": "^1.0.0" } }, "@percy/client": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.28.1.tgz", - "integrity": "sha512-vHBvC+r4KIiBag3xWIcEn/cN3RLqPhI9JhhIpO7TppD71NIAGmprqBg8FEdXNuFJ9L9kmrDTn2L2w4xr79dTIg==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/client/-/client-1.28.3.tgz", + "integrity": "sha512-UpgwvppMh5DMQlH1QVPkt3A2gMr5WiZJA6kHBnTRgUyGt7tZYVlvJshb1Mbu2tnTYJ1vtA6Lrtyb+VCLNAodug==", "requires": { - "@percy/env": "1.28.1", - "@percy/logger": "1.28.1" + "@percy/env": "1.28.3", + "@percy/logger": "1.28.3", + "pako": "^2.1.0" } }, "@percy/config": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.28.1.tgz", - "integrity": "sha512-TgtU8QCaVNa7jvI7aLf/lpfdVmzOv6zE0rUhggVW4oUv3sa5fTzthXJiZeDZq++0T86/Mposquw+x+NEgdDv7A==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/config/-/config-1.28.3.tgz", + "integrity": "sha512-qoKTLD1bBTbv1gncS3F48IAg8WkDnSOH1EJpZdl2ZkbbQV1DUELqOiKZQjl4EYStI8JR722r8D9PHls4K3nJWg==", "requires": { - "@percy/logger": "1.28.1", + "@percy/logger": "1.28.3", "ajv": "^8.6.2", "cosmiconfig": "^8.0.0", "yaml": "^2.0.0" } }, "@percy/core": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.28.1.tgz", - "integrity": "sha512-VVCQ9PnCpHytXohfw+Dh/02exN0j4a7/L4iSdNNYk82nB1l1enp9mbNkxzHf6NBFSx76xjUCluinFxP/qm0aeA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/core/-/core-1.28.3.tgz", + "integrity": "sha512-aICOHPYrEmG8EIDhepl/wmVyaGo7PFWHHCgf2QUwvfp6qDaydfIVbVJ87BhXLB3Tz1xfjxeE+X1egkavvffq1w==", "requires": { - "@percy/client": "1.28.1", - "@percy/config": "1.28.1", - "@percy/dom": "1.28.1", - "@percy/logger": "1.28.1", - "@percy/webdriver-utils": "1.28.1", + "@percy/client": "1.28.3", + "@percy/config": "1.28.3", + "@percy/dom": "1.28.3", + "@percy/logger": "1.28.3", + "@percy/webdriver-utils": "1.28.3", "content-disposition": "^0.5.4", "cross-spawn": "^7.0.3", "extract-zip": "^2.0.1", "fast-glob": "^3.2.11", "micromatch": "^4.0.4", "mime-types": "^2.1.34", + "pako": "^2.1.0", "path-to-regexp": "^6.2.0", "rimraf": "^3.0.2", "ws": "^8.0.0" } }, "@percy/dom": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.28.1.tgz", - "integrity": "sha512-5UHGjXxKUyq8CJt+o6NwvLW0R5P2V4gkmLMXw2z3k/0xhtw2Qtl1pzEsgEiCG8LNElD27EeMx63CwdO04T5nHA==" + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/dom/-/dom-1.28.3.tgz", + "integrity": "sha512-ybCctmntKK/4JoHkY2ISieqmIxzOFVQTPGqyBuckojVaEuVJS7KjYWg54Wk3/SPchpcNPbRS4/1wxgVxU3BE/g==" }, "@percy/env": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.28.1.tgz", - "integrity": "sha512-8RRNmsJR5MjUYR+zqcrGJhztuu51X2VjLucfk/V4FRX2cg5qHBGJ3aZFCCR2pTEREGn+VqoG/75ocAJDU6dP8Q==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/env/-/env-1.28.3.tgz", + "integrity": "sha512-hFNj81QGNA7LZhKUD3TwraAQYjKwrFfLS4j7fBwGZbV5QfanUMnaUaecTiwvOwflEqk2YOoivZ6vY7hmKhdQhg==", "requires": { - "@percy/logger": "1.28.1" + "@percy/logger": "1.28.3" } }, "@percy/logger": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.28.1.tgz", - "integrity": "sha512-L2KpxIzC40oqjDdUheAGiZBDQ64QaOfFQXDLEGzyJ7rE8il5OzbcDQ9AIrW/ortWhF7Uu/soORSJqI1V9XaVAw==" + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/logger/-/logger-1.28.3.tgz", + "integrity": "sha512-zAFlK4CPCC55mnZCtYRJxdQGQ69q1e99xy0z1JkZNe56HL5jShtG3JDdf9T6WH/H+snECdv0oPCwY40gAjZmWA==" }, "@percy/playwright": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@percy/playwright/-/playwright-1.0.4.tgz", - "integrity": "sha512-prXvaEyvM6M7vGx0YujdMmFf+rZqkQpDEK32ZOwXbMzKYhGXjyiYESa4Axhc+Pz/c0THhXZWH4/70IW0RcyCQA==", - "requires": { - "@percy/sdk-utils": "^1.0.0" - } + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@percy/playwright/-/playwright-1.0.5.tgz", + "integrity": "sha512-5WNNkua1CzWm0suyfAqRxPuXOEPd9Vs79759DpgPO0r/QACDcICCLCmAOM+urGlVj17uZqsdC2rMK7MphEXslw==", + "requires": {} }, "@percy/sdk-utils": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.1.tgz", - "integrity": "sha512-joS3i5wjFYXRSVL/NbUvip+bB7ErgwNjoDcID31l61y/QaSYUVCOxl/Fy4nvePJtHVyE1hpV0O7XO3tkoG908g==" + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.3.tgz", + "integrity": "sha512-0qzyW28U4p/GRSx0mxu+O5dygtECk5uFWoxAbDVGjnTodvH4LKa6nfjr1da+Ebi9w1jW4cNBq1eVGT3Riga/vw==" }, "@percy/webdriver-utils": { - "version": "1.28.1", - "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.28.1.tgz", - "integrity": "sha512-KDXTgiwb033S7V9xfia6uwVOQlBgTKKr0+W7aDboFB5aUgdR8szM5sWp9LqqaWaGj534ppUNlkgG5aekQgM6sA==", + "version": "1.28.3", + "resolved": "https://registry.npmjs.org/@percy/webdriver-utils/-/webdriver-utils-1.28.3.tgz", + "integrity": "sha512-B1fILN7XgTsFf0qdsFHx1IV0rqBvwx/lY6Z0jJdc5Md0YNnlxk4YQHUACaovEE3OtVLc7Nc15RTiCVonXFfYiA==", "requires": { - "@percy/config": "1.28.1", - "@percy/sdk-utils": "1.28.1" + "@percy/config": "1.28.3", + "@percy/sdk-utils": "1.28.3" } }, "@playwright/test": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz", - "integrity": "sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", + "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", "requires": { - "playwright": "1.42.1" + "playwright": "1.43.1" } }, "@types/json-schema": { @@ -2961,9 +2934,9 @@ "dev": true }, "@types/node": { - "version": "20.11.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz", - "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "optional": true, "requires": { "undici-types": "~5.26.4" @@ -3007,6 +2980,35 @@ "natural-compare": "^1.4.0", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "@typescript-eslint/type-utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", + "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/utils": "7.2.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", + "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "semver": "^7.5.4" + } + } } }, "@typescript-eslint/parser": { @@ -3032,18 +3034,6 @@ "@typescript-eslint/visitor-keys": "7.2.0" } }, - "@typescript-eslint/type-utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", - "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/utils": "7.2.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - } - }, "@typescript-eslint/types": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", @@ -3066,21 +3056,6 @@ "ts-api-utils": "^1.0.1" } }, - "@typescript-eslint/utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", - "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", - "semver": "^7.5.4" - } - }, "@typescript-eslint/visitor-keys": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", @@ -3157,9 +3132,9 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "axe-core": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz", - "integrity": "sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==" + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.0.tgz", + "integrity": "sha512-H5orY+M2Fr56DWmMFpMrq5Ge93qjNdPVqzBv5gWK3aD1OvjBEJlEzxf09z93dGVQeI0LiW+aCMIx1QtShC/zUw==" }, "balanced-match": { "version": "1.0.2", @@ -4022,6 +3997,11 @@ "p-limit": "^3.0.2" } }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4058,9 +4038,9 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" }, "path-type": { "version": "4.0.0", @@ -4072,24 +4052,29 @@ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "playwright": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.42.1.tgz", - "integrity": "sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==", + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", + "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", "requires": { "fsevents": "2.3.2", - "playwright-core": "1.42.1" + "playwright-core": "1.43.1" } }, "playwright-core": { - "version": "1.42.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.42.1.tgz", - "integrity": "sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==" + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", + "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==" }, "prelude-ls": { "version": "1.2.1", @@ -4254,9 +4239,9 @@ "dev": true }, "typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "devOptional": true }, "undici-types": { diff --git a/e2e-tests/playwright/package.json b/e2e-tests/playwright/package.json index f37527b41f..997721b015 100644 --- a/e2e-tests/playwright/package.json +++ b/e2e-tests/playwright/package.json @@ -15,12 +15,12 @@ "postinstall": "script/post_install.sh" }, "dependencies": { - "@axe-core/playwright": "4.8.5", - "@percy/cli": "1.28.1", - "@percy/playwright": "1.0.4", - "@playwright/test": "1.42.1", + "@axe-core/playwright": "4.9.0", + "@percy/cli": "1.28.3", + "@percy/playwright": "1.0.5", + "@playwright/test": "1.43.1", "async-wait-until": "2.0.12", - "axe-core": "4.8.4", + "axe-core": "4.9.0", "chalk": "4.1.2", "deepmerge": "4.3.1", "dotenv": "16.4.5", @@ -35,6 +35,6 @@ "cross-env": "7.0.3", "eslint": "8.57.0", "prettier": "3.2.5", - "typescript": "5.4.2" + "typescript": "5.4.5" } } diff --git a/e2e-tests/playwright/support/server/default_config.ts b/e2e-tests/playwright/support/server/default_config.ts index 8bb8b5e759..39e38cb87d 100644 --- a/e2e-tests/playwright/support/server/default_config.ts +++ b/e2e-tests/playwright/support/server/default_config.ts @@ -81,7 +81,7 @@ const onPremServerConfig = (): Partial => { }; // Should be based only from the generated default config from ./server via "make config-reset" -// Based on v9.7 server +// Based on v9.8 server const defaultServerConfig: AdminConfig = { ServiceSettings: { SiteURL: '', @@ -195,7 +195,7 @@ const defaultServerConfig: AdminConfig = { AllowSyncedDrafts: true, UniqueEmojiReactionLimitPerPost: 50, RefreshPostStatsRunTime: '00:00', - MaximumPayloadSizeBytes: 100000, + MaximumPayloadSizeBytes: 300000, }, TeamSettings: { SiteName: 'Mattermost', @@ -319,6 +319,7 @@ const defaultServerConfig: AdminConfig = { AmazonS3SSE: false, AmazonS3Trace: false, AmazonS3RequestTimeoutMilliseconds: 30000, + AmazonS3UploadPartSizeBytes: 5242880, DedicatedExportStore: false, ExportDriverName: 'local', ExportDirectory: './data/', @@ -334,6 +335,7 @@ const defaultServerConfig: AdminConfig = { ExportAmazonS3Trace: false, ExportAmazonS3RequestTimeoutMilliseconds: 30000, ExportAmazonS3PresignExpiresSeconds: 21600, + ExportAmazonS3UploadPartSizeBytes: 104857600, }, EmailSettings: { EnableSignUpWithEmail: true, @@ -724,7 +726,9 @@ const defaultServerConfig: AdminConfig = { ConsumePostHook: false, CloudAnnualRenewals: false, CloudDedicatedExportUI: false, + ChannelBookmarks: false, WebSocketEventScope: false, + NotificationMonitoring: true, }, ImportSettings: { Directory: './import', diff --git a/e2e-tests/playwright/support/ui/components/channels/post_dot_menu.ts b/e2e-tests/playwright/support/ui/components/channels/post_dot_menu.ts index ca95324777..e6f1717422 100644 --- a/e2e-tests/playwright/support/ui/components/channels/post_dot_menu.ts +++ b/e2e-tests/playwright/support/ui/components/channels/post_dot_menu.ts @@ -15,6 +15,7 @@ export default class PostDotMenu { readonly removeFromSavedMenuItem; readonly pinToChannelMenuItem; readonly unpinFromChannelMenuItem; + readonly moveThreadMenuItem; readonly copyLinkMenuItem; readonly editMenuItem; readonly copyTextMenuItem; @@ -34,6 +35,7 @@ export default class PostDotMenu { this.removeFromSavedMenuItem = getMenuItem('Remove from Saved'); this.pinToChannelMenuItem = getMenuItem('Pin to Channel'); this.unpinFromChannelMenuItem = getMenuItem('Unpin from Channel'); + this.moveThreadMenuItem = getMenuItem('Move Thread'); this.copyLinkMenuItem = getMenuItem('Copy Link'); this.editMenuItem = getMenuItem('Edit'); this.copyTextMenuItem = getMenuItem('Copy Text'); diff --git a/e2e-tests/playwright/support/ui/components/channels/settings/notification_settings.ts b/e2e-tests/playwright/support/ui/components/channels/settings/notification_settings.ts index d34eb3a2fd..5877cd623f 100644 --- a/e2e-tests/playwright/support/ui/components/channels/settings/notification_settings.ts +++ b/e2e-tests/playwright/support/ui/components/channels/settings/notification_settings.ts @@ -11,7 +11,7 @@ export default class NotificationsSettings { constructor(container: Locator) { this.container = container; - this.keysWithHighlightDesc = container.locator('#keysWithHighlightDesc'); + this.keysWithHighlightDesc = container.locator('#keywordsAndHighlightDesc'); } async toBeVisible() { diff --git a/e2e-tests/playwright/support/visual/percy.ts b/e2e-tests/playwright/support/visual/percy.ts index fc14454ae1..b5cf4d9e84 100644 --- a/e2e-tests/playwright/support/visual/percy.ts +++ b/e2e-tests/playwright/support/visual/percy.ts @@ -8,16 +8,14 @@ import {TestArgs} from '@e2e-types'; export default async function snapshotWithPercy(name: string, testArgs: TestArgs) { if (testArgs.browserName === 'chromium' && testConfig.percyEnabled && testArgs.viewport) { - if (!testConfig.percyToken) { - // eslint-disable-next-line no-console - console.error('Error: Token is missing! Please set using: "export PERCY_TOKEN="'); - } - const {page, viewport} = testArgs; - // Ignore since percy is using Playwright.Page - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - await percySnapshot(page, name, {widths: [viewport.width], minHeight: viewport.height}); + try { + await percySnapshot(page, name, {widths: [viewport.width], minHeight: viewport.height}); + } catch (error) { + // log an error for debugging + // eslint-disable-next-line no-console + console.log(`${error}\nIn addition, check if token is properly set by "export PERCY_TOKEN="`); + } } } diff --git a/e2e-tests/playwright/test.config.ts b/e2e-tests/playwright/test.config.ts index 4cebe75b99..fd7cb4ff60 100644 --- a/e2e-tests/playwright/test.config.ts +++ b/e2e-tests/playwright/test.config.ts @@ -31,7 +31,6 @@ const config: TestConfig = { // Visual tests snapshotEnabled: parseBool(process.env.PW_SNAPSHOT_ENABLE, false), percyEnabled: parseBool(process.env.PW_PERCY_ENABLE, false), - percyToken: process.env.PERCY_TOKEN, }; function parseBool(actualValue: string | undefined, defaultValue: boolean) { diff --git a/e2e-tests/playwright/tests/accessibility/channels/intro_channel.spec.ts b/e2e-tests/playwright/tests/accessibility/channels/intro_channel.spec.ts index 60ace2a715..d29675fe11 100644 --- a/e2e-tests/playwright/tests/accessibility/channels/intro_channel.spec.ts +++ b/e2e-tests/playwright/tests/accessibility/channels/intro_channel.spec.ts @@ -26,7 +26,9 @@ test('Base channel accessibility', async ({pw, pages, axe}) => { test('Post actions tab support', async ({pw, pages, axe}) => { // # Create and sign in a new user - const {user} = await pw.initSetup(); + const {user, adminClient} = await pw.initSetup(); + const config = await adminClient.getConfig(); + const license = await adminClient.getClientLicenseOld(); // # Log in a user in new browser context const {page} = await pw.testBrowser.login(user); @@ -85,9 +87,19 @@ test('Post actions tab support', async ({pw, pages, axe}) => { await channelsPage.postDotMenu.saveMenuItem.press('ArrowDown'); await expect(channelsPage.postDotMenu.pinToChannelMenuItem).toBeFocused(); - // * Should move focus to Copy Link after arrow down - await channelsPage.postDotMenu.pinToChannelMenuItem.press('ArrowDown'); - await expect(channelsPage.postDotMenu.copyLinkMenuItem).toBeFocused(); + if (config.FeatureFlags['MoveThreadsEnabled'] && license.IsLicensed === 'true') { + // * Should move focus to Move Thread after arrow down + await channelsPage.postDotMenu.pinToChannelMenuItem.press('ArrowDown'); + await expect(channelsPage.postDotMenu.moveThreadMenuItem).toBeFocused(); + + // * Should move focus to Copy Link after arrow down + await channelsPage.postDotMenu.moveThreadMenuItem.press('ArrowDown'); + await expect(channelsPage.postDotMenu.copyLinkMenuItem).toBeFocused(); + } else { + // * Should move focus to Copy Link after arrow down + await channelsPage.postDotMenu.pinToChannelMenuItem.press('ArrowDown'); + await expect(channelsPage.postDotMenu.copyLinkMenuItem).toBeFocused(); + } // * Should move focus to Edit after arrow down await channelsPage.postDotMenu.copyLinkMenuItem.press('ArrowDown'); diff --git a/e2e-tests/playwright/tests/functional/channels/settings/notifications/highlight_without_notification.spec.ts b/e2e-tests/playwright/tests/functional/channels/settings/notifications/highlight_without_notification.spec.ts index 66d6d09c92..c73e981e15 100644 --- a/e2e-tests/playwright/tests/functional/channels/settings/notifications/highlight_without_notification.spec.ts +++ b/e2e-tests/playwright/tests/functional/channels/settings/notifications/highlight_without_notification.spec.ts @@ -40,19 +40,19 @@ test('MM-T5465-1 Should add the keyword when enter, comma or tab is pressed on t const keywordsInput = await channelPage.settingsModal.notificationsSettings.getKeywordsInput(); // # Enter keyword 1 - await keywordsInput.type(keywords[0]); + await keywordsInput.fill(keywords[0]); // # Press Comma on the textbox await keywordsInput.press(','); // # Enter keyword 2 - await keywordsInput.type(keywords[1]); + await keywordsInput.fill(keywords[1]); // # Press Tab on the textbox await keywordsInput.press('Tab'); // # Enter keyword 3 - await keywordsInput.type(keywords[2]); + await keywordsInput.fill(keywords[2]); // # Press Enter on the textbox await keywordsInput.press('Enter'); @@ -94,7 +94,7 @@ test('MM-T5465-2 Should highlight the keywords when a message is sent with the k // # Enter the keyword const keywordsInput = await channelPage.settingsModal.notificationsSettings.getKeywordsInput(); - await keywordsInput.type(keywords[3]); + await keywordsInput.fill(keywords[3]); await keywordsInput.press('Tab'); // # Save the keyword @@ -150,7 +150,7 @@ test('MM-T5465-3 Should highlight the keywords when a message is sent with the k // # Enter the keyword const keywordsInput = await channelPage.settingsModal.notificationsSettings.getKeywordsInput(); - await keywordsInput.type(keywords[3]); + await keywordsInput.fill(keywords[3]); await keywordsInput.press('Tab'); // # Save the keyword @@ -208,7 +208,7 @@ test('MM-T5465-4 Highlighted keywords should not appear in the Recent Mentions', // # Enter the keyword const keywordsInput = await channelPage.settingsModal.notificationsSettings.getKeywordsInput(); - await keywordsInput.type(keywords[0]); + await keywordsInput.fill(keywords[0]); await keywordsInput.press('Tab'); // # Save the keyword @@ -270,7 +270,7 @@ test('MM-T5465-5 Should highlight keywords in message sent from another user', a // # Enter the keyword const keywordsInput = await channelPage.settingsModal.notificationsSettings.getKeywordsInput(); - await keywordsInput.type(keywords[0]); + await keywordsInput.fill(keywords[0]); await keywordsInput.press('Tab'); // # Save the keyword diff --git a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-chrome-linux.png b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-chrome-linux.png index 410ce4f074..bc4748afcd 100644 Binary files a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-chrome-linux.png and b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-chrome-linux.png differ diff --git a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-firefox-linux.png b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-firefox-linux.png index e743c8cba9..bb002566e2 100644 Binary files a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-firefox-linux.png and b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-firefox-linux.png differ diff --git a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-ipad-linux.png b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-ipad-linux.png index 231e215a4d..7e2e160ad7 100644 Binary files a/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-ipad-linux.png and b/e2e-tests/playwright/tests/visual/channels/intro_channel.spec.ts-snapshots/intro-to-channel-as-regular-user-ipad-linux.png differ diff --git a/e2e-tests/playwright/types.ts b/e2e-tests/playwright/types.ts index fb3c11ebf9..58d51233b0 100644 --- a/e2e-tests/playwright/types.ts +++ b/e2e-tests/playwright/types.ts @@ -30,7 +30,6 @@ export type TestConfig = { // Visual tests snapshotEnabled: boolean; percyEnabled: boolean; - percyToken?: string; }; // Based on https://github.com/microsoft/playwright/blob/d6ec1ae3994f127e38b866a231a34efc6a4cac0d/packages/playwright/types/test.d.ts#L5692-L5759 diff --git a/webapp/platform/types/src/config.ts b/webapp/platform/types/src/config.ts index 3a1d446cd9..dd6db609cc 100644 --- a/webapp/platform/types/src/config.ts +++ b/webapp/platform/types/src/config.ts @@ -531,6 +531,7 @@ export type FileSettings = { AmazonS3SSE: boolean; AmazonS3Trace: boolean; AmazonS3RequestTimeoutMilliseconds: number; + AmazonS3UploadPartSizeBytes: number; DedicatedExportStore: boolean; ExportDriverName: string; ExportDirectory: string; @@ -546,6 +547,7 @@ export type FileSettings = { ExportAmazonS3Trace: boolean; ExportAmazonS3RequestTimeoutMilliseconds: number; ExportAmazonS3PresignExpiresSeconds: number; + ExportAmazonS3UploadPartSizeBytes: number; }; export type EmailSettings = {