Responsively 2.0: full redesign, canvas layout, present mode and built-in MCP server #1492
Triggered via pull request
September 1, 2026 14:32
Status
Failure
Total duration
54m 56s
Artifacts
–
Annotations
10 errors, 2 warnings, and 1 notice
|
e2e/tests/bookmarks.spec.ts:47:7 › Bookmarks › bookmarked page shows filled star on revisit:
desktop-app/e2e/models/app.ts#L75
5) e2e/tests/bookmarks.spec.ts:47:7 › Bookmarks › bookmarked page shows filled star on revisit ───
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49753/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
50 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/bookmarks.spec.ts:51:15
|
|
e2e/tests/bookmarks.spec.ts:47:7 › Bookmarks › bookmarked page shows filled star on revisit:
desktop-app/e2e/models/app.ts#L75
5) e2e/tests/bookmarks.spec.ts:47:7 › Bookmarks › bookmarked page shows filled star on revisit ───
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49691/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
51 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/bookmarks.spec.ts:51:15
|
|
e2e/tests/address-bar-features.spec.ts:42:7 › Address Bar Features › setting a page as homepage changes the home icon to filled:
desktop-app/e2e/models/app.ts#L75
4) e2e/tests/address-bar-features.spec.ts:42:7 › Address Bar Features › setting a page as homepage changes the home icon to filled
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49651/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
50 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/address-bar-features.spec.ts:49:15
|
|
e2e/tests/address-bar-features.spec.ts:42:7 › Address Bar Features › setting a page as homepage changes the home icon to filled:
desktop-app/e2e/models/app.ts#L75
4) e2e/tests/address-bar-features.spec.ts:42:7 › Address Bar Features › setting a page as homepage changes the home icon to filled
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49606/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
50 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/address-bar-features.spec.ts:49:15
|
|
e2e/tests/bookmarks.spec.ts:15:7 › Bookmarks › clicking star bookmarks the current page:
desktop-app/e2e/models/app.ts#L75
3) e2e/tests/bookmarks.spec.ts:15:7 › Bookmarks › clicking star bookmarks the current page ───────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49576/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
50 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/bookmarks.spec.ts:19:15
|
|
e2e/tests/bookmarks.spec.ts:15:7 › Bookmarks › clicking star bookmarks the current page:
desktop-app/e2e/models/app.ts#L75
3) e2e/tests/bookmarks.spec.ts:15:7 › Bookmarks › clicking star bookmarks the current page ───────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- fill("http://127.0.0.1:49511/test-page.html")
- attempting fill action
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 20ms
2 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 100ms
51 × waiting for element to be visible, enabled and editable
- element is not visible
- retrying fill action
- waiting 500ms
at ../models/app.ts:75
73 |
74 | async navigateTo(url: string, opts?: {timeout?: number}) {
> 75 | await this.addressBar.fill(url);
| ^
76 | await this.addressBar.press('Enter');
77 | await this.page.waitForTimeout(opts?.timeout ?? 2000);
78 | }
at ResponsivelyApp.navigateTo (/Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/models/app.ts:75:27)
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/bookmarks.spec.ts:19:15
|
|
e2e/tests/address-bar-features.spec.ts:4:7 › Address Bar Features › clicking address bar selects all text:
desktop-app/e2e/tests/address-bar-features.spec.ts#L7
2) e2e/tests/address-bar-features.spec.ts:4:7 › Address Bar Features › clicking address bar selects all text
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 100ms
49 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 500ms
5 | await app.dismissModals();
6 |
> 7 | await app.addressBar.click();
| ^
8 | await app.page.waitForTimeout(300);
9 |
10 | // The input's onSelect handler should select all text on focus
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/address-bar-features.spec.ts:7:26
|
|
e2e/tests/address-bar-features.spec.ts:4:7 › Address Bar Features › clicking address bar selects all text:
desktop-app/e2e/tests/address-bar-features.spec.ts#L7
2) e2e/tests/address-bar-features.spec.ts:4:7 › Address Bar Features › clicking address bar selects all text
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="address-bar"]')
- locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 100ms
53 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 500ms
5 | await app.dismissModals();
6 |
> 7 | await app.addressBar.click();
| ^
8 | await app.page.waitForTimeout(300);
9 |
10 | // The input's onSelect handler should select all text on focus
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/address-bar-features.spec.ts:7:26
|
|
e2e/tests/app-launch.spec.ts:29:7 › App Launch › address bar is visible with default homepage:
desktop-app/e2e/tests/app-launch.spec.ts#L31
1) e2e/tests/app-launch.spec.ts:29:7 › App Launch › address bar is visible with default homepage ─
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('[data-testid="address-bar"]')
Expected: visible
Received: hidden
Timeout: 10000ms
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('[data-testid="address-bar"]')
24 × locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- unexpected value "hidden"
29 | test('address bar is visible with default homepage', async ({mainWindow}) => {
30 | const addressBar = mainWindow.locator('[data-testid="address-bar"]');
> 31 | await expect(addressBar).toBeVisible();
| ^
32 |
33 | const value = await addressBar.inputValue();
34 | expect(value.length).toBeGreaterThan(0);
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/app-launch.spec.ts:31:30
|
|
e2e/tests/app-launch.spec.ts:29:7 › App Launch › address bar is visible with default homepage:
desktop-app/e2e/tests/app-launch.spec.ts#L31
1) e2e/tests/app-launch.spec.ts:29:7 › App Launch › address bar is visible with default homepage ─
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('[data-testid="address-bar"]')
Expected: visible
Received: hidden
Timeout: 10000ms
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('[data-testid="address-bar"]')
23 × locator resolved to <input type="text" data-testid="address-bar" class="min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-muted" value="file:///Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/fixtures/pages/test-page.html"/>
- unexpected value "hidden"
29 | test('address bar is visible with default homepage', async ({mainWindow}) => {
30 | const addressBar = mainWindow.locator('[data-testid="address-bar"]');
> 31 | await expect(addressBar).toBeVisible();
| ^
32 |
33 | const value = await addressBar.inputValue();
34 | expect(value.length).toBeGreaterThan(0);
at /Users/runner/work/responsively-app/responsively-app/desktop-app/e2e/tests/app-launch.spec.ts:31:30
|
|
test (macos-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test (macos-latest)
No files were found with the provided path: desktop-app/e2e/playwright-report/. No artifacts will be uploaded.
|
|
🎭 Playwright Run Summary
60 failed
e2e/tests/address-bar-features.spec.ts:4:7 › Address Bar Features › clicking address bar selects all text
e2e/tests/address-bar-features.spec.ts:42:7 › Address Bar Features › setting a page as homepage changes the home icon to filled
e2e/tests/app-launch.spec.ts:29:7 › App Launch › address bar is visible with default homepage ──
e2e/tests/bookmarks.spec.ts:15:7 › Bookmarks › clicking star bookmarks the current page ────────
e2e/tests/bookmarks.spec.ts:47:7 › Bookmarks › bookmarked page shows filled star on revisit ────
e2e/tests/bookmarks.spec.ts:95:7 › Bookmarks › removing a bookmark returns star to outline state
e2e/tests/canvas-mode.spec.ts:182:7 › Canvas mode › present mode hides the chrome and Esc restores it
e2e/tests/color-blindness.spec.ts:105:7 › Color Blindness Simulation › simulation persists across page navigation within session
e2e/tests/color-blindness.spec.ts:120:7 › Color Blindness Simulation › no filter shows pure red, green, blue colors
e2e/tests/color-blindness.spec.ts:144:7 › Color Blindness Simulation › achromatopsia makes all colors grayscale
e2e/tests/color-blindness.spec.ts:167:7 › Color Blindness Simulation › deuteranopia shifts red toward yellow-green
e2e/tests/color-blindness.spec.ts:191:7 › Color Blindness Simulation › tritanopia shifts blue toward cyan
e2e/tests/color-blindness.spec.ts:214:7 › Color Blindness Simulation › disabling filter restores original colors
e2e/tests/cross-device-mirroring.spec.ts:116:7 › Cross-Device Event Mirroring › scrolling one device mirrors scroll position to other devices
e2e/tests/cross-device-mirroring.spec.ts:138:7 › Cross-Device Event Mirroring › clicking a button on one device mirrors the click to other devices
e2e/tests/cross-device-mirroring.spec.ts:166:7 › Cross-Device Event Mirroring › typing in an input on one device mirrors text to other devices
e2e/tests/cross-device-mirroring.spec.ts:200:7 › Cross-Device Event Mirroring › toggling a checkbox on one device mirrors to other devices
e2e/tests/cross-device-mirroring.spec.ts:230:7 › Cross-Device Event Mirroring › device with mirroring disabled does not receive scroll events
e2e/tests/cross-device-mirroring.spec.ts:274:7 › Cross-Device Event Mirroring › device with mirroring disabled does not receive click events
e2e/tests/device-color-scheme.spec.ts:98:7 › Device Color Scheme › dark color scheme changes webview background color
e2e/tests/device-color-scheme.spec.ts:125:7 › Device Color Scheme › toggling back to light restores light background
e2e/tests/device-interaction-mirroring.spec.ts:7:9 › Device Interaction Mirroring › Navigation Mirroring › navigate to test page updates ALL webviews
e2e/tests/device-interaction-mirroring.spec.ts:24:9 › Device Interaction Mirroring › Navigation Mirroring › back navigation returns to previous page
e2e/tests/device-interaction-mirroring.spec.ts:54:9 › Device Interaction Mirroring › Navigation Mirroring › forward navigation returns to next page
e2e/tests/device-interaction-mirroring.spec.ts:92:9 › Device Interaction Mirroring › Navigation Mirroring › global refresh reloads ALL webviews
e2e/tests/device-interaction-mirroring.spec.ts:115:9 › Device Interaction Mirroring › BrowserSync / Event Mirroring › BrowserSync client is injected into webviews
e2e/tests/device-interaction-mirroring.spec.ts:156:9 › Device Interaction Mirroring › BrowserSync / Event Mirroring › disabling mirroring closes BrowserSync socket
e2e/tests/device-interaction-mirroring.spec.ts:192:9 › Device Interaction Mirroring › BrowserSync / Event Mirroring › re-enabling mirroring reconnects BrowserSync socket
e2e/tests/device-interaction-mirroring.spec.ts:236:9 › Device Interaction Mirroring › Scroll Mirroring › scroll to top button resets scroll in webview
e2e/tests/device-manager.spec.ts:15
|