From 941b4fb7608a5c56cf1911a022568082d83df846 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sun, 26 Apr 2026 13:44:23 +0700 Subject: [PATCH] fix: keep mainRepoRoot optional for backward-compat with old daemons Newer clients were rejecting checkout_status_response and project-checkout-lite payloads from older daemons that don't yet send mainRepoRoot. Make the field optional with a null default so the schema stays forward-compatible. --- packages/server/src/shared/messages.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/src/shared/messages.ts b/packages/server/src/shared/messages.ts index 19c480b4c..ee1f1533d 100644 --- a/packages/server/src/shared/messages.ts +++ b/packages/server/src/shared/messages.ts @@ -2032,7 +2032,7 @@ export const ProjectCheckoutLiteGitNonPaseoPayloadSchema = z remoteUrl: z.string().nullable(), worktreeRoot: z.string().optional(), isPaseoOwnedWorktree: z.literal(false), - mainRepoRoot: z.string().nullable(), + mainRepoRoot: z.string().nullable().optional().default(null), }) .transform((value) => ({ ...value, @@ -2566,7 +2566,7 @@ const CheckoutStatusGitNonPaseoSchema = CheckoutStatusCommonSchema.extend({ isGit: z.literal(true), isPaseoOwnedWorktree: z.literal(false), repoRoot: z.string(), - mainRepoRoot: z.string().nullable(), + mainRepoRoot: z.string().nullable().optional().default(null), currentBranch: z.string().nullable(), isDirty: z.boolean(), baseRef: z.string().nullable(),