Skip to content

Conversation

@eps1lon
Copy link
Member

@eps1lon eps1lon commented Oct 28, 2025

"assert" sounds like it's an instant assertion. This was apparent by tests wrapping assertStaticIndicator in a retry which is redundant.

Especially assertStaticIndicator was broken if wrapped in retry (which every usage did). The retry would've called openDevToolsIndicatorPopover again which is actually a toggle. So the final retry could end up asserting on closed devtools which is not the same failure as the first attempt.

Also renames openDevToolsIndicatorPopover to toggleDevToolsIndicatorPopover to better reflect what it's doing.

The flake shard failing due to timeout is expected due to the number of tests being touched.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. Font (next/font) Related to Next.js Font Optimization. tests labels Oct 28, 2025
Comment on lines -27 to -29
await retry(async () => {
await assertStaticIndicator(browser, 'Dynamic')
})
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This only did a sensible assertion every even retry since it's actually toggling the devtools menu. Now assertStaticIndicator is retrying until the route type matches.

@ijjk
Copy link
Member

ijjk commented Oct 28, 2025

Failing test suites

Commit: f844977 | About building and testing Next.js

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#count') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at elementById (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:170:28)
  at act (lib/router-act.ts:275:27)
  at Object.<anonymous> (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:167:5)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at text (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:170:49)
  at act (lib/router-act.ts:275:27)
  at Object.<anonymous> (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:167:5)

pnpm test-dev test/e2e/app-dir/app-basepath/index.test.ts

  • app dir - basepath > should successfully hard navigate from pages -> app (DD)
Expand output

● app dir - basepath › should successfully hard navigate from pages -> app

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#page-2') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Object.waitForElementByCss (e2e/app-dir/app-basepath/index.test.ts:16:19)

pnpm test-start test/e2e/app-dir/nx-handling/nx-handling.test.ts

  • nx-handling > should work for pages page (DD)
  • nx-handling > should work for pages API (DD)
  • nx-handling > should work with app page (DD)
  • nx-handling > should work with app route (DD)
Expand output

● nx-handling › should work for pages page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  255 |   let next: NextInstance | undefined
  256 |   if (!skipped) {
> 257 |     beforeAll(async () => {
      |     ^
  258 |       next = await createNext(options)
  259 |     })
  260 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:257:5)
  at e2e/app-dir/nx-handling/nx-handling.test.ts:4:33
  at Object.describe (e2e/app-dir/nx-handling/nx-handling.test.ts:3:1)

● nx-handling › should work for pages API

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  255 |   let next: NextInstance | undefined
  256 |   if (!skipped) {
> 257 |     beforeAll(async () => {
      |     ^
  258 |       next = await createNext(options)
  259 |     })
  260 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:257:5)
  at e2e/app-dir/nx-handling/nx-handling.test.ts:4:33
  at Object.describe (e2e/app-dir/nx-handling/nx-handling.test.ts:3:1)

● nx-handling › should work with app page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  255 |   let next: NextInstance | undefined
  256 |   if (!skipped) {
> 257 |     beforeAll(async () => {
      |     ^
  258 |       next = await createNext(options)
  259 |     })
  260 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:257:5)
  at e2e/app-dir/nx-handling/nx-handling.test.ts:4:33
  at Object.describe (e2e/app-dir/nx-handling/nx-handling.test.ts:3:1)

● nx-handling › should work with app route

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  255 |   let next: NextInstance | undefined
  256 |   if (!skipped) {
> 257 |     beforeAll(async () => {
      |     ^
  258 |       next = await createNext(options)
  259 |     })
  260 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:257:5)
  at e2e/app-dir/nx-handling/nx-handling.test.ts:4:33
  at Object.describe (e2e/app-dir/nx-handling/nx-handling.test.ts:3:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

pnpm test-start-turbo test/e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts (turbopack)

  • app dir client cache with parallel routes > prefetch={true} > should prefetch the full page (DD)
Expand output

● app dir client cache with parallel routes › prefetch={true} › should prefetch the full page

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  16 |
  17 |   describe('prefetch={true}', () => {
> 18 |     it('should prefetch the full page', async () => {
     |     ^
  19 |       let act: ReturnType<typeof createRouterAct>
  20 |       const browser = await next.browser('/', {
  21 |         beforePageLoad(page) {

  at it (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:18:5)
  at describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:17:3)
  at Object.describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:6:1)

pnpm test-start test/e2e/app-dir/app-prefetch/prefetching.test.ts

  • app dir - prefetching > should immediately render the loading state for a dynamic segment when fetched from higher up in the tree (DD)
Expand output

● app dir - prefetching › should immediately render the loading state for a dynamic segment when fetched from higher up in the tree

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  302 |   })
  303 |
> 304 |   it('should immediately render the loading state for a dynamic segment when fetched from higher up in the tree', async () => {
      |   ^
  305 |     let act: ReturnType<typeof createRouterAct>
  306 |     const browser = await next.browser('/', {
  307 |       beforePageLoad(page) {

  at it (e2e/app-dir/app-prefetch/prefetching.test.ts:304:3)
  at Object.describe (e2e/app-dir/app-prefetch/prefetching.test.ts:11:1)

pnpm test-dev test/e2e/prerender.test.ts

  • Prerender > should navigate between pages successfully (DD)
  • Prerender > should SSR normal page correctly (DD)
  • Prerender > should SSR incremental page correctly (DD)
  • Prerender > should SSR blocking path correctly (blocking) (DD)
  • Prerender > should SSR blocking path correctly (pre-rendered) (DD)
  • Prerender > should have gsp in NEXT_DATA (DD)
  • Prerender > should not have gsp in NEXT_DATA for non-GSP page (DD)
  • Prerender > should not supply query values to params or useRouter non-dynamic page SSR (DD)
  • Prerender > should not supply query values to params in /_next/data request (DD)
  • Prerender > should not supply query values to params or useRouter dynamic page SSR (DD)
  • Prerender > should return data correctly (DD)
  • Prerender > should return data correctly for dynamic page (DD)
  • Prerender > should return data correctly for dynamic page (non-seeded) (DD)
  • Prerender > should navigate to a normal page and back (DD)
  • Prerender > should parse query values on mount correctly (DD)
  • Prerender > should reload page on failed data request (DD)
  • Prerender > should SSR dynamic page with brackets in param as object (DD)
  • Prerender > should navigate to dynamic page with brackets in param as object (DD)
  • Prerender > should SSR dynamic page with brackets in param as string (DD)
  • Prerender > should navigate to dynamic page with brackets in param as string (DD)
  • Prerender > should not return data for fallback: false and missing dynamic page (DD)
  • Prerender > should server prerendered path correctly for SSG pages that starts with api-docs (DD)
  • Prerender > should render correctly for SSG pages that starts with api-docs (DD)
  • Prerender > should return data correctly for SSG pages that starts with api-docs (DD)
  • Prerender > should SSR catch-all page with brackets in param as string (DD)
  • Prerender > should navigate to catch-all page with brackets in param as string (DD)
  • Prerender > should SSR catch-all page with brackets in param as object (DD)
  • Prerender > should navigate to catch-all page with brackets in param as object (DD)
  • Prerender > should support prerendered catchall route (DD)
  • Prerender > should support lazy catchall route (DD)
  • Prerender > should support nested lazy catchall route (DD)
  • Prerender > should support prerendered catchall-explicit route (nested) (DD)
  • Prerender > should support prerendered catchall-explicit route (single) (DD)
  • Prerender > should handle fallback only page correctly HTML (DD)
  • Prerender > should handle fallback only page correctly data (DD)
  • Prerender > should 404 for a missing catchall explicit route (DD)
  • Prerender > should 404 for an invalid data url (DD)
  • Prerender > should allow rewriting to SSG page with fallback: false (DD)
  • Prerender > should allow rewriting to SSG page with fallback: 'blocking' (DD)
  • Prerender > should fetch /_next/data correctly with mismatched href and as (DD)
  • Prerender > should not error when rewriting to fallback dynamic SSG page (DD)
  • Prerender > should show warning when large amount of page data is returned (DD)
  • Prerender > should show warning every time page with large amount of page data is returned (DD)
  • Prerender > should not show warning from url prop being returned (DD)
  • Prerender > should always show fallback for page not in getStaticPaths (DD)
  • Prerender > should not show fallback for page in getStaticPaths (DD)
  • Prerender > should never show fallback for page not in getStaticPaths when blocking (DD)
  • Prerender > should not show fallback for page in getStaticPaths when blocking (DD)
  • Prerender > should always call getStaticProps without caching in dev (DD)
  • Prerender > should error on bad object from getStaticProps (DD)
  • Prerender > should error on dynamic page without getStaticPaths (DD)
  • Prerender > should error on dynamic page without getStaticPaths returning fallback property (DD)
  • Prerender > should not re-call getStaticProps when updating query (DD)
  • Prerender > should show fallback before invalid JSON is returned from getStaticProps (DD)
  • Prerender > should not fallback before invalid JSON is returned from getStaticProps when blocking fallback (DD)
  • Prerender > should show error for invalid JSON returned from getStaticProps on SSR (DD)
  • Prerender > should show error for invalid JSON returned from getStaticProps on CST (DD)
  • Prerender > should respond for catch-all deep folder (DD)
Expand output

● Prerender › should navigate between pages successfully

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('p') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:389:32)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/prerender.test.ts:389:50)

● Prerender › should SSR normal page correctly

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  "Internal Server Error"

  574 |     it('should SSR normal page correctly', async () => {
  575 |       const html = await renderViaHTTP(next.url, '/')
> 576 |       expect(html).toMatch(/hello.*?world/)
      |                    ^
  577 |     })
  578 |
  579 |     it('should SSR incremental page correctly', async () => {

  at Object.toMatch (e2e/prerender.test.ts:576:20)

● Prerender › should SSR incremental page correctly

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  581 |
  582 |       const $ = cheerio.load(html)
> 583 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
      |                   ^
  584 |       expect(html).toMatch(/Post:.*?post-1/)
  585 |     })
  586 |

  at Object.parse (e2e/prerender.test.ts:583:19)

● Prerender › should SSR blocking path correctly (blocking)

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  591 |       )
  592 |       const $ = cheerio.load(html)
> 593 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
      |                   ^
  594 |       expect($('p').text()).toBe('Post: random-path')
  595 |     })
  596 |

  at Object.parse (e2e/prerender.test.ts:593:19)

● Prerender › should SSR blocking path correctly (pre-rendered)

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  598 |       const html = await renderViaHTTP(next.url, '/blocking-fallback-some/a')
  599 |       const $ = cheerio.load(html)
> 600 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
      |                   ^
  601 |       expect($('p').text()).toBe('Post: a')
  602 |     })
  603 |

  at Object.parse (e2e/prerender.test.ts:600:19)

● Prerender › should have gsp in NEXT_DATA

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  605 |       const html = await renderViaHTTP(next.url, '/')
  606 |       const $ = cheerio.load(html)
> 607 |       expect(JSON.parse($('#__NEXT_DATA__').text()).gsp).toBe(true)
      |                   ^
  608 |     })
  609 |
  610 |     it('should not have gsp in __NEXT_DATA__ for non-GSP page', async () => {

  at Object.parse (e2e/prerender.test.ts:607:19)

● Prerender › should not have gsp in NEXT_DATA for non-GSP page

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  611 |       const html = await renderViaHTTP(next.url, '/normal')
  612 |       const $ = cheerio.load(html)
> 613 |       expect('gsp' in JSON.parse($('#__NEXT_DATA__').text())).toBe(false)
      |                            ^
  614 |     })
  615 |
  616 |     it('should not supply query values to params or useRouter non-dynamic page SSR', async () => {

  at Object.parse (e2e/prerender.test.ts:613:28)

● Prerender › should not supply query values to params or useRouter non-dynamic page SSR

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  618 |       const $ = cheerio.load(html)
  619 |       const query = $('#query').text()
> 620 |       expect(JSON.parse(query)).toEqual({})
      |                   ^
  621 |       const params = $('#params').text()
  622 |       expect(JSON.parse(params)).toEqual({})
  623 |     })

  at Object.parse (e2e/prerender.test.ts:620:19)

