cases / next-15-async-headers
next-15-async-headers
next 14.2.3 → 15.0.0
Next 15 made the request-scoped helpers cookies() and headers() asynchronous, breaking every synchronous call site.
What each detector said
One row per (file, symbol) site — the unit the scorer compares on. Ground truth comes from the case's hand-written labels.
- unlabeled app/dashboard/page.tsx :headers grep-baseline flagged agent · deepseek-v4-flash-free silent
1 matched line · reasoning
1 import { cookies } from 'next/headers';grep-baseline conf 0.50'headers' is named in the release notes and appears in 7 place(s) in this repo. No check was made that these are real call sites.
- not broken lib/parse.ts :cookies grep-baseline flagged agent · deepseek-v4-flash-free silent
A local Record variable named cookies. Not the next/headers helper.
4 matched lines · reasoning
1 // A local variable named `cookies`, parsed off a raw header string. Nothing to 4 const cookies: Record<string, string> = {}; 7 if (k) cookies[k] = decodeURIComponent(v ?? ''); 9 return cookies;grep-baseline conf 0.50'cookies' is named in the release notes and appears in 7 place(s) in this repo. No check was made that these are real call sites.
- not broken lib/parse.ts :headers grep-baseline flagged agent · deepseek-v4-flash-free silent
A plain object literal named headers. Not the next/headers helper.
3 matched lines · reasoning
2 // do with next/headers, and unaffected by the Next 15 async change. 14 const headers = { authorization: `Bearer ${token}` }; 15 return headers;grep-baseline conf 0.50'headers' is named in the release notes and appears in 7 place(s) in this repo. No check was made that these are real call sites.
- breaks app/api/session/route.ts :headers grep-baseline flagged agent · deepseek-v4-flash-free flagged
Synchronous headers() call.
3 matched lines · reasoning
1 import { headers } from 'next/headers'; 4 // headers() is async in Next 15 as well. 5 const h = headers();grep-baseline conf 0.50'headers' is named in the release notes and appears in 7 place(s) in this repo. No check was made that these are real call sites.
- breaks app/dashboard/page.tsx :cookies grep-baseline flagged agent · deepseek-v4-flash-free flagged
Synchronous cookies() call in a non-async component.
3 matched lines · reasoning
1 import { cookies } from 'next/headers'; 4 // Next 15 made cookies() async — this synchronous read breaks. 5 const store = cookies();grep-baseline conf 0.50'cookies' is named in the release notes and appears in 7 place(s) in this repo. No check was made that these are real call sites.