From 36d3985b5252c3687c1dab3a26533e521f5bc0f3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Oct 2026 04:08:16 +0000 Subject: [PATCH 1/3] Initial plan From 3ba8953d7483f5ae5b9a48aed512575ba66fcd39 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Oct 2026 04:10:14 +0000 Subject: [PATCH 2/3] fix: isolate upload analytics failures from upload response Co-authored-by: abhitrueprogrammer <67090539+abhitrueprogrammer@users.noreply.github.com> --- src/app/api/upload/route.ts | 45 +++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/app/api/upload/route.ts b/src/app/api/upload/route.ts index 782a48c..4cbc6c2 100644 --- a/src/app/api/upload/route.ts +++ b/src/app/api/upload/route.ts @@ -23,18 +23,35 @@ export async function POST(req: Request) { return failure(result.message, result.status); } - const posthog = getPostHogClient(); - if (posthog) { - posthog.capture({ - distinctId: randomUUID(), - event: "paper_upload_completed", - properties: { - file_count: files.length, - is_pdf: isPdf, - campus: campus ?? "unknown", - }, + try { + const posthog = getPostHogClient(); + + if (posthog) { + posthog.capture({ + distinctId: randomUUID(), + event: "paper_upload_completed", + properties: { + file_count: files.length, + is_pdf: isPdf, + campus: campus ?? "unknown", + }, + }); + + await posthog.flush(); + } + } catch (analyticsError) { + console.error("[UPLOAD_ANALYTICS_ERROR]", { + name: + analyticsError instanceof Error + ? analyticsError.name + : "UnknownError", + message: + analyticsError instanceof Error + ? analyticsError.message + : String(analyticsError), + stack: + analyticsError instanceof Error ? analyticsError.stack : undefined, }); - await posthog.flush(); } return success( @@ -43,7 +60,11 @@ export async function POST(req: Request) { 201, ); } catch (error) { - console.error(error); + console.error("[UPLOAD_ROUTE_ERROR]", { + name: error instanceof Error ? error.name : "UnknownError", + message: error instanceof Error ? error.message : String(error), + stack: error instanceof Error ? error.stack : undefined, + }); return failure("Failed to upload papers", 500); } } \ No newline at end of file From 8b14feafdaa4e47e38c3d7c6db02d3f65c9abf0e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Oct 2026 04:14:27 +0000 Subject: [PATCH 3/3] fix: make request route analytics non-fatal Co-authored-by: abhitrueprogrammer <67090539+abhitrueprogrammer@users.noreply.github.com> --- src/app/api/request/route.ts | 52 +++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/src/app/api/request/route.ts b/src/app/api/request/route.ts index 15a6327..5157716 100644 --- a/src/app/api/request/route.ts +++ b/src/app/api/request/route.ts @@ -6,31 +6,53 @@ import { randomUUID } from "crypto"; export async function POST(req: Request) { try { - const {subject, exam, slot, year} = (await req.json()) as CreatePaperInputType + const { subject, exam, slot, year } = + (await req.json()) as CreatePaperInputType; if (!subject || !exam || !slot || !year) { return failure("All fields are required.", 400); } - const newRequest = await createPaperRequest({subject, exam, slot, year}); + const newRequest = await createPaperRequest({ subject, exam, slot, year }); - const posthog = getPostHogClient(); - if (posthog) { - posthog.capture({ - distinctId: randomUUID(), - event: "paper_request_created", - properties: { - exam, - slot, - year, - }, + try { + const posthog = getPostHogClient(); + if (posthog) { + posthog.capture({ + distinctId: randomUUID(), + event: "paper_request_created", + properties: { + exam, + slot, + year, + }, + }); + await posthog.flush(); + } + } catch (analyticsError) { + console.error("[REQUEST_ANALYTICS_ERROR]", { + name: + analyticsError instanceof Error ? analyticsError.name : "UnknownError", + message: + analyticsError instanceof Error + ? analyticsError.message + : String(analyticsError), + stack: + analyticsError instanceof Error ? analyticsError.stack : undefined, }); - await posthog.flush(); } - return success({ message: "Paper request submitted successfully!", request: newRequest }, "Created", 201); + return success( + { message: "Paper request submitted successfully!", request: newRequest }, + "Created", + 201, + ); } catch (error) { - console.error("Error creating paper request:", error); + console.error("[REQUEST_ROUTE_ERROR]", { + name: error instanceof Error ? error.name : "UnknownError", + message: error instanceof Error ? error.message : String(error), + stack: error instanceof Error ? error.stack : undefined, + }); return failure("Failed to submit request.", 500); } }