● Prerender › should not supply query values to params in /_next/data request

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  624 |
  625 |     it('should not supply query values to params in /_next/data request', async () => {
> 626 |       const data = JSON.parse(
      |                         ^
  627 |         await renderViaHTTP(
  628 |           next.url,
  629 |           `/_next/data/${next.buildId}/something.json?hello=world`

  at Object.parse (e2e/prerender.test.ts:626:25)

● Prerender › should not supply query values to params or useRouter dynamic page SSR

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  638 |
  639 |       const params = $('#params').text()
> 640 |       expect(JSON.parse(params)).toEqual({ post: 'post-1' })
      |                   ^
  641 |
  642 |       const query = $('#query').text()
  643 |       expect(JSON.parse(query)).toEqual({ post: 'post-1' })

  at Object.parse (e2e/prerender.test.ts:640:19)

● Prerender › should return data correctly

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  645 |
  646 |     it('should return data correctly', async () => {
> 647 |       const data = JSON.parse(
      |                         ^
  648 |         await renderViaHTTP(
  649 |           next.url,
  650 |           `/_next/data/${next.buildId}/something.json`

  at Object.parse (e2e/prerender.test.ts:647:25)

● Prerender › should return data correctly for dynamic page

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  655 |
  656 |     it('should return data correctly for dynamic page', async () => {
> 657 |       const data = JSON.parse(
      |                         ^
  658 |         await renderViaHTTP(
  659 |           next.url,
  660 |           `/_next/data/${next.buildId}/blog/post-1.json`

  at Object.parse (e2e/prerender.test.ts:657:25)

● Prerender › should return data correctly for dynamic page (non-seeded)

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  665 |
  666 |     it('should return data correctly for dynamic page (non-seeded)', async () => {
> 667 |       const data = JSON.parse(
      |                         ^
  668 |         await renderViaHTTP(
  669 |           next.url,
  670 |           `/_next/data/${next.buildId}/blog/post-3.json`

  at Object.parse (e2e/prerender.test.ts:667:25)

● Prerender › should navigate to a normal page and back

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('p') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:755:32)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/prerender.test.ts:755:50)

● Prerender › should parse query values on mount correctly

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#query') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:766:34)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/prerender.test.ts:766:57)

● Prerender › should reload page on failed data request

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#broken-post') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:774:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:774:50)

● Prerender › should SSR dynamic page with brackets in param as object

expect(received).toMatch(expected)

Expected pattern: /Hi \[first\]!/
Received string:  ""

  785 |       const html = await renderViaHTTP(next.url, '/dynamic/[first]')
  786 |       const $ = cheerio.load(html)
> 787 |       expect($('#param').text()).toMatch(/Hi \[first\]!/)
      |                                  ^
  788 |     })
  789 |
  790 |     it('should navigate to dynamic page with brackets in param as object', async () => {

  at Object.toMatch (e2e/prerender.test.ts:787:34)

● Prerender › should navigate to dynamic page with brackets in param as object

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#dynamic-first') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:792:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:792:52)

● Prerender › should SSR dynamic page with brackets in param as string

expect(received).toMatch(expected)

Expected pattern: /Hi \[second\]!/
Received string:  ""

  799 |       const html = await renderViaHTTP(next.url, '/dynamic/[second]')
  800 |       const $ = cheerio.load(html)
> 801 |       expect($('#param').text()).toMatch(/Hi \[second\]!/)
      |                                  ^
  802 |     })
  803 |
  804 |     it('should navigate to dynamic page with brackets in param as string', async () => {

  at Object.toMatch (e2e/prerender.test.ts:801:34)

● Prerender › should navigate to dynamic page with brackets in param as string

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#dynamic-second') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:806:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:806:53)

● Prerender › should not return data for fallback: false and missing dynamic page

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  815 |         `/_next/data/${next.buildId}/dynamic/oopsie.json`
  816 |       )
> 817 |       expect(res1.status).toBe(404)
      |                           ^
  818 |
  819 |       await waitFor(500)
  820 |

  at Object.toBe (e2e/prerender.test.ts:817:27)

● Prerender › should server prerendered path correctly for SSG pages that starts with api-docs

expect(received).toBe(expected) // Object.is equality

Expected: "API Docs"
Received: ""

  838 |       const $ = cheerio.load(html)
  839 |
> 840 |       expect($('#api-docs').text()).toBe('API Docs')
      |                                     ^
  841 |       expect(JSON.parse($('#props').text())).toEqual({
  842 |         hello: 'world',
  843 |       })

  at Object.toBe (e2e/prerender.test.ts:840:37)

● Prerender › should render correctly for SSG pages that starts with api-docs

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#api-docs') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Object.waitForElementByCss (e2e/prerender.test.ts:848:21)

● Prerender › should return data correctly for SSG pages that starts with api-docs

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  859 |         `/_next/data/${next.buildId}/api-docs/first.json`
  860 |       )
> 861 |       const { pageProps } = JSON.parse(data)
      |                                  ^
  862 |
  863 |       expect(pageProps).toEqual({
  864 |         hello: 'world',

  at Object.parse (e2e/prerender.test.ts:861:34)

● Prerender › should SSR catch-all page with brackets in param as string

expect(received).toMatch(expected)

Expected pattern: /Hi \[first\] \[second\]/
Received string:  ""

  872 |       )
  873 |       const $ = cheerio.load(html)
> 874 |       expect($('#catchall').text()).toMatch(/Hi \[first\] \[second\]/)
      |                                     ^
  875 |     })
  876 |
  877 |     it('should navigate to catch-all page with brackets in param as string', async () => {

  at Object.toMatch (e2e/prerender.test.ts:874:37)

● Prerender › should navigate to catch-all page with brackets in param as string

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#catchall-explicit-string') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:879:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:879:63)

● Prerender › should SSR catch-all page with brackets in param as object

expect(received).toMatch(expected)

Expected pattern: /Hi \[third\] \[fourth\]/
Received string:  ""

  889 |       )
  890 |       const $ = cheerio.load(html)
> 891 |       expect($('#catchall').text()).toMatch(/Hi \[third\] \[fourth\]/)
      |                                     ^
  892 |     })
  893 |
  894 |     it('should navigate to catch-all page with brackets in param as object', async () => {

  at Object.toMatch (e2e/prerender.test.ts:891:37)

● Prerender › should navigate to catch-all page with brackets in param as object

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#catchall-explicit-object') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:896:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:896:63)

● Prerender › should support prerendered catchall route

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  925 |
  926 |       expect(
> 927 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
      |              ^
  928 |       ).toBe(false)
  929 |       expect($('#catchall').text()).toMatch(/Hi.*?another value/)
  930 |     })

  at Object.parse (e2e/prerender.test.ts:927:14)

● Prerender › should support lazy catchall route

expect(received).toBe(expected) // Object.is equality

Expected: "fallback"
Received: ""

  933 |       const html = await renderViaHTTP(next.url, '/catchall/notreturnedinpaths')
  934 |       const $ = cheerio.load(html)
> 935 |       expect($('#catchall').text()).toBe('fallback')
      |                                     ^
  936 |
  937 |       // hydration
  938 |       const browser = await webdriver(next.url, '/catchall/delayby3s')

  at Object.toBe (e2e/prerender.test.ts:935:37)

● Prerender › should support nested lazy catchall route

expect(received).toBe(expected) // Object.is equality

Expected: "fallback"
Received: ""

  954 |       )
  955 |       const $ = cheerio.load(html)
> 956 |       expect($('#catchall').text()).toBe('fallback')
      |                                     ^
  957 |
  958 |       // hydration
  959 |       const browser = await webdriver(next.url, '/catchall/delayby3s/nested')

  at Object.toBe (e2e/prerender.test.ts:956:37)

● Prerender › should support prerendered catchall-explicit route (nested)

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  976 |
  977 |       expect(
> 978 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
      |              ^
  979 |       ).toBe(false)
  980 |       expect($('#catchall').text()).toMatch(/Hi.*?another value/)
  981 |     })

  at Object.parse (e2e/prerender.test.ts:978:14)

● Prerender › should support prerendered catchall-explicit route (single)

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  986 |
  987 |       expect(
> 988 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
      |              ^
  989 |       ).toBe(false)
  990 |       expect($('#catchall').text()).toMatch(/Hi.*?second/)
  991 |     })

  at Object.parse (e2e/prerender.test.ts:988:14)

● Prerender › should handle fallback only page correctly HTML

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('p') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:998:34)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/prerender.test.ts:998:52)

● Prerender › should handle fallback only page correctly data

SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
    at JSON.parse (<anonymous>)

  1025 |       it('should handle fallback only page correctly data', async () => {
  1026 |         await next.patchFile('resolve-static-props', '', async () => {
> 1027 |           const data = JSON.parse(
       |                             ^
  1028 |             await renderViaHTTP(
  1029 |               next.url,
  1030 |               `/_next/data/${next.buildId}/fallback-only/second%2Fpost.json`

  at parse (e2e/prerender.test.ts:1027:29)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:677:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:204:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1026:9)

● Prerender › should 404 for a missing catchall explicit route

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  1044 |         '/catchall-explicit/notreturnedinpaths'
  1045 |       )
> 1046 |       expect(res.status).toBe(404)
       |                          ^
  1047 |       const html = await res.text()
  1048 |       expect(html).toMatch(/This page could not be found/)
  1049 |     })

  at Object.toBe (e2e/prerender.test.ts:1046:26)

● Prerender › should 404 for an invalid data url

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  1055 |       // directory itself
  1056 |       if (!isDeploy) {
> 1057 |         expect(res.status).toBe(404)
       |                            ^
  1058 |       }
  1059 |     })
  1060 |

  at Object.toBe (e2e/prerender.test.ts:1057:28)

● Prerender › should allow rewriting to SSG page with fallback: false

expect(received).toMatch(expected)

Expected pattern: /About:.*?en/
Received string:  "Internal Server Error"

  1061 |     it('should allow rewriting to SSG page with fallback: false', async () => {
  1062 |       const html = await renderViaHTTP(next.url, '/about')
> 1063 |       expect(html).toMatch(/About:.*?en/)
       |                    ^
  1064 |     })
  1065 |
  1066 |     it("should allow rewriting to SSG page with fallback: 'blocking'", async () => {

  at Object.toMatch (e2e/prerender.test.ts:1063:20)

● Prerender › should allow rewriting to SSG page with fallback: 'blocking'

expect(received).toMatch(expected)

Expected pattern: /Post:.*?blocked-create/
Received string:  "Internal Server Error"

  1066 |     it("should allow rewriting to SSG page with fallback: 'blocking'", async () => {
  1067 |       const html = await renderViaHTTP(next.url, '/blocked-create')
> 1068 |       expect(html).toMatch(/Post:.*?blocked-create/)
       |                    ^
  1069 |     })
  1070 |
  1071 |     it('should fetch /_next/data correctly with mismatched href and as', async () => {

  at Object.toMatch (e2e/prerender.test.ts:1068:20)

● Prerender › should fetch /_next/data correctly with mismatched href and as

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#to-rewritten-ssg') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:1093:21)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:1093:55)

● Prerender › should not error when rewriting to fallback dynamic SSG page

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1098 |     })
  1099 |
> 1100 |     it('should not error when rewriting to fallback dynamic SSG page', async () => {
       |     ^
  1101 |       const item = Math.round(Math.random() * 100)
  1102 |       const browser = await webdriver(next.url, `/some-rewrite/${item}`)
  1103 |

  at it (e2e/prerender.test.ts:1100:5)
  at runTests (e2e/prerender.test.ts:2642:3)
  at Object.describe (e2e/prerender.test.ts:24:1)

● Prerender › should show warning when large amount of page data is returned

TIMED OUT: /Warning: data for page "\/large-page-data" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/

   ▲ Next.js 16.0.2-canary.1 (Turbopack)
   - Local:         http://localhost:42417
   - Network:       http://65.108.38.184:42417

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-30b1d924e9dc67c38ba6023f81a8dbabbf4a8d0a9a308eb004a8d7ae519466bd',
  testMode: true
}
 ✓ Ready in 257ms
 GET /another 200 in 786ms (compile: 651ms, render: 136ms)
 GET /normal 200 in 787ms (compile: 732ms, render: 54ms)
 GET /something 200 in 788ms (compile: 753ms, render: 35ms)
 GET / 200 in 792ms (compile: 770ms, render: 22ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1/comment-1 500 in 1369ms (compile: 1352ms, render: 17ms)
 GET /blog/post-1/comment-1 500 in 1369ms (compile: 1352ms, render: 17ms)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/first 500 in 1385ms (compile: 1372ms, render: 13ms)
 GET /catchall/first 500 in 1385ms (compile: 1372ms, render: 13ms)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 1440ms (compile: 1431ms, render: 9ms)
 GET /blog/post-1 500 in 1440ms (compile: 1431ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 135ms (compile: 125ms, render: 10ms)
 GET / 500 in 135ms (compile: 125ms, render: 10ms)
 POST / 405 in 1720µs
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 147ms (compile: 138ms, render: 10ms)
 GET / 500 in 147ms (compile: 138ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 333ms (compile: 324ms, render: 10ms)
 GET /blog/post-1 500 in 333ms (compile: 324ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocking-fallback/random-path 500 in 378ms (compile: 369ms, render: 9ms)
 GET /blocking-fallback/random-path 500 in 378ms (compile: 369ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocking-fallback-some/a 500 in 348ms (compile: 338ms, render: 10ms)
 GET /blocking-fallback-some/a 500 in 348ms (compile: 338ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 134ms (compile: 125ms, render: 9ms)
 GET / 500 in 134ms (compile: 125ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /normal 500 in 128ms (compile: 119ms, render: 9ms)
 GET /normal 500 in 128ms (compile: 119ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /something?hello=world 500 in 132ms (compile: 123ms, render: 9ms)
 GET /something?hello=world 500 in 132ms (compile: 123ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json?hello=world 500 in 133ms (compile: 123ms, render: 10ms)
 GET /_next/data/development/something.json?hello=world 500 in 133ms (compile: 123ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1?hello=world 500 in 323ms (compile: 313ms, render: 9ms)
 GET /blog/post-1?hello=world 500 in 323ms (compile: 313ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json 500 in 136ms (compile: 127ms, render: 10ms)
 GET /_next/data/development/something.json 500 in 136ms (compile: 127ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-1.json 500 in 310ms (compile: 301ms, render: 9ms)
 GET /_next/data/development/blog/post-1.json 500 in 310ms (compile: 301ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-3.json 500 in 311ms (compile: 302ms, render: 9ms)
 GET /_next/data/development/blog/post-3.json 500 in 311ms (compile: 302ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 135ms (compile: 126ms, render: 9ms)
 GET / 500 in 135ms (compile: 126ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1?another=value 500 in 317ms (compile: 307ms, render: 10ms)
 GET /blog/post-1?another=value 500 in 317ms (compile: 307ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 171ms (compile: 162ms, render: 9ms)
 GET / 500 in 171ms (compile: 162ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /dynamic/[first] 500 in 350ms (compile: 339ms, render: 12ms)
 GET /dynamic/[first] 500 in 350ms (compile: 339ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 149ms (compile: 137ms, render: 12ms)
 GET / 500 in 149ms (compile: 137ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /dynamic/[second] 500 in 270ms (compile: 261ms, render: 9ms)
 GET /dynamic/[second] 500 in 270ms (compile: 261ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 148ms (compile: 136ms, render: 12ms)
 GET / 500 in 148ms (compile: 136ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/dynamic/oopsie.json 500 in 268ms (compile: 256ms, render: 12ms)
 GET /_next/data/development/dynamic/oopsie.json 500 in 268ms (compile: 256ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /api-docs/first 500 in 347ms (compile: 336ms, render: 12ms)
 GET /api-docs/first 500 in 347ms (compile: 336ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 267ms (compile: 256ms, render: 11ms)
 GET /api-docs/second 500 in 267ms (compile: 256ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/api-docs/first.json 500 in 295ms (compile: 282ms, render: 14ms)
 GET /_next/data/development/api-docs/first.json 500 in 295ms (compile: 282ms, render: 14ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[first]/[second] 500 in 333ms (compile: 323ms, render: 9ms)
 GET /catchall-explicit/[first]/[second] 500 in 333ms (compile: 323ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 151ms (compile: 141ms, render: 11ms)
 GET / 500 in 151ms (compile: 141ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[third]/[fourth] 500 in 269ms (compile: 255ms, render: 15ms)
 GET /catchall-explicit/[third]/[fourth] 500 in 269ms (compile: 255ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 151ms (compile: 142ms, render: 9ms)
 GET / 500 in 151ms (compile: 142ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/another/value 500 in 161ms (compile: 150ms, render: 12ms)
 GET /catchall/another/value 500 in 161ms (compile: 150ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths 500 in 149ms (compile: 137ms, render: 12ms)
 GET /catchall/notreturnedinpaths 500 in 149ms (compile: 137ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths/nested 500 in 273ms (compile: 264ms, render: 9ms)
 GET /catchall/notreturnedinpaths/nested 500 in 273ms (compile: 264ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/another/value 500 in 255ms (compile: 246ms, render: 9ms)
 GET /catchall-explicit/another/value 500 in 255ms (compile: 246ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/second 500 in 255ms (compile: 246ms, render: 9ms)
 GET /catchall-explicit/second 500 in 255ms (compile: 246ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 353ms (compile: 342ms, render: 11ms)
 GET /fallback-only/first%2Fpost 500 in 353ms (compile: 342ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 269ms (compile: 255ms, render: 15ms)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 270ms (compile: 255ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/notreturnedinpaths 500 in 274ms (compile: 259ms, render: 15ms)
 GET /catchall-explicit/notreturnedinpaths 500 in 274ms (compile: 259ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development 500 in 85ms (compile: 70ms, render: 15ms)
 GET /_next/data/development 500 in 85ms (compile: 70ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /about 500 in 315ms (compile: 306ms, render: 9ms)
 GET /about 500 in 315ms (compile: 306ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocked-create 500 in 269ms (compile: 259ms, render: 10ms)
 GET /blocked-create 500 in 269ms (compile: 259ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 127ms (compile: 118ms, render: 9ms)
 GET / 500 in 127ms (compile: 118ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-46'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-46'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /some-rewrite/46 500 in 330ms (compile: 315ms, render: 15ms)
 GET /some-rewrite/46 500 in 330ms (compile: 315ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /large-page-data 500 in 245ms (compile: 235ms, render: 10ms)
 GET /large-page-data 500 in 245ms (compile: 235ms, render: 10ms)


undefined

  724 |   }
  725 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 726 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  727 | }
  728 |
  729 | export class File {

  at check (lib/next-test-utils.ts:726:9)
  at Object.<anonymous> (e2e/prerender.test.ts:1119:7)

● Prerender › should show warning every time page with large amount of page data is returned

TIMED OUT: /Warning: data for page "\/large-page-data-ssr" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/

   ▲ Next.js 16.0.2-canary.1 (Turbopack)
   - Local:         http://localhost:42417
   - Network:       http://65.108.38.184:42417

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-30b1d924e9dc67c38ba6023f81a8dbabbf4a8d0a9a308eb004a8d7ae519466bd',
  testMode: true
}
 ✓ Ready in 257ms
 GET /another 200 in 786ms (compile: 651ms, render: 136ms)
 GET /normal 200 in 787ms (compile: 732ms, render: 54ms)
 GET /something 200 in 788ms (compile: 753ms, render: 35ms)
 GET / 200 in 792ms (compile: 770ms, render: 22ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1/comment-1 500 in 1369ms (compile: 1352ms, render: 17ms)
 GET /blog/post-1/comment-1 500 in 1369ms (compile: 1352ms, render: 17ms)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/first 500 in 1385ms (compile: 1372ms, render: 13ms)
 GET /catchall/first 500 in 1385ms (compile: 1372ms, render: 13ms)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 1440ms (compile: 1431ms, render: 9ms)
 GET /blog/post-1 500 in 1440ms (compile: 1431ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 135ms (compile: 125ms, render: 10ms)
 GET / 500 in 135ms (compile: 125ms, render: 10ms)
 POST / 405 in 1720µs
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 147ms (compile: 138ms, render: 10ms)
 GET / 500 in 147ms (compile: 138ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 333ms (compile: 324ms, render: 10ms)
 GET /blog/post-1 500 in 333ms (compile: 324ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocking-fallback/random-path 500 in 378ms (compile: 369ms, render: 9ms)
 GET /blocking-fallback/random-path 500 in 378ms (compile: 369ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocking-fallback-some/a 500 in 348ms (compile: 338ms, render: 10ms)
 GET /blocking-fallback-some/a 500 in 348ms (compile: 338ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 134ms (compile: 125ms, render: 9ms)
 GET / 500 in 134ms (compile: 125ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /normal 500 in 128ms (compile: 119ms, render: 9ms)
 GET /normal 500 in 128ms (compile: 119ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /something?hello=world 500 in 132ms (compile: 123ms, render: 9ms)
 GET /something?hello=world 500 in 132ms (compile: 123ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json?hello=world 500 in 133ms (compile: 123ms, render: 10ms)
 GET /_next/data/development/something.json?hello=world 500 in 133ms (compile: 123ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1?hello=world 500 in 323ms (compile: 313ms, render: 9ms)
 GET /blog/post-1?hello=world 500 in 323ms (compile: 313ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json 500 in 136ms (compile: 127ms, render: 10ms)
 GET /_next/data/development/something.json 500 in 136ms (compile: 127ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-1.json 500 in 310ms (compile: 301ms, render: 9ms)
 GET /_next/data/development/blog/post-1.json 500 in 310ms (compile: 301ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-3.json 500 in 311ms (compile: 302ms, render: 9ms)
 GET /_next/data/development/blog/post-3.json 500 in 311ms (compile: 302ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 135ms (compile: 126ms, render: 9ms)
 GET / 500 in 135ms (compile: 126ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blog/post-1?another=value 500 in 317ms (compile: 307ms, render: 10ms)
 GET /blog/post-1?another=value 500 in 317ms (compile: 307ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 171ms (compile: 162ms, render: 9ms)
 GET / 500 in 171ms (compile: 162ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /dynamic/[first] 500 in 350ms (compile: 339ms, render: 12ms)
 GET /dynamic/[first] 500 in 350ms (compile: 339ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 149ms (compile: 137ms, render: 12ms)
 GET / 500 in 149ms (compile: 137ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /dynamic/[second] 500 in 270ms (compile: 261ms, render: 9ms)
 GET /dynamic/[second] 500 in 270ms (compile: 261ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 148ms (compile: 136ms, render: 12ms)
 GET / 500 in 148ms (compile: 136ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/dynamic/oopsie.json 500 in 268ms (compile: 256ms, render: 12ms)
 GET /_next/data/development/dynamic/oopsie.json 500 in 268ms (compile: 256ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /api-docs/first 500 in 347ms (compile: 336ms, render: 12ms)
 GET /api-docs/first 500 in 347ms (compile: 336ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 267ms (compile: 256ms, render: 11ms)
 GET /api-docs/second 500 in 267ms (compile: 256ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/api-docs/first.json 500 in 295ms (compile: 282ms, render: 14ms)
 GET /_next/data/development/api-docs/first.json 500 in 295ms (compile: 282ms, render: 14ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[first]/[second] 500 in 333ms (compile: 323ms, render: 9ms)
 GET /catchall-explicit/[first]/[second] 500 in 333ms (compile: 323ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 151ms (compile: 141ms, render: 11ms)
 GET / 500 in 151ms (compile: 141ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[third]/[fourth] 500 in 269ms (compile: 255ms, render: 15ms)
 GET /catchall-explicit/[third]/[fourth] 500 in 269ms (compile: 255ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 151ms (compile: 142ms, render: 9ms)
 GET / 500 in 151ms (compile: 142ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/another/value 500 in 161ms (compile: 150ms, render: 12ms)
 GET /catchall/another/value 500 in 161ms (compile: 150ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths 500 in 149ms (compile: 137ms, render: 12ms)
 GET /catchall/notreturnedinpaths 500 in 149ms (compile: 137ms, render: 12ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths/nested 500 in 273ms (compile: 264ms, render: 9ms)
 GET /catchall/notreturnedinpaths/nested 500 in 273ms (compile: 264ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/another/value 500 in 255ms (compile: 246ms, render: 9ms)
 GET /catchall-explicit/another/value 500 in 255ms (compile: 246ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/second 500 in 255ms (compile: 246ms, render: 9ms)
 GET /catchall-explicit/second 500 in 255ms (compile: 246ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 353ms (compile: 342ms, render: 11ms)
 GET /fallback-only/first%2Fpost 500 in 353ms (compile: 342ms, render: 11ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 269ms (compile: 255ms, render: 15ms)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 270ms (compile: 255ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/notreturnedinpaths 500 in 274ms (compile: 259ms, render: 15ms)
 GET /catchall-explicit/notreturnedinpaths 500 in 274ms (compile: 259ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /_next/data/development 500 in 85ms (compile: 70ms, render: 15ms)
 GET /_next/data/development 500 in 85ms (compile: 70ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /about 500 in 315ms (compile: 306ms, render: 9ms)
 GET /about 500 in 315ms (compile: 306ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /blocked-create 500 in 269ms (compile: 259ms, render: 10ms)
 GET /blocked-create 500 in 269ms (compile: 259ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET / 500 in 127ms (compile: 118ms, render: 9ms)
 GET / 500 in 127ms (compile: 118ms, render: 9ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-46'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/blog/post-46'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /some-rewrite/46 500 in 330ms (compile: 315ms, render: 15ms)
 GET /some-rewrite/46 500 in 330ms (compile: 315ms, render: 15ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /large-page-data 500 in 245ms (compile: 235ms, render: 10ms)
 GET /large-page-data 500 in 245ms (compile: 235ms, render: 10ms)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data-ssr'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>) {
  page: '/large-page-data-ssr'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
SyntaxError: Unexpected non-whitespace character after JSON at position 614
    at JSON.parse (<anonymous>)
 GET /large-page-data-ssr 500 in 255ms (compile: 245ms, render: 10ms)
 GET /large-page-data-ssr 500 in 255ms (compile: 245ms, render: 10ms)


undefined

  724 |   }
  725 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 726 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  727 | }
  728 |
  729 | export class File {

  at check (lib/next-test-utils.ts:726:9)
  at Object.<anonymous> (e2e/prerender.test.ts:1133:9)

● Prerender › should not show warning from url prop being returned

expect(received).toMatch(expected)

Expected pattern: /url:.*?something/
Received string:  "Internal Server Error"

  1182 |                 /The prop `url` is a reserved prop in Next.js for legacy reasons and will be overridden on page \/url-prop/
  1183 |               )
> 1184 |               expect(html).toMatch(/url:.*?something/)
       |                            ^
  1185 |             })
  1186 |         )
  1187 |       })

  at toMatch (e2e/prerender.test.ts:1184:28)
  at retry (lib/next-test-utils.ts:797:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:677:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:204:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1165:9)

● Prerender › should always show fallback for page not in getStaticPaths

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  1190 |         const html = await renderViaHTTP(next.url, '/blog/post-321')
  1191 |         const $ = cheerio.load(html)
> 1192 |         expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(true)
       |                     ^
  1193 |
  1194 |         // make another request to ensure it still is
  1195 |         const html2 = await renderViaHTTP(next.url, '/blog/post-321')

  at Object.parse (e2e/prerender.test.ts:1192:21)

● Prerender › should not show fallback for page in getStaticPaths

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  1201 |         const html = await renderViaHTTP(next.url, '/blog/post-1')
  1202 |         const $ = cheerio.load(html)
> 1203 |         expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
       |                     ^
  1204 |
  1205 |         // make another request to ensure it's still not
  1206 |         const html2 = await renderViaHTTP(next.url, '/blog/post-1')

  at Object.parse (e2e/prerender.test.ts:1203:21)

● Prerender › should never show fallback for page not in getStaticPaths when blocking

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  1215 |         )
  1216 |         const $ = cheerio.load(html)
> 1217 |         expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
       |                     ^
  1218 |
  1219 |         // make another request to ensure it still is
  1220 |         const html2 = await renderViaHTTP(

  at Object.parse (e2e/prerender.test.ts:1217:21)

● Prerender › should not show fallback for page in getStaticPaths when blocking

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  1229 |         const html = await renderViaHTTP(next.url, '/blocking-fallback-some/b')
  1230 |         const $ = cheerio.load(html)
> 1231 |         expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
       |                     ^
  1232 |
  1233 |         // make another request to ensure it's still not
  1234 |         const html2 = await renderViaHTTP(next.url, '/blocking-fallback-some/b')

  at Object.parse (e2e/prerender.test.ts:1231:21)

● Prerender › should always call getStaticProps without caching in dev

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  "Internal Server Error"

  1243 |         )
  1244 |         const initialHtml = await initialRes.text()
> 1245 |         expect(initialHtml).toMatch(/hello.*?world/)
       |                             ^
  1246 |
  1247 |         const newRes = await fetchViaHTTP(next.url, '/something')
  1248 |         expect(isCachingHeader(newRes.headers.get('cache-control'))).toBe(false)

  at Object.toMatch (e2e/prerender.test.ts:1245:29)

● Prerender › should error on bad object from getStaticProps

expect(received).toMatch(expected)

Expected pattern: /Additional keys were returned/
Received string:  "Internal Server Error"

  1267 |             retry(async () => {
  1268 |               const html = await renderViaHTTP(next.url, '/')
> 1269 |               expect(html).toMatch(/Additional keys were returned/)
       |                            ^
  1270 |             })
  1271 |         )
  1272 |       })

  at toMatch (e2e/prerender.test.ts:1269:28)
  at retry (lib/next-test-utils.ts:797:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:677:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:204:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1263:9)

● Prerender › should error on dynamic page without getStaticPaths

expect(received).toMatch(expected)

Expected pattern: /getStaticPaths is required for dynamic SSG pages and is missing for/
Received string:  "Internal Server Error"

  1288 |             retry(async () => {
  1289 |               const html = await renderViaHTTP(next.url, '/temp/hello')
> 1290 |               expect(html).toMatch(
       |                            ^
  1291 |                 /getStaticPaths is required for dynamic SSG pages and is missing for/
  1292 |               )
  1293 |             })

  at toMatch (e2e/prerender.test.ts:1290:28)
  at retry (lib/next-test-utils.ts:797:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:677:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:204:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1275:9)

● Prerender › should error on dynamic page without getStaticPaths returning fallback property

expect(received).toMatch(expected)

Expected pattern: /`fallback` key must be returned from/
Received string:  "Internal Server Error"

  1316 |             retry(async () => {
  1317 |               const html = await renderViaHTTP(next.url, '/temp2/hello')
> 1318 |               expect(html).toMatch(/`fallback` key must be returned from/)
       |                            ^
  1319 |             })
  1320 |         )
  1321 |       })

  at toMatch (e2e/prerender.test.ts:1318:28)
  at retry (lib/next-test-utils.ts:797:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:677:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:204:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1298:9)

● Prerender › should not re-call getStaticProps when updating query

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#query') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:1327:37)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/prerender.test.ts:1327:60)

● Prerender › should show fallback before invalid JSON is returned from getStaticProps

expect(received).toContain(expected) // indexOf

Expected substring: "\"isFallback\":true"
Received string:    "Internal Server Error"

  1340 |       it('should show fallback before invalid JSON is returned from getStaticProps', async () => {
  1341 |         const html = await renderViaHTTP(next.url, '/non-json/foobar')
> 1342 |         expect(html).toContain('"isFallback":true')
       |                      ^
  1343 |       })
  1344 |
  1345 |       it('should not fallback before invalid JSON is returned from getStaticProps when blocking fallback', async () => {

  at Object.toContain (e2e/prerender.test.ts:1342:22)

● Prerender › should not fallback before invalid JSON is returned from getStaticProps when blocking fallback

expect(received).toContain(expected) // indexOf

Expected substring: "\"isFallback\":false"
Received string:    "Internal Server Error"

  1345 |       it('should not fallback before invalid JSON is returned from getStaticProps when blocking fallback', async () => {
  1346 |         const html = await renderViaHTTP(next.url, '/non-json-blocking/foobar')
> 1347 |         expect(html).toContain('"isFallback":false')
       |                      ^
  1348 |       })
  1349 |
  1350 |       it('should show error for invalid JSON returned from getStaticProps on SSR', async () => {

  at Object.toContain (e2e/prerender.test.ts:1347:22)

● Prerender › should show error for invalid JSON returned from getStaticProps on SSR

Expected Redbox but found no visible one.

  1357 |
  1358 |         // FIXME: disable this
> 1359 |         await waitForRedbox(browser)
       |         ^
  1360 |         expect(await getRedboxHeader(browser)).toMatch(
  1361 |           /Failed to load static props/
  1362 |         )

  at Object.<anonymous> (e2e/prerender.test.ts:1359:9)

● Prerender › should show error for invalid JSON returned from getStaticProps on CST

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#non-json') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/prerender.test.ts:1367:23)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)
  at Object.click (e2e/prerender.test.ts:1367:49)

● Prerender › should respond for catch-all deep folder

expect(received).toBe(expected) // Object.is equality

Expected: 200
Received: 500

  2621 |         `/_next/data/${next.buildId}/catchall/first/second/third.json`
  2622 |       )
> 2623 |       expect(res.status).toBe(200)
       |                          ^
  2624 |       expect(await res.text()).toContain('["first","second","third"]')
  2625 |     })
  2626 |

  at Object.toBe (e2e/prerender.test.ts:2623:26)

pnpm test-dev test/e2e/app-dir/no-double-tailwind-execution/no-double-tailwind-execution.test.ts

  • no-double-tailwind-execution > should run tailwind only once initially and per change (DD)
Expand output

● no-double-tailwind-execution › should run tailwind only once initially and per change

expect(received).toBe(expected) // Object.is equality

Expected: 3
Received: 2

  48 |     ].length
  49 |     if (isNextDev) {
> 50 |       expect(tailwindProcessingCount).toBe(3) // dev: initial + hmr + hmr (revert)
     |                                       ^
  51 |     } else {
  52 |       expect(tailwindProcessingCount).toBe(1) // build
  53 |     }

  at Object.toBe (e2e/app-dir/no-double-tailwind-execution/no-double-tailwind-execution.test.ts:50:39)

@ijjk
Copy link
Member

ijjk commented Oct 28, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
buildDuration 21s 18s N/A
buildDurationCached 16.9s 13.8s N/A
nodeModulesSize 454 MB 454 MB
nextStartRea..uration (ms) 689ms 708ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
436-HASH.js gzip 5.32 kB 5.32 kB N/A
4779.HASH.js gzip 169 B 169 B
9760-HASH.js gzip 54.9 kB 54.6 kB N/A
c57d0559-HASH.js gzip 62 kB 62.1 kB N/A
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 254 B 257 B N/A
main-HASH.js gzip 39.7 kB 39.8 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB
Overall change 61.7 kB 61.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
_app-HASH.js gzip 193 B 194 B N/A
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 334 B 334 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB N/A
edge-ssr-HASH.js gzip 255 B 254 B N/A
head-HASH.js gzip 350 B 351 B N/A
hooks-HASH.js gzip 384 B 384 B
image-HASH.js gzip 4.78 kB 4.77 kB N/A
index-HASH.js gzip 260 B 259 B N/A
link-HASH.js gzip 2.5 kB 2.5 kB N/A
routerDirect..HASH.js gzip 316 B 320 B N/A
script-HASH.js gzip 388 B 388 B
withRouter-HASH.js gzip 316 B 314 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.39 kB 1.39 kB
Client Build Manifests
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
_buildManifest.js gzip 718 B 720 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
index.html gzip 524 B 523 B N/A
link.html gzip 538 B 538 B
withRouter.html gzip 521 B 519 B N/A
Overall change 538 B 538 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 259 kB 260 kB ⚠️ +1.12 kB
Overall change 259 kB 260 kB ⚠️ +1.12 kB
Middleware size
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
middleware-b..fest.js gzip 636 B 638 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 32.9 kB 32.9 kB
edge-runtime..pack.js gzip 846 B 846 B
Overall change 33.9 kB 33.9 kB
Next Runtimes
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
app-page-exp...dev.js gzip 296 kB 296 kB N/A
app-page-exp..prod.js gzip 162 kB 162 kB
app-page-tur...dev.js gzip 295 kB 295 kB
app-page-tur..prod.js gzip 162 kB 162 kB
app-page-tur...dev.js gzip 292 kB 292 kB N/A
app-page-tur..prod.js gzip 159 kB 159 kB
app-page.run...dev.js gzip 292 kB 292 kB N/A
app-page.run..prod.js gzip 159 kB 159 kB
app-route-ex...dev.js gzip 70.8 kB 70.8 kB
app-route-ex..prod.js gzip 49.4 kB 49.4 kB
app-route-tu...dev.js gzip 70.8 kB 70.8 kB
app-route-tu..prod.js gzip 49.4 kB 49.4 kB
app-route-tu...dev.js gzip 70.4 kB 70.4 kB
app-route-tu..prod.js gzip 49.1 kB 49.1 kB
app-route.ru...dev.js gzip 70.4 kB 70.4 kB
app-route.ru..prod.js gzip 49.1 kB 49.1 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 43.3 kB 43.3 kB
pages-api-tu..prod.js gzip 33.2 kB 33.2 kB
pages-api.ru...dev.js gzip 43.3 kB 43.3 kB
pages-api.ru..prod.js gzip 33.1 kB 33.1 kB
pages-turbo....dev.js gzip 52.8 kB 52.8 kB
pages-turbo...prod.js gzip 40.1 kB 40.1 kB
pages.runtim...dev.js gzip 52.8 kB 52.8 kB
pages.runtim..prod.js gzip 40 kB 40 kB
server.runti..prod.js gzip 78.9 kB 78.9 kB
Overall change 1.83 MB 1.83 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sebbie/10-28-test_assert-_waitfor_when_the_util_is_not_instant Change
0.pack gzip 3.25 MB 3.26 MB ⚠️ +9.44 kB
index.pack gzip 95 kB 94.5 kB N/A
Overall change 3.25 MB 3.26 MB ⚠️ +9.44 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 1033: /***/ (
+    /***/ 431: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(6490);
+          return __webpack_require__(8084);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5323: /***/ (
+    /***/ 2699: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(2223)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(9289);
+      const _loadablecontextsharedruntime = __webpack_require__(3785);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -293,73 +293,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 6490: /***/ (
+    /***/ 3785: /***/ (
       __unused_webpack_module,
-      __webpack_exports__,
+      exports,
       __webpack_require__
     ) => {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
       });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1503);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7320);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        () =>
-          __webpack_require__
-            .e(/* import() */ 4779)
-            .then(__webpack_require__.bind(__webpack_require__, 4779))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 4779],
-          },
-        }
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(2223)
       );
-      const Page = () =>
-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
-                children: "testing next/dynamic size",
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                DynamicHello,
-                {}
-              ),
-            ],
-          }
-        );
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
-      /***/
-    },
-
-    /***/ 7320: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7340);
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
 
       /***/
     },
 
-    /***/ 7340: /***/ (module, exports, __webpack_require__) => {
+    /***/ 6828: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -392,7 +353,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(2223)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5323)
+        __webpack_require__(2699)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -492,29 +453,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 9289: /***/ (
+    /***/ 7514: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6828);
+
+      /***/
+    },
+
+    /***/ 8084: /***/ (
       __unused_webpack_module,
-      exports,
+      __webpack_exports__,
       __webpack_require__
     ) => {
       "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
       });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2223)
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1503);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(7514);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 9573)
+            .then(__webpack_require__.bind(__webpack_require__, 9573))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 9573],
+          },
+        }
       );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+                children: "testing next/dynamic size",
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+                DynamicHello,
+                {}
+              ),
+            ],
+          }
+        );
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
 
       /***/
     },
@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1033)
+      __webpack_exec__(431)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [676],
   {
-    /***/ 1819: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/edge-ssr",
-        function () {
-          return __webpack_require__(7521);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7521: /***/ (
+    /***/ 983: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -37,13 +20,30 @@
 
       /***/
     },
+
+    /***/ 985: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/edge-ssr",
+        function () {
+          return __webpack_require__(983);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1819)
+      __webpack_exec__(985)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 619: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/head",
-        function () {
-          return __webpack_require__(9891);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7997: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(6705);
-
-      /***/
-    },
-
-    /***/ 9891: /***/ (
+    /***/ 1417: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7997);
+        __webpack_require__(5171);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +49,40 @@
 
       /***/
     },
+
+    /***/ 1937: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/head",
+        function () {
+          return __webpack_require__(1417);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 5171: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(7505);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(619)
+      __webpack_exec__(1937)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1679: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(4655);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 4655: /***/ (
+    /***/ 1598: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 3925: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(1598);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1679)
+      __webpack_exec__(3925)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 797: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/image",
-        function () {
-          return __webpack_require__(5999);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 1713: /***/ (__unused_webpack_module, exports) => {
+    /***/ 881: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -58,7 +41,7 @@
       /***/
     },
 
-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -136,7 +119,137 @@
       /***/
     },
 
-    /***/ 2728: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1744: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
+          return _default;
+        },
+      });
+      const _findclosestquality = __webpack_require__(7054);
+      function defaultLoader({ config, src, width, quality }) {
+        if (
+          src.startsWith("/") &&
+          src.includes("?") &&
+          config.localPatterns?.length === 1 &&
+          config.localPatterns[0].pathname === "**" &&
+          config.localPatterns[0].search === ""
+        ) {
+          throw Object.defineProperty(
+            new Error(
+              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
+                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
+            ),
+            "__NEXT_ERROR_CODE",
+            {
+              value: "E871",
+              enumerable: false,
+              configurable: true,
+            }
+          );
+        }
+        if (false) {
+        }
+        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
+        return `${config.path}?url=${encodeURIComponent(
+          src
+        )}&w=${width}&q=${q}${
+          src.startsWith("/_next/static/media/") && false ? 0 : ""
+        }`;
+      }
+      // We use this to determine if the import is the default loader
+      // or a custom loader defined by the user in next.config.js
+      defaultLoader.__next_img_default = true;
+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+      /***/
+    },
+
+    /***/ 2388: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      // ESM COMPAT FLAG
+      __webpack_require__.r(__webpack_exports__);
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: () => /* binding */ __N_SSP,
+        default: () => /* binding */ pages_image,
+      });
+
+      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(1503);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js
+      var next_image = __webpack_require__(3866);
+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+      /* harmony default export */ const nextjs = {
+        src: "/_next/static/media/nextjs.cae0b805.png",
+        height: 1347,
+        width: 1626,
+        blurDataURL:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+        blurWidth: 8,
+        blurHeight: 7,
+      }; // ./pages/image.js
+      function ImagePage(props) {
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+              children: "next/image example",
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+              src: nextjs,
+              placeholder: "blur",
+            }),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const pages_image = ImagePage;
+
+      /***/
+    },
+
+    /***/ 3866: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6888);
+
+      /***/
+    },
+
+    /***/ 4483: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/image",
+        function () {
+          return __webpack_require__(2388);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6600: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -158,17 +271,17 @@
         __webpack_require__(9507)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6705)
+        __webpack_require__(7505)
       );
-      const _getimgprops = __webpack_require__(3556);
-      const _imageconfig = __webpack_require__(3157);
-      const _imageconfigcontextsharedruntime = __webpack_require__(9323);
-      const _warnonce = __webpack_require__(6173);
-      const _routercontextsharedruntime = __webpack_require__(6046);
+      const _getimgprops = __webpack_require__(9588);
+      const _imageconfig = __webpack_require__(2645);
+      const _imageconfigcontextsharedruntime = __webpack_require__(5451);
+      const _warnonce = __webpack_require__(7549);
+      const _routercontextsharedruntime = __webpack_require__(5470);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
+        __webpack_require__(1744)
       );
-      const _usemergedref = __webpack_require__(2263);
+      const _usemergedref = __webpack_require__(1511);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -495,7 +608,96 @@
       /***/
     },
 
-    /***/ 3556: /***/ (
+    /***/ 6888: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        default: function () {
+          return _default;
+        },
+        getImageProps: function () {
+          return getImageProps;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _getimgprops = __webpack_require__(9588);
+      const _imagecomponent = __webpack_require__(6600);
+      const _imageloader = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1744)
+      );
+      function getImageProps(imgProps) {
+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+          defaultLoader: _imageloader.default,
+          // This is replaced by webpack define plugin
+          imgConf: {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [32, 48, 64, 96, 128, 256, 384],
+            qualities: [75],
+            path: "/_next/image",
+            loader: "default",
+            dangerouslyAllowSVG: false,
+            unoptimized: false,
+          },
+        });
+        // Normally we don't care about undefined props because we pass to JSX,
+        // but this exported function could be used by the end user for anything
+        // so we delete undefined props to clean it up a little.
+        for (const [key, value] of Object.entries(props)) {
+          if (value === undefined) {
+            delete props[key];
+          }
+        }
+        return {
+          props,
+        };
+      }
+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
+
+      /***/
+    },
+
+    /***/ 7054: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "findClosestQuality", {
+        enumerable: true,
+        get: function () {
+          return findClosestQuality;
+        },
+      });
+      function findClosestQuality(quality, config) {
+        const q = quality || 75;
+        if (!config?.qualities?.length) {
+          return q;
+        }
+        return config.qualities.reduce(
+          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
+          0
+        );
+      } //# sourceMappingURL=find-closest-quality.js.map
+
+      /***/
+    },
+
+    /***/ 9588: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -511,9 +713,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(6173);
-      const _imageblursvg = __webpack_require__(1713);
-      const _imageconfig = __webpack_require__(3157);
+      const _warnonce = __webpack_require__(7549);
+      const _imageblursvg = __webpack_require__(881);
+      const _imageconfig = __webpack_require__(2645);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -943,215 +1145,13 @@
 
       /***/
     },
-
-    /***/ 3744: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const _findclosestquality = __webpack_require__(8494);
-      function defaultLoader({ config, src, width, quality }) {
-        if (
-          src.startsWith("/") &&
-          src.includes("?") &&
-          config.localPatterns?.length === 1 &&
-          config.localPatterns[0].pathname === "**" &&
-          config.localPatterns[0].search === ""
-        ) {
-          throw Object.defineProperty(
-            new Error(
-              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
-                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
-            ),
-            "__NEXT_ERROR_CODE",
-            {
-              value: "E871",
-              enumerable: false,
-              configurable: true,
-            }
-          );
-        }
-        if (false) {
-        }
-        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
-        return `${config.path}?url=${encodeURIComponent(
-          src
-        )}&w=${width}&q=${q}${
-          src.startsWith("/_next/static/media/") && false ? 0 : ""
-        }`;
-      }
-      // We use this to determine if the import is the default loader
-      // or a custom loader defined by the user in next.config.js
-      defaultLoader.__next_img_default = true;
-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
-      /***/
-    },
-
-    /***/ 4292: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7896);
-
-      /***/
-    },
-
-    /***/ 5999: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      // ESM COMPAT FLAG
-      __webpack_require__.r(__webpack_exports__);
-
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        __N_SSP: () => /* binding */ __N_SSP,
-        default: () => /* binding */ pages_image,
-      });
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(1503);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js
-      var next_image = __webpack_require__(4292);
-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
-      /* harmony default export */ const nextjs = {
-        src: "/_next/static/media/nextjs.cae0b805.png",
-        height: 1347,
-        width: 1626,
-        blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
-        blurWidth: 8,
-        blurHeight: 7,
-      }; // ./pages/image.js
-      function ImagePage(props) {
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
-              children: "next/image example",
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
-              src: nextjs,
-              placeholder: "blur",
-            }),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const pages_image = ImagePage;
-
-      /***/
-    },
-
-    /***/ 7896: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        default: function () {
-          return _default;
-        },
-        getImageProps: function () {
-          return getImageProps;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _getimgprops = __webpack_require__(3556);
-      const _imagecomponent = __webpack_require__(2728);
-      const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
-      );
-      function getImageProps(imgProps) {
-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
-          defaultLoader: _imageloader.default,
-          // This is replaced by webpack define plugin
-          imgConf: {
-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-            imageSizes: [32, 48, 64, 96, 128, 256, 384],
-            qualities: [75],
-            path: "/_next/image",
-            loader: "default",
-            dangerouslyAllowSVG: false,
-            unoptimized: false,
-          },
-        });
-        // Normally we don't care about undefined props because we pass to JSX,
-        // but this exported function could be used by the end user for anything
-        // so we delete undefined props to clean it up a little.
-        for (const [key, value] of Object.entries(props)) {
-          if (value === undefined) {
-            delete props[key];
-          }
-        }
-        return {
-          props,
-        };
-      }
-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
-      /***/
-    },
-
-    /***/ 8494: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "findClosestQuality", {
-        enumerable: true,
-        get: function () {
-          return findClosestQuality;
-        },
-      });
-      function findClosestQuality(quality, config) {
-        const q = quality || 75;
-        if (!config?.qualities?.length) {
-          return q;
-        }
-        return config.qualities.reduce(
-          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
-          0
-        );
-      } //# sourceMappingURL=find-closest-quality.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(797)
+      __webpack_exec__(4483)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,338 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 69: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useMergedRef", {
+        enumerable: true,
+        get: function () {
+          return useMergedRef;
+        },
+      });
+      const _react = __webpack_require__(2223);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
+        } else {
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-merged-ref.js.map
+
+      /***/
+    },
+
+    /***/ 2025: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(4591);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 3267: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(2371);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 4591: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1503);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(6929);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 6929: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8885);
+
+      /***/
+    },
+
+    /***/ 7686: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useIntersection", {
+        enumerable: true,
+        get: function () {
+          return useIntersection;
+        },
+      });
+      const _react = __webpack_require__(2223);
+      const _requestidlecallback = __webpack_require__(901);
+      const hasIntersectionObserver =
+        typeof IntersectionObserver === "function";
+      const observers = new Map();
+      const idList = [];
+      function createObserver(options) {
+        const id = {
+          root: options.root || null,
+          margin: options.rootMargin || "",
+        };
+        const existing = idList.find(
+          (obj) => obj.root === id.root && obj.margin === id.margin
+        );
+        let instance;
+        if (existing) {
+          instance = observers.get(existing);
+          if (instance) {
+            return instance;
+          }
+        }
+        const elements = new Map();
+        const observer = new IntersectionObserver((entries) => {
+          entries.forEach((entry) => {
+            const callback = elements.get(entry.target);
+            const isVisible =
+              entry.isIntersecting || entry.intersectionRatio > 0;
+            if (callback && isVisible) {
+              callback(isVisible);
+            }
+          });
+        }, options);
+        instance = {
+          id,
+          observer,
+          elements,
+        };
+        idList.push(id);
+        observers.set(id, instance);
+        return instance;
+      }
+      function observe(element, callback, options) {
+        const { id, observer, elements } = createObserver(options);
+        elements.set(element, callback);
+        observer.observe(element);
+        return function unobserve() {
+          elements.delete(element);
+          observer.unobserve(element);
+          // Destroy observer when there's nothing left to watch:
+          if (elements.size === 0) {
+            observer.disconnect();
+            observers.delete(id);
+            const index = idList.findIndex(
+              (obj) => obj.root === id.root && obj.margin === id.margin
+            );
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
+          }
+        };
+      }
+      function useIntersection({ rootRef, rootMargin, disabled }) {
+        const isDisabled = disabled || !hasIntersectionObserver;
+        const [visible, setVisible] = (0, _react.useState)(false);
+        const elementRef = (0, _react.useRef)(null);
+        const setElement = (0, _react.useCallback)((element) => {
+          elementRef.current = element;
+        }, []);
+        (0, _react.useEffect)(() => {
+          if (hasIntersectionObserver) {
+            if (isDisabled || visible) return;
+            const element = elementRef.current;
+            if (element && element.tagName) {
+              const unobserve = observe(
+                element,
+                (isVisible) => isVisible && setVisible(isVisible),
+                {
+                  root: rootRef?.current,
+                  rootMargin,
+                }
+              );
+              return unobserve;
+            }
+          } else {
+            if (!visible) {
+              const idleCallback = (0,
+              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+              return () =>
+                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+            }
+          }
+          // eslint-disable-next-line react-hooks/exhaustive-deps
+        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+        const resetVisible = (0, _react.useCallback)(() => {
+          setVisible(false);
+        }, []);
+        return [setElement, visible, resetVisible];
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-intersection.js.map
+
+      /***/
+    },
+
+    /***/ 8101: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "errorOnce", {
+        enumerable: true,
+        get: function () {
+          return errorOnce;
+        },
+      });
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
+
+      /***/
+    },
+
+    /***/ 8885: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -28,17 +359,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(2223)
       );
-      const _resolvehref = __webpack_require__(2275);
-      const _islocalurl = __webpack_require__(3179);
-      const _formaturl = __webpack_require__(5486);
-      const _utils = __webpack_require__(3708);
-      const _addlocale = __webpack_require__(8225);
-      const _routercontextsharedruntime = __webpack_require__(6046);
-      const _useintersection = __webpack_require__(2678);
-      const _getdomainlocale = __webpack_require__(4499);
-      const _addbasepath = __webpack_require__(7434);
-      const _usemergedref = __webpack_require__(2263);
-      const _erroronce = __webpack_require__(2197);
+      const _resolvehref = __webpack_require__(7379);
+      const _islocalurl = __webpack_require__(4843);
+      const _formaturl = __webpack_require__(9374);
+      const _utils = __webpack_require__(3116);
+      const _addlocale = __webpack_require__(8065);
+      const _routercontextsharedruntime = __webpack_require__(5470);
+      const _useintersection = __webpack_require__(7686);
+      const _getdomainlocale = __webpack_require__(3267);
+      const _addbasepath = __webpack_require__(1450);
+      const _usemergedref = __webpack_require__(1511);
+      const _erroronce = __webpack_require__(8101);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -416,344 +747,13 @@
 
       /***/
     },
-
-    /***/ 2197: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useMergedRef", {
-        enumerable: true,
-        get: function () {
-          return useMergedRef;
-        },
-      });
-      const _react = __webpack_require__(2223);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
-        } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-merged-ref.js.map
-
-      /***/
-    },
-
-    /***/ 2369: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1503);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(6691);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 2678: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useIntersection", {
-        enumerable: true,
-        get: function () {
-          return useIntersection;
-        },
-      });
-      const _react = __webpack_require__(2223);
-      const _requestidlecallback = __webpack_require__(4213);
-      const hasIntersectionObserver =
-        typeof IntersectionObserver === "function";
-      const observers = new Map();
-      const idList = [];
-      function createObserver(options) {
-        const id = {
-          root: options.root || null,
-          margin: options.rootMargin || "",
-        };
-        const existing = idList.find(
-          (obj) => obj.root === id.root && obj.margin === id.margin
-        );
-        let instance;
-        if (existing) {
-          instance = observers.get(existing);
-          if (instance) {
-            return instance;
-          }
-        }
-        const elements = new Map();
-        const observer = new IntersectionObserver((entries) => {
-          entries.forEach((entry) => {
-            const callback = elements.get(entry.target);
-            const isVisible =
-              entry.isIntersecting || entry.intersectionRatio > 0;
-            if (callback && isVisible) {
-              callback(isVisible);
-            }
-          });
-        }, options);
-        instance = {
-          id,
-          observer,
-          elements,
-        };
-        idList.push(id);
-        observers.set(id, instance);
-        return instance;
-      }
-      function observe(element, callback, options) {
-        const { id, observer, elements } = createObserver(options);
-        elements.set(element, callback);
-        observer.observe(element);
-        return function unobserve() {
-          elements.delete(element);
-          observer.unobserve(element);
-          // Destroy observer when there's nothing left to watch:
-          if (elements.size === 0) {
-            observer.disconnect();
-            observers.delete(id);
-            const index = idList.findIndex(
-              (obj) => obj.root === id.root && obj.margin === id.margin
-            );
-            if (index > -1) {
-              idList.splice(index, 1);
-            }
-          }
-        };
-      }
-      function useIntersection({ rootRef, rootMargin, disabled }) {
-        const isDisabled = disabled || !hasIntersectionObserver;
-        const [visible, setVisible] = (0, _react.useState)(false);
-        const elementRef = (0, _react.useRef)(null);
-        const setElement = (0, _react.useCallback)((element) => {
-          elementRef.current = element;
-        }, []);
-        (0, _react.useEffect)(() => {
-          if (hasIntersectionObserver) {
-            if (isDisabled || visible) return;
-            const element = elementRef.current;
-            if (element && element.tagName) {
-              const unobserve = observe(
-                element,
-                (isVisible) => isVisible && setVisible(isVisible),
-                {
-                  root: rootRef?.current,
-                  rootMargin,
-                }
-              );
-              return unobserve;
-            }
-          } else {
-            if (!visible) {
-              const idleCallback = (0,
-              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
-              return () =>
-                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
-            }
-          }
-          // eslint-disable-next-line react-hooks/exhaustive-deps
-        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
-        const resetVisible = (0, _react.useCallback)(() => {
-          setVisible(false);
-        }, []);
-        return [setElement, visible, resetVisible];
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-intersection.js.map
-
-      /***/
-    },
-
-    /***/ 4499: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "getDomainLocale", {
-        enumerable: true,
-        get: function () {
-          return getDomainLocale;
-        },
-      });
-      const _normalizetrailingslash = __webpack_require__(1379);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 6691: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(69);
-
-      /***/
-    },
-
-    /***/ 6771: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(2369);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6771)
+      __webpack_exec__(2025)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,34 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 97: /***/ (
+    /***/ 417: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function () {
+          return __webpack_require__(5491);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 5491: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +43,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,40 +62,13 @@
 
       /***/
     },
-
-    /***/ 4283: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function () {
-          return __webpack_require__(97);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4283)
+      __webpack_exec__(417)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 5964: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(2010);
-
-      /***/
-    },
-
-    /***/ 7758: /***/ (
+    /***/ 1312: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5964);
+        __webpack_require__(2398);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -59,7 +49,17 @@
       /***/
     },
 
-    /***/ 8803: /***/ (
+    /***/ 2398: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8954);
+
+      /***/
+    },
+
+    /***/ 4305: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -67,7 +67,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function () {
-          return __webpack_require__(7758);
+          return __webpack_require__(1312);
         },
       ]);
       if (false) {
@@ -81,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(8803)
+      __webpack_exec__(4305)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 184: /***/ (
+    /***/ 358: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,7 +35,17 @@
       /***/
     },
 
-    /***/ 3163: /***/ (
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 4041: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -43,7 +53,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function () {
-          return __webpack_require__(184);
+          return __webpack_require__(358);
         },
       ]);
       if (false) {
@@ -51,23 +61,13 @@
 
       /***/
     },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3163)
