QwikDev / qwik

Instant-loading web apps, without effort
https://qwik.dev
MIT License
20.78k stars 1.3k forks source link

Invalid `manifest` in SSR render is silently ignored #1632

Closed lucacasonato closed 1 year ago

lucacasonato commented 2 years ago

Qwik Version

0.10.0

Operating System (or Browser)

macOS

Node Version (if applicable)

No response

Which component is affected?

Qwik Runtime

Expected Behaviour

When passing an invalid manifest to the renderToStream function, an error should be thrown or warning logged.

Actual Behaviour

When passing an invalid manifest to the renderToStream function, no error or warning is logged. Instead it is silently ignored and the SSR render eventually throws a QWIK ERROR Code(31) (which is a symbol mapping error).

Additional Information

No response

shairez commented 1 year ago

@thejackshelton this looks like the error we got as well right?

thejackshelton commented 1 year ago

@thejackshelton this looks like the error we got as well right?

Yes, if I recall correctly this issue is very similar to the one we're experiencing with Qwik UI

When previewing the website via NX and refreshing the page you would get the following logged in console.

Cannot resolve symbol s114 in {
  KEaUk6nF32k: [ 's_KEaUk6nF32k', 'q-afc7ee1a.js' ],
  '02wMImzEAbk': [ 's_02wMImzEAbk', 'q-8076d425.js' ],
  '80spEZpcqwM': [ 's_80spEZpcqwM', 'q-e79c8e6a.js' ],
  '0IwBDaR0kVI': [ 's_0IwBDaR0kVI', 'q-e79c8e6a.js' ],
  d0d1e0t7rg8: [ 's_d0d1e0t7rg8', 'q-40c0beb7.js' ],
  '0Afy1HpNmk0': [ 's_0Afy1HpNmk0', 'q-fbacc697.js' ],
  '0BkHxKX76t0': [ 's_0BkHxKX76t0', 'q-fa8e1d67.js' ],
  '0C5HWl3JdN8': [ 's_0C5HWl3JdN8', 'q-a6a7e81b.js' ],
  '0HUEUIEQUo4': [ 's_0HUEUIEQUo4', 'q-8b2ff903.js' ],
  '0c4DeDGSgic': [ 's_0c4DeDGSgic', 'q-3b02abce.js' ],
  '25CuJTnUhvE': [ 's_25CuJTnUhvE', 'q-8397af9b.js' ],
  '2FP4iuDsTqc': [ 's_2FP4iuDsTqc', 'q-0c058a82.js' ],

When we looked into the debugger, I believe we got an error code 31, I also briefly remember something about looking into the manifest, and there wasn't an error thrown or logged either.

I'm still learning qwik core including understanding hashes, source maps, the manifest, symbols, etc, apologies if this isn't helpful in identifying the issue.

@manucorporat

We are currently using Qwik v1.1.5 in Qwik UI, whenever you navigate to the Qwik UI website or refresh the page, it will provide a blank page

Like this: https://qwikui.com/docs/headless/autocomplete/

It also affects the functionality of components on the page. We still haven't been able to pinpoint the issue, and it's been happening to our knowledge since April.

Oddly enough this issue goes away on the route when importing components from the same repo and using TSX instead of MDX.

We tried creating a reproduction for importing between monorepo's on Qwik 1.1.5 and didn't get the error. I tried seeing if it was an MDX issue and wasn't able to reproduce the issue here either.

Something also worth including, which might not be related, but could be is when trying to upgrade to 1.2.5 we get a rollup error of an unresolved import.

Could not resolve "../../../packages/kit-tailwind/src/components/button/daisy.config" from "packages/kit-tailwind/src/components/button/button.tsx"
file: C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/packages/kit-tailwind/src/components/button/button.tsx
Error [RollupError]: Could not resolve "../../../packages/kit-tailwind/src/components/button/daisy.config" from "packages/kit-tailwind/src/components/button/button.tsx"  
    at error (file:///C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/node_modules/.pnpm/rollup@3.21.4/node_modules/rollup/dist/es/shared/node-entry.js:2125:30)     
    at ModuleLoader.handleInvalidResolvedId (file:///C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/node_modules/.pnpm/rollup@3.21.4/node_modules/rollup/dist/es/shared/node-entry.js:23924:24)
    at file:///C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/node_modules/.pnpm/rollup@3.21.4/node_modules/rollup/dist/es/shared/node-entry.js:23886:26 {
  code: 'UNRESOLVED_IMPORT',
  exporter: '../../../packages/kit-tailwind/src/components/button/daisy.config',     
  id: 'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/packages/kit-tailwind/src/components/button/button.tsx',
  watchFiles: [
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_APITable.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Box.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_BreadcrumbWrapper.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_CodeExample.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_DocsNavigation.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Example01.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Example02.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Example03.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Example1.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_ExampleNetflix.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_Footer.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_GetForm.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_KBInteractionTableRow.js',
    'C:/Users/jacks/Code/Qwik/qwik-ui-root/select/qwik-ui/apps/website/src/entry_KeyboardInteractionTable.js',
   // rest removed for brevity

Qwik UI Repo: https://github.com/qwikifiers/qwik-ui