Skip to content

chore: rename repo references from SpokeToWork_v_001 to SpokeToWork #169

chore: rename repo references from SpokeToWork_v_001 to SpokeToWork

chore: rename repo references from SpokeToWork_v_001 to SpokeToWork #169

Triggered via push February 9, 2026 17:38
Status Failure
Total duration 35m 10s
Artifacts 12

e2e.yml

on: push
Auth Setup
59s
Auth Setup
Matrix: e2e
Test Report
40s
Test Report
Fit to window
Zoom out
Zoom in

Annotations

22 errors, 3 warnings, and 1 notice
E2E (chromium 3/4)
Process completed with exit code 1.
E2E (firefox 3/4)
Process completed with exit code 1.
E2E (webkit 3/4)
Process completed with exit code 1.
E2E (chromium 1/4)
Process completed with exit code 1.
E2E (firefox 1/4)
Process completed with exit code 1.
E2E (webkit 1/4)
Process completed with exit code 1.
E2E (firefox 2/4)
The job has exceeded the maximum execution time of 30m0s
E2E (firefox 2/4)
The operation was canceled.
E2E (chromium 2/4)
The job has exceeded the maximum execution time of 30m0s
E2E (chromium 2/4)
The operation was canceled.
E2E (webkit 2/4)
The job has exceeded the maximum execution time of 30m0s
E2E (webkit 2/4)
The operation was canceled.
[chromium] › tests/e2e/auth/new-user-complete-flow.spec.ts:183:7 › New User Complete Flow › Complete new user journey: signup -> companies -> signout: tests/e2e/auth/new-user-complete-flow.spec.ts#L252
4) [chromium] › tests/e2e/auth/new-user-complete-flow.spec.ts:183:7 › New User Complete Flow › Complete new user journey: signup -> companies -> signout Error: expect(received).toBe(expected) // Object.is equality Expected: "6cc1dd40-76c0-4981-a125-23493a97c1b7" Received: "1c890e46-4ad8-468e-8066-9c651aa04516" 250 | // Verify metro area was assigned by trigger 251 | const profileAfter = await getUserProfile(testUserId!); > 252 | expect(profileAfter?.metro_area_id).toBe(METRO_AREA_ID); | ^ 253 | console.log('Metro area assigned after home location set'); 254 | 255 | // === STEP 6: Verify seed companies were auto-created by trigger === at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/new-user-complete-flow.spec.ts:252:43
[chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session: tests/e2e/auth/complete-flows.spec.ts#L671
3) [chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session, sign in restores access Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 669 | // Welcome message should still be sent (not re-sent) 670 | const welcomeStillSent = await getWelcomeMessageSent(testUserId); > 671 | expect(welcomeStillSent).toBe(true); | ^ 672 | console.log('Welcome message flag still true'); 673 | 674 | console.log('Flow 5 PASSED: Sign out and sign back in'); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:671:34
[chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session: tests/e2e/auth/complete-flows.spec.ts#L671
3) [chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session, sign in restores access Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 669 | // Welcome message should still be sent (not re-sent) 670 | const welcomeStillSent = await getWelcomeMessageSent(testUserId); > 671 | expect(welcomeStillSent).toBe(true); | ^ 672 | console.log('Welcome message flag still true'); 673 | 674 | console.log('Flow 5 PASSED: Sign out and sign back in'); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:671:34
[chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session: tests/e2e/auth/complete-flows.spec.ts#L671
3) [chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session, sign in restores access Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 669 | // Welcome message should still be sent (not re-sent) 670 | const welcomeStillSent = await getWelcomeMessageSent(testUserId); > 671 | expect(welcomeStillSent).toBe(true); | ^ 672 | console.log('Welcome message flag still true'); 673 | 674 | console.log('Flow 5 PASSED: Sign out and sign back in'); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:671:34
[chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data: tests/e2e/auth/complete-flows.spec.ts#L506
2) [chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: false Received: true 504 | const userExistsAfter = await userExistsInAuth(testUserId); 505 | console.log(`User exists after deletion: ${userExistsAfter}`); > 506 | expect(userExistsAfter).toBe(false); | ^ 507 | 508 | // Verify profile was deleted (cascade) 509 | const profileExistsAfter = await profileExists(testUserId); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:506:35
[chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data: tests/e2e/auth/complete-flows.spec.ts#L506
2) [chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: false Received: true 504 | const userExistsAfter = await userExistsInAuth(testUserId); 505 | console.log(`User exists after deletion: ${userExistsAfter}`); > 506 | expect(userExistsAfter).toBe(false); | ^ 507 | 508 | // Verify profile was deleted (cascade) 509 | const profileExistsAfter = await profileExists(testUserId); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:506:35
[chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data: tests/e2e/auth/complete-flows.spec.ts#L506
2) [chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data Error: expect(received).toBe(expected) // Object.is equality Expected: false Received: true 504 | const userExistsAfter = await userExistsInAuth(testUserId); 505 | console.log(`User exists after deletion: ${userExistsAfter}`); > 506 | expect(userExistsAfter).toBe(false); | ^ 507 | 508 | // Verify profile was deleted (cascade) 509 | const profileExistsAfter = await profileExists(testUserId); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:506:35
[chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message: tests/e2e/auth/complete-flows.spec.ts#L410
1) [chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 408 | const welcomeAfter = await getWelcomeMessageSent(testUserId); 409 | console.log(`welcome_message_sent: ${welcomeAfter}`); > 410 | expect(welcomeAfter).toBe(true); | ^ 411 | 412 | // Verify conversation with admin exists 413 | const hasConvo = await hasConversationWithAdmin(testUserId); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:410:28
[chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message: tests/e2e/auth/complete-flows.spec.ts#L410
1) [chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 408 | const welcomeAfter = await getWelcomeMessageSent(testUserId); 409 | console.log(`welcome_message_sent: ${welcomeAfter}`); > 410 | expect(welcomeAfter).toBe(true); | ^ 411 | 412 | // Verify conversation with admin exists 413 | const hasConvo = await hasConversationWithAdmin(testUserId); at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:410:28
[chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message: tests/e2e/auth/complete-flows.spec.ts#L396
1) [chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message TimeoutError: page.waitForURL: Timeout 20000ms exceeded. =========================== logs =========================== waiting for navigation until "load" ============================================================ 394 | 395 | // Wait for redirect (keys initialized, welcome message sent) > 396 | await page.waitForURL(/\/(profile|companies)/, { timeout: 20000 }); | ^ 397 | console.log(`Signed in, URL: ${page.url()}`); 398 | 399 | // Wait for async operations to complete at /home/runner/work/SpokeToWork/SpokeToWork/tests/e2e/auth/complete-flows.spec.ts:396:18
E2E (firefox 2/4)
No files were found with the provided path: blob-report/. No artifacts will be uploaded.
E2E (chromium 2/4)
No files were found with the provided path: blob-report/. No artifacts will be uploaded.
E2E (webkit 2/4)
No files were found with the provided path: blob-report/. No artifacts will be uploaded.
🎭 Playwright Run Summary
51 failed [chromium] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message [chromium] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data [chromium] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session, sign in restores access [chromium] › tests/e2e/auth/new-user-complete-flow.spec.ts:183:7 › New User Complete Flow › Complete new user journey: signup -> companies -> signout [chromium] › tests/e2e/auth/protected-routes.spec.ts:141:7 › Protected Routes E2E › should show email verification notice for unverified users [chromium] › tests/e2e/auth/session-persistence.spec.ts:108:7 › Session Persistence E2E › should automatically refresh token before expiration [chromium] › tests/e2e/auth/session-persistence.spec.ts:146:7 › Session Persistence E2E › should persist session across browser restarts [chromium] › tests/e2e/auth/session-persistence.spec.ts:182:7 › Session Persistence E2E › should clear session on sign out [chromium] › tests/e2e/auth/session-persistence.spec.ts:218:7 › Session Persistence E2E › should handle concurrent tab sessions correctly [chromium] › tests/e2e/auth/session-persistence.spec.ts:250:7 › Session Persistence E2E › should refresh session automatically on page reload [chromium] › tests/e2e/auth/welcome-message.spec.ts:112:7 › Welcome Message Flow › Sign-in triggers welcome message from admin [firefox] › tests/e2e/auth/complete-flows.spec.ts:359:7 › Flow 1: Email/Password Signup → Welcome Message › New user sign-in triggers key initialization and welcome message [firefox] › tests/e2e/auth/complete-flows.spec.ts:433:7 › Flow 4: Account Deletion › Account deletion removes all user data [firefox] › tests/e2e/auth/complete-flows.spec.ts:590:7 › Flow 5: Sign Out and Sign Back In › Sign out clears session, sign in restores access [firefox] › tests/e2e/auth/new-user-complete-flow.spec.ts:183:7 › New User Complete Flow › Complete new user journey: signup -> companies -> signout [firefox] › tests/e2e/auth/protected-routes.spec.ts:93:9 › Protected Routes E2E › RLS enforcement › should enforce RLS policies on payment access [firefox] › tests/e2e/auth/session-persistence.spec.ts:108:7 › Session Persistence E2E › should automatically refresh token before expiration [firefox] › tests/e2e/auth/session-persistence.spec.ts:146:7 › Session Persistence E2E › should persist session across browser restarts [firefox] › tests/e2e/auth/session-persistence.spec.ts:182:7 › Session Persistence E2E › should clear session on sign out [firefox] › tests/e2e/auth/session-persistence.spec.ts:218:7 › Session Persistence E2E › should handle concurrent tab sessions correctly [firefox] › tests/e2e/auth/session-persistence.spec.ts:250:7 › Session Persistence E2E › should refresh session automatically on page reload [firefox] › tests/e2e/auth/welcome-message.spec.ts:112:7 › Welcome Message Flow › Sign-in triggers welcome message from admin [firefox] › tests/e2e/map-visual-regression.spec.ts:48:7 › Map Visual Regression Tests › should capture baseline map screenshot - light theme [firefox] › tests/e2e/map-visual-regression.spec.ts:60:7 › Map Visual Regression Tests › should capture baseline map screenshot - dark theme [firefox] › tests/e2e/map-visual-regression.spec.ts:72:7 › Map Visual Regression Tests › should maintain visual consistency after theme toggle [firefox] › tests/e2e/map-visual-regression.spec.ts:92:7 › Map Visual Regression Tests › bike routes have sufficient color contrast - light theme [firefox] › tests/e2e/map-visual-regression.spec.ts:117:7 › Map Visual Regression Tests › bike routes have sufficient color c

Artifacts

Produced during runtime
Name Size Digest
auth-state Expired
1.4 KB
sha256:5e7fffd5f28c4c68f660ebb1d54ea88a39439f0a21e96a8b91155c0b1316c17b
blob-report-chromium-0 Expired
51.1 MB
sha256:85640633226134f9491b9d8fcff26b9e4de6ece80548bdca22e8ad93343d5ce7
blob-report-chromium-2 Expired
21.9 MB
sha256:6f5ca1b7a0b8ca7e6f3fe7505bc324e6a29300ec44f059e14ea59d318173251c
blob-report-chromium-3 Expired
22.6 MB
sha256:1e851f75cd192d22915ffa80040101cebc549a71cf64d518dd5398177cd39da7
blob-report-firefox-4 Expired
47.4 MB
sha256:b0ae5516f8270428a17594d74921c60efe0f2500910075468079524ec0d25f36
blob-report-firefox-6 Expired
15.1 MB
sha256:71dd50733013aae84b1a791b6fe7d3f62f633d3c33837ea85088d0d09eb64222
blob-report-firefox-7 Expired
20.9 MB
sha256:f4e044b59c5c14c998288c6ddd8ad2b7c792a3302b81281853f62faa9a4992ca
blob-report-webkit-10 Expired
29.5 MB
sha256:cd40f279810f52c7b60bda03932be4d6cbfa59567d68dfb1c7900b6b96a53e07
blob-report-webkit-11 Expired
38.8 MB
sha256:1adc74925f754d7a48538a117bbbdc399d5193fbd155cdbf33cafc8662211190
blob-report-webkit-8 Expired
79.6 MB
sha256:740e495debd9171da6795e3b4db1df718db9747a248b0698a83406fd98763309
build-output Expired
12.4 MB
sha256:b2b6544265698b8b9cd6aa7fa56d4cf48aaface7f7d50a00bbc223a4ee5a54ed
playwright-report
318 MB
sha256:29668f31a3fa0eddc0db8d82d4ecf7bba63f77180ecb2383d23249724ebd3645