+      __webpack_exec__(4041)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 436-HASH.js

Diff too large to display

Diff for 9760-HASH.js
failed to diff
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 2834: /***/ (
+    /***/ 2788: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
+
+    /***/ 7905: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7126, 23)
+        __webpack_require__.t.bind(__webpack_require__, 844, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4031, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4365, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1117, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3903, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1522, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3100, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1798, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7364, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8366, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5632, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6571, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8889, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 596, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9958, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1321, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7839, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 724, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1270, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6999, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1885, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 854)
+        __webpack_require__.bind(__webpack_require__, 4088)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7752, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9622, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1201, 23)
+        __webpack_require__.t.bind(__webpack_require__, 995, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7823, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8577, 23)
       );
 
       /***/
     },
-
-    /***/ 7854: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [9137, 9760],
-      () => (__webpack_exec__(4730), __webpack_exec__(2834))
+      [2494, 4936],
+      () => (__webpack_exec__(204), __webpack_exec__(7905))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Commit: f844977

@eps1lon eps1lon force-pushed the sebbie/10-28-_test_assert_-_waitfor_when_the_util_is_not_instant branch from d041018 to 00854cb Compare October 28, 2025 11:25
@eps1lon eps1lon changed the base branch from canary to graphite-base/85450 October 28, 2025 13:28
@eps1lon eps1lon force-pushed the graphite-base/85450 branch from 456d8e7 to 2b33f1b Compare October 28, 2025 13:28
@eps1lon eps1lon force-pushed the sebbie/10-28-_test_assert_-_waitfor_when_the_util_is_not_instant branch from 00854cb to ef34cc0 Compare October 28, 2025 13:28
@eps1lon eps1lon changed the base branch from graphite-base/85450 to sebbie/10-28-_test_ensure_we_can_toggle_the_devtools_menu_while_status_indicators_are_active October 28, 2025 13:29
Copy link
Member Author

