From 42702a680fbff98c058464959a9ff01a4d8cefb0 Mon Sep 17 00:00:00 2001 From: Merge Sim Date: Thu, 3 Sep 2026 16:27:52 -0700 Subject: [PATCH] fix(windows): teach the mobile RPC double the status probe the lane added CI's first-ever run on this lane caught a pre-existing lane defect. The lane changed status.get to resolve through runtime.getStatusAfterWindowsProcessStartTimeProbe(), but never taught the mobile-surface runtime double about it, so status.get failed for mobile clients with "not a function". The lane's own test list did not include this file and the lane had zero CI, so nothing ever ran it. The real runtime always implements the method; the double omitted it. --- .../runtime/runtime-rpc-mobile-method-allowlist-fixtures.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/runtime/runtime-rpc-mobile-method-allowlist-fixtures.ts b/src/main/runtime/runtime-rpc-mobile-method-allowlist-fixtures.ts index 7a97745764d..01a64de9777 100644 --- a/src/main/runtime/runtime-rpc-mobile-method-allowlist-fixtures.ts +++ b/src/main/runtime/runtime-rpc-mobile-method-allowlist-fixtures.ts @@ -8,6 +8,11 @@ export type MobileRpcMock = Mock<(...args: unknown[]) => unknown> // Full mobile-surface runtime double: every RPC the mobile allowlist may reach. export function createMobileRpcSurfaceRuntime() { const getStatus: MobileRpcMock = vi.fn().mockResolvedValue({ graphStatus: 'ok' }) + // status.get resolves through the Windows start-time probe, so the double + // must answer it too -- the real runtime always does. + const getStatusAfterWindowsProcessStartTimeProbe: MobileRpcMock = vi + .fn() + .mockResolvedValue({ graphStatus: 'ok' }) const pushRuntimeGit: MobileRpcMock = vi.fn().mockResolvedValue({ ok: true }) const selectClaudeAccount: MobileRpcMock = vi.fn().mockResolvedValue({ ok: true }) const selectCodexAccount: MobileRpcMock = vi.fn().mockResolvedValue({ ok: true }) @@ -119,6 +124,7 @@ export function createMobileRpcSurfaceRuntime() { const runtime = { getRuntimeId: () => 'test-runtime', getStatus, + getStatusAfterWindowsProcessStartTimeProbe, pushRuntimeGit, selectClaudeAccount, selectCodexAccount,