spec: Add AudioWorklet engine spec for scheduling, LFO, metering, and pitch-shifting #310
Triggered via pull request
February 28, 2026 17:54
Status
Failure
Total duration
16m 59s
Artifacts
–
ci.yml
on: pull_request
Lint
35s
Unit Tests
1m 27s
Integration Tests
25s
Build
25s
Instrument Validation
21s
E2E Tests
16m 56s
Annotations
32 errors, 1 warning, and 1 notice
|
Build
Cannot find name 'AudioWorkletProcessor'.
|
|
Build
Cannot find name 'registerProcessor'.
|
|
Build
Cannot find name 'currentTime'.
|
|
Build
Property 'port' does not exist on type 'MeteringWorkletProcessor'.
|
|
Build
Property 'port' does not exist on type 'MeteringWorkletProcessor'.
|
|
Build
Cannot find name 'sampleRate'.
|
|
Build
Cannot find name 'AudioWorkletProcessor'.
|
|
Build
'getServerTime' is declared but its value is never read.
|
|
Build
'isMultiplayerMode' is declared but its value is never read.
|
|
Build
'audioContext' is declared but its value is never read.
|
|
Integration Tests
Cannot find name 'AudioWorkletProcessor'.
|
|
Integration Tests
Cannot find name 'registerProcessor'.
|
|
Integration Tests
Cannot find name 'currentTime'.
|
|
Integration Tests
Property 'port' does not exist on type 'MeteringWorkletProcessor'.
|
|
Integration Tests
Property 'port' does not exist on type 'MeteringWorkletProcessor'.
|
|
Integration Tests
Cannot find name 'sampleRate'.
|
|
Integration Tests
Cannot find name 'AudioWorkletProcessor'.
|
|
Integration Tests
'getServerTime' is declared but its value is never read.
|
|
Integration Tests
'isMultiplayerMode' is declared but its value is never read.
|
|
Integration Tests
'audioContext' is declared but its value is never read.
|
|
Unit Tests
Process completed with exit code 1.
|
|
src/audio/worklets/pitch-shift.property.test.ts > Hann window properties > all values are in [0, 1]:
app/src/audio/worklets/pitch-shift.property.test.ts#L36
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ src/audio/worklets/pitch-shift.property.test.ts:36:3
|
|
[chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check:
app/e2e/landscape-alignment.spec.ts#L27
2) [chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect.toBeVisible: Target page, context or browser has been closed
25 | // Click the instrument button by name
26 | const sampleBtn = page.getByRole('button', { name: instrumentName }).first();
> 27 | await expect(sampleBtn).toBeVisible({ timeout: 5000 });
| ^
28 | await sampleBtn.click();
29 |
30 | // Wait for track row to appear
at addTrack (/home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:27:27)
at /home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:221:5
|
|
[chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check:
app/e2e/landscape-alignment.spec.ts#L0
2) [chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check:
app/e2e/landscape-alignment.spec.ts#L27
2) [chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check
Error: expect.toBeVisible: Target page, context or browser has been closed
25 | // Click the instrument button by name
26 | const sampleBtn = page.getByRole('button', { name: instrumentName }).first();
> 27 | await expect(sampleBtn).toBeVisible({ timeout: 5000 });
| ^
28 | await sampleBtn.click();
29 |
30 | // Wait for track row to appear
at addTrack (/home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:27:27)
at /home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:221:5
|
|
[chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check:
app/e2e/landscape-alignment.spec.ts#L0
2) [chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check
Test timeout of 30000ms exceeded.
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L27
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect.toBeVisible: Target page, context or browser has been closed
25 | // Click the instrument button by name
26 | const sampleBtn = page.getByRole('button', { name: instrumentName }).first();
> 27 | await expect(sampleBtn).toBeVisible({ timeout: 5000 });
| ^
28 | await sampleBtn.click();
29 |
30 | // Wait for track row to appear
at addTrack (/home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:27:27)
at /home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:152:5
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L0
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L27
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect.toBeVisible: Target page, context or browser has been closed
25 | // Click the instrument button by name
26 | const sampleBtn = page.getByRole('button', { name: instrumentName }).first();
> 27 | await expect(sampleBtn).toBeVisible({ timeout: 5000 });
| ^
28 | await sampleBtn.click();
29 |
30 | // Wait for track row to appear
at addTrack (/home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:27:27)
at /home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:152:5
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L0
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L27
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Error: expect.toBeVisible: Target page, context or browser has been closed
25 | // Click the instrument button by name
26 | const sampleBtn = page.getByRole('button', { name: instrumentName }).first();
> 27 | await expect(sampleBtn).toBeVisible({ timeout: 5000 });
| ^
28 | await sampleBtn.click();
29 |
30 | // Wait for track row to appear
at addTrack (/home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:27:27)
at /home/runner/work/keyboardia/keyboardia/app/e2e/landscape-alignment.spec.ts:152:5
|
|
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment:
app/e2e/landscape-alignment.spec.ts#L0
1) [chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
Test timeout of 30000ms exceeded.
|
|
Lint:
app/src/components/CursorOverlay.tsx#L27
React Hook useMemo has an unnecessary dependency: 'deferredCursors'. Either exclude it or remove the dependency array
|
|
🎭 Playwright Run Summary
78 failed
[chromium] › e2e/landscape-alignment.spec.ts:149:3 › Landscape Mobile Alignment › all track rows should have consistent vertical alignment
[chromium] › e2e/landscape-alignment.spec.ts:219:3 › Landscape Mobile Alignment › screenshot comparison - visual alignment check
[chromium] › e2e/pitch-contour-alignment.spec.ts:35:3 › PitchContour alignment › CSS dimensions match JavaScript constants (CRITICAL regression test)
[chromium] › e2e/pitch-contour-alignment.spec.ts:100:3 › PitchContour alignment › SVG contour dots align with step cells for session with pitch variation
[chromium] › e2e/scrollbar.spec.ts:76:3 › Scrollbar behavior › should have a single scrollbar for the entire tracks panel, not per track
[chromium] › e2e/scrollbar.spec.ts:112:3 › Scrollbar behavior › all tracks should scroll together horizontally when scrolling the panel
[chromium] › e2e/scrollbar.spec.ts:193:3 › Scrollbar behavior › pattern tools panel should stay visible when scrolling horizontally
[chromium] › e2e/scrollbar.spec.ts:274:3 › Scrollbar behavior › step columns should align vertically across all tracks
[chromium] › e2e/track-reorder-bug-fixes.spec.ts:114:5 › Track Reorder Bug Fix Verification › BUG 1: Double handleDragEnd Prevention › should only reorder once per drag operation
[chromium] › e2e/track-reorder-comprehensive.spec.ts:122:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should reorder first track to last position
[chromium] › e2e/track-reorder-comprehensive.spec.ts:137:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should reorder last track to first position
[chromium] › e2e/track-reorder-comprehensive.spec.ts:151:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should reorder middle track up
[chromium] › e2e/track-reorder-comprehensive.spec.ts:163:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should reorder middle track down
[chromium] › e2e/track-reorder-comprehensive.spec.ts:175:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should swap adjacent tracks (down)
[chromium] › e2e/track-reorder-comprehensive.spec.ts:188:5 › Track Reorder - Comprehensive Edge Cases › Basic Reorder Operations › should swap adjacent tracks (up)
[chromium] › e2e/track-reorder-comprehensive.spec.ts:207:5 › Track Reorder - Comprehensive Edge Cases › Same Position Edge Cases › should NOT reorder when dragging to same position
[chromium] › e2e/track-reorder-comprehensive.spec.ts:219:5 › Track Reorder - Comprehensive Edge Cases › Same Position Edge Cases › should NOT reorder when drag is released on same track
[chromium] › e2e/track-reorder-comprehensive.spec.ts:246:5 › Track Reorder - Comprehensive Edge Cases › Rapid Consecutive Drags › should handle two quick consecutive reorders correctly
[chromium] › e2e/track-reorder-comprehensive.spec.ts:262:5 › Track Reorder - Comprehensive Edge Cases › Rapid Consecutive Drags › should handle three rapid reorders without losing state
[chromium] › e2e/track-reorder-comprehensive.spec.ts:282:5 › Track Reorder - Comprehensive Edge Cases › Rapid Consecutive Drags › should maintain track count after many rapid operations
[chromium] › e2e/track-reorder-comprehensive.spec.ts:296:5 › Track Reorder - Comprehensive Edge Cases › Rapid Consecutive Drags › should not duplicate tracks during rapid back-and-forth drags
[chromium] › e2e/track-reorder-comprehensive.spec.ts:317:5 › Track Reorder - Comprehensive Edge Cases › Cancel Drag Operations › should NOT reorder when drag is canceled by moving cursor away
[chromium] › e2e/track-reorder-comprehensive.spec.ts:346:5 › Track Reorder - Comprehensive Edge Cases › Cancel Drag Operations › should NOT reorder when mouse is released without proper drop
[chromium] › e2
|