| author | |
| committer | |
| log | af3d842a001d030ed528396bf59cf02bbf373cd0 |
| tree | 4a215aa73a0c577d971a5a160b428a582efd6216 |
| parent | c377d1ca17dbce42008fbb05fccd95468b13d329 |
| signature | Signed by PGP key B5690EEEBB952194 |
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>2 files changed, 25 insertions(+), 25 deletions(-)
apps/web/src/cloud/relayClientInstallDialog.test.ts+12-12| ... | ... | @@ -17,24 +17,24 @@ describe("relay client install dialog coordinator", () => { |
| 17 | 17 | }); |
| 18 | 18 | |
| 19 | 19 | it("moves a confirmed installation through streamed progress stages", async () => { |
| 20 | const confirmation = requestRelayClientInstallConfirmation("2026.5.2"); | |
| 20 | const confirmation = requestRelayClientInstallConfirmation("2026.10.0"); | |
| 21 | 21 | expect(readRelayClientInstallDialogState()).toEqual({ |
| 22 | 22 | status: "confirming", |
| 23 | version: "2026.5.2", | |
| 23 | version: "2026.10.0", | |
| 24 | 24 | }); |
| 25 | 25 | |
| 26 | 26 | respondToRelayClientInstallConfirmation(true); |
| 27 | 27 | await expect(confirmation).resolves.toBe(true); |
| 28 | 28 | expect(readRelayClientInstallDialogState()).toEqual({ |
| 29 | 29 | status: "installing", |
| 30 | version: "2026.5.2", | |
| 30 | version: "2026.10.0", | |
| 31 | 31 | stage: "checking", |
| 32 | 32 | }); |
| 33 | 33 | |
| 34 | 34 | reportRelayClientInstallProgress({ type: "progress", stage: "downloading" }); |
| 35 | 35 | expect(readRelayClientInstallDialogState()).toEqual({ |
| 36 | 36 | status: "installing", |
| 37 | version: "2026.5.2", | |
| 37 | version: "2026.10.0", | |
| 38 | 38 | stage: "downloading", |
| 39 | 39 | }); |
| 40 | 40 | |
| ... | ... | @@ -43,7 +43,7 @@ describe("relay client install dialog coordinator", () => { |
| 43 | 43 | status: "closing", |
| 44 | 44 | view: { |
| 45 | 45 | status: "installing", |
| 46 | version: "2026.5.2", | |
| 46 | version: "2026.10.0", | |
| 47 | 47 | stage: "downloading", |
| 48 | 48 | }, |
| 49 | 49 | }); |
| ... | ... | @@ -53,7 +53,7 @@ describe("relay client install dialog coordinator", () => { |
| 53 | 53 | }); |
| 54 | 54 | |
| 55 | 55 | it("returns to idle when installation is declined", async () => { |
| 56 | const confirmation = requestRelayClientInstallConfirmation("2026.5.2"); | |
| 56 | const confirmation = requestRelayClientInstallConfirmation("2026.10.0"); | |
| 57 | 57 | respondToRelayClientInstallConfirmation(false); |
| 58 | 58 | |
| 59 | 59 | await expect(confirmation).resolves.toBe(false); |
| ... | ... | @@ -61,7 +61,7 @@ describe("relay client install dialog coordinator", () => { |
| 61 | 61 | status: "closing", |
| 62 | 62 | view: { |
| 63 | 63 | status: "confirming", |
| 64 | version: "2026.5.2", | |
| 64 | version: "2026.10.0", | |
| 65 | 65 | }, |
| 66 | 66 | }); |
| 67 | 67 | |
| ... | ... | @@ -70,26 +70,26 @@ describe("relay client install dialog coordinator", () => { |
| 70 | 70 | }); |
| 71 | 71 | |
| 72 | 72 | it("rejects concurrent confirmation with the active install state", async () => { |
| 73 | const confirmation = requestRelayClientInstallConfirmation("2026.5.2"); | |
| 73 | const confirmation = requestRelayClientInstallConfirmation("2026.10.0"); | |
| 74 | 74 | respondToRelayClientInstallConfirmation(true); |
| 75 | 75 | await expect(confirmation).resolves.toBe(true); |
| 76 | 76 | reportRelayClientInstallProgress({ type: "progress", stage: "downloading" }); |
| 77 | 77 | |
| 78 | const error = await requestRelayClientInstallConfirmation("2026.6.0").then( | |
| 78 | const error = await requestRelayClientInstallConfirmation("2026.11.0").then( | |
| 79 | 79 | () => undefined, |
| 80 | 80 | (cause: unknown) => cause, |
| 81 | 81 | ); |
| 82 | 82 | |
| 83 | 83 | expect(error).toBeInstanceOf(RelayClientInstallConfirmationConflictError); |
| 84 | 84 | expect(error).toMatchObject({ |
| 85 | requestedVersion: "2026.6.0", | |
| 86 | activeVersion: "2026.5.2", | |
| 85 | requestedVersion: "2026.11.0", | |
| 86 | activeVersion: "2026.10.0", | |
| 87 | 87 | activeDialogStatus: "installing", |
| 88 | 88 | activeInstallStage: "downloading", |
| 89 | 89 | }); |
| 90 | 90 | expect(error).not.toHaveProperty("cause"); |
| 91 | 91 | expect((error as Error).message).toBe( |
| 92 | "Cannot confirm relay client installation 2026.6.0; installation 2026.5.2 has dialog status installing.", | |
| 92 | "Cannot confirm relay client installation 2026.11.0; installation 2026.10.0 has dialog status installing.", | |
| 93 | 93 | ); |
| 94 | 94 | }); |
| 95 | 95 | }); |
packages/shared/src/relayClient.ts+13-13| ... | ... | @@ -23,7 +23,7 @@ import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/http"; |
| 23 | 23 | import { ChildProcess, ChildProcessSpawner } from "effect/process"; |
| 24 | 24 | import { HostProcessArchitecture, HostProcessPlatform } from "./hostProcess.ts"; |
| 25 | 25 | |
| 26 | export const CLOUDFLARED_VERSION = "2026.5.2"; | |
| 26 | export const CLOUDFLARED_VERSION = "2026.10.0"; | |
| 27 | 27 | // The oldest release that accepts every flag the connector is started with |
| 28 | 28 | // (`--output` arrived in 2025.6.1). Override, PATH, and older managed binaries |
| 29 | 29 | // below it are skipped, since they exit immediately on the unknown flag. |
| ... | ... | @@ -80,34 +80,34 @@ const CLOUDFLARED_RELEASE_ASSETS: Readonly< |
| 80 | 80 | Partial<Record<`${NodeJS.Platform}-${string}`, CloudflaredReleaseAsset>> |
| 81 | 81 | > = { |
| 82 | 82 | "darwin-arm64": { |
| 83 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-darwin-arm64.tgz", | |
| 84 | sha256: "ba94054c9fd4297645093d59d51442e5e546d07bb0516120e694a13d5b216d38", | |
| 83 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-darwin-arm64.tgz", | |
| 84 | sha256: "a2f79ff7b9420aa537d74af239f376da170bbabeb529aec416002adac6a72e70", | |
| 85 | 85 | archive: "tgz", |
| 86 | 86 | }, |
| 87 | 87 | "darwin-x64": { |
| 88 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-darwin-amd64.tgz", | |
| 89 | sha256: "7240f709506bc2c1eb9da4d89cf2555499c60280ecb854b7d80e8f17d4b7903d", | |
| 88 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-darwin-amd64.tgz", | |
| 89 | sha256: "903845b81828c8cb3c5d13d816a2de71c06a3da5785469df8eb0e1b736d92f9f", | |
| 90 | 90 | archive: "tgz", |
| 91 | 91 | }, |
| 92 | 92 | "linux-arm64": { |
| 93 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-linux-arm64", | |
| 94 | sha256: "5a4e8ce2701105271412059f44b6a0bf1ae4542b4d98ff3180c0c019443a5815", | |
| 93 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-linux-arm64", | |
| 94 | sha256: "e6422b9d4f72d3194bc5a38676f13667c06666523217b842a877d72a80b5ac08", | |
| 95 | 95 | archive: "binary", |
| 96 | 96 | }, |
| 97 | 97 | "linux-x64": { |
| 98 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-linux-amd64", | |
| 99 | sha256: "5286698547f03df745adb2355f04c12dde52ef425491e81f433642d695521886", | |
| 98 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-linux-amd64", | |
| 99 | sha256: "d33ff2d14475178d2012c2c56beba87389ac5ded27649519f198a7d3134a99db", | |
| 100 | 100 | archive: "binary", |
| 101 | 101 | }, |
| 102 | 102 | "win32-x64": { |
| 103 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-windows-amd64.exe", | |
| 104 | sha256: "20b9638f685333d623798e733effbad2487093f15ba592f6c7752360ff3b7ab7", | |
| 103 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-windows-amd64.exe", | |
| 104 | sha256: "86aee4017b26625cee8484c113558f48effa4cd47f7aa05fcf425604e5d2b23c", | |
| 105 | 105 | archive: "binary", |
| 106 | 106 | }, |
| 107 | 107 | // Cloudflare publishes no Windows ARM64 build; Windows 11 on ARM runs x64 under emulation. |
| 108 | 108 | "win32-arm64": { |
| 109 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.5.2/cloudflared-windows-amd64.exe", | |
| 110 | sha256: "20b9638f685333d623798e733effbad2487093f15ba592f6c7752360ff3b7ab7", | |
| 109 | url: "https://github.com/cloudflare/cloudflared/releases/download/2026.10.0/cloudflared-windows-amd64.exe", | |
| 110 | sha256: "86aee4017b26625cee8484c113558f48effa4cd47f7aa05fcf425604e5d2b23c", | |
| 111 | 111 | archive: "binary", |
| 112 | 112 | }, |
| 113 | 113 | }; |