qwik icon indicating copy to clipboard operation
qwik copied to clipboard

[🐞] Serializing dirty watch warning

Open literalpie opened this issue 1 year ago • 10 comments

Which component is affected?

Qwik Runtime

Describe the bug

I am getting this error: QWIK WARN Serializing dirty watch. Looks like an internal error It sounds like an error that outside users aren't expected to run into, yet I am.

Reproduction

https://stackblitz.com/edit/simple-qwik-starter-36wo3r?file=src%2Froutes%2Findex.tsx,package.json

Steps to reproduce

See the log in the stackblitz. Also, I would expect "Has Children" to be true.

System Info

System:
    OS: macOS 13.1
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 50.63 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
    Yarn: 1.22.18 - /usr/local/bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
  Browsers:
    Brave Browser: 97.1.34.80
    Chrome: 109.0.5414.87
    Chrome Canary: 111.0.5558.0
    Safari: 16.2
    Safari Technology Preview: 16.4
  npmPackages:
    @builder.io/qwik: ~0.16.2 => 0.16.2 
    @builder.io/qwik-city: ~0.1.0-beta9 => 0.1.0-beta9 
    vite: 3.1.1 => 3.1.1

Additional Information

I can also cause the warning with this code that updates state in a useTask that is tracking the same state:

export default component$(() => {
  const state = useStore({ test: true });
  useTask$(({ track }) => {
    track(state);
    state.test = !state.test;
  });
  return <div>test</div>;
});

It's not too surprising that this causes problems, but the error could still be better.

I think the Stackblitz is a valid case that should be supported though.

literalpie avatar Jan 25 '23 03:01 literalpie