Skip to content

RSC does not suspend when async query is cached #69628

Closed
@PaulWild

Description

@PaulWild

Link to the code that reproduces this issue

https://github.com/PaulWild/next-no-suspense

To Reproduce

  1. Start the application and load root page
  2. The async component will suspend correctly, showing I am suspended!!!!!! until loaded and extra processing is done
  3. Reload the page, the component no long suspends but blocks the loading of the page until the component has finished rendering

Note - when using 'disable cache' in dev tools this works as expected. Additionally it looks like it might be fixed in v15, but Im hoping that a back fix might be deemed ok.

Current vs. Expected behavior

Expected: This should always suspend. In the example you can see I have slowed the component down by logging in a loop. In reality this is an issue for us as we have async components in a layout file, when they do not suspend they adversly effect our web scores, increasing time to first byte etc.

Provide environment information

Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 23.6.0: Mon Jul 29 21:14:30 PDT 2024; root:xnu-10063.141.2~1/RELEASE_ARM64_T6000
  Available memory (MB): 32768
  Available CPU cores: 10
Binaries:
  Node: 18.17.0
  npm: 9.6.7
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 14.2.7 // Latest available version is detected (14.2.7).
  eslint-config-next: 14.2.7
  react: 18.3.1
  react-dom: 18.3.1
  typescript: 5.5.4
Next.js Config:
  output: N/A

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

Not sure

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

Vercel (Deployed)

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssue was opened via the bug report template.locked

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions