Skip to content

Add agentic assistant panel to the image editor #245

Add agentic assistant panel to the image editor

Add agentic assistant panel to the image editor #245

Triggered via pull request July 20, 2026 07:41
Status Success
Total duration 15m 39s
Artifacts 1

visual-regression.yml

on: pull_request
Playwright visual snapshots
15m 34s
Playwright visual snapshots
Update visual baselines
Update visual baselines
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 1 notice
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-float-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-kenBurns-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-bounce-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-shake-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-pulse-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-spin-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-pop-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame: web/tests/visual/motion-design.spec.ts#L59
5) [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-preset-slide-desktop-chromium-linux.png, writing actual. 57 | for (const [preset, timeMs] of presetFrames) { 58 | await seekTimeline(page, timeMs); > 59 | await expect(preview).toHaveScreenshot( | ^ 60 | `motion-preset-${preset}.png`, 61 | VISUAL_SCREENSHOT_OPTIONS 62 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:59:7
[desktop-chromium] › tests/visual/motion-design.spec.ts:12:3 › Timeline motion design › renders authored motion at fixed timeline frames: web/tests/visual/motion-design.spec.ts#L30
4) [desktop-chromium] › tests/visual/motion-design.spec.ts:12:3 › Timeline motion design › renders authored motion at fixed timeline frames Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-shape-slide-midpoint-desktop-chromium-linux.png, writing actual. 28 | 29 | await seekTimeline(page, 3400); > 30 | await expect(preview).toHaveScreenshot( | ^ 31 | "motion-shape-slide-midpoint.png", 32 | VISUAL_SCREENSHOT_OPTIONS 33 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:30:5
[desktop-chromium] › tests/visual/motion-design.spec.ts:12:3 › Timeline motion design › renders authored motion at fixed timeline frames: web/tests/visual/motion-design.spec.ts#L24
4) [desktop-chromium] › tests/visual/motion-design.spec.ts:12:3 › Timeline motion design › renders authored motion at fixed timeline frames Error: A snapshot doesn't exist at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts-snapshots/motion-title-after-pop-desktop-chromium-linux.png, writing actual. 22 | 23 | await seekTimeline(page, 900); > 24 | await expect(preview).toHaveScreenshot( | ^ 25 | "motion-title-after-pop.png", 26 | VISUAL_SCREENSHOT_OPTIONS 27 | ); at /home/runner/work/nodetool/nodetool/web/tests/visual/motion-design.spec.ts:24:5
🎭 Playwright Run Summary
18 failed [desktop-chromium] › tests/visual/design-system.spec.ts:36:3 › Design system — component gallery › color picker (swatches / harmony / gradient) [desktop-chromium] › tests/visual/design-system.spec.ts:53:3 › Design system — component gallery › recommended models cards [desktop-chromium] › tests/visual/design-system.spec.ts:119:3 › Design system — component gallery › layout primitives page [desktop-chromium] › tests/visual/motion-design.spec.ts:12:3 › Timeline motion design › renders authored motion at fixed timeline frames [desktop-chromium] › tests/visual/motion-design.spec.ts:36:3 › Timeline motion design › renders every motion preset at a representative frame [desktop-chromium] › tests/visual/settings.spec.ts:31:3 › Settings › api keys tab — provider cards @Responsive @smoke [desktop-chromium] › tests/visual/settings.spec.ts:43:3 › Settings › integrations tab @smoke ─── [desktop-chromium] › tests/visual/settings.spec.ts:55:3 › Settings › general tab ─────────────── [desktop-chromium] › tests/visual/settings.spec.ts:67:3 › Settings › about tab ───────────────── [desktop-chromium] › tests/visual/theme.spec.ts:32:3 › Theme — light mode › dashboard / portal — light [desktop-chromium] › tests/visual/theme.spec.ts:46:3 › Theme — light mode › chat message thread — light [desktop-chromium] › tests/visual/theme.spec.ts:61:3 › Theme — light mode › settings — api keys — light [mobile-chromium] › tests/visual/settings.spec.ts:31:3 › Settings › api keys tab — provider cards @Responsive @smoke [tablet-chromium] › tests/visual/chat.spec.ts:60:3 › Chat Interface › empty conversation @Responsive @smoke [tablet-chromium] › tests/visual/chat.spec.ts:72:3 › Chat Interface › message thread @Responsive @smoke [tablet-chromium] › tests/visual/settings.spec.ts:31:3 › Settings › api keys tab — provider cards @Responsive @smoke [firefox-desktop] › tests/visual/settings.spec.ts:31:3 › Settings › api keys tab — provider cards @Responsive @smoke [firefox-desktop] › tests/visual/settings.spec.ts:43:3 › Settings › integrations tab @smoke ──── 21 passed (8.7m)

Artifacts

Produced during runtime
Name Size Digest
visual-regression Expired
4.99 MB
sha256:275f4ffe0a5ff856fff948a4cc2542691e1e89a8e51b041ef6640199db882a72