fix(mcp): bound OAuth callback steps and log each phase to pinpoint hangs #22862
ci.yml
on: pull_request
Detect Version
Migrate Dev DB
/
Apply Database Migrations
Matrix: Build AMD64
Matrix: Build ARM64 (GHCR Only)
Test and Build
/
Lint and Test
3m 57s
Test and Build
/
Build App
6m 44s
Check Docs Changes
Matrix: Build Dev ECR
Deploy Trigger.dev (Dev)
0s
Matrix: Create GHCR Manifests
Process Docs
/
Process Documentation Embeddings
Create GitHub Release
0s
Annotations
5 errors and 8 warnings
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
app/api/mcp/oauth/callback/route.test.ts > MCP OAuth callback route > signals success over a same-origin BroadcastChannel carrying the state nonce:
apps/sim/app/api/mcp/oauth/callback/route.test.ts#L87
AssertionError: expected '<!doctype html><html><head><meta char…' to contain 'ok: true'
- Expected
+ Received
- ok: true
+ <!doctype html><html><head><meta charset="utf-8"><title>Connection failed</title></head><body style="font-family: system-ui; padding: 24px"><p>Authorization failed. Please try again.</p><script>
+ try { var ch = new BroadcastChannel('mcp-oauth'); ch.postMessage({ type: 'mcp-oauth', ok: false, serverId: "server-1", state: "state-1", reason: "unknown" }); ch.close() } catch (e) {}
+ setTimeout(function () { window.close() }, 800)
+ </script></body></html>
❯ app/api/mcp/oauth/callback/route.test.ts:87:18
|
|
app/api/mcp/oauth/callback/route.test.ts > MCP OAuth callback route > performs the token exchange through the SSRF-guarded mcpAuthGuarded wrapper:
apps/sim/app/api/mcp/oauth/callback/route.test.ts#L67
AssertionError: expected "vi.fn()" to be called with arguments: [ Anything, ObjectContaining{…} ]
Number of calls: 0
❯ app/api/mcp/oauth/callback/route.test.ts:67:48
|
|
Test and Build / Lint and Test
sim#test: command (/home/runner/_work/sim/sim/apps/sim) /home/runner/.bun/bin/bun run test exited (1)
|
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Build App
Error getting sticky disk: ConnectError: [deadline_exceeded] failed to expose and mount sticky disk: failed to get sticky disk: Get "https://api.blacksmith.sh/stickydisks?arch=amd64&installation_model_id=7445®ion=us-west&repo_name=simstudioai%2Fsim&stickydisk_key=simstudioai%2Fsim-turbo-cache-build-pull_request&type=stickydisk": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
|
|
Test and Build / Build App
Error getting sticky disk: ConnectError: [deadline_exceeded] failed to expose and mount sticky disk: failed to get sticky disk: Get "https://api.blacksmith.sh/stickydisks?arch=amd64&installation_model_id=7445®ion=us-west&repo_name=simstudioai%2Fsim&stickydisk_key=simstudioai%2Fsim-node-modules-pull_request&type=stickydisk": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
|