Skip to content

[Improve] Keep rendered content legible across IDE themes #1084

[Improve] Keep rendered content legible across IDE themes

[Improve] Keep rendered content legible across IDE themes #1084

Triggered via pull request August 22, 2026 22:32
Status Failure
Total duration 2m 31s
Artifacts 1

visual-regression.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

5 errors, 2 warnings, and 1 notice
webview-visual
Process completed with exit code 1.
[chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast-light theme: webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx#L147
4) [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast-light theme Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#root').locator('internal:control=component') 551 pixels (ratio 0.01 of all image pixels) are different. Snapshot: accessibility-gallery-focus-high-contrast-light.png Call log: - Expect "toHaveScreenshot(accessibility-gallery-focus-high-contrast-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 551 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 551 pixels (ratio 0.01 of all image pixels) are different. 145 | label: `${theme.name} input focus indicator against fill`, 146 | }) > 147 | await expect(component).toHaveScreenshot(`accessibility-gallery-focus-${theme.name}.png`) | ^ 148 | }) 149 | } 150 | at /__w/Zoo-Code/Zoo-Code/webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx:147:27
[chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast theme: webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx#L147
3) [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast theme Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#root').locator('internal:control=component') 895 pixels (ratio 0.01 of all image pixels) are different. Snapshot: accessibility-gallery-focus-high-contrast.png Call log: - Expect "toHaveScreenshot(accessibility-gallery-focus-high-contrast.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 895 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 895 pixels (ratio 0.01 of all image pixels) are different. 145 | label: `${theme.name} input focus indicator against fill`, 146 | }) > 147 | await expect(component).toHaveScreenshot(`accessibility-gallery-focus-${theme.name}.png`) | ^ 148 | }) 149 | } 150 | at /__w/Zoo-Code/Zoo-Code/webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx:147:27
[chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code light theme: webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx#L147
2) [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code light theme Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#root').locator('internal:control=component') 561 pixels (ratio 0.01 of all image pixels) are different. Snapshot: accessibility-gallery-focus-light.png Call log: - Expect "toHaveScreenshot(accessibility-gallery-focus-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 561 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 561 pixels (ratio 0.01 of all image pixels) are different. 145 | label: `${theme.name} input focus indicator against fill`, 146 | }) > 147 | await expect(component).toHaveScreenshot(`accessibility-gallery-focus-${theme.name}.png`) | ^ 148 | }) 149 | } 150 | at /__w/Zoo-Code/Zoo-Code/webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx:147:27
[chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code dark theme: webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx#L147
1) [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code dark theme Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#root').locator('internal:control=component') 552 pixels (ratio 0.01 of all image pixels) are different. Snapshot: accessibility-gallery-focus-dark.png Call log: - Expect "toHaveScreenshot(accessibility-gallery-focus-dark.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 552 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#root').locator('internal:control=component') - locator resolved to <main data-testid="contrast-gallery" class="w-[488px] space-y-4 rounded-lg border border-vscode-panel-border bg-vscode-editor-background p-4 text-vscode-editor-foreground">…</main> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 552 pixels (ratio 0.01 of all image pixels) are different. 145 | label: `${theme.name} input focus indicator against fill`, 146 | }) > 147 | await expect(component).toHaveScreenshot(`accessibility-gallery-focus-${theme.name}.png`) | ^ 148 | }) 149 | } 150 | at /__w/Zoo-Code/Zoo-Code/webview-ui/src/components/ui/__tests__/AccessibilityContrast.visual.tsx:147:27
webview-visual
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830, actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02, codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238, pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
theme-fixtures
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830, actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020, pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
4 failed [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code dark theme [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code light theme [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast theme [chromium] › src/components/ui/__tests__/AccessibilityContrast.visual.tsx:9:2 › audits representative controls in the VS Code high-contrast-light theme 38 passed (59.0s)

Artifacts

Produced during runtime
Name Size Digest
webview-visual-regression
967 KB
sha256:13a0574a2cc37936aae869cbdea5512707b9cffdb9e26a1e66ade4a2ada81bf6