eps1lon commented Oct 28, 2025

Base automatically changed from sebbie/10-28-_test_ensure_we_can_toggle_the_devtools_menu_while_status_indicators_are_active to canary October 28, 2025 16:34
@eps1lon eps1lon force-pushed the sebbie/10-28-_test_assert_-_waitfor_when_the_util_is_not_instant branch from ef34cc0 to b2bee42 Compare October 28, 2025 17:03
@eps1lon eps1lon requested review from lubieowoce and ztanner October 28, 2025 17:57
@eps1lon eps1lon marked this pull request as ready for review October 28, 2025 17:57
@eps1lon eps1lon force-pushed the sebbie/10-28-_test_assert_-_waitfor_when_the_util_is_not_instant branch from b2bee42 to f844977 Compare October 30, 2025 09:52
@eps1lon eps1lon enabled auto-merge (squash) October 30, 2025 13:24
@eps1lon eps1lon disabled auto-merge October 30, 2025 13:44
@eps1lon eps1lon merged commit 0b58a32 into canary Oct 30, 2025
263 of 278 checks passed
@eps1lon eps1lon deleted the sebbie/10-28-_test_assert_-_waitfor_when_the_util_is_not_instant branch October 30, 2025 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Next.js team PRs by the Next.js team. Font (next/font) Related to Next.js Font Optimization. tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants