Skip to content

feat(server): add Cloudflare WSS remote backend flow #1637

feat(server): add Cloudflare WSS remote backend flow

feat(server): add Cloudflare WSS remote backend flow #1637

Triggered via pull request March 3, 2026 01:43
Status Failure
Total duration 5m 13s
Artifacts

ci.yml

on: pull_request
Matrix: test-tauri
Matrix: build-tauri
Fit to window
Zoom out
Zoom in

Annotations

20 errors and 2 warnings
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L612
Property 'keepTunnelRunningAfterAppClose' does not exist on type 'AppSettings'. Did you mean 'keepDaemonRunningAfterAppClose'?
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L275
Type '"tcp" | "wss"' is not assignable to type '"tcp"'.
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L222
This comparison appears to be unintentional because the types '"tcp"' and '"wss"' have no overlap.
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L207
This comparison appears to be unintentional because the types '"tcp"' and '"wss"' have no overlap.
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L185
This comparison appears to be unintentional because the types '"tcp"' and '"wss"' have no overlap.
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L183
This comparison appears to be unintentional because the types '"tcp"' and '"wss"' have no overlap.
typecheck: src/features/settings/components/sections/SettingsServerSection.tsx#L6
Module '"@/types"' has no exported member 'CloudflareTunnelStatus'.
typecheck: src/features/settings/components/SettingsView.test.tsx#L967
Type '"wss"' is not assignable to type '"tcp"'.
typecheck: src/features/settings/components/SettingsView.test.tsx#L960
Type '"wss"' is not assignable to type '"tcp"'.
typecheck: src/features/settings/components/SettingsView.test.tsx#L80
Object literal may only specify known properties, but 'keepTunnelRunningAfterAppClose' does not exist in type 'AppSettings'. Did you mean to write 'keepDaemonRunningAfterAppClose'?
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles reduce transparency". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles split chat and diff center panes". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles split chat and diff center panes". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles file path visibility in messages". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles file path visibility in messages". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles remaining limits display". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles remaining limits display". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "toggles remaining limits display". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "updates the theme selection". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: src/features/settings/hooks/useSettingsServerSection.ts#L782
Error: [vitest] No "cloudflareTunnelStatus" export is defined on the "@services/tauri" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("@services/tauri"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ VitestMocker.createError node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17 ❯ Object.get node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16 ❯ src/features/settings/hooks/useSettingsServerSection.ts:782:47 ❯ src/features/settings/hooks/useSettingsServerSection.ts:883:12 ❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25989:20 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13 ❯ commitHookEffectListMount node_modules/react-dom/cjs/react-dom-client.development.js:13249:29 ❯ commitHookPassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:13336:11 ❯ commitPassiveMountOnFiber node_modules/react-dom/cjs/react-dom-client.development.js:15484:13 ❯ recursivelyTraversePassiveMountEffects node_modules/react-dom/cjs/react-dom-client.development.js:15439:11 This error originated in "src/features/settings/components/SettingsView.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "updates the theme selection". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
lint: src/features/threads/hooks/useThreadMessaging.ts#L387
React Hook useCallback has a missing dependency: 'getCustomName'. Either include it or remove the dependency array. If 'getCustomName' changes too often, find the parent component that defines it and wrap that definition in useCallback
lint: src/features/app/hooks/useRemoteThreadLiveConnection.ts#L506
The ref value 'ignoreDetachedEventsUntilRef.current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy 'ignoreDetachedEventsUntilRef.current' to a variable inside the effect, and use that variable in the cleanup function