From 6212a3232c42fb4f2a4cd7bdd81e1926a06bad8f Mon Sep 17 00:00:00 2001 From: Madhura68 Date: Sun, 10 May 2026 15:23:23 +0200 Subject: [PATCH] feat(PBI-76): rewrite setActiveSprint callers to use settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit setActiveSprintAction, syncActiveSprintCookieAction, and the two sprint-creation paths in actions/sprints.ts now write through setActiveSprintInSettings (which also emits pg_notify for cross-tab sync) instead of dropping a cookie. The action names keep the 'cookie' suffix in the user-visible API for now — clean rename can come later. Co-Authored-By: Claude Opus 4.7 (1M context) --- actions/active-sprint.ts | 6 +++--- actions/sprints.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/actions/active-sprint.ts b/actions/active-sprint.ts index 9451190..7705206 100644 --- a/actions/active-sprint.ts +++ b/actions/active-sprint.ts @@ -7,7 +7,7 @@ import { z } from 'zod' import { prisma } from '@/lib/prisma' import { SessionData, sessionOptions } from '@/lib/session' import { productAccessFilter } from '@/lib/product-access' -import { setActiveSprintCookie } from '@/lib/active-sprint' +import { setActiveSprintInSettings } from '@/lib/active-sprint' async function getSession() { return getIronSession(await cookies(), sessionOptions) @@ -36,7 +36,7 @@ export async function setActiveSprintAction(productId: string, sprintId: string) }) if (!sprint) return { error: 'Sprint niet gevonden of niet toegankelijk' } - await setActiveSprintCookie(parsed.data.productId, parsed.data.sprintId) + await setActiveSprintInSettings(session.userId, parsed.data.productId, parsed.data.sprintId) revalidatePath('/', 'layout') return { success: true, sprintId: parsed.data.sprintId } } @@ -59,5 +59,5 @@ export async function syncActiveSprintCookieAction(productId: string, sprintId: }) if (!sprint) return - await setActiveSprintCookie(parsed.data.productId, parsed.data.sprintId) + await setActiveSprintInSettings(session.userId, parsed.data.productId, parsed.data.sprintId) } diff --git a/actions/sprints.ts b/actions/sprints.ts index 1be5ef5..9471b51 100644 --- a/actions/sprints.ts +++ b/actions/sprints.ts @@ -14,7 +14,7 @@ import { import { enforceUserRateLimit } from '@/lib/rate-limit' import { propagateStatusUpwards } from '@/lib/tasks-status-update' import { createWithCodeRetry, generateNextSprintCode } from '@/lib/code-server' -import { setActiveSprintCookie } from '@/lib/active-sprint' +import { setActiveSprintInSettings } from '@/lib/active-sprint' import { z } from 'zod' async function getSession() { @@ -102,7 +102,7 @@ export async function createSprintAction(_prevState: unknown, formData: FormData } } - await setActiveSprintCookie(parsed.data.productId, sprint.id) + await setActiveSprintInSettings(session.userId, parsed.data.productId, sprint.id) revalidatePath(`/products/${parsed.data.productId}`, 'layout') return { success: true, sprintId: sprint.id } } @@ -409,7 +409,7 @@ export async function createSprintWithPbisAction(input: { }), ) - await setActiveSprintCookie(parsed.data.productId, sprint.id) + await setActiveSprintInSettings(session.userId, parsed.data.productId, sprint.id) revalidatePath(`/products/${parsed.data.productId}`, 'layout') return { success: true, sprintId: sprint.id } }