Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(routing): fallback to hard navigation when soft navigation fails. #5521

Merged
merged 158 commits into from Jan 18, 2024

Conversation

iamriajul
Copy link
Contributor

Issue: #5514

Overview

This just adds a try/catch for soft navigation, so when soft navigation fails (may be due to js file does not exist) it will fallback to hard navigation using browser's window.location.href.

What is it?

  • Feature / enhancement
  • Bug
  • Docs / tests / types / typos

Description

This issue is related to: #5514

Checklist:

  • My code follows the developer guidelines of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation (not needed)
  • Added new tests to cover the fix / functionality

Copy link

netlify bot commented Dec 4, 2023

👷 Deploy request for qwik-insights pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit e2c705c

@wmertens
Copy link
Member

wmertens commented Dec 4, 2023

I like it, but I wonder:

  • is setting the href the best way? What does it do for navigation history?
  • can this be surprising for devs that keep a lot of state in their SPA?

For the second question, I'm thinking that it's probably ok because the user can reload the page at all times.

@iamriajul
Copy link
Contributor Author

iamriajul commented Dec 4, 2023

I'm concerned about the other cases where onClick$ listener's code has changed!
There should some kind advance control should be provided.
For example:
The developer can decide what to do when a module (might be route module, click listener module, etc) loading is failed.
The options can be like:

  • do nothing - silently crash (current behavior)
  • save the scroll state now + refresh the current page and scroll back to the place where it was so the user can click again.
  • (for Route only): fallback to hard navigation.

mhevery and others added 26 commits December 5, 2023 19:55
* chore(cf): Fix CloudFlare build failure

* chore(cf): Fix CloudFlare build failure
* chore(cf): Fix CloudFlare build failure

* chore(cf): Fix CloudFlare build failure

