Skip to content

Forward connected-account callbacks with v2's state prefix to v2 #6256

Forward connected-account callbacks with v2's state prefix to v2

Forward connected-account callbacks with v2's state prefix to v2 #6256

Triggered via pull request October 8, 2026 19:00
Status Failure
Total duration 7m 34s
Artifacts 3

ci.yml

on: pull_request
Changed paths
7s
Changed paths
Matrix: e2e
Cloud evaluated closure
Cloud evaluated closure
Desktop smoke build
Desktop smoke build
Self-host Docker image
Self-host Docker image
Fit to window
Zoom out
Zoom in

Annotations

26 errors and 43 warnings
Typecheck
Expected 2 arguments, but got 3.
Typecheck
Expected 2 arguments, but got 3.
Typecheck
Expected 2 arguments, but got 3.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
Expected 1 arguments, but got 2.
Typecheck
@executor-js/cloud#typecheck: command (/home/runner/_work/executor/executor/apps/cloud) /home/runner/.bun/bin/bun run typecheck exited (2)
src/edge/marketing.test.ts > v2EdgeResponse > forwards with the public host, path and query, and returns v2's redirect unfollowed: apps/cloud/src/edge/marketing.test.ts#L321
AssertionError: expected undefined to be 302 // Object.is equality - Expected: 302 + Received: undefined ❯ src/edge/marketing.test.ts:321:30
src/edge/marketing.test.ts > v2EdgeResponse > is off without settings: apps/cloud/src/edge/marketing.ts#L168
TypeError: Cannot read properties of undefined (reading 'V2') ❯ parseV2Edge src/edge/marketing.ts:168:23 ❯ v2EdgeResponse src/edge/marketing.ts:210:16 ❯ src/edge/marketing.test.ts:273:7
src/edge/marketing.test.ts > v2EdgeResponse > answers edge requests with a 500 on a broken setting and leaves other paths with v1: apps/cloud/src/edge/marketing.test.ts#L264
AssertionError: expected undefined to be 500 // Object.is equality - Expected: 500 + Received: undefined ❯ src/edge/marketing.test.ts:264:30
src/edge/marketing.test.ts > v2EdgeResponse > follows the configured sign-up URL: apps/cloud/src/edge/marketing.test.ts#L243
AssertionError: expected undefined to be 'https://app.executor.sh/sign-up' // Object.is equality - Expected: "https://app.executor.sh/sign-up" + Received: undefined ❯ src/edge/marketing.test.ts:243:47
src/edge/marketing.test.ts > v2EdgeResponse > redirects sign-up to v2's configured sign-up page, ignoring the query: apps/cloud/src/edge/marketing.test.ts#L231
AssertionError: expected undefined to be 302 // Object.is equality - Expected: 302 + Received: undefined ❯ src/edge/marketing.test.ts:231:32
src/edge/marketing.test.ts > parseV2Edge > parses both settings: apps/cloud/src/edge/marketing.test.ts#L206
AssertionError: expected "settings must parse" not to be reached ❯ src/edge/marketing.test.ts:206:66
src/edge/marketing.test.ts > parseV2Edge > refuses a sign-up URL that is not absolute http(s): apps/cloud/src/edge/marketing.test.ts#L200
AssertionError: expected 'object' to be 'string' // Object.is equality Expected: "string" Received: "object" ❯ src/edge/marketing.test.ts:200:63
src/edge/marketing.test.ts > parseV2Edge > refuses a binding or sign-up URL set without the other: apps/cloud/src/edge/marketing.ts#L168
TypeError: Cannot read properties of undefined (reading 'V2') ❯ parseV2Edge src/edge/marketing.ts:168:23 ❯ src/edge/marketing.test.ts:193:19
src/edge/marketing.test.ts > parseV2Edge > is off when neither setting is present: apps/cloud/src/edge/marketing.ts#L168
TypeError: Cannot read properties of undefined (reading 'V2') ❯ parseV2Edge src/edge/marketing.ts:168:23 ❯ src/edge/marketing.test.ts:189:12
Test
@executor-js/cloud#test: command (/home/runner/_work/executor/executor/apps/cloud) /home/runner/.bun/bin/bun run test exited (1)
E2E (cloud 13of16)
Process completed with exit code 1.
[cloud] cloud/mcp-destroyed-session-envelope.test.ts > MCP protocol · in-flight requests survive their session's teardown as protocol errors: e2e/cloud/mcp-destroyed-session-envelope.test.ts#L246
AssertionError: no request on a terminating session produces an unhandled server error: expected [ …(2) ] to deeply equal [] - Expected + Received - [] + [ + "+1923ms 500 + <!DOCTYPE html> + <html lang=\"en\"> + <head> + <meta charset=\"UTF-8\" /> + <title>Error</title> + <script type=\"module\"> + const error = ", + "+1935ms 500 + <!DOCTYPE html> + <html lang=\"en\"> + <head> + <meta charset=\"UTF-8\" /> + <title>Error</title> + <script type=\"module\"> + const error = ", + ] ❯ Array.<anonymous> cloud/mcp-destroyed-session-envelope.test.ts:246:7 ❯ next ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1276:25 ❯ Object.~effect/Effect/evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/core.ts:531:30 ❯ FiberImpl.runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39 ❯ runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22 ❯ evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14 ❯ resume ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:972:13
E2E (cloud 6of16)
Process completed with exit code 1.
[cloud] scenarios/first-party-oauth.test.ts > First-party OAuth · unlisted Google still authorizes its bundle and refuses admin scopes: e2e/scenarios/first-party-oauth.test.ts#L201
AssertionError: the first-party Google app is not offered in listings: expected { owner: 'org', …(7) } to be undefined - Expected: undefined + Received: { "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth", "clientId": "e2e-first-party-google", "grant": "authorization_code", "origin": { "allowedScopes": [ "openid", "email", "profile", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly", "https://www.googleapis.com/auth/meetings.space.settings", "https://mail.google.com/", "https://www.googleapis.com/auth/gmail.settings.basic", "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/documents", "https://www.googleapis.com/auth/presentations", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.responses.readonly", "https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/contacts", "https://www.googleapis.com/auth/contacts.other.readonly", "https://www.googleapis.com/auth/directory.readonly", "https://www.googleapis.com/auth/user.addresses.read", "https://www.googleapis.com/auth/user.birthday.read", "https://www.googleapis.com/auth/user.emails.read", "https://www.googleapis.com/auth/user.gender.read", "https://www.googleapis.com/auth/user.organization.read", "https://www.googleapis.com/auth/user.phonenumbers.read", "https://www.googleapis.com/auth/photoslibrary.appendonly", "https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata", "https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata", "https://www.googleapis.com/auth/photospicker.mediaitems.readonly", "https://www.googleapis.com/auth/webmasters", "https://www.googleapis.com/auth/gmail.modify", ], "kind": "first_party", }, "owner": "org", "resource": null, "slug": "first-party:google", "tokenUrl": "https://oauth2.googleapis.com/token", } ❯ Array.<anonymous> scenarios/first-party-oauth.test.ts:201:9 ❯ next ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1276:25 ❯ Object.~effect/Effect/evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/core.ts:531:30 ❯ FiberImpl.runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39 ❯ runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22 ❯ evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14 ❯ resume ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:991:15
E2E (cloud 8of16)
Process completed with exit code 1.
[cloud] cloud/mcp-session-cap-eviction.test.ts > MCP session · crossing the resident-runtime cap evicts a session through a real cross-DO request: e2e/src/scenario.ts#L138
Error: Test timed out in 180000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ scenario src/scenario.ts:138:3 ❯ cloud/mcp-session-cap-eviction.test.ts:213:1
Changed paths
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, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Format
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (local 2of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (local 1of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 4of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 1of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 2of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 3of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 3of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 5of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 2of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 7of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 8of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 11of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 9of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 10of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 15of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost 6of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 1of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 10of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 16of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 14of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 12of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 7of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 5of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 13of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
E2E (selfhost 4of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 9of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 6of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
E2E (cloud 8of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/

Artifacts

Produced during runtime
Name Size Digest
e2e-runs-cloud-13of16
7.3 MB
sha256:bb8f94995fb63dafe7ba526fa25a088e46f16db0df3af4b65495811a7b190789
e2e-runs-cloud-6of16
28 MB
sha256:da57a9c105314b425505b5bef387aa4a53b2f3f98476a48e59a94f25e42bb24e
e2e-runs-cloud-8of16
17.7 MB
sha256:2b9f86b0f6301fbd0ab93e672c789810c6cb373fde1856e179ff7c17b50f46d0