Skip to content

[🐞] v2: unnecessary component chore scheduled in dev mode #8080

@thejackshelton

Description

@thejackshelton

Which component is affected?

Qwik Runtime

Describe the bug

When doing a simple backpatch, there is a scheduled COMPONENT chore on latest in build/v2, even when we are dealing with what should only be a NODE_PROP change.

Reproduction

https://github.com/thejackshelton/v2-component-chore-warn

Steps to reproduce

  1. Run pnpm install
  2. Run pnpm dev
  3. Open http://localhost:5173 in your browser
  4. Notice the following warning in the terminal:
QWIK WARN A 'Component' chore was scheduled on a host element that has already been streamed to the client.
This can lead to inconsistencies between Server-Side Rendering (SSR) and Client-Side Rendering (CSR).

Problematic chore:
  - Type: Component
  - Host: <SSRNode id="10AAA" ="11A", q:brefs=*, q:key="GA_1", q:props=*, q:renderFn=*, q:type="C" />
  - Nearest element location: /src/components/checkbox/checkbox-root.tsx:27:5

This is often caused by modifying a signal in an already rendered component during SSR.

This happens when we are backpatching something and there is a qrl around a ref function. Unfortunately, if we remove the qrl around the ref function, an SSG build fails in our monorepo. Currently we have the qrl kept with the warning.

  1. Look into checkbox-trigger.tsx
  2. If you uncomment the signal write when backpatching in checkbox-error, the read in checkbox-trigger, or remove the qrl around the ref function, the warning goes away.

System Info

System:
    OS: macOS 15.6.1
    CPU: (16) arm64 Apple M4 Max
    Memory: 230.88 MB / 48.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.20.0 - /Users/jackshelton/.nvm/versions/node/v22.20.0/bin/node
    Yarn: 1.22.22 - /usr/local/bin/yarn
    npm: 10.9.3 - /Users/jackshelton/.nvm/versions/node/v22.20.0/bin/npm
    pnpm: 10.18.2 - /Users/jackshelton/.nvm/versions/node/v22.20.0/bin/pnpm
    bun: 1.1.7 - /Users/jackshelton/.bun/bin/bun
    Deno: 2.1.4 - /opt/homebrew/bin/deno
  Browsers:
    Brave Browser: 141.1.83.118
    Chrome: 141.0.7390.108
    Firefox: 143.0.4
    Safari: 18.6
  npmPackages:
    typescript: 5.4.5 => 5.4.5 
    undici: * => 7.16.0 
    vite: 7.1.7 => 7.1.7

Additional Information

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions