payloadcms / payloadcms/payload

Application crashes on re-login after session timeout when returning to list view with query parameters

Open
#14,630 3 comments 0 reactions 1 assignee View on GitHub

@PatrikKozak is already working on this.

Since Jan 6, 2026.

created-by: Contributor
Dominant language
TypeScript
Stars
44.8k
Forks
4.2k
Avg merge
2d 21h
Merged PRs (30d)
53

Description

Describe the Bug

Steps to Reproduce:

  1. Log in to the application and navigate to a list view page that includes query parameters in the URL (e.g., http://localhost:3000/admin/collections/pages?limit=10&where[or][0][and][0][title][not_like]=H&page=1
    ).
  2. Leave the session idle until it times out (or force session expiration by clearing site data).
    The application automatically redirects to the login page.
    Enter valid credentials and log in again.
    The application attempts to redirect back to the original list view with the preserved query parameters.

Expected Behavior:
The user is successfully redirected back to the original list view, with all query parameters intact, and the page renders correctly without errors.
Actual Behavior:
The application crashes immediately after login, resulting in an error page, blank screen, or unhandled exception
Application error: a client-side exception has occurred while loading localhost (see the browser console for more information).

(e.g., 500 Internal Server Error, JavaScript crash in console, or full application freeze).
TypeError: Cannot destructure property 'hasMany' of 'n' as it is undefined.
    at cC (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@payloadcms+ui@3.64.0_@types+react@19.1.0_monaco-editor@0.54.0_next@15.4.7_@babel+core@_de3c28c83cea633c25c4ef7bffafff24/node_modules/@payloadcms/ui/dist/exports/client/index.js:32311:154)
    at Object.react_stack_bottom_frame (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:23553:20)
    at renderWithHooks (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:6764:22)
    at updateFunctionComponent (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:9070:19)
    at beginWork (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:10680:18)
    at runWithFiberInDEV (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:873:30)
    at performUnitOfWork (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:15678:22)
    at workLoopSync (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:15498:41)
    at renderRootSync (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:15478:11)
    at performWorkOnRoot (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:14985:44)
    at performWorkOnRootViaSchedulerTask (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/react-dom/cjs/react-dom-client.development.js:16767:7)
    at MessagePort.performWorkUntilDeadline (webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@15.4.7_@babel+core@7.28.5_@playwright+test@1.50.0_react-dom@19.1.0_react@19.1.0__react@19.1.0_sass@1.77.4/node_modules/next/dist/compiled/scheduler/cjs/scheduler.development.js:45:48)
Link to the code that reproduces this issue

https://github.com/shefing/bulkuploadbug

Reproduction Steps

Steps to Reproduce:

  1. Log in to the application and navigate to a list view page that includes query parameters in the URL (e.g., http://localhost:3000/admin/collections/pages?limit=10&where[or][0][and][0][title][not_like]=H&page=1
    ).
  2. Leave the session idle until it times out (or force session expiration by clearing site data).
    The application automatically redirects to the login page.
    Enter valid credentials and log in again.
    The application attempts to redirect back to the original list view with the preserved query parameters.

Expected Behavior:
The user is successfully redirected back to the original list view, with all query parameters intact, and the page renders correctly without errors.
Actual Behavior:
The application crashes immediately after login, resulting in an error page, blank screen, or unhandled exception
Application error: a client-side exception has occurred while loading localhost (see the browser console for more information).

Which area(s) are affected? (Select all that apply)

area: ui

Environment Info
Binaries:
  Node: 23.1.0
  npm: 11.6.0
  Yarn: N/A
  pnpm: 10.16.1
Relevant Packages:
  payload: 3.64.0
  next: 15.4.7
  @payloadcms/db-mongodb: 3.64.0
  @payloadcms/graphql: 3.64.0
  @payloadcms/live-preview: 3.64.0
  @payloadcms/live-preview-react: 3.64.0
  @payloadcms/next/utilities: 3.64.0
  @payloadcms/plugin-form-builder: 3.64.0
  @payloadcms/plugin-nested-docs: 3.64.0
  @payloadcms/plugin-redirects: 3.64.0
  @payloadcms/plugin-search: 3.64.0
  @payloadcms/plugin-seo: 3.64.0
  @payloadcms/richtext-lexical: 3.64.0
  @payloadcms/translations: 3.64.0
  @payloadcms/ui/shared: 3.64.0
  react: 19.1.0
  react-dom: 19.1.0
Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 24.6.0: Mon Jul 14 11:30:29 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6000
  Available memory (MB): 32768
  Available CPU cores: 10

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.