* fixup! chore(cf): Fix CloudFlare build failure
…ebsite (QwikDev#5523)

* Update pages.json with my personal wbesite

Add my personal website, which includes a blog section that fetches data from Prismic CMS

* fixup! Update pages.json with my personal wbesite

---------

Co-authored-by: Miško Hevery <misko@hevery.com>
I changed the file pathes in the docs to match the real ones and also added a prei18n-extract script
to make sure the build is running before the extract. I guess a lot of users will miss that one.
The new vite-imagetools version uses a newer Sharp version which will allow Qwik City to work with
Deno

denoland/deno#20612
* 🎾

* ⛳️

* tailwind

* 🪂

* 🎱

* 🖖

* 📦

* 📫

* 🐼👋

* manifests ✅

* routes index ✅

* route detail ✅

* symbols ✅

* edges ✅

* bundles ✅

* slow symbols ✅

* error ✅

* 📫

* 📊

* popup manager ✅

* correlation & popups ✅

* ⏱️

* fix: colspan => colSpan

---------

Co-authored-by: Miško Hevery <misko@hevery.com>
Specifics:
- piggyback on TS HTML types as much as possible (now automatically supports new props like popover)
- Remove QwikEvents and SyntheticEvents, they are really just DOM events
- improve QRL and QRLInternal types for better matching
- useOn* now can infer type and the passed element is also typed
- move the QRL AbortSignal to server$, the only place where it's supported
- generic parameter to useDocumentHead for the frontmatter
- DOM ref={} functions get the type of the element

Generic:
- add some tests for the types
- use `unknown` or actual type instead of `any` where possible
  - if not used as part of an `extends` test, it's probably ok to change `any` to `unknown`. It will surface type mismatches.
- fix function signatures so they can match extends ( `(...args: any) => any` instead of `(...args: any[]) => any`
- change some interfaces to types if they're not meant to be merge-extended and they're not extending (interfaces have a performance advantage there)
- add jsdoc comments

Actual code changes:
- In use-task.ts, allow `track(signal)` inside a task
- in docs, remove useless filtering from class array
- changed some hardcoded strings to constants
for some reason it is not visible unless it's a dev dependency
* add created/updated date to docs frontmatter

* read the frontmatter (QwikDev#1)

* feat: show updated docs

showing the updated docs with a circle next to the title, in this commit I added the circles.

* chore(docs): remove warnings (QwikDev#5345)

* style(eslint): convey a stricter restriction from `just` to `only` (examples) (QwikDev#5340)

* feat(vite): allow disabling dev SSR server in vite (QwikDev#5347)

* chore(docs): Small fix of file to edit (QwikDev#5348)

* docs: Update index.mdx (QwikDev#5351)

* Update index.mdx

Correct mistake. The original was:

Both pages are created by adding ...

Changed to:

 Pages are created by adding ...

* trigger GH checks

---------

Co-authored-by: gioboa <giorgiob.boa@gmail.com>

* fix: action redirect accidentally stripped searchparams (QwikDev#5349)

Fix QwikDev#5342

* fix: remove cf pages stream polyfill (QwikDev#5352)

* chore: updated twitter logo to X (QwikDev#5357)

* docs: update React cheat sheet title (QwikDev#5358)

* 1.2.15 (QwikDev#5359)

* docs: improve SEO with descriptions (QwikDev#5360)

* fix(cli): parseTemplatePath doesn't work in windows (QwikDev#5339)

* fix(cli) parseTemplatePath doesn't work in windows

* refactor use path.sep

---------

Co-authored-by: Yale <yale.yu@kuka.com>

* docs: fix typo (QwikDev#5361)

* chore(qwik-insights): use clientOutDir if provided (QwikDev#5366)

* docs: remove soundy.cloud (QwikDev#5374)

* chore: clean up release script (QwikDev#5376)

* fix(qwik): Incorrect module reference in inlinedQrl (QwikDev#5375)

* fix(qwik): Incorrect module reference in inlinedQrl

Fix QwikDev#5368

* fixup! fix(qwik): Incorrect module reference in inlinedQrl

* docs: Alex Russell Approved javascript framework (QwikDev#5364)

* docs: Alex Russell Approved

Alex Russell Approved JavaScript framework

* docs(faq): wording

* chore: improved README.md for build artifacts (QwikDev#5377)

* fix(qwik-city): parseBody should not clone Request (QwikDev#5353)

fix(qwik-city): parseBody should not clone requests

* docs(eslint-rules): refactor use-method-usage to reflect current qwik… (QwikDev#5344)

* docs(eslint-rules): refactor use-method-usage to reflect current qwik API

* refactored unit tests

* re-add TSAsExpression

* word change: just -> only, to reflect latest PR

---------

Co-authored-by: Miško Hevery <misko@hevery.com>

* fix: Yarn 3/4 PnP compatibility (QwikDev#5042)

* CI

* revert

---------

Co-authored-by: Roman Zanettin <roman.zanettin@gmail.com>

* Revert "refactor(optimizer): remove using resolvePackageData API from Vite" (QwikDev#5379)

Revert "refactor(optimizer): remove using resolvePackageData API from Vite (QwikDev#5312)"

This reverts commit ec53ef7.

* docs: update Alex Russell (QwikDev#5381)

* chore: 1.2.16 (QwikDev#5382)

* fix(labs): Better handling and visibility of q-insights.json (QwikDev#5384)

* feat(insights): Add new route visibility (QwikDev#5385)

* fix(vite): resolution of nested dependencies

Co-authored-by: Manu MA <manucorporat@users.noreply.github.com>

* docs: fix incorrect escaping in URL (QwikDev#5387)

* fix(insights): improve files per cluster (QwikDev#5388)

Increase clustering distance which should result in creation of fewer clusters.
Fewer clusters means that less files should be downloaded to the client
(each file will have more symbols.) This should improve performance.

* fix(qwik): Improve logging of vite plugin (QwikDev#5389)

fix(qwik): Improve logging of vite plugin

The log now includes file location and code snippet.

* fix(core): parent component lookup during pause

the parentCtx attribute was optimized to point directly to parents with
$contexts$ defined, but that broke pausing which needs the immediate parent.

Co-authored-by: Jesse Zhang <jesse.zhang@orchard.com>

* chore: clean up docs site build warnings (QwikDev#5391)

* docs: explain custom event props and detail when PropFunction is needed (QwikDev#5386)

* docs: don't index demos; don't duplicate meta descriptions (QwikDev#5392)

* docs: add custom 404 page (QwikDev#5393)

* chore(docs): small improvements to routing/index.mdx

* refactor(package.json): add docs.dev & docs.preview

Add pnpm docs.dev & pnpm docs.preview commands to improve the DX for contributors.

* chore: 1.2.17 (QwikDev#5397)

* fix(insight): use relative path (QwikDev#5399)

* docs: Update media page with new YouTube video links (QwikDev#5401)

Update media page with new YouTube video links

* chore(starters): add VSCode debug setting (QwikDev#5408)

* docs(integrations): astro integration docs (QwikDev#5409)

* docs(integrations): astro integration docs

* docs(integration): typo

* docs(docs): updated docs changes

* docs(menu): Add Astro integration to menu (QwikDev#5410)

* Add Astro integration to menu

* Add description and keywords to Astro integration
page, and update contributor list.

* chore(docs): update node integration page (QwikDev#5413)

Bold statement regarding `ORIGIN` env var.

* fix(qwik-city): vercel adapter default to `webworker` target (QwikDev#5414)

* docs: correct broken image (QwikDev#5415)

* docs(astro): Qwik + Astro doc improvements (QwikDev#5416)

* Qwik astro doc improvements

* typo fix

* fix(propfunctionprops): prevent 'undefined', 'null', 'never' conversion to PropFnInterface (QwikDev#5363)

* fix(propfunctionprops): prevent 'undefined', 'null', 'never' conversion to PropFnInterface

fix QwikDev#4946

* improve PropFunctionProps readability and edge-cases

* fix never becoming undefined

* fixup! fix never becoming undefined

* refine tests

---------

Co-authored-by: Miško Hevery <misko@hevery.com>

* fix(qwik-city): better type for svg?jsx imports (QwikDev#5420)

* fix(qwik-city): fix rendered svg?jsx component closing tag (QwikDev#5423)

* fix: fix optimized svg closing tag

* test: add svg optimizer test

* fix: cache max-age vite.config for dev mode (QwikDev#5427)

* fix(cli): casing for component and mdx route creation (QwikDev#5430)

* docs: fix broken image (QwikDev#5432)

* docs: fixed small typo (QwikDev#5434)

* docs: add missing contributors (QwikDev#5435)

* fix: 3rd party imports of libs during build (QwikDev#5431)

Co-authored-by: Miško Hevery <misko@hevery.com>

* fix(docs): improve SEO  (QwikDev#5439)

* feat(core): auto px addition to css properties for unitless numbers (QwikDev#5426)

* feat(core): auto px addition to css properties for unitless numbers

This adds support for auto-addition of 'px' to css properties

* add tests to check styles in both ssr and csr

* docs: Add link to create new Qwik Insights app as self-serve (QwikDev#5443)

* fix: Pass the missing props for Spinner component (QwikDev#5437)

Pass the missing props for Spinner component

As the `growing` props is missing in the bootstrap starter template `Spinner` component it is causing the issue in production build while testing after adding the bootstrap.

* fix(docs): Wrap function in cleanup function instead of returning it (QwikDev#5440)

Wrap function in cleanup function instead of returning it

* fix(docs): typo in qwikcity -> Validator docs (QwikDev#5444)

---------

Co-authored-by: gioboa <giorgiob.boa@gmail.com>

* fix(docs): typo in qwik city -> middleware page (QwikDev#5446)

---------

Co-authored-by: gioboa <giorgiob.boa@gmail.com>

* fix(docs): update links for Edit this page button (QwikDev#5445)

---------

Co-authored-by: gioboa <giorgiob.boa@gmail.com>

* chore: 1.2.18 (QwikDev#5449)

* docs: Add Component library `ionic-qwik` to community projects on docs. (QwikDev#5429)

Add Component library `ionic-qwik`.

* chore(docs): advanced usage of Slot, visibleTask (QwikDev#5424)

chore(docs): advanced Slot, visibleTask, Context

* chore(core): update `QwikKeyboardEvent` type (QwikDev#5433)

chore(core): update keyboardevent to have code attr and update deprecated attrs

* fix(docs): remove `inline-code` and `link` in tag `<a />` (QwikDev#5450)

---------

Co-authored-by: wangyipeng <ffwangyipeng@chinatelecom.cn>
Co-authored-by: Giorgio Boa <35845425+gioboa@users.noreply.github.com>

* docs(ssg): fix shell command (QwikDev#5459)

* docs(auth.js): add credentials example (QwikDev#5462)

* chore: 1.2.19 (QwikDev#5466)

* chore(all): Vite 5 upgrade

* chore(core): remove resolvePackageData (QwikDev#5312)

* chore: pnpm api.update

* feat(playground): remove broken versions

* feat: add qwik/no-use-visible-task eslint rule (QwikDev#5455)

* feat: add qwik/no-use-visible-task eslint rule
----
Co-authored-by: Matteo Pietro Dazzi <ilteoood@users.noreply.github.com>
Co-authored-by: Pasquale De Lucia <pasquale.delucia96@gmail.com>
Co-authored-by: Gloria Giannascoli <gloriag-dev@users.noreply.github.com>
Co-authored-by: pietrodev07 <pietrodev07@users.noreply.github.com>

* linter 🧽

* feat: add extra tips

* fix: change message

* docs: add missing eslint recap

* chore(insights): remove unnecessary log (QwikDev#5461)

* fix: add example context to docs (QwikDev#5467)

* feat(qwik-city): allow customizing SVGO options of image plugin (QwikDev#5407)

* docs: fix typo

* docs: fix typo (QwikDev#5481)

* fix(core): Support JSX in signals (QwikDev#5442)

Fix QwikDev#4966
Fix QwikDev#3530

* docs(FAQ): - lazy-loading on user interaction & speculative module fetching (QwikDev#5488)

docs: FAQ - lazy-loading on user interaction & speculative module fetching

* docs(faq): add link to typescript (QwikDev#5487)

* fix: disable Vite modulepreload (QwikDev#5493)

* fix: disable Vite modulePreload

Fixed: QwikDev#5478

* chore: use cleaner option

* docs(faq): fix typos and improve the wording of some sentences (QwikDev#5490)

* docs: make the distinction between module-prefetching and <Link prefetch> (QwikDev#5485)

docs(module-prefetching): make the distinction between module-prefetching and <Link prefetch>

* docs(showcase): add `index.app` and `wiza.co` (QwikDev#5484)

Update pages.json

* fix(docs): mdx interpreting title as component (QwikDev#5499)

* docs: cleanup the vdom section (QwikDev#5500)

* fix: revert "fix: remove cf pages stream polyfill" (QwikDev#5502)

* fix(qwik-city): prefix ids of SVGs based on their path when loaded as qwik nodes (QwikDev#5497)

Enable the prefixIds SVGO plugin by default, while still allowing customization. This is a follow up
on QwikDev#5407. Here's a discussion on why it makes sense when
optimizing SVG files for the web: svg/svgo#674.

* fix: cf pages polyfill only if needed (QwikDev#5507)

fix: polyfill only if needed

* refactor: extract group type

* docs: add QwikCityMockProvider explanation (QwikDev#5505)

* Extend index.mdx to include QwikCityMockProvider

* docs: add links between vitest integration page and qwikcity api page

* docs(glob-import): add documentation for import.meta.glob (QwikDev#5504)

* docs(glob-import): add documentation for import.meta.glob

* docs(glob-imports): add Glob Import link to /cookbook/index.mdx

* docs(glob-import): refactor type any to Record<string, any>

* docs: add Record<string, any> to mdx as well

* fix: CF pages polyfill also when shimmed (QwikDev#5512)

* fix: polyfill also when shimmed

* chore: add comment to explain polyfill

* chore: Giorgio's feedback

* refactor: made the renderUpdate as a const

put the mardown update in a const which made the code cleaner and better to understand

* fix: fixed build

* docs: api update

* refactor: build

* chore: fix pnpm-locke file

* chore: build

* chore: pnpm fmt

* refactor: removed style-system

---------

Co-authored-by: Marcos Perona <mperona@gmail.com>
Co-authored-by: Giorgio Boa <35845425+gioboa@users.noreply.github.com>
Co-authored-by: Alex Tocar <commit@ueuie.dev>
Co-authored-by: Miško Hevery <misko@hevery.com>
Co-authored-by: Nelson Sousa <nelsonprsousa@gmail.com>
Co-authored-by: Runar Jordahl <runar.jordahl@gmail.com>
Co-authored-by: gioboa <giorgiob.boa@gmail.com>
Co-authored-by: Kaushik080 <120493528+Kaushik080@users.noreply.github.com>
Co-authored-by: Yoav Ganbar <hamatoyogi@users.noreply.github.com>
Co-authored-by: yale.yu <35560398+yuyidegit@users.noreply.github.com>
Co-authored-by: Yale <yale.yu@kuka.com>
Co-authored-by: Bonny87 <36232591+mBonny87@users.noreply.github.com>
Co-authored-by: D <intellix@users.noreply.github.com>
Co-authored-by: PatrickJS <github@patrickjs.com>
Co-authored-by: Maïeul <45822175+maiieul@users.noreply.github.com>
Co-authored-by: Ian Létourneau <letourneau.ian@gmail.com>
Co-authored-by: Roman Zanettin <roman.zanettin@gmail.com>
Co-authored-by: Wout Mertens <Wout.Mertens@gmail.com>
Co-authored-by: Manu MA <manucorporat@users.noreply.github.com>
Co-authored-by: Jesse Zhang <jesse.zhang@orchard.com>
Co-authored-by: maieulchevalier <maieul.chevalier@gmail.com>
Co-authored-by: Jack Shelton <104264123+thejackshelton@users.noreply.github.com>
Co-authored-by: Erik Eng <e.ptz0n@gmail.com>
Co-authored-by: Steve Sewell <steve@builder.io>
Co-authored-by: Riccardo Perra <perrariccardo0@gmail.com>
Co-authored-by: Pasquale De Lucia <pasquale.delucia96@gmail.com>
Co-authored-by: Sidharth Mohanty <sidmohanty11@gmail.com>
Co-authored-by: Daniela Bonvini <danbonvini@gmail.com>
Co-authored-by: Shai Reznik <shairez@users.noreply.github.com>
Co-authored-by: Lucas Stahl <30933416+Stahlwalker@users.noreply.github.com>
Co-authored-by: John Prem Kumar S <36818969+JohnPremKumar@users.noreply.github.com>
Co-authored-by: Thomas Deinhamer <184284+thasmo@users.noreply.github.com>
Co-authored-by: Harish Krishnan <harishkrishnan1993@gmail.com>
Co-authored-by: Juer Genie Whang <2695996944@qq.com>
Co-authored-by: Juer Genie Whang <juergenie@qq.com>
Co-authored-by: wangyipeng <ffwangyipeng@chinatelecom.cn>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Arjun <arjunsingh8112@gmail.com>
Co-authored-by: Bendegúz Hajnal <hajnalbendeguz@gmail.com>
Co-authored-by: ulic75 <ulic75@gmail.com>
Co-authored-by: Youssef Adbib <mradbib@gmail.com>
Co-authored-by: Necati <necatifk07@gmail.com>
Co-authored-by: Leo <wtlin1228@gmail.com>
Co-authored-by: mulztob <49060581+mulztob@users.noreply.github.com>
@wmertens
Copy link
Member

@iamriajul Could you rebase? The tests failed back then and I can't re-run them in this state, the rebase will trigger them.

@wmertens wmertens removed the STATUS-2: PR waiting for review This PR is waiting for review and approval before merge label Jan 17, 2024
@wmertens wmertens merged commit f12c1b0 into QwikDev:main Jan 18, 2024
22 checks passed
@wmertens
Copy link
Member

Thanks!

kodiakhq bot pushed a commit to ascorbic/unpic-img that referenced this pull request Jan 30, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@builder.io/qwik](https://qwik.builder.io/) ([source](https://togithub.com/BuilderIO/qwik/tree/HEAD/packages/qwik)) | [`1.3.2` -> `1.4.3`](https://renovatebot.com/diffs/npm/@builder.io%2fqwik/1.3.2/1.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@builder.io%2fqwik/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@builder.io%2fqwik/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@builder.io%2fqwik/1.3.2/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@builder.io%2fqwik/1.3.2/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>BuilderIO/qwik (@&#8203;builder.io/qwik)</summary>

### [`v1.4.3`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.4.3)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.4.2...v1.4.3)

#### What's Changed

-   chore(vite): downgrade vite version by [@&#8203;balaji-sivasakthi](https://togithub.com/balaji-sivasakthi) in [QwikDev/qwik#5785
-   fix(starter): adjust padding for 768px devices by [@&#8203;balaji-sivasakthi](https://togithub.com/balaji-sivasakthi) in [QwikDev/qwik#5787
-   chore: lint++ by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5788
-   fix(qwik-city): fix import ./[@&#8203;qwik-city](https://togithub.com/qwik-city) files in prod by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5791
-   fix(qwik-auth): lock down `@auth/core` version by [@&#8203;balazsorban44](https://togithub.com/balazsorban44) in [QwikDev/qwik#5790
-   chore(docs): align indentation by [@&#8203;greatgraphicdesign](https://togithub.com/greatgraphicdesign) in [QwikDev/qwik#5792
-   chore(docs): Update to latest builder.io/sdk-qwik by [@&#8203;STRd6](https://togithub.com/STRd6) in [QwikDev/qwik#5794
-   docs: Redirect all requests from builder.io to the qwik.dev domain. by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5796
-   feat(QwikCityMockProvider): add optional goto prop by [@&#8203;alexismch](https://togithub.com/alexismch) in [QwikDev/qwik#5779
-   chore(starters): update 🐼 PandaCSS integration starter dev dependency by [@&#8203;mrhoodz](https://togithub.com/mrhoodz) in [QwikDev/qwik#5797
-   feat(qwik): configure sourcemap in optimizer by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5799
-   chore: 1.4.3 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5800

#### New Contributors

-   [@&#8203;balaji-sivasakthi](https://togithub.com/balaji-sivasakthi) made their first contribution in [QwikDev/qwik#5785
-   [@&#8203;balazsorban44](https://togithub.com/balazsorban44) made their first contribution in [QwikDev/qwik#5790
-   [@&#8203;greatgraphicdesign](https://togithub.com/greatgraphicdesign) made their first contribution in [QwikDev/qwik#5792
-   [@&#8203;alexismch](https://togithub.com/alexismch) made their first contribution in [QwikDev/qwik#5779

**Full Changelog**: QwikDev/qwik@v1.4.2...v1.4.3

### [`v1.4.2`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.4.2)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.4.1...v1.4.2)

##### What's Changed

-   fix(docs): Sandbox playground iframe by [@&#8203;STRd6](https://togithub.com/STRd6) in [QwikDev/qwik#5768
-   docs(astro): update integration doc by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#5771
-   docs: add note about Astro integrations order importance by [@&#8203;Seanmclem](https://togithub.com/Seanmclem) in [QwikDev/qwik#5776
-   feat(dev): preload modules for / so dev starts faster by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5775
-   fix: SW cache race condition by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#5780
-   chore: 1.4.2 by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#5781

##### New Contributors

-   [@&#8203;Seanmclem](https://togithub.com/Seanmclem) made their first contribution in [QwikDev/qwik#5776

**Full Changelog**: QwikDev/qwik@v1.4.1...v1.4.2

### [`v1.4.1`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.4.1)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.4.0...v1.4.1)

##### Overview

-   Try harder to prevent dirty tasks on SSR
-   AWS middleware in `qwik-city`
-   File filter option to make Qwik work better with Astro
-   `qwik-auth` can now handle multiple cookies
-   Node adapters in `qwik-city` now read .env files
-   Bugfixes in various service workers, starter CSS build, etc
-   Dependency updates

Thanks to all contributors!

##### Commits

-   chore(starters): update 🐼 PandaCSS integration dev dependency  by [@&#8203;mrhoodz](https://togithub.com/mrhoodz) in [QwikDev/qwik#5739
-   docs: add Valibot website to showcases by [@&#8203;fabian-hiller](https://togithub.com/fabian-hiller) in [QwikDev/qwik#5740
-   fix: multiple cookies in qwik-auth by [@&#8203;ksjogo](https://togithub.com/ksjogo) in [QwikDev/qwik#5602
-   feat(qwik-city): AWS adapter middleware by [@&#8203;leifermendez](https://togithub.com/leifermendez) in [QwikDev/qwik#5732
-   docs: fix code highlight by downgrading rehype-pretty-code by [@&#8203;Balastrong](https://togithub.com/Balastrong) in [QwikDev/qwik#5742
-   feat(starters): add dotenv in node adapters by [@&#8203;hassanzohdy](https://togithub.com/hassanzohdy) in [QwikDev/qwik#5749
-   fix(docs): Validate origin on postmessage by [@&#8203;STRd6](https://togithub.com/STRd6) in [QwikDev/qwik#5751
-   feat(vite): new file filter option by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#5752
-   fix(ssr): dirty tasks by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5741
-   fix(qwik): ensure that SW cache is properly opened by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5748
-   fix: insights error handling and qwik-city json imports by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5754
-   fix(prefetch-sw): await cache opening by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5759
-   chore: updates by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5760
-   fix(sw-prefetch): prevent uninitialized cache use by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5761
-   fix(sw-prefetch): cache handling by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5764
-   fix: duplicated css code in global.css in starter template by [@&#8203;linkfang](https://togithub.com/linkfang) in [QwikDev/qwik#5763
-   feat(repl): use bundled qwik and prettier versions by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5755
-   fix(sw-prefetch): clone on reuse by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5765
-   chore: 1.4.1 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5766

##### New Contributors

-   [@&#8203;STRd6](https://togithub.com/STRd6) made their first contribution in [QwikDev/qwik#5751

**Full Changelog**: QwikDev/qwik@v1.4.0...v1.4.1

### [`v1.4.0`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.4.0)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.3.5...v1.4.0)

##### What's Changed

-   Types have changed a bit, now JSX components output `JSXOutput` instead of `JSXNode`, which captures the existing possibility to return strings, booleans, arrays etc.
-   The Link component now automatically prefetches the JS needed
-   When SPA routing fails, it will now use MPA routing as a fallback
-   Various bugfixes

##### PRs merged

-   docs(showcase): add Blueagle's Profolio & Blog by [@&#8203;blueagler](https://togithub.com/blueagler) in [QwikDev/qwik#5695
-   docs(showcase): update metrics by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5707
-   fix(types): untyped components, test more edge cases by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5713
-   docs(showcase): add Zhou's portfolio by [@&#8203;linkfang](https://togithub.com/linkfang) in [QwikDev/qwik#5710
-   chore: upgrades by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5705
-   fix(qwik): register new index.d.ts package file by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5715
-   docs: move props example after local state and useStore explanation by [@&#8203;Balastrong](https://togithub.com/Balastrong) in [QwikDev/qwik#5718
-   docs: emphasize on useStore and onInput$ by [@&#8203;Balastrong](https://togithub.com/Balastrong) in [QwikDev/qwik#5719
-   docs: add Storybook Examples by [@&#8203;thenhawke](https://togithub.com/thenhawke) in [QwikDev/qwik#5720
-   fix(jsx-qwik-attributes): fix ts error TS4023 by [@&#8203;maiieul](https://togithub.com/maiieul) in [QwikDev/qwik#5722
-   fix(types): JSX.Element is JSXOutput by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5723
-   fix: prevent race condition by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5711
-   fix: build from scratch + insights by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5724
-   docs: Good first issue link doesn't lead you to properly label "COMMUNITY:  good first issue" by [@&#8203;aendel](https://togithub.com/aendel) in [QwikDev/qwik#5726
-   docs: fixed CodeSandbox/CodeFile src paths to match github files by [@&#8203;aendel](https://togithub.com/aendel) in [QwikDev/qwik#5725
-   fix: Uppercase handling for SameSite cookie values by [@&#8203;ksjogo](https://togithub.com/ksjogo) in [QwikDev/qwik#5603
-   feat(link): prefetch symbols by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5480
-   docs: Fixed various typos (or misspelled words) in documentation files by [@&#8203;aendel](https://togithub.com/aendel) in [QwikDev/qwik#5728
-   chore: extra type tests by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5580
-   fix(build): qwik binary path in package.json by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5729
-   fix(routing): fallback to hard navigation when soft navigation fails. by [@&#8203;iamriajul](https://togithub.com/iamriajul) in [QwikDev/qwik#5521
-   fix(JSX): remove Promise from FC by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5730
-   fix(core): serialize the 'key' attribute of JSX nodes by [@&#8203;yanivhamo](https://togithub.com/yanivhamo) in [QwikDev/qwik#5501
-   fix(repl): give monaco the names of the imports by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5734
-   docs(cookbook): add Combine Request Handlers example by [@&#8203;gioboa](https://togithub.com/gioboa) and [@&#8203;erikras](https://togithub.com/erikras) in [QwikDev/qwik#5733
-   fix(docs): grammar in "Project Structure" page by [@&#8203;ChallengeHandler](https://togithub.com/ChallengeHandler) in [QwikDev/qwik#5735
-   chore: 1.4.0 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5736

##### New Contributors

-   [@&#8203;blueagler](https://togithub.com/blueagler) made their first contribution in [QwikDev/qwik#5695
-   [@&#8203;linkfang](https://togithub.com/linkfang) made their first contribution in [QwikDev/qwik#5710
-   [@&#8203;Balastrong](https://togithub.com/Balastrong) made their first contribution in [QwikDev/qwik#5718
-   [@&#8203;thenhawke](https://togithub.com/thenhawke) made their first contribution in [QwikDev/qwik#5720
-   [@&#8203;aendel](https://togithub.com/aendel) made their first contribution in [QwikDev/qwik#5726
-   [@&#8203;ksjogo](https://togithub.com/ksjogo) made their first contribution in [QwikDev/qwik#5603
-   [@&#8203;yanivhamo](https://togithub.com/yanivhamo) made their first contribution in [QwikDev/qwik#5501
-   [@&#8203;ChallengeHandler](https://togithub.com/ChallengeHandler) made their first contribution in [QwikDev/qwik#5735

**Full Changelog**: QwikDev/qwik@v1.3.5...v1.4.0

### [`v1.3.5`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.3.5)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.3.4...v1.3.5)

#### What's Changed

-   docs: fix typos for theme management cookbook by [@&#8203;harshmangalam](https://togithub.com/harshmangalam) in [QwikDev/qwik#5698
-   fix(labs): double slash when used with BASE_URL by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5700
-   fix: improve escapeText and unescapeText replace to prevent XSS by [@&#8203;ignatvilesov](https://togithub.com/ignatvilesov) in [QwikDev/qwik#5701
-   chore: allow any undici version by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5703
-   docs(propfunctionprops): mark propfunctionprops as deprecated by [@&#8203;maiieul](https://togithub.com/maiieul) in [QwikDev/qwik#5680
-   chore: 1.3.5 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5704

**Full Changelog**: QwikDev/qwik@v1.3.4...v1.3.5

### [`v1.3.4`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.3.4)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.3.3...v1.3.4)

##### What's Changed

-   chore: update deps + monaco by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5685
-   chore: Remove duplicated dist directory from .prettierignore by [@&#8203;nelsonprsousa](https://togithub.com/nelsonprsousa) in [QwikDev/qwik#5687
-   docs: add og-img integration guide by [@&#8203;fabian-hiller](https://togithub.com/fabian-hiller) in [QwikDev/qwik#5686
-   chore: improve FunctionComponent by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5688
-   fix: improve escapeText replace by [@&#8203;ignatvilesov](https://togithub.com/ignatvilesov) in [QwikDev/qwik#5689
-   fix(optimizer): use correct prop in omit by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5690
-   chore: 1.3.4 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5691
-   docs: fix typos for nav link cookbook  by [@&#8203;harshmangalam](https://togithub.com/harshmangalam) in [QwikDev/qwik#5694

##### New Contributors

-   [@&#8203;ignatvilesov](https://togithub.com/ignatvilesov) made their first contribution in [QwikDev/qwik#5689

**Full Changelog**: QwikDev/qwik@v1.3.3...v1.3.4

### [`v1.3.3`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.3.3)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.3.2...v1.3.3)

##### What's Changed

-   fix(cli): Update jokes.json by [@&#8203;mayank99](https://togithub.com/mayank99) in [QwikDev/qwik#5657
-   docs: for accessing the .env variables in serverfull architechture example in express by [@&#8203;sreeisalso](https://togithub.com/sreeisalso) in [QwikDev/qwik#5619
-   docs: change placement of {...props}  and add section by [@&#8203;Adbib](https://togithub.com/Adbib) in [QwikDev/qwik#5664
-   docs: Update build command in Static Site Generation (SSG) Overview docs by [@&#8203;lelouchB](https://togithub.com/lelouchB) in [QwikDev/qwik#5668
-   fix(starter): rename tailwind postcss.config file by [@&#8203;iamriajul](https://togithub.com/iamriajul) in [QwikDev/qwik#5669
-   fix: fixing running qwik-development-server on windows machine by [@&#8203;hassanzohdy](https://togithub.com/hassanzohdy) in [QwikDev/qwik#5593
-   fix(starter): add vite plugin type by [@&#8203;iamriajul](https://togithub.com/iamriajul) in [QwikDev/qwik#5670
-   feat(qwik-react): directive aliases for Astro and other package conflicts by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#5651
-   feat: qwik-prefetch-worker by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5618
-   refactor: Clarify var naming qwikloader.ts by [@&#8203;gabrielgrant](https://togithub.com/gabrielgrant) in [QwikDev/qwik#5546
-   docs: fix entry file name by [@&#8203;AustinGil](https://togithub.com/AustinGil) in [QwikDev/qwik#5646
-   feat(labs): Support base prefix in untypedAppUrl by [@&#8203;tera-ny](https://togithub.com/tera-ny) in [QwikDev/qwik#5615
-   style(starter templates): updates to starter templates names by [@&#8203;abstractalgo](https://togithub.com/abstractalgo) in [QwikDev/qwik#5479
-   fix: Clearer error message for `resolveValue` for `head` function by [@&#8203;colelawrence](https://togithub.com/colelawrence) in [QwikDev/qwik#5624
-   refactor(starter): add alt attribute in order to improve accessibility by [@&#8203;tidiview](https://togithub.com/tidiview) in [QwikDev/qwik#5674
-   refactor(insights): remove netlify.toml causing confusion by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5676
-   feat(cookbook): add Algolia search by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5675
-   fix(cookbook): change Algolia example by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5677
-   fix: polymorphic component types by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5672
-   chore: add Nix build flake environment by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5594
-   fix(nix): missing .envrc by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5678
-   fix(nix): make rust and wasm builds work by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5679
-   fix: dynamic refs by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5681
-   fix(core): Make polymorphic components easy by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5682
-   chore: 1.3.3 by [@&#8203;wmertens](https://togithub.com/wmertens) in [QwikDev/qwik#5683

##### New Contributors

-   [@&#8203;mayank99](https://togithub.com/mayank99) made their first contribution in [QwikDev/qwik#5657
-   [@&#8203;lelouchB](https://togithub.com/lelouchB) made their first contribution in [QwikDev/qwik#5668
-   [@&#8203;hassanzohdy](https://togithub.com/hassanzohdy) made their first contribution in [QwikDev/qwik#5593
-   [@&#8203;AustinGil](https://togithub.com/AustinGil) made their first contribution in [QwikDev/qwik#5646
-   [@&#8203;tera-ny](https://togithub.com/tera-ny) made their first contribution in [QwikDev/qwik#5615

**Full Changelog**: QwikDev/qwik@v1.3.2...v1.3.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm on sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ascorbic/unpic-img).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet