Compare commits

...

807 Commits

Author SHA1 Message Date
pengx17
487154ed3b fix(core): nav item line-height with Emoji (#8148) 2024-09-06 11:28:22 +00:00
forehalo
817842cf72 fix(core): oauth links should have origin prefix in desktop (#8150) 2024-09-06 11:16:19 +00:00
Saul-Mirone
84ebe62edc chore: bump bs to lts (#8147) 2024-09-06 10:54:19 +00:00
JimmFly
e822bbd2dd fix(core): deleted doc should not appear in tag pages (#8143)
close AF-1206
2024-09-06 10:40:03 +00:00
JimmFly
7fe8d7e96f fix(core): adjust editor settings preview style (#8146)
close PD-1680 PD-1682 PD-1683

https://github.com/user-attachments/assets/49ed9ffe-8e8f-403d-91a0-e42b7f4ffb04
2024-09-06 10:06:19 +00:00
pengx17
cd5c512a5f fix(electron): auto update check on windows (#8137)
turns out activate event is only available on macos
2024-09-06 09:41:25 +00:00
pengx17
d089470bbf feat(electron): electron shell skeleton (#8127)
fix AF-1331
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/e09203aa-f143-42f8-bd39-e5078d07ada2.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/e09203aa-f143-42f8-bd39-e5078d07ada2.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/e09203aa-f143-42f8-bd39-e5078d07ada2.mp4">1.mp4</video>

missing
- per split view skeleton
- per route skeleton
2024-09-06 09:25:20 +00:00
akumatus
16bb00ed78 fix: load snapshot files in parallel (#8145) 2024-09-06 09:12:57 +00:00
forehalo
bffc294620 fix(core): oauth popup blocked in safari (#8144)
fix(core): oauth popup blocked in safari

fix(core): standarize auth routes

fix AF-1352
2024-09-06 08:26:27 +00:00
forehalo
be4df0f8ac fix(server): created user in update table should not have defualt value (#8134) 2024-09-06 06:42:04 +00:00
forehalo
64d2b926a2 fix(server): remove default auth redirect url (#8140) 2024-09-06 06:26:59 +00:00
JimmFly
a027cef457 fix(core): some fonts are unavailable (#8139)
close AF-1349 AF-1347
2024-09-06 05:08:12 +00:00
fundon
7d93fae1dd fix(core): inlineEditor on rich-text may be null (#8131)
See 3d3d9d7862/packages/affine/components/src/rich-text/rich-text.ts (L348-L350)
https://github.com/toeverything/blocksuite/blob/master/packages/affine/components/src/rich-text/rich-text.ts#L36
2024-09-06 03:50:05 +00:00
EYHN
702c03539f fix(core): fix member list fallback size (#8133) 2024-09-06 02:38:30 +00:00
EYHN
52cd6102cb fix: fix download fonts script (#8125) 2024-09-06 00:37:57 +08:00
EYHN
74cd175d37 feat(core): invoice service (#8124) 2024-09-05 23:56:58 +08:00
akumatus
9cbe416c2c feat(core): shape editor settings (#8122)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/cdf4f95c-15b4-4eac-be57-26974f9ca02b.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/cdf4f95c-15b4-4eac-be57-26974f9ca02b.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/cdf4f95c-15b4-4eac-be57-26974f9ca02b.mov">录屏2024-09-05 21.20.31.mov</video>
2024-09-05 15:24:37 +00:00
EYHN
f4db4058f8 feat(core): make permission and invoice offline available (#8123) 2024-09-05 15:11:27 +00:00
JimmFly
8be67dce82 fix(core): remove joined workspace icon from current worksapce card (#8117)
close PD-1669
2024-09-05 14:58:29 +00:00
fundon
017e89f458 fix(core): should be bound to the correct object (#8121)
<img width="795" alt="Screenshot 2024-09-05 at 18 05 35" src="https://github.com/user-attachments/assets/46f277e9-9be6-4f71-b765-fc442a3a9c64">
2024-09-05 14:46:04 +00:00
pengx17
d3f50a2e38 feat(core): expose skip login button to web (#8115)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/634cce16-bba2-480f-9126-94b22a782a9a.png)

Allow user skip login page on client
2024-09-05 14:33:22 +00:00
JimmFly
d0010a1d11 chore: add i18n support for ai confirm modal (#8116) 2024-09-05 14:20:40 +00:00
JimmFly
10fe79a9a8 chore: remove deprecated admin panel (#8120) 2024-09-05 14:07:34 +00:00
akumatus
4bbb94c32d feat(core): bump blocksuite (#8114) 2024-09-05 13:54:56 +00:00
JimmFly
5083fe3cfd feat(core): update i18n resources (#8119) 2024-09-05 12:37:06 +00:00
fundon
de1a51bf7c fix(core): should open a new tab with parameters (#8118)
Closes [AF-1343](https://linear.app/affine-design/issue/AF-1343/点击-center-peek-右侧的按钮时,应该携带参数)
2024-09-05 10:30:39 +00:00
pengx17
7621758c76 fix(electron): tune offline mode filter (#8113) 2024-09-05 10:08:56 +00:00
pengx17
f7816a5b28 chore(electron): downgrade electron to v31 (#8111) 2024-09-05 09:49:35 +00:00
JimmFly
5c67f98e90 fix(admin): nav bar incorrectly active state (#7870) 2024-09-05 09:35:22 +00:00
pengx17
d5ecf503c2 fix(mobile): journal button should not show for edgeless (#8110) 2024-09-05 09:16:26 +00:00
pengx17
2a2a969394 feat(mobile): add share button (#8109) 2024-09-05 09:16:25 +00:00
EYHN
691bfed185 feat(core): selector for editorSetting hooks (#8108) 2024-09-05 08:44:11 +00:00
JimmFly
3837c84791 feat(core): temporarily add page mode editor settings to appearance settings (#8090)
Will remove it when editor settings is released.

![CleanShot 2024-09-04 at 18 19 29@2x](https://github.com/user-attachments/assets/2b2b75ff-acbf-4ca9-ae60-292e73663e13)
2024-09-05 08:30:01 +00:00
fundon
059030fbeb fix(core): link generation for selected blocks (#8087)
Closes [BS-1321](https://linear.app/affine-design/issue/BS-1321/copy-link-to-selected-block)

https://github.com/user-attachments/assets/6102fc7f-9551-4dd4-83b1-758dd0a946f0
2024-09-05 07:47:40 +00:00
akumatus
19a7d1eb92 feat(core): observe editor settings change and update edgeless editor (#8105)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/cfdd0578-274c-42e3-9ef5-5528e8b25306.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/cfdd0578-274c-42e3-9ef5-5528e8b25306.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/cfdd0578-274c-42e3-9ef5-5528e8b25306.mov">录屏2024-09-05 14.32.41.mov</video>
2024-09-05 07:30:20 +00:00
JimmFly
f452414952 fix(core): hide the footer that blocks the toolbar in shared page (#8091)
close PD-1405 CLOUD-64

https://github.com/user-attachments/assets/f6ed2dfc-d238-41d8-abaf-684193a080ff
2024-09-05 07:14:23 +00:00
CatsJuice
03c2051926 feat(component): startScopedViewTranstion func to support scoped view transition (#8093)
AF-1293
2024-09-05 06:45:29 +00:00
CatsJuice
73dd1d3326 fix(mobile): fixed all docs header, remove doc card tags layout strategy (#8104)
close AF-1326
2024-09-05 06:29:18 +00:00
renovate
24acce2eac chore: bump up @blocksuite/icons version to v2.1.67 (#8006)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://redirect.github.com/toeverything/icons) | [`2.1.66` -> `2.1.67`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.66/2.1.67) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.67?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.67?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.66/2.1.67?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.66/2.1.67?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.67`](8842286f0a...4bdeb1d0ae)

[Compare Source](8842286f0a...4bdeb1d0ae)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-05 05:41:33 +00:00
Yifeng Wang
b711b087c5 docs: add electron build troubleshooting (#8102) 2024-09-05 13:39:01 +08:00
renovate
23748c83a1 chore: bump up @faker-js/faker version to v9 (#8097)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@faker-js/faker](https://redirect.github.com/faker-js/faker) | [`^8.4.1` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/8.4.1/9.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/8.4.1/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/8.4.1/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>faker-js/faker (@&#8203;faker-js/faker)</summary>

### [`v9.0.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#900-2024-09-02)

[Compare Source](https://redirect.github.com/faker-js/faker/compare/v8.4.1...v9.0.0)

No noteworthy changes to [9.0.0-rc.1](https://redirect.github.com/faker-js/faker/blob/next/CHANGELOG.md#900-rc1-2024-08-19)

For those upgrading from earlier versions, please refer to our [Migration Guide](https://v9.fakerjs.dev/guide/upgrading.html) for detailed instructions.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-05 04:43:03 +00:00
renovate
7c3666ad6d chore: bump up rustc version to v1.80.1 (#8099)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | patch | `1.80.0` -> `1.80.1` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.80.1`](https://redirect.github.com/rust-lang/rust/compare/1.80.0...1.80.1)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.80.0...1.80.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-05 04:19:58 +00:00
renovate
03a071e4cb chore: bump up all non-major dependencies (#8077)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.637.0` -> `3.645.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.637.0` -> `3.645.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.637.0/3.645.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.6.4` -> `19.6.5`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.6.4/19.6.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.6.4/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.6.4/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.22.3` -> `2.22.4`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.22.3/2.22.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.22.3/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.22.3/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.22.3` -> `2.22.4`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.22.3/2.22.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.22.3/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.22.3/2.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@toeverything/theme](https://redirect.github.com/toeverything/design) | [`1.0.7` -> `1.0.8`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.0.7/1.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.0.7/1.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.0.7/1.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.3` -> `20.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.3/20.16.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.3/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.3/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cssnano](https://redirect.github.com/cssnano/cssnano) | [`7.0.5` -> `7.0.6`](https://renovatebot.com/diffs/npm/cssnano/7.0.5/7.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.5/7.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.5/7.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`32.0.1` -> `32.0.2`](https://renovatebot.com/diffs/npm/electron/32.0.1/32.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/32.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/32.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/32.0.1/32.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/32.0.1/32.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://redirect.github.com/davidjerleke/embla-carousel)) | [`8.2.0` -> `8.2.1`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.2.0/8.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.2.0/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.2.0/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [http-proxy-middleware](https://redirect.github.com/chimurai/http-proxy-middleware) | [`3.0.1` -> `3.0.2`](https://renovatebot.com/diffs/npm/http-proxy-middleware/3.0.1/3.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/http-proxy-middleware/3.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/http-proxy-middleware/3.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/http-proxy-middleware/3.0.1/3.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/http-proxy-middleware/3.0.1/3.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`14.1.0` -> `14.1.1`](https://renovatebot.com/diffs/npm/marked/14.1.0/14.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/marked/14.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/marked/14.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/marked/14.1.0/14.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked/14.1.0/14.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.4.1` -> `2.4.2`](https://renovatebot.com/diffs/npm/msw/2.4.1/2.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.4.1/2.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nodemailer](https://nodemailer.com/) ([source](https://redirect.github.com/nodemailer/nodemailer)) | [`6.9.14` -> `6.9.15`](https://renovatebot.com/diffs/npm/nodemailer/6.9.14/6.9.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemailer/6.9.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemailer/6.9.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemailer/6.9.14/6.9.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemailer/6.9.14/6.9.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.6.4` -> `19.6.5`](https://renovatebot.com/diffs/npm/nx/19.6.4/19.6.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.6.4/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.6.4/19.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.57.0` -> `4.57.3`](https://renovatebot.com/diffs/npm/openai/4.57.0/4.57.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.57.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.57.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.57.0/4.57.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.57.0/4.57.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.44` -> `8.4.45`](https://renovatebot.com/diffs/npm/postcss/8.4.44/8.4.45) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.44/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.44/8.4.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [serde_json](https://redirect.github.com/serde-rs/json) | `1.0.127` -> `1.0.128` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.128?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.128?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.127/1.0.128?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.127/1.0.128?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [sqlx](https://redirect.github.com/launchbadge/sqlx) | `0.8.1` -> `0.8.2` | [![age](https://developer.mend.io/api/mc/badges/age/crate/sqlx/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/sqlx/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/sqlx/0.8.1/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/sqlx/0.8.1/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [vaul](https://vaul.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/vaul)) | [`0.9.1` -> `0.9.2`](https://renovatebot.com/diffs/npm/vaul/0.9.1/0.9.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vaul/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vaul/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vaul/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vaul/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.2` -> `5.4.3`](https://renovatebot.com/diffs/npm/vite/5.4.2/5.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [webpack-dev-server](https://redirect.github.com/webpack/webpack-dev-server) | [`5.0.4` -> `5.1.0`](https://renovatebot.com/diffs/npm/webpack-dev-server/5.0.4/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack-dev-server/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack-dev-server/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack-dev-server/5.0.4/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack-dev-server/5.0.4/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.73.0` -> `3.74.0`](https://renovatebot.com/diffs/npm/wrangler/3.73.0/3.74.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.74.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.74.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.73.0/3.74.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.73.0/3.74.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.645.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36450-2024-09-04)

[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.637.0...v3.645.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.6.5`](https://redirect.github.com/nrwl/nx/releases/tag/19.6.5)

[Compare Source](https://redirect.github.com/nrwl/nx/compare/19.6.4...19.6.5)

#### 19.6.5 (2024-09-03)

##### 🩹 Fixes

-   **core:** handle file change conflicts between sync generators ([#&#8203;27695](https://redirect.github.com/nrwl/nx/pull/27695))
-   **core:** filter branch in preparation for nx import ([#&#8203;27652](https://redirect.github.com/nrwl/nx/pull/27652))
-   **core:** add parallelism to target defaults schema ([#&#8203;27710](https://redirect.github.com/nrwl/nx/pull/27710))
-   **core:** bump plugin pool attempts to work with slow runtimes ([#&#8203;27726](https://redirect.github.com/nrwl/nx/pull/27726))
-   **detox:** fix name with camel case ([#&#8203;27602](https://redirect.github.com/nrwl/nx/pull/27602))
-   **expo:** fix unable to build expo local for yarn 4 ([#&#8203;26992](https://redirect.github.com/nrwl/nx/pull/26992))
-   **expo:** add cacheVersion to metro.config ([#&#8203;27646](https://redirect.github.com/nrwl/nx/pull/27646))
-   **misc:** fix the URL of the [@&#8203;naxodev/nx-cloudflare](https://redirect.github.com/naxodev/nx-cloudflare) plugin ([#&#8203;27723](https://redirect.github.com/nrwl/nx/pull/27723))
-   **nx-dev:** show first tab if none selected ([#&#8203;27701](https://redirect.github.com/nrwl/nx/pull/27701))
-   **react-native:** change hermesCommand to build android ([#&#8203;27641](https://redirect.github.com/nrwl/nx/pull/27641))
-   **release:** release plan command should take filters and touched projects into account ([#&#8203;27706](https://redirect.github.com/nrwl/nx/pull/27706))
-   **release:** version plan changelogs should contain authors and refs ([#&#8203;27737](https://redirect.github.com/nrwl/nx/pull/27737))

##### ❤️  Thank You

-   Austin Fahsl [@&#8203;fahslaj](https://redirect.github.com/fahslaj)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Isaac Mann [@&#8203;isaacplmann](https://redirect.github.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://redirect.github.com/MaxKless)
-   Nicolas Beaussart
-   Victor Berchet [@&#8203;vicb](https://redirect.github.com/vicb)

</details>

<details>
<summary>getsentry/sentry-javascript-bundler-plugins (@&#8203;sentry/esbuild-plugin)</summary>

### [`v2.22.4`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#2224)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/2.22.3...2.22.4)

-   feat(react-component-annotate): Handle function body returning a ternary ([#&#8203;598](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/598))
-   fix: Allow injection plugins to apply to files with query parameters and fragments in their name ([#&#8203;597](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/597))

Work in this release contributed by [@&#8203;Thristhart](https://redirect.github.com/Thristhart). Thank you for your contribution!

</details>

<details>
<summary>toeverything/design (@&#8203;toeverything/theme)</summary>

### [`v1.0.8`](https://redirect.github.com/toeverything/design/compare/1.0.7...1.0.8)

[Compare Source](https://redirect.github.com/toeverything/design/compare/1.0.7...1.0.8)

</details>

<details>
<summary>cssnano/cssnano (cssnano)</summary>

### [`v7.0.6`](https://redirect.github.com/cssnano/cssnano/releases/tag/cssnano%407.0.6): v7.0.6

[Compare Source](https://redirect.github.com/cssnano/cssnano/compare/cssnano@7.0.5...cssnano@7.0.6)

#### What's Changed

-   Update postcss-calc and selector-parser by [@&#8203;ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1663](https://redirect.github.com/cssnano/cssnano/pull/1663)
-   fix(postcss-convert-values): convert `0ms` to `0s` by [@&#8203;btea](https://redirect.github.com/btea) in [https://github.com/cssnano/cssnano/pull/1665](https://redirect.github.com/cssnano/cssnano/pull/1665)

**Full Changelog**: https://github.com/cssnano/cssnano/compare/cssnano@7.0.5...cssnano@7.0.6

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v32.0.2`](https://redirect.github.com/electron/electron/releases/tag/v32.0.2): electron v32.0.2

[Compare Source](https://redirect.github.com/electron/electron/compare/v32.0.1...v32.0.2)

### Release Notes for v32.0.2

#### Fixes

-   Fixed `MenuItem.click` handler not setting `focusedWindow` parameter when focused window is a `BaseWindow`. [#&#8203;43437](https://redirect.github.com/electron/electron/pull/43437) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43439), [33](https://redirect.github.com/electron/electron/pull/43438))</span>
-   Fixed an issue where `BaseWindow.setTouchBar` didn't work as expected. [#&#8203;43421](https://redirect.github.com/electron/electron/pull/43421) <span style="font-size:small;">(Also in [30](https://redirect.github.com/electron/electron/pull/43419), [31](https://redirect.github.com/electron/electron/pull/43420), [33](https://redirect.github.com/electron/electron/pull/43422))</span>
-   Fixed bug where camera permissions affected screen sharing. [#&#8203;43544](https://redirect.github.com/electron/electron/pull/43544)
-   Fixed devtools to allow restoring saved dock state on Linux when WCO is enabled. [#&#8203;43501](https://redirect.github.com/electron/electron/pull/43501) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43500), [33](https://redirect.github.com/electron/electron/pull/43499))</span>
-   Fixed electron app in ozone/wayland not being focused when launched from another app. [#&#8203;43548](https://redirect.github.com/electron/electron/pull/43548) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43547), [33](https://redirect.github.com/electron/electron/pull/43546))</span>

#### Other Changes

-   Updated Chromium to 128.0.6613.84. [#&#8203;43425](https://redirect.github.com/electron/electron/pull/43425)

#### Documentation

-   Documentation changes: [#&#8203;43459](https://redirect.github.com/electron/electron/pull/43459)

</details>

<details>
<summary>davidjerleke/embla-carousel (embla-carousel-react)</summary>

### [`v8.2.1`](https://redirect.github.com/davidjerleke/embla-carousel/compare/v8.2.0...81c506653be467c0878240ac02f25b0626136b89)

[Compare Source](https://redirect.github.com/davidjerleke/embla-carousel/compare/v8.2.0...v8.2.1)

</details>

<details>
<summary>chimurai/http-proxy-middleware (http-proxy-middleware)</summary>

### [`v3.0.2`](https://redirect.github.com/chimurai/http-proxy-middleware/blob/HEAD/CHANGELOG.md#v302)

[Compare Source](https://redirect.github.com/chimurai/http-proxy-middleware/compare/v3.0.1...v3.0.2)

-   refactor(dependency): replace is-plain-obj with is-plain-object ([#&#8203;1031](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1031))
-   chore(package): upgrade to eslint v9 ([#&#8203;1032](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1032))
-   fix(logger-plugin): handle undefined protocol and hostname ([#&#8203;1036](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1036))

</details>

<details>
<summary>markedjs/marked (marked)</summary>

### [`v14.1.1`](https://redirect.github.com/markedjs/marked/compare/v14.1.0...f3c387fbcf9f9a7738072c29ec5f1ed5a326438c)

[Compare Source](https://redirect.github.com/markedjs/marked/compare/v14.1.0...v14.1.1)

</details>

<details>
<summary>mswjs/msw (msw)</summary>

### [`v2.4.2`](https://redirect.github.com/mswjs/msw/releases/tag/v2.4.2)

[Compare Source](https://redirect.github.com/mswjs/msw/compare/v2.4.1...v2.4.2)

#### v2.4.2 (2024-09-04)

##### Bug Fixes

-   **cli:** support windows paths in the `init` command ([#&#8203;2260](https://redirect.github.com/mswjs/msw/issues/2260)) ([`ba285b8`](ba285b887c)) [@&#8203;ivanfernandez2646](https://redirect.github.com/ivanfernandez2646) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)
-   use typescript@4.8 as the minimal supported version ([#&#8203;2251](https://redirect.github.com/mswjs/msw/issues/2251)) ([`6b2a7e6`](6b2a7e6be8)) [@&#8203;THETCR](https://redirect.github.com/THETCR) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)
-   keep `graphql` import as require in cjs ([#&#8203;2258](https://redirect.github.com/mswjs/msw/issues/2258)) ([`b977602`](b97760270b)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</details>

<details>
<summary>nodemailer/nodemailer (nodemailer)</summary>

### [`v6.9.15`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#6915-2024-08-08)

[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.14...v6.9.15)

##### Bug Fixes

-   Fix memory leak ([#&#8203;1667](https://redirect.github.com/nodemailer/nodemailer/issues/1667)) ([baa28f6](baa28f6596))
-   **mime:** Added GeoJSON closes [#&#8203;1637](https://redirect.github.com/nodemailer/nodemailer/issues/1637) ([#&#8203;1665](https://redirect.github.com/nodemailer/nodemailer/issues/1665)) ([79b8293](79b8293ad5))

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.57.3`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4573-2024-09-04)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.57.2...v4.57.3)

Full Changelog: [v4.57.2...v4.57.3](https://redirect.github.com/openai/openai-node/compare/v4.57.2...v4.57.3)

##### Bug Fixes

-   **helpers/zod:** avoid import issue in certain environments ([#&#8203;1039](https://redirect.github.com/openai/openai-node/issues/1039)) ([e238daa](e238daa7c1))

##### Chores

-   **internal:** minor bump qs version ([#&#8203;1037](https://redirect.github.com/openai/openai-node/issues/1037)) ([8ec218e](8ec218e9ef))

### [`v4.57.2`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4572-2024-09-04)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.57.1...v4.57.2)

Full Changelog: [v4.57.1...v4.57.2](https://redirect.github.com/openai/openai-node/compare/v4.57.1...v4.57.2)

##### Chores

-   **internal:** dependency updates ([#&#8203;1035](https://redirect.github.com/openai/openai-node/issues/1035)) ([e815fb6](e815fb6dee))

### [`v4.57.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4571-2024-09-03)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.57.0...v4.57.1)

Full Changelog: [v4.57.0...v4.57.1](https://redirect.github.com/openai/openai-node/compare/v4.57.0...v4.57.1)

##### Bug Fixes

-   **assistants:** correctly accumulate tool calls when streaming ([#&#8203;1031](https://redirect.github.com/openai/openai-node/issues/1031)) ([d935ad3](d935ad3fa3))
-   **client:** correct File construction from node-fetch Responses ([#&#8203;1029](https://redirect.github.com/openai/openai-node/issues/1029)) ([22ebdc2](22ebdc2ca7))
-   runTools without stream should not emit user message events ([#&#8203;1005](https://redirect.github.com/openai/openai-node/issues/1005)) ([22ded4d](22ded4d549))

##### Chores

-   **internal/tests:** workaround bug in recent types/node release ([3c7bdfd](3c7bdfdb37))

</details>

<details>
<summary>postcss/postcss (postcss)</summary>

### [`v8.4.45`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8445)

[Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.44...8.4.45)

-   Removed unnecessary fix which could lead to infinite loop.

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

### [`v1.0.128`](https://redirect.github.com/serde-rs/json/releases/tag/1.0.128)

[Compare Source](https://redirect.github.com/serde-rs/json/compare/1.0.127...1.0.128)

-   Support serializing maps containing 128-bit integer keys to serde_json::Value ([#&#8203;1188](https://redirect.github.com/serde-rs/json/issues/1188), thanks [@&#8203;Mrreadiness](https://redirect.github.com/Mrreadiness))

</details>

<details>
<summary>launchbadge/sqlx (sqlx)</summary>

### [`v0.8.2`](https://redirect.github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#082---2024-09-02)

[Compare Source](https://redirect.github.com/launchbadge/sqlx/compare/v0.8.1...v0.8.2)

10 pull requests were merged this release cycle.

This release addresses a few regressions that have occurred, and refines SQLx's MSRV policy (see [the FAQ](FAQ.md)).

##### Added

-   \[[#&#8203;3447]]: Clarify usage of Json/Jsonb in query macros \[\[[@&#8203;Lachstec](https://redirect.github.com/Lachstec)]]

##### Changed

-   \[[#&#8203;3424]]: Remove deprecated feature-names from `Cargo.toml` files in examples \[\[[@&#8203;carschandler](https://redirect.github.com/carschandler)]]

##### Fixed

-   \[[#&#8203;3403]]: Fix ([#&#8203;3395](https://redirect.github.com/launchbadge/sqlx/issues/3395)) sqlx::test macro in 0.8 \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3411]]: fix: Use rfc3339 to decode date from text \[\[[@&#8203;pierre-wehbe](https://redirect.github.com/pierre-wehbe)]]
-   \[[#&#8203;3453]]: fix([#&#8203;3445](https://redirect.github.com/launchbadge/sqlx/issues/3445)): PgHasArrayType \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
    -   Fixes `#[sqlx(no_pg_array)]` being forbidden on `#[derive(Type)]` structs.
-   \[[#&#8203;3454]]: fix: non snake case warning \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3459]]: Pgsql cube type compile fail \[\[[@&#8203;kdesjard](https://redirect.github.com/kdesjard)]]
-   \[[#&#8203;3465]]: fix(postgres): max number of binds is 65535, not 32767 (regression) \[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
-   \[[#&#8203;3467]]: fix cancellation issues with `PgListener`, `PgStream::recv()` \[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
    -   Fixes cryptic `unknown message: "\\0"` error
-   \[[#&#8203;3474]]: Fix try_get example in README.md \[\[[@&#8203;luveti](https://redirect.github.com/luveti)]]

[#&#8203;3403]: https://redirect.github.com/launchbadge/sqlx/pull/3403

[#&#8203;3411]: https://redirect.github.com/launchbadge/sqlx/pull/3411

[#&#8203;3424]: https://redirect.github.com/launchbadge/sqlx/pull/3424

[#&#8203;3447]: https://redirect.github.com/launchbadge/sqlx/pull/3447

[#&#8203;3453]: https://redirect.github.com/launchbadge/sqlx/pull/3453

[#&#8203;3454]: https://redirect.github.com/launchbadge/sqlx/pull/3454

[#&#8203;3455]: https://redirect.github.com/launchbadge/sqlx/pull/3455

[#&#8203;3459]: https://redirect.github.com/launchbadge/sqlx/pull/3459

[#&#8203;3465]: https://redirect.github.com/launchbadge/sqlx/pull/3465

[#&#8203;3467]: https://redirect.github.com/launchbadge/sqlx/pull/3467

[#&#8203;3474]: https://redirect.github.com/launchbadge/sqlx/pull/3474

</details>

<details>
<summary>emilkowalski/vaul (vaul)</summary>

### [`v0.9.2`](https://redirect.github.com/emilkowalski/vaul/releases/tag/v0.9.2)

[Compare Source](https://redirect.github.com/emilkowalski/vaul/compare/v0.9.1...v0.9.2)

Expect much more updates in the very near future :)

#### What's Changed

-   fix(src): Replace `React.useLayoutEffect` with `useIsomorphicLayoutEffect` by [@&#8203;axeldesutter](https://redirect.github.com/axeldesutter) in [https://github.com/emilkowalski/vaul/pull/368](https://redirect.github.com/emilkowalski/vaul/pull/368)
-   build: upgrade bundler by [@&#8203;huozhi](https://redirect.github.com/huozhi) in [https://github.com/emilkowalski/vaul/pull/315](https://redirect.github.com/emilkowalski/vaul/pull/315)
-   chore: update pnpm by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/401](https://redirect.github.com/emilkowalski/vaul/pull/401)

#### New Contributors

-   [@&#8203;axeldesutter](https://redirect.github.com/axeldesutter) made their first contribution in [https://github.com/emilkowalski/vaul/pull/368](https://redirect.github.com/emilkowalski/vaul/pull/368)

**Full Changelog**: https://github.com/emilkowalski/vaul/compare/v0.9.1...v0.9.2

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v5.4.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small543-2024-09-03-small)

[Compare Source](https://redirect.github.com/vitejs/vite/compare/v5.4.2...v5.4.3)

-   fix: allow getting URL of JS files in publicDir ([#&#8203;17915](https://redirect.github.com/vitejs/vite/issues/17915)) ([943ece1](943ece177e)), closes [#&#8203;17915](https://redirect.github.com/vitejs/vite/issues/17915)
-   fix: cjs warning respect the logLevel flag ([#&#8203;17993](https://redirect.github.com/vitejs/vite/issues/17993)) ([dc3c14f](dc3c14f39f)), closes [#&#8203;17993](https://redirect.github.com/vitejs/vite/issues/17993)
-   fix: improve CJS warning trace information ([#&#8203;17926](https://redirect.github.com/vitejs/vite/issues/17926)) ([5c5f82c](5c5f82c84b)), closes [#&#8203;17926](https://redirect.github.com/vitejs/vite/issues/17926)
-   fix: only remove entry assets handled by Vite core ([#&#8203;17916](https://redirect.github.com/vitejs/vite/issues/17916)) ([ebfaa7e](ebfaa7e601)), closes [#&#8203;17916](https://redirect.github.com/vitejs/vite/issues/17916)
-   fix: waitForRequestIdle locked ([#&#8203;17982](https://redirect.github.com/vitejs/vite/issues/17982)) ([ad13760](ad1376018a)), closes [#&#8203;17982](https://redirect.github.com/vitejs/vite/issues/17982)
-   fix(css): fix directory index import in sass modern api ([#&#8203;17960](https://redirect.github.com/vitejs/vite/issues/17960)) ([9b001ba](9b001baa70)), closes [#&#8203;17960](https://redirect.github.com/vitejs/vite/issues/17960)
-   fix(css): fix sass `file://` reference ([#&#8203;17909](https://redirect.github.com/vitejs/vite/issues/17909)) ([561b940](561b940f6f)), closes [#&#8203;17909](https://redirect.github.com/vitejs/vite/issues/17909)
-   fix(css): fix sass modern source map ([#&#8203;17938](https://redirect.github.com/vitejs/vite/issues/17938)) ([d428e7e](d428e7e3a0)), closes [#&#8203;17938](https://redirect.github.com/vitejs/vite/issues/17938)
-   fix(deps): bump tsconfck  ([#&#8203;17990](https://redirect.github.com/vitejs/vite/issues/17990)) ([8c661b2](8c661b20e9)), closes [#&#8203;17990](https://redirect.github.com/vitejs/vite/issues/17990)
-   fix(html): rewrite assets url in <template> ([#&#8203;17988](https://redirect.github.com/vitejs/vite/issues/17988)) ([413c86a](413c86aa97)), closes [#&#8203;17988](https://redirect.github.com/vitejs/vite/issues/17988)
-   fix(preload): add crossorigin attribute in CSS link tags ([#&#8203;17930](https://redirect.github.com/vitejs/vite/issues/17930)) ([15871c7](15871c75e0)), closes [#&#8203;17930](https://redirect.github.com/vitejs/vite/issues/17930)
-   chore: reduce diffs with v6 branch ([#&#8203;17942](https://redirect.github.com/vitejs/vite/issues/17942)) ([bf9065a](bf9065aa13)), closes [#&#8203;17942](https://redirect.github.com/vitejs/vite/issues/17942)
-   chore(deps): update all non-major dependencies ([#&#8203;17945](https://redirect.github.com/vitejs/vite/issues/17945)) ([cfb621e](cfb621e7a5)), closes [#&#8203;17945](https://redirect.github.com/vitejs/vite/issues/17945)
-   chore(deps): update all non-major dependencies ([#&#8203;17991](https://redirect.github.com/vitejs/vite/issues/17991)) ([0ca53cf](0ca53cff9f)), closes [#&#8203;17991](https://redirect.github.com/vitejs/vite/issues/17991)

</details>

<details>
<summary>webpack/webpack-dev-server (webpack-dev-server)</summary>

### [`v5.1.0`](https://redirect.github.com/webpack/webpack-dev-server/blob/HEAD/CHANGELOG.md#510-2024-09-03)

[Compare Source](https://redirect.github.com/webpack/webpack-dev-server/compare/v5.0.4...v5.1.0)

##### Features

-   add visual progress indicators ([a8f40b7](a8f40b74e6))
-   added the `app` option to be `Function` (by default only with `connect` compatibility frameworks) ([3096148](3096148746))
-   allow the `server` option to be `Function` ([#&#8203;5275](https://redirect.github.com/webpack/webpack-dev-server/issues/5275)) ([02a1c6d](02a1c6d788))
-   http2 support for `connect` and `connect` compatibility frameworks which support HTTP2 ([#&#8203;5267](https://redirect.github.com/webpack/webpack-dev-server/issues/5267)) ([6509a3f](6509a3fd3e))

##### Bug Fixes

-   check the `platform` property to determinate the target ([#&#8203;5269](https://redirect.github.com/webpack/webpack-dev-server/issues/5269)) ([c3b532c](c3b532c636))
-   ipv6 output ([#&#8203;5270](https://redirect.github.com/webpack/webpack-dev-server/issues/5270)) ([06005e7](06005e7cb9))
-   replace `rimraf` with `rm` ([#&#8203;5162](https://redirect.github.com/webpack/webpack-dev-server/issues/5162)) ([1a1561f](1a1561f09b))
-   replace default gateway ([#&#8203;5255](https://redirect.github.com/webpack/webpack-dev-server/issues/5255)) ([f5f0902](f5f09024ff))
-   support `devServer: false` ([#&#8203;5272](https://redirect.github.com/webpack/webpack-dev-server/issues/5272)) ([8b341cb](8b341cb8c1))

##### [5.0.4](https://redirect.github.com/webpack/webpack-dev-server/compare/v5.0.3...v5.0.4) (2024-03-19)

##### Bug Fixes

-   **security:** bump webpack-dev-middleware ([#&#8203;5112](https://redirect.github.com/webpack/webpack-dev-server/issues/5112)) ([aab576a](aab576a9e4))

##### [5.0.3](https://redirect.github.com/webpack/webpack-dev-server/compare/v5.0.2...v5.0.3) (2024-03-12)

##### Bug Fixes

-   **types:** proxy ([#&#8203;5101](https://redirect.github.com/webpack/webpack-dev-server/issues/5101)) ([6e1aed3](6e1aed30ff))

##### [5.0.2](https://redirect.github.com/webpack/webpack-dev-server/compare/v5.0.1...v5.0.2) (2024-02-16)

##### Bug Fixes

-   types ([#&#8203;5057](https://redirect.github.com/webpack/webpack-dev-server/issues/5057)) ([da2c24d](da2c24ddd9))

##### [5.0.1](https://redirect.github.com/webpack/webpack-dev-server/compare/v5.0.0...v5.0.1) (2024-02-13)

##### Bug Fixes

-   avoid using eval in client ([#&#8203;5045](https://redirect.github.com/webpack/webpack-dev-server/issues/5045)) ([7681477](76814771dc))
-   overlay and `require-trusted-types-for` ([#&#8203;5046](https://redirect.github.com/webpack/webpack-dev-server/issues/5046)) ([e115436](e115436771))

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v3.74.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3740)

[Compare Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@3.73.0...wrangler@3.74.0)

##### Minor Changes

-   [#&#8203;6574](https://redirect.github.com/cloudflare/workers-sdk/pull/6574) [`dff8d44`](dff8d44f4e) Thanks [@&#8203;CarmenPopoviciu](https://redirect.github.com/CarmenPopoviciu)! - feat: add support for experimental assets in `wrangler dev` watch mode

##### Patch Changes

-   [#&#8203;6605](https://redirect.github.com/cloudflare/workers-sdk/pull/6605) [`c4f0d9e`](c4f0d9e01e) Thanks [@&#8203;WalshyDev](https://redirect.github.com/WalshyDev)! - fix: ensure we update non-versioned Worker settings for the new deploy path in `wrangler deploy`

-   Updated dependencies \[[`e8975a9`](e8975a93a4)]:
    -   miniflare@3.20240821.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-05 03:46:53 +00:00
fundon
2bdf8c6ef3 chore(core): track copy block to link action (#8056)
part of [BS-1254](https://linear.app/affine-design/issue/BS-1254/增加-block-reference-的埋点)
2024-09-05 03:21:25 +00:00
LongYinan
c6840c8674 fix(server): wrong mobile root in dev env 2024-09-05 11:18:43 +08:00
akumatus
5f3dd867ad feat(core): support snapshot preview in editor settings (#8094)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/a991f7d2-f9c6-4241-a24b-b8c01cb86af3.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/a991f7d2-f9c6-4241-a24b-b8c01cb86af3.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/a991f7d2-f9c6-4241-a24b-b8c01cb86af3.mov">录屏2024-09-04 22.26.47.mov</video>
2024-09-05 02:58:54 +00:00
pengx17
b680c1839b fix(core): edit tag should not jump to its detail (#8070)
fix AF-1324
2024-09-05 02:46:07 +00:00
pengx17
1cac2f6ccd feat(core): add journal navigation tracking (#8046)
fix AF-1314
2024-09-05 02:31:58 +00:00
CatsJuice
06552a1120 fix(mobile): explorer node touch optimization (#8101)
close AF-1338
2024-09-05 02:18:28 +00:00
Yifeng Wang
416faba2bc chore: support http proxy in bump script (#8098) 2024-09-05 10:14:51 +08:00
pengx17
93ae724c66 chore(electron): downgrade electron to v31 (#8095)
fix AF-1337
it seems the way how we load web worker file in electron no longer works.
created an upstream issue in https://github.com/electron/electron/issues/43556
2024-09-05 01:30:26 +00:00
pengx17
989e8830f7 fix(mobile): workspace selector not close on click outside (#8096) 2024-09-04 16:57:57 +00:00
pengx17
0ae5673aaa feat(electron): add offline mode (#8086)
fix AF-1334

It seems `session.enableNetworkEmulation({ offline: true });` does not work - https://github.com/electron/electron/issues/21250

implemented using an in-house solution.

When turned on:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/6805735b-1006-4e51-be46-c047b0f1a82c.png)
2024-09-04 10:46:43 +00:00
CatsJuice
51bc40d2a8 fix(mobile): header will be clipped when modal opened and page scrolled (#8079)
close AF-1332

This issue is caused by radix, it will set `overflow: hidden` to body when modal opened. And header is implemented with `position: sticky`.

> **why not use `position: fixed` for header?**
>
> We need to handle `padding-top` manually to avoid content covered by header.
2024-09-04 09:36:18 +00:00
EYHN
2524491bd1 fix(env): is mobile flag (#8005)
only 'mobile' entry has isMobile = true flag
2024-09-04 09:21:36 +00:00
Brooooooklyn
53886a7cd3 fix(server): wrong env variable condition in nginx conf (#8084) 2024-09-04 08:57:04 +00:00
JimmFly
f688c057eb feat(core): impl AI switch (#8018)
close PD-1658

https://github.com/user-attachments/assets/2f3d1d26-1879-4d95-b80c-7c0965cefbd0
2024-09-04 08:44:05 +00:00
EYHN
eb16c273ee feat(core): apply default doc mode setting (#8083) 2024-09-04 08:31:36 +00:00
EYHN
01b2339173 refactor(core): better block link (#8082) 2024-09-04 08:13:22 +00:00
EYHN
2799e8cd43 fix(electron): fix ci (#8085) 2024-09-04 08:00:09 +00:00
EYHN
fb64bc7e55 feat(core): indexer upgrade (#8062) 2024-09-04 07:31:03 +00:00
EYHN
51f3566bec fix(core): fix menu bugs (#8074) 2024-09-04 07:19:09 +00:00
pengx17
01e6370dd2 fix(electron): use CTRL+= to zoom in on windows (#8081)
fix AF-1291
2024-09-04 04:23:55 +00:00
pengx17
2ac803c73f feat(mobile): sign in page (#8039)
fix AF-1237
2024-09-04 03:58:54 +00:00
CatsJuice
0d6f468385 fix(component): nested modal view-transition support (#8073)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">CleanShot 2024-09-03 at 18.36.17.mp4</video>
2024-09-04 01:29:22 +00:00
CatsJuice
ec3b97d069 fix(component): replace storybook-dark-mode with globalTypes toolbar impl (#8066) 2024-09-03 15:18:24 +00:00
pengx17
7dde509970 fix(core): page info modal styles (#8067) 2024-09-03 12:46:37 +00:00
Saul-Mirone
681f4561fb chore: bump bs (#8071) 2024-09-03 12:12:59 +00:00
pengx17
d00f86c3ce fix(core): handle modal overlay click event correctly (#8063)
1. overlay click + hide is brought back. this is because modal (ormobile menu)'s `onPointerDownOutside` is bound to document.body. Code in e58af08f63/packages/frontend/core/src/modules/explorer/views/tree/node.tsx (L353-L356) will stop the event from bubbling to the document element.
2. when Menu's set to modal=true, the parent is set to pointer-events: none as well. changed menu to modal false instead.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3e50281f-839d-4463-af00-dff2fce8202b.png)
2024-09-03 12:00:00 +00:00
pengx17
ae3b13bfb4 fix(electron): only the active view should respond to CMD+N (#8068) 2024-09-03 11:48:06 +00:00
renovate
aad442e73d chore: bump up @sentry/react version to v8.28.0 (#8072)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.27.0` -> `8.28.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.27.0/8.28.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.27.0/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.27.0/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.28.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/8.28.0)

##### Important Changes

-   **Beta release of official NestJS SDK**

This release contains the beta version of `@sentry/nestjs`! For details on how to use it, check out the
[README](https://redirect.github.com/getsentry/sentry-javascript/blob/master/packages/nestjs/README.md). Any feedback/bug reports
are greatly appreciated, please reach out on GitHub.

-   **fix(browser): Remove faulty LCP, FCP and FP normalization logic ([#&#8203;13502](https://redirect.github.com/getsentry/sentry-javascript/issues/13502))**

This release fixes a bug in the `@sentry/browser` package and all SDKs depending on this package (e.g. `@sentry/react`
or `@sentry/nextjs`) that caused the SDK to send incorrect web vital values for the LCP, FCP and FP vitals. The SDK
previously incorrectly processed the original values as they were reported from the browser. When updating your SDK to
this version, you might experience an increase in LCP, FCP and FP values, which potentially leads to a decrease in your
performance score in the Web Vitals Insights module in Sentry. This is because the previously reported values were
smaller than the actually measured values. We apologize for the inconvenience!

##### Other Changes

-   feat(nestjs): Add `SentryGlobalGraphQLFilter` ([#&#8203;13545](https://redirect.github.com/getsentry/sentry-javascript/issues/13545))
-   feat(nestjs): Automatic instrumentation of nestjs interceptors after route execution ([#&#8203;13264](https://redirect.github.com/getsentry/sentry-javascript/issues/13264))
-   feat(nextjs): Add `bundleSizeOptimizations` to build options ([#&#8203;13323](https://redirect.github.com/getsentry/sentry-javascript/issues/13323))
-   feat(nextjs): Stabilize `captureRequestError` ([#&#8203;13550](https://redirect.github.com/getsentry/sentry-javascript/issues/13550))
-   feat(nuxt): Wrap config in nuxt context ([#&#8203;13457](https://redirect.github.com/getsentry/sentry-javascript/issues/13457))
-   feat(profiling): Expose profiler as top level primitive ([#&#8203;13512](https://redirect.github.com/getsentry/sentry-javascript/issues/13512))
-   feat(replay): Add layout shift to CLS replay data ([#&#8203;13386](https://redirect.github.com/getsentry/sentry-javascript/issues/13386))
-   feat(replay): Upgrade rrweb packages to 2.26.0 ([#&#8203;13483](https://redirect.github.com/getsentry/sentry-javascript/issues/13483))
-   fix(cdn): Do not mangle \_metadata ([#&#8203;13426](https://redirect.github.com/getsentry/sentry-javascript/issues/13426))
-   fix(cdn): Fix SDK source for CDN bundles ([#&#8203;13475](https://redirect.github.com/getsentry/sentry-javascript/issues/13475))
-   fix(nestjs): Check arguments before instrumenting with `@Injectable` ([#&#8203;13544](https://redirect.github.com/getsentry/sentry-javascript/issues/13544))
-   fix(nestjs): Ensure exception and host are correctly passed on when using [@&#8203;WithSentry](https://redirect.github.com/WithSentry) ([#&#8203;13564](https://redirect.github.com/getsentry/sentry-javascript/issues/13564))
-   fix(node): Suppress tracing for transport request execution rather than transport creation ([#&#8203;13491](https://redirect.github.com/getsentry/sentry-javascript/issues/13491))
-   fix(replay): Consider more things as DOM mutations for dead clicks ([#&#8203;13518](https://redirect.github.com/getsentry/sentry-javascript/issues/13518))
-   fix(vue): Correctly obtain component name ([#&#8203;13484](https://redirect.github.com/getsentry/sentry-javascript/issues/13484))

Work in this release was contributed by [@&#8203;leopoldkristjansson](https://redirect.github.com/leopoldkristjansson), [@&#8203;mhuggins](https://redirect.github.com/mhuggins) and [@&#8203;filips123](https://redirect.github.com/filips123). Thank you for your
contributions!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-03 11:35:00 +00:00
renovate
4595df9b0e chore: bump up react-day-picker version to v9 (#7559)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`^8.10.1` -> `^9.0.0`](https://renovatebot.com/diffs/npm/react-day-picker/8.10.1/9.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/8.10.1/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/8.10.1/9.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>gpbl/react-day-picker (react-day-picker)</summary>

### [`v9.0.8`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.8)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.7...v9.0.8)

This release fixes a regression in v9.0.7 affecting range mode.

#### What's Changed

-   fix: update the displayed month only if start/end month change by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2358](https://redirect.github.com/gpbl/react-day-picker/pull/2358)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.7...v9.0.8

### [`v9.0.7`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.7)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.6...v9.0.7)

This release improves compatibility with v8 and fix an issue with the calendar navigation.

#### What's Changed

-   fix: update calendar state when `startMonth` or `endMonth` change by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2343](https://redirect.github.com/gpbl/react-day-picker/pull/2343)
-   feat: allow partial locales, export `defaultLocale` by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2348](https://redirect.github.com/gpbl/react-day-picker/pull/2348)
-   feat: allow `undefined` as initially selected value, as it was in v8 by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2341](https://redirect.github.com/gpbl/react-day-picker/pull/2341)
-   docs: changed class name `calendar` to  `root` in the examples by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2347](https://redirect.github.com/gpbl/react-day-picker/pull/2347)
-   docs: replaced deprecated props by [@&#8203;josephmarkus](https://redirect.github.com/josephmarkus) in [https://github.com/gpbl/react-day-picker/pull/2336](https://redirect.github.com/gpbl/react-day-picker/pull/2336)\*

#### New Contributors

-   [@&#8203;josephmarkus](https://redirect.github.com/josephmarkus) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2336](https://redirect.github.com/gpbl/react-day-picker/pull/2336)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.6...v9.0.7

### [`v9.0.6`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.6)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.5...v9.0.6)

This release addresses the failed import of the common-js module for some app builder and add new `data-` attributes to help the integration with Tailwind. Thanks for your feedback!

#### What's Changed

-   fix(build): add package.json to dist/cjs module by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2330](https://redirect.github.com/gpbl/react-day-picker/pull/2330)
-   feat: add new data-attributes to the day cells by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2331](https://redirect.github.com/gpbl/react-day-picker/pull/2331)

#### New Contributors

-   [@&#8203;lesleh](https://redirect.github.com/lesleh) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2329](https://redirect.github.com/gpbl/react-day-picker/pull/2329)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.5...v9.0.6

### [`v9.0.5`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.5)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.4...v9.0.5)

This release improves the range mode behavior (see the [updated docs](https://daypicker.dev/docs/selection-modes#range-mode)) and address some styling issues.

#### What's Changed

-   fix: improved range mode to work with min / required props by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2326](https://redirect.github.com/gpbl/react-day-picker/pull/2326)
-   fix(style): typo in css rdp-hidden module css breaking CSS builds by [@&#8203;ayuhito](https://redirect.github.com/ayuhito) in [https://github.com/gpbl/react-day-picker/pull/2307](https://redirect.github.com/gpbl/react-day-picker/pull/2307)
-   fix(style): borders grid are not collapsed by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2323](https://redirect.github.com/gpbl/react-day-picker/pull/2323)
-   fix(style): week numbers are now centered by [@&#8203;gpbl](https://redirect.github.com/gpbl) in c919ad829c

#### New Contributors

-   [@&#8203;ayuhito](https://redirect.github.com/ayuhito) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2307](https://redirect.github.com/gpbl/react-day-picker/pull/2307)
-   [@&#8203;rishabh-ink](https://redirect.github.com/rishabh-ink) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2311](https://redirect.github.com/gpbl/react-day-picker/pull/2311)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.4...v9.0.5

### [`v9.0.4`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.4)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.3...v9.0.4)

This release fixes some bugs and improves compatibility with v8.10. Thanks for your feedback and patience! 🤖

#### What's Changed

-   fix(css): typo in `.rdp-range_end` by [@&#8203;AlessioDP](https://redirect.github.com/AlessioDP) in [https://github.com/gpbl/react-day-picker/pull/2298](https://redirect.github.com/gpbl/react-day-picker/pull/2298)
-   fix(css): dropdown is transparent in Windows OS by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2300](https://redirect.github.com/gpbl/react-day-picker/pull/2300)
-   fix: `endMonth` date not working as expected by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2301](https://redirect.github.com/gpbl/react-day-picker/pull/2301)
-   feat: added back `onDayMouseEnter` and `onDayMouseLeave` by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2304](https://redirect.github.com/gpbl/react-day-picker/pull/2304)

#### New Contributors

-   [@&#8203;AlessioDP](https://redirect.github.com/AlessioDP) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2298](https://redirect.github.com/gpbl/react-day-picker/pull/2298)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.3...v9.0.4

### [`v9.0.3`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.3)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.2...v9.0.3)

This release fixes two issues found with the grid style and the range mode.

#### What's Changed

-   fix: alignment of grid elements by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2294](https://redirect.github.com/gpbl/react-day-picker/pull/2294)
-   fix: range mode not updating when selected prop changes by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2295](https://redirect.github.com/gpbl/react-day-picker/pull/2295)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.2...v9.0.3

### [`v9.0.2`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.2)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.1...v9.0.2)

This update improves backward compatibility with v8.10.1 for range selection mode.

#### What's Changed

-   feat: add `excludeDisabled` prop for range mode by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2290](https://redirect.github.com/gpbl/react-day-picker/pull/2290)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.1...v9.0.2

### [`v9.0.1`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.1)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.0.0...v9.0.1)

This update improves backward compatibility with v8.10.1.

#### What's Changed

-   fix: prop types not being correctly interpreted by TS by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2283](https://redirect.github.com/gpbl/react-day-picker/pull/2283)
-   feat: add `DeprecatedUI` enum by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2284](https://redirect.github.com/gpbl/react-day-picker/pull/2284)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.0.0...v9.0.1

### [`v9.0.0`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.0.0)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v8.10.1...v9.0.0)

DayPicker v9 is a major release including significant updates related to accessibility, customization and localization.

-   See the updated docs at https://daypicker.dev and the [upgrading Guide](https://daypicker.dev/upgrading) for more details.

##### Install the Latest Version

```bash
npm install react-day-picker@latest
```

#### What’s New

-   Moved `date-fns` from peer dependencies to dependencies.
-   Added support for [UTC dates](https://daypicker.dev/docs/localization#utc-dates) and [Jalali Calendar](https://daypicker.dev/docs/localization#jalali-calendar).
-   [Enhanced accessibility](https://daypicker.dev/docs/accessibility) to better comply with [WCAG 2.1](https://www.w3.org/TR/WCAG21/) recommendations.
-   [Simplified styles](https://daypicker.dev/docs/styling) and new CSS variables for easier customization.
-   Improved selection logic for [range mode](https://daypicker.dev/docs/selection-modes.mdx).
-   New `dropdown-years` and `dropdown-months` caption layouts.
-   New `hideWeekdayRow` and `hideNavigation` props.
-   Updated for a complete [custom components](https://daypicker.dev/guides/custom-components) support.
-   Improved typings and props for better compatibility in TypeScript `strict` mode.

#### Breaking Changes

While we tried to keep the API as stable as possible, some breaking changes were necessary to improve the library:

-   The updated ARIA labels could require new translations or updated unit tests selectors.
-   Custom CSS styles will likely break, due to the updated CSS classes and simplified styles.
-   Custom Components have new API and may break.
-   Some typings have been renamed or deprecated.
-   The `useInput` hook has been removed. See [Input fields](https://daypicker.dev/guides/input-fields) guide for more details.
-   `onWeekNumberClick` has been removed. Use a custom component to handle week number clicks.
-   The updated build system to ESM and CommonJS could break some custom bundler.

##### Upgrading Guide

We prepared a [Upgrading guide](https://daypicker.dev/upgrading) for help upgrading your app to v9. We welcome [feedback](https://redirect.github.com/gpbl/react-day-picker/discussions) about the upgrade process, to ensure it's smooth for everyone.

#### Compatibility

DayPicker v9 is compatible with React 16.8+.

#### Get Support and Report Issues

Get support, report issues, and provide feedback on the [Discussion forums](https://redirect.github.com/gpbl/react-day-picker/discussions). Thanks.

#### New Contributors

-   [@&#8203;grzegorzpokorski](https://redirect.github.com/grzegorzpokorski) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2124](https://redirect.github.com/gpbl/react-day-picker/pull/2124)
-   [@&#8203;zaaakher](https://redirect.github.com/zaaakher) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2137](https://redirect.github.com/gpbl/react-day-picker/pull/2137)
-   [@&#8203;ArthurGoupil](https://redirect.github.com/ArthurGoupil) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2230](https://redirect.github.com/gpbl/react-day-picker/pull/2230)
-   [@&#8203;johnnysedh3lllo](https://redirect.github.com/johnnysedh3lllo) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2252](https://redirect.github.com/gpbl/react-day-picker/pull/2252)
-   [@&#8203;xardit](https://redirect.github.com/xardit) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2254](https://redirect.github.com/gpbl/react-day-picker/pull/2254)
-   [@&#8203;dave-meyer](https://redirect.github.com/dave-meyer) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2231](https://redirect.github.com/gpbl/react-day-picker/pull/2231)
-   [@&#8203;benasher44](https://redirect.github.com/benasher44) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2249](https://redirect.github.com/gpbl/react-day-picker/pull/2249)
-   [@&#8203;RyanCavanaugh](https://redirect.github.com/RyanCavanaugh) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2275](https://redirect.github.com/gpbl/react-day-picker/pull/2275)
-   [@&#8203;kesoji](https://redirect.github.com/kesoji) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2281](https://redirect.github.com/gpbl/react-day-picker/pull/2281)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM4LjU5LjIiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-09-03 10:28:42 +00:00
renovate
106f332c19 chore: bump up vitest monorepo to v2 (major) (#7449)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.6.0` -> `2.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.6.0/2.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.6.0` -> `2.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.6.0/2.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.6.0` -> `2.0.5`](https://renovatebot.com/diffs/npm/vitest/1.6.0/2.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.6.0/2.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/coverage-istanbul)</summary>

### [`v2.0.5`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.5)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v2.0.4...v2.0.5)

#####    🚀 Features

-   Introduce experimental reported tasks  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6149](https://togithub.com/vitest-dev/vitest/issues/6149) [<samp>(13d85)</samp>](https://togithub.com/vitest-dev/vitest/commit/13d85bd1)
    -   This is part of the experimental API and doesn't follow semver. We are hoping to stabilize it for 2.1. If you are working with custom reporters, give this a go!

#####    🐞 Bug Fixes

-   Show a difference between string characters if both values are strings  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6191](https://togithub.com/vitest-dev/vitest/issues/6191) [<samp>(29176)</samp>](https://togithub.com/vitest-dev/vitest/commit/291766d7)
-   `testNamePattern` adds leading space  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6186](https://togithub.com/vitest-dev/vitest/issues/6186) [<samp>(073a5)</samp>](https://togithub.com/vitest-dev/vitest/commit/073a50c9)
-   **browser**:
    -   Don't bundle `afterEach` cleanup hooks in node entrypoint  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6192](https://togithub.com/vitest-dev/vitest/issues/6192) [<samp>(e6fbc)</samp>](https://togithub.com/vitest-dev/vitest/commit/e6fbc620)
    -   UserEvent.setup initiates a separate state for userEvent instance  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6088](https://togithub.com/vitest-dev/vitest/issues/6088) [<samp>(883f3)</samp>](https://togithub.com/vitest-dev/vitest/commit/883f3482)
    -   Correctly import optimized module in vi.importActual  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6219](https://togithub.com/vitest-dev/vitest/issues/6219) [<samp>(804ff)</samp>](https://togithub.com/vitest-dev/vitest/commit/804ff2fd)
    -   Passing options to hover/unhover  -  by [@&#8203;MNeverOff](https://togithub.com/MNeverOff) in [https://github.com/vitest-dev/vitest/issues/6175](https://togithub.com/vitest-dev/vitest/issues/6175) [<samp>(d4c00)</samp>](https://togithub.com/vitest-dev/vitest/commit/d4c005bc)
    -   Improve unique CSS selector generation  -  by [@&#8203;zacharyvoase](https://togithub.com/zacharyvoase) and **Zack Voase** in [https://github.com/vitest-dev/vitest/issues/6243](https://togithub.com/vitest-dev/vitest/issues/6243) [<samp>(e7acd)</samp>](https://togithub.com/vitest-dev/vitest/commit/e7acd0cf)
-   **vitest**:
    -   Remove nuxt from auto inline deps  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(93882)</samp>](https://togithub.com/vitest-dev/vitest/commit/93882f38)
    -   Improve `defineProject` and `defineWorkspace` types  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6198](https://togithub.com/vitest-dev/vitest/issues/6198) [<samp>(8cd82)</samp>](https://togithub.com/vitest-dev/vitest/commit/8cd8272b)
    -   Correctly resolve mocked `node:*` imports in `__mocks__` folder  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6204](https://togithub.com/vitest-dev/vitest/issues/6204) [<samp>(a48be)</samp>](https://togithub.com/vitest-dev/vitest/commit/a48be6ff)
-   **web-worker**:
    -   Expose globals on self  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6170](https://togithub.com/vitest-dev/vitest/issues/6170) [<samp>(12bb5)</samp>](https://togithub.com/vitest-dev/vitest/commit/12bb567e)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v2.0.4...v2.0.5)

### [`v2.0.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.4)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v2.0.3...v2.0.4)

#####    🐞 Bug Fixes

-   One-line environment options  -  by [@&#8203;hahanein](https://togithub.com/hahanein) in [https://github.com/vitest-dev/vitest/issues/5105](https://togithub.com/vitest-dev/vitest/issues/5105) [<samp>(38269)</samp>](https://togithub.com/vitest-dev/vitest/commit/38269415)
-   Resolve assets imported with `require`  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6159](https://togithub.com/vitest-dev/vitest/issues/6159) [<samp>(807a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/807a2cbc)
-   **browser**:
    -   Don't panic if [@&#8203;vitest/browser](https://togithub.com/vitest/browser) is installed outside of project root  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6135](https://togithub.com/vitest-dev/vitest/issues/6135) [<samp>(ccfcd)</samp>](https://togithub.com/vitest-dev/vitest/commit/ccfcd488)
    -   Set global filepath  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6190](https://togithub.com/vitest-dev/vitest/issues/6190) [<samp>(0d0b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/0d0b46b1)
    -   Allow preview and open in the editor screenshot error from ui  -  by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6113](https://togithub.com/vitest-dev/vitest/issues/6113) [<samp>(2d620)</samp>](https://togithub.com/vitest-dev/vitest/commit/2d62051f)
-   **coverage**:
    -   Global thresholds to include files from glob thresholds  -  by [@&#8203;thor-juhasz](https://togithub.com/thor-juhasz) and [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6172](https://togithub.com/vitest-dev/vitest/issues/6172) [<samp>(02e3f)</samp>](https://togithub.com/vitest-dev/vitest/commit/02e3f003)
    -   Consistent type-only file handling  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6183](https://togithub.com/vitest-dev/vitest/issues/6183) [<samp>(90576)</samp>](https://togithub.com/vitest-dev/vitest/commit/90576148)
    -   Ignore `*.cts` files  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6189](https://togithub.com/vitest-dev/vitest/issues/6189) [<samp>(5da45)</samp>](https://togithub.com/vitest-dev/vitest/commit/5da45db1)
    -   Add `thresholds.<glob>.100` option  -  by [@&#8203;thor-juhasz](https://togithub.com/thor-juhasz) and [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6174](https://togithub.com/vitest-dev/vitest/issues/6174) [<samp>(f6845)</samp>](https://togithub.com/vitest-dev/vitest/commit/f68453f8)
-   **spy**:
    -   Fix `mockImplementation` for function overload and unions  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6181](https://togithub.com/vitest-dev/vitest/issues/6181) [<samp>(7a75b)</samp>](https://togithub.com/vitest-dev/vitest/commit/7a75bd4c)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v2.0.3...v2.0.4)

### [`v2.0.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.3)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v2.0.2...v2.0.3)

#####    🚀 Features

-   **ui**: Show all suites/tests when parent matches  -  by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6106](https://togithub.com/vitest-dev/vitest/issues/6106) [<samp>(840e0)</samp>](https://togithub.com/vitest-dev/vitest/commit/840e02f1)

#####    🐞 Bug Fixes

-   `--inspect-brk` stop on Windows  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6110](https://togithub.com/vitest-dev/vitest/issues/6110) [<samp>(f8519)</samp>](https://togithub.com/vitest-dev/vitest/commit/f851982e)
-   **browser**:
    -   Don't import from "vite"  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(35655)</samp>](https://togithub.com/vitest-dev/vitest/commit/35655419)
    -   Allow immidiate reinvalidation of mocked dependencies  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6108](https://togithub.com/vitest-dev/vitest/issues/6108) [<samp>(f44cc)</samp>](https://togithub.com/vitest-dev/vitest/commit/f44cc917)
-   **spy**:
    -   Fix type error when assigning `vi.spyOn` to `MockInstance` of function overload  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6086](https://togithub.com/vitest-dev/vitest/issues/6086) [<samp>(e9f9a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e9f9adcd)
-   **vite-node**:
    -   Remove suffix slash on file protocol for window  -  by [@&#8203;syi0808](https://togithub.com/syi0808) in [https://github.com/vitest-dev/vitest/issues/6109](https://togithub.com/vitest-dev/vitest/issues/6109) [<samp>(93ebd)</samp>](https://togithub.com/vitest-dev/vitest/commit/93ebdefc)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v2.0.2...v2.0.3)

### [`v2.0.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.2)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v2.0.1...v2.0.2)

#####    🐞 Bug Fixes

-   **browser**:
    -   Remove [@&#8203;vitest/runner](https://togithub.com/vitest/runner) > pretty-format from prebundling because it doesn't exist  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6075](https://togithub.com/vitest-dev/vitest/issues/6075) [<samp>(a169d)</samp>](https://togithub.com/vitest-dev/vitest/commit/a169d25a)
    -   Inline pretty-format and replace picocolors with tinyrainbow  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6077](https://togithub.com/vitest-dev/vitest/issues/6077) [<samp>(80a43)</samp>](https://togithub.com/vitest-dev/vitest/commit/80a43d5c)
    -   Remove `crypto.randomUUID` from the client  -  by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6079](https://togithub.com/vitest-dev/vitest/issues/6079) [<samp>(04c83)</samp>](https://togithub.com/vitest-dev/vitest/commit/04c83acc)
    -   Correctly overwrite loupe require  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(756ac)</samp>](https://togithub.com/vitest-dev/vitest/commit/756ac2bc)
    -   Dedupe @&#8203;vitest/browser/client  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6081](https://togithub.com/vitest-dev/vitest/issues/6081) [<samp>(ee725)</samp>](https://togithub.com/vitest-dev/vitest/commit/ee725184)
    -   Don't release keyboard automatically  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6083](https://togithub.com/vitest-dev/vitest/issues/6083) [<samp>(58fac)</samp>](https://togithub.com/vitest-dev/vitest/commit/58fac77b)
-   **ui**:
    -   Test files notified only when running  -  by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6069](https://togithub.com/vitest-dev/vitest/issues/6069) [<samp>(af7fe)</samp>](https://togithub.com/vitest-dev/vitest/commit/af7fec58)
    -   Encode html entities in task name  -  by [@&#8203;userquin](https://togithub.com/userquin) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6070](https://togithub.com/vitest-dev/vitest/issues/6070) [<samp>(7f0cc)</samp>](https://togithub.com/vitest-dev/vitest/commit/7f0cc24e)
-   **web-worker**:
    -   Peer dependency version on `vitest`  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6060](https://togithub.com/vitest-dev/vitest/issues/6060) [<samp>(95a2d)</samp>](https://togithub.com/vitest-dev/vitest/commit/95a2d870)

#####    🏎 Performance

-   **browser**: Don't import msw if no modules are mocked  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6073](https://togithub.com/vitest-dev/vitest/issues/6073) [<samp>(aa527)</samp>](https://togithub.com/vitest-dev/vitest/commit/aa52792a)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v2.0.1...v2.0.2)

### [`v2.0.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.1)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v2.0.0...v2.0.1)

#####    🐞 Bug Fixes

-   **browser**: Correctly inherit browser config in a workspace  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6054](https://togithub.com/vitest-dev/vitest/issues/6054) [<samp>(4b03e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4b03e72b)
-   **ui**: Move virtual scroller to dev dependencies  -  by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6053](https://togithub.com/vitest-dev/vitest/issues/6053) [<samp>(f94ed)</samp>](https://togithub.com/vitest-dev/vitest/commit/f94ede02)
-   **vitest**: Print only running files, not every file  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6052](https://togithub.com/vitest-dev/vitest/issues/6052) [<samp>(4d559)</samp>](https://togithub.com/vitest-dev/vitest/commit/4d5597df)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v2.0.0...v2.0.1)

### [`v2.0.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v2.0.0)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.6.0...v2.0.0)

Vitest 2.0 is here! This release page lists all changes made to the project during the beta. For the migration guide, please refer to the [documentation](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0).

##### 🚨 Breaking Changes

-   Simplify mock function generic types and align with jest - by **[@&#8203;hi-ogawa](https://togithub.com/hi-ogawa)** in [https://github.com/vitest-dev/vitest/pull/4784](https://togithub.com/vitest-dev/vitest/pull/4784) [<samp>(a0c1d37)</samp>](a0c1d371ed)
-   Remove `--segfault-retry` - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5514](https://togithub.com/vitest-dev/vitest/issues/5514) [<samp>(ed60e)</samp>](https://togithub.com/vitest-dev/vitest/commit/ed60e405e)
    -   This flag was introduced to combat `threads` segfaults. Our current recommendation is to use the new default `forks` pool instead.
-   Run suite hooks in a stack - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5609](https://togithub.com/vitest-dev/vitest/issues/5609) [<samp>(1277d)</samp>](https://togithub.com/vitest-dev/vitest/commit/1277dc1e3)
    -   This feels like a more sensible default. Especially with the new [`onTestFinished`](https://vitest.dev/api/#ontestfinished) hook. This can make your tests run a little bit slower.
-   Enable `coverage.ignoreEmptyLines` by default - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5543](https://togithub.com/vitest-dev/vitest/issues/5543) [<samp>(31994)</samp>](https://togithub.com/vitest-dev/vitest/commit/31994942f)
    -   ⚠️ This change may cause significant differences in your coverage results compared to Vitest v1. These changes are expected as coverage reporting is now more accurate. See [https://github.com/vitest-dev/vitest/issues/5423](https://togithub.com/vitest-dev/vitest/issues/5423) for more details.
-   Add correct location and snapshot fields in json reporter - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5434](https://togithub.com/vitest-dev/vitest/issues/5434) [<samp>(bcccc)</samp>](https://togithub.com/vitest-dev/vitest/commit/bcccce6df)
    -   Previously, the `location` field pointed to the error location instead of the test location. Now it is aligned with jest and contains the `line` and `column` of a test function, but requires [`includeTaskLocation`](https://vitest.dev/config/#includeTaskLocation) to be enabled.
-   Update dependency chai to v5 - by **renovate\[bot]** and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5135](https://togithub.com/vitest-dev/vitest/issues/5135) [<samp>(73646)</samp>](https://togithub.com/vitest-dev/vitest/commit/73646b638)
-   Remove watchExclude - by [@&#8203;patak-dev](https://togithub.com/patak-dev) in [https://github.com/vitest-dev/vitest/issues/5177](https://togithub.com/vitest-dev/vitest/issues/5177) [<samp>(d7371)</samp>](https://togithub.com/vitest-dev/vitest/commit/d7371eae3)
-   Change default `pool` to `'forks'` - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5047](https://togithub.com/vitest-dev/vitest/issues/5047) [<samp>(7f8f9)</samp>](https://togithub.com/vitest-dev/vitest/commit/7f8f9c0c0)
    -   This change is done for compatibility issues
    -   This pool may be slightly slower than previous `threads` pool: https://vitest.dev/guide/improving-performance.html#pool
-   `--merge-reports` to support coverage - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5736](https://togithub.com/vitest-dev/vitest/issues/5736) [<samp>(b7438)</samp>](https://togithub.com/vitest-dev/vitest/commit/b7438b9be)
-   Add promise-based return assertions, do not auto-resolve returned promises - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5749](https://togithub.com/vitest-dev/vitest/issues/5749) [<samp>(5f710)</samp>](https://togithub.com/vitest-dev/vitest/commit/5f710182e)
    -   ⚠️ Vitest no longer unwraps promises in `spy.mock.returns`. If the function is async or returns a promise, it will always succeed and have a `Promise` in `results`. To make migration easier, we introduced `spy.mock.settledResults` that unwraps promises and `expect().toHaveResolved()` matcher that accepts unwrapped value.
-   Do not exit process if global setup has failed - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5726](https://togithub.com/vitest-dev/vitest/issues/5726) [<samp>(ddb09)</samp>](https://togithub.com/vitest-dev/vitest/commit/ddb09eb12)
-   Don't exit process if config failed - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5715](https://togithub.com/vitest-dev/vitest/issues/5715) [<samp>(f232f)</samp>](https://togithub.com/vitest-dev/vitest/commit/f232fdd61)
-   Add meta to `json` output - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5802](https://togithub.com/vitest-dev/vitest/issues/5802) [<samp>(dd754)</samp>](https://togithub.com/vitest-dev/vitest/commit/dd754c103)
-   Rename `indexScripts` to `orchestratorScripts` in the browser config - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5842](https://togithub.com/vitest-dev/vitest/issues/5842) [<samp>(49f34)</samp>](https://togithub.com/vitest-dev/vitest/commit/49f34ec47)
-   Add "vitest list" API to print collected tests without running them - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6013](https://togithub.com/vitest-dev/vitest/issues/6013) [<samp>(583dd)</samp>](https://togithub.com/vitest-dev/vitest/commit/583dd8a98)
    -   ⚠️ This changes the custom `pool` API - now requires `collectTests` method alongside `runTests`.
-   Remove the empty suite from the runner - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5435](https://togithub.com/vitest-dev/vitest/issues/5435) [<samp>(dbbbe)</samp>](https://togithub.com/vitest-dev/vitest/commit/dbbbe4304)
-   Support concurrent suites - by **[@&#8203;hi-ogawa](https://togithub.com/hi-ogawa)** in [https://github.com/vitest-dev/vitest/pull/5491](https://togithub.com/vitest-dev/vitest/pull/5491) [<samp>(222ce44)</samp>](222ce44119)
-   Support overriding `exclude` in coverage - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5997](https://togithub.com/vitest-dev/vitest/issues/5997) [<samp>(169bc)</samp>](https://togithub.com/vitest-dev/vitest/commit/169bc1fde)
    -   ⚠️ Vitest coverage no longer adds test files to `exclude` patterns if `coverage.exclude` was overridden in the config. Add your test patterns manually, or merge your overrides with default ones: `['**/my-pattern.js', ...coverageConfigDefaults.exclude]`. See https://vitest.dev/config/#coverage-exclude for an example.

##### 🚀 Features

<img width="1392" alt="Running tresjs example in Vitest BrowserMode" src="https://github.com/vitest-dev/vitest/assets/16173870/3b6bc721-b194-416d-a685-cf7282ee802a">

-   **browser**:
    -   🌐 This release lays the groundwork for the next iteration of Vitest Browser Mode. You can read more about our future plans at [https://github.com/vitest-dev/vitest/discussions/5828](https://togithub.com/vitest-dev/vitest/discussions/5828)
    -   Add commands to communicate betweens server and the browser - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5097](https://togithub.com/vitest-dev/vitest/issues/5097) [<samp>(aa431)</samp>](https://togithub.com/vitest-dev/vitest/commit/aa431f4db)
    -   Do not reload the page during watch mode - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5810](https://togithub.com/vitest-dev/vitest/issues/5810) [<samp>(e5b9a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e5b9a0be4)
    -   Support changing the viewport - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5811](https://togithub.com/vitest-dev/vitest/issues/5811) [<samp>(71851)</samp>](https://togithub.com/vitest-dev/vitest/commit/718512d80)
    -   Add browser iframe mouse interaction - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5815](https://togithub.com/vitest-dev/vitest/issues/5815) [<samp>(f29b9)</samp>](https://togithub.com/vitest-dev/vitest/commit/f29b9d408)
    -   Support `click` event - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5777](https://togithub.com/vitest-dev/vitest/issues/5777) [<samp>(839c3)</samp>](https://togithub.com/vitest-dev/vitest/commit/839c39f06)
    -   Rename none provider to preview, make it default - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5826](https://togithub.com/vitest-dev/vitest/issues/5826) [<samp>(18310)</samp>](https://togithub.com/vitest-dev/vitest/commit/1831008b1)
    -   Run tests in parallel in headless mode, add `page.screenshot` method - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5853](https://togithub.com/vitest-dev/vitest/issues/5853) [<samp>(81c42)</samp>](https://togithub.com/vitest-dev/vitest/commit/81c42fc8a)
    -   Implement several `userEvent` methods, add `fill` and `dragAndDrop` events - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5882](https://togithub.com/vitest-dev/vitest/issues/5882) [<samp>(4dbea)</samp>](https://togithub.com/vitest-dev/vitest/commit/4dbea4aed)
    -   Introduce `expect.dom` method and bundle `jest-dom` matchers with `@vitest/browser` - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5910](https://togithub.com/vitest-dev/vitest/issues/5910) [<samp>(3a96a)</samp>](https://togithub.com/vitest-dev/vitest/commit/3a96a3d0e)
    -   Expose CDP in the browser - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5938](https://togithub.com/vitest-dev/vitest/issues/5938) [<samp>(bec43)</samp>](https://togithub.com/vitest-dev/vitest/commit/bec434cb6)
    -   Add "init" command for browser tests - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5960](https://togithub.com/vitest-dev/vitest/issues/5960) [<samp>(49e97)</samp>](https://togithub.com/vitest-dev/vitest/commit/49e973cb9)
    -   Add an option to take screenshots if the browser test fails - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5975](https://togithub.com/vitest-dev/vitest/issues/5975) [<samp>(154cb)</samp>](https://togithub.com/vitest-dev/vitest/commit/154cb22de)
    -   Add `tripleClick` to interactive api - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5987](https://togithub.com/vitest-dev/vitest/issues/5987) [<samp>(200a4)</samp>](https://togithub.com/vitest-dev/vitest/commit/200a4349a)
    -   Playwright provider doesn't allow resizing the browser viewport - by [@&#8203;userquin](https://togithub.com/userquin) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5984](https://togithub.com/vitest-dev/vitest/issues/5984) [<samp>(ff978)</samp>](https://togithub.com/vitest-dev/vitest/commit/ff978e58d)
-   Pretty print diffs coming from cause - by [@&#8203;dubzzz](https://togithub.com/dubzzz) in [https://github.com/vitest-dev/vitest/issues/5660](https://togithub.com/vitest-dev/vitest/issues/5660) [<samp>(6faf8)</samp>](https://togithub.com/vitest-dev/vitest/commit/6faf8f84b)
-   Allow import statement as vi.mock path for better IDE support - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5690](https://togithub.com/vitest-dev/vitest/issues/5690) [<samp>(a99a1)</samp>](https://togithub.com/vitest-dev/vitest/commit/a99a14c1c)
-   Remove deprecated options - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5696](https://togithub.com/vitest-dev/vitest/issues/5696) [<samp>(5c308)</samp>](https://togithub.com/vitest-dev/vitest/commit/5c308edc6)
-   Add blob reporter - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5663](https://togithub.com/vitest-dev/vitest/issues/5663) [<samp>(e2053)</samp>](https://togithub.com/vitest-dev/vitest/commit/e20538a36)
    -    Run Vitest in separate processes with `--reporter=blob` flag to generate reports and combine them with `vitest --merge-reports` later!
-   Add expect.poll utility - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5708](https://togithub.com/vitest-dev/vitest/issues/5708) [<samp>(e2e0f)</samp>](https://togithub.com/vitest-dev/vitest/commit/e2e0ff46a)
-   Add browser.ui option - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5771](https://togithub.com/vitest-dev/vitest/issues/5771) [<samp>(a5033)</samp>](https://togithub.com/vitest-dev/vitest/commit/a50330eea)
-   Add median to `--output-json` - by [@&#8203;Joristdh](https://togithub.com/Joristdh) in [https://github.com/vitest-dev/vitest/issues/5745](https://togithub.com/vitest-dev/vitest/issues/5745) [<samp>(0766b)</samp>](https://togithub.com/vitest-dev/vitest/commit/0766b7f72)
-   Allow augmenting config.test.env - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5784](https://togithub.com/vitest-dev/vitest/issues/5784) [<samp>(b2469)</samp>](https://togithub.com/vitest-dev/vitest/commit/b24691efd)
-   Implement module mocking in browser mode - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5765](https://togithub.com/vitest-dev/vitest/issues/5765) [<samp>(7b2f6)</samp>](https://togithub.com/vitest-dev/vitest/commit/7b2f64cfa)
-   Allow configuring expect options in the config - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5729](https://togithub.com/vitest-dev/vitest/issues/5729) [<samp>(fc53f)</samp>](https://togithub.com/vitest-dev/vitest/commit/fc53f5634)
-   Add an option to print console stack trace - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5720](https://togithub.com/vitest-dev/vitest/issues/5720) [<samp>(e4fe6)</samp>](https://togithub.com/vitest-dev/vitest/commit/e4fe6f51a)
-   Add browser frame to UI - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5808](https://togithub.com/vitest-dev/vitest/issues/5808) [<samp>(3796d)</samp>](https://togithub.com/vitest-dev/vitest/commit/3796dd7e0)
-   Image type add bmp - by **btea** in [https://github.com/vitest-dev/vitest/issues/5921](https://togithub.com/vitest-dev/vitest/issues/5921) [<samp>(98f9b)</samp>](https://togithub.com/vitest-dev/vitest/commit/98f9b7ab9)
-   Add an option to return base64 from page.screenshot - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5993](https://togithub.com/vitest-dev/vitest/issues/5993) [<samp>(be323)</samp>](https://togithub.com/vitest-dev/vitest/commit/be3231763)
-   Expose `parseAst`, `parseAstAsync` from vite - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(f645e)</samp>](https://togithub.com/vitest-dev/vitest/commit/f645e48c5)
-   **config**:
    -   Allow percentage value for workers option - by [@&#8203;syi0808](https://togithub.com/syi0808) in [https://github.com/vitest-dev/vitest/issues/5982](https://togithub.com/vitest-dev/vitest/issues/5982) [<samp>(b1a27)</samp>](https://togithub.com/vitest-dev/vitest/commit/b1a27d404)
-   **runner**:
    -   Implement `test.for` - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5861](https://togithub.com/vitest-dev/vitest/issues/5861) [<samp>(c2380)</samp>](https://togithub.com/vitest-dev/vitest/commit/c238072fd)
-   **spy**:
    -   Collect mock.contexts - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5955](https://togithub.com/vitest-dev/vitest/issues/5955) [<samp>(3b31a)</samp>](https://togithub.com/vitest-dev/vitest/commit/3b31a56d5)
-   **ui**:
    -   Render tests in a tree - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5807](https://togithub.com/vitest-dev/vitest/issues/5807) [<samp>(7900f)</samp>](https://togithub.com/vitest-dev/vitest/commit/7900f9f89)
    -   Load module graph on tab selection - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5844](https://togithub.com/vitest-dev/vitest/issues/5844) [<samp>(b117e)</samp>](https://togithub.com/vitest-dev/vitest/commit/b117e8756)
    -   Replace navigation tree with test explorer - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5907](https://togithub.com/vitest-dev/vitest/issues/5907) [<samp>(45dfc)</samp>](https://togithub.com/vitest-dev/vitest/commit/45dfc95ae)
    -   Add initializing explorer logic - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5941](https://togithub.com/vitest-dev/vitest/issues/5941) [<samp>(c31c4)</samp>](https://togithub.com/vitest-dev/vitest/commit/c31c41c72)
    -   Add action to explorer item to show the test/suite line in the source code tab - by [@&#8203;userquin](https://togithub.com/userquin) and **Anjorin Damilare** in [https://github.com/vitest-dev/vitest/issues/5948](https://togithub.com/vitest-dev/vitest/issues/5948) [<samp>(7ec29)</samp>](https://togithub.com/vitest-dev/vitest/commit/7ec298eb3)
-   **ws-client**:
    -   Allow change reactive for state, filesMap and idMap - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5906](https://togithub.com/vitest-dev/vitest/issues/5906) [<samp>(e6020)</samp>](https://togithub.com/vitest-dev/vitest/commit/e6020b9c2)

##### 🐞 Bug Fixes

-   Print console statements in vmThreads - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5678](https://togithub.com/vitest-dev/vitest/issues/5678) [<samp>(34a80)</samp>](https://togithub.com/vitest-dev/vitest/commit/34a80b392)
-   Repeatable `--exclude` option - by [@&#8203;fregante](https://togithub.com/fregante) in [https://github.com/vitest-dev/vitest/issues/5782](https://togithub.com/vitest-dev/vitest/issues/5782) [<samp>(d6700)</samp>](https://togithub.com/vitest-dev/vitest/commit/d6700bbd8)
-   Remove browser.fileParallelism - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5790](https://togithub.com/vitest-dev/vitest/issues/5790) [<samp>(b881e)</samp>](https://togithub.com/vitest-dev/vitest/commit/b881e88b2)
-   Install UI icons - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(b84f1)</samp>](https://togithub.com/vitest-dev/vitest/commit/b84f1721d)
-   Remove process.exit if workspace project failed to be created - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5804](https://togithub.com/vitest-dev/vitest/issues/5804) [<samp>(a820e)</samp>](https://togithub.com/vitest-dev/vitest/commit/a820e7ac6)
-   Vi.waitFor/vi.waitUntil interval is now cleared after it times out - by [@&#8203;pedro00dk](https://togithub.com/pedro00dk) in [https://github.com/vitest-dev/vitest/issues/5875](https://togithub.com/vitest-dev/vitest/issues/5875) [<samp>(04107)</samp>](https://togithub.com/vitest-dev/vitest/commit/041076e7c)
-   ToJSON recursive error serialization - by [@&#8203;eddienubes](https://togithub.com/eddienubes) in [https://github.com/vitest-dev/vitest/issues/5848](https://togithub.com/vitest-dev/vitest/issues/5848) and [https://github.com/vitest-dev/vitest/issues/5884](https://togithub.com/vitest-dev/vitest/issues/5884) [<samp>(8d55d)</samp>](https://togithub.com/vitest-dev/vitest/commit/8d55d6bd4)
-   Print error properties only in verbose reporter - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5917](https://togithub.com/vitest-dev/vitest/issues/5917) [<samp>(2bd8d)</samp>](https://togithub.com/vitest-dev/vitest/commit/2bd8d9d6f)
-   Use TTY reporter when running in Deno - by [@&#8203;marvinhagemeister](https://togithub.com/marvinhagemeister) in [https://github.com/vitest-dev/vitest/issues/5972](https://togithub.com/vitest-dev/vitest/issues/5972) [<samp>(e0f45)</samp>](https://togithub.com/vitest-dev/vitest/commit/e0f45cb57)
-   Don't override uppercase - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(caef4)</samp>](https://togithub.com/vitest-dev/vitest/commit/caef40a0b)
-   Clear screen and scrollback on iTerm2 - by [@&#8203;kxalex](https://togithub.com/kxalex) in [https://github.com/vitest-dev/vitest/issues/5978](https://togithub.com/vitest-dev/vitest/issues/5978) [<samp>(d7f23)</samp>](https://togithub.com/vitest-dev/vitest/commit/d7f23d08c)
-   Include pretty-format in [@&#8203;vitest/runner](https://togithub.com/vitest/runner) for optimization on npm - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(42bd4)</samp>](https://togithub.com/vitest-dev/vitest/commit/42bd4a259)
-   Transpile esnext to node18 to support newest JS and TS features - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4409](https://togithub.com/vitest-dev/vitest/issues/4409) [<samp>(8f65a)</samp>](https://togithub.com/vitest-dev/vitest/commit/8f65ae906)
-   **api**:
    -   Correct `project.provide` type - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5959](https://togithub.com/vitest-dev/vitest/issues/5959) [<samp>(0eda9)</samp>](https://togithub.com/vitest-dev/vitest/commit/0eda99de9)
    -   Don't call process.exit manually - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5926](https://togithub.com/vitest-dev/vitest/issues/5926) [<samp>(e9b63)</samp>](https://togithub.com/vitest-dev/vitest/commit/e9b638d40)
-   **browser**:
    -   Display UI - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(d41e4)</samp>](https://togithub.com/vitest-dev/vitest/commit/d41e46a81)
    -   Browser actions icons colors - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5816](https://togithub.com/vitest-dev/vitest/issues/5816) [<samp>(f9d9b)</samp>](https://togithub.com/vitest-dev/vitest/commit/f9d9b3bef)
    -   Restore the original viewport when unselecting the preset viewport - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5821](https://togithub.com/vitest-dev/vitest/issues/5821) [<samp>(5ebb3)</samp>](https://togithub.com/vitest-dev/vitest/commit/5ebb3abf5)
    -   Don't get stuck after the manual page refresh - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(2220b)</samp>](https://togithub.com/vitest-dev/vitest/commit/2220bb3fe)
    -   Use iframe id instead of calculating it from filenames - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5823](https://togithub.com/vitest-dev/vitest/issues/5823) [<samp>(34a31)</samp>](https://togithub.com/vitest-dev/vitest/commit/34a310da1)
    -   Always clean up iframes on rerun - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5827](https://togithub.com/vitest-dev/vitest/issues/5827) [<samp>(087fa)</samp>](https://togithub.com/vitest-dev/vitest/commit/087fa87c3)
    -   Support [@&#8203;testing-library/vue](https://togithub.com/testing-library/vue) in browser mode out of the box - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(76b82)</samp>](https://togithub.com/vitest-dev/vitest/commit/76b82e5b9)
    -   Print correct transformed module graph - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5833](https://togithub.com/vitest-dev/vitest/issues/5833) [<samp>(a7581)</samp>](https://togithub.com/vitest-dev/vitest/commit/a75815756)
    -   Use `preview` provider when running in StackBlitz - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5836](https://togithub.com/vitest-dev/vitest/issues/5836) [<samp>(76e13)</samp>](https://togithub.com/vitest-dev/vitest/commit/76e13587c)
    -   Specify entries for correct deps optimization - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5839](https://togithub.com/vitest-dev/vitest/issues/5839) [<samp>(c79b3)</samp>](https://togithub.com/vitest-dev/vitest/commit/c79b3f1f9)
    -   Allow iframe to load even if there is a custom CSP header - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5841](https://togithub.com/vitest-dev/vitest/issues/5841) [<samp>(caaaf)</samp>](https://togithub.com/vitest-dev/vitest/commit/caaafd903)
    -   Don't optimize Vitest dependencies - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5843](https://togithub.com/vitest-dev/vitest/issues/5843) [<samp>(f15b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/f15b4e99d)
    -   Set server.open to false and move error handling after init - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5845](https://togithub.com/vitest-dev/vitest/issues/5845) [<samp>(47003)</samp>](https://togithub.com/vitest-dev/vitest/commit/470036794)
    -   Show correct prepare time - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5852](https://togithub.com/vitest-dev/vitest/issues/5852) [<samp>(52d54)</samp>](https://togithub.com/vitest-dev/vitest/commit/52d545bf9)
    -   Resolve `coverage.reporter` from string values - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5920](https://togithub.com/vitest-dev/vitest/issues/5920) [<samp>(f33da)</samp>](https://togithub.com/vitest-dev/vitest/commit/f33dabbef)
    -   Correctly update inline snapshot if changed - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5925](https://togithub.com/vitest-dev/vitest/issues/5925) [<samp>(2380c)</samp>](https://togithub.com/vitest-dev/vitest/commit/2380cb95e)
    -   Remove "util" warning - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5935](https://togithub.com/vitest-dev/vitest/issues/5935) [<samp>(48f28)</samp>](https://togithub.com/vitest-dev/vitest/commit/48f28f731)
    -   Remove hacky retry - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5971](https://togithub.com/vitest-dev/vitest/issues/5971) [<samp>(2a2c9)</samp>](https://togithub.com/vitest-dev/vitest/commit/2a2c9085a)
    -   Make userEvent more stable when running in parallel - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5974](https://togithub.com/vitest-dev/vitest/issues/5974) [<samp>(14a21)</samp>](https://togithub.com/vitest-dev/vitest/commit/14a217d53)
    -   Print screenshot path alongside the test error message - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5992](https://togithub.com/vitest-dev/vitest/issues/5992) [<samp>(15289)</samp>](https://togithub.com/vitest-dev/vitest/commit/152891b3d)
    -   Print correct stack trace in source files - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6003](https://togithub.com/vitest-dev/vitest/issues/6003) [<samp>(62aa7)</samp>](https://togithub.com/vitest-dev/vitest/commit/62aa72081)
    -   Correctly mock optimized cjs dependencies - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6035](https://togithub.com/vitest-dev/vitest/issues/6035) [<samp>(057b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/057b4f34b)
    -   Support shadow root and svg elements - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6036](https://togithub.com/vitest-dev/vitest/issues/6036) [<samp>(2e3c8)</samp>](https://togithub.com/vitest-dev/vitest/commit/2e3c872ae)
-   **coverage**:
    -   Clean up empty coverage reports directory - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5731](https://togithub.com/vitest-dev/vitest/issues/5731) [<samp>(c469c)</samp>](https://togithub.com/vitest-dev/vitest/commit/c469c74d7)
    -   `thresholds.autoUpdate` to support `mergeConfig` - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5818](https://togithub.com/vitest-dev/vitest/issues/5818) [<samp>(7afb3)</samp>](https://togithub.com/vitest-dev/vitest/commit/7afb3682f)
    -   Pass thresholds errors to `stderr` of `startVitest()` - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5954](https://togithub.com/vitest-dev/vitest/issues/5954) [<samp>(70805)</samp>](https://togithub.com/vitest-dev/vitest/commit/708051319)
    -   Exclude bench files from coverage - by [@&#8203;kouak](https://togithub.com/kouak) in [https://github.com/vitest-dev/vitest/issues/5983](https://togithub.com/vitest-dev/vitest/issues/5983) [<samp>(429e1)</samp>](https://togithub.com/vitest-dev/vitest/commit/429e1a7f8)
    -   Vite to ignore dynamic import of provider - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5998](https://togithub.com/vitest-dev/vitest/issues/5998) [<samp>(6d884)</samp>](https://togithub.com/vitest-dev/vitest/commit/6d8848e86)
    -   Istanbul to support import attributes - by [@&#8203;Gravitonic](https://togithub.com/Gravitonic) in [https://github.com/vitest-dev/vitest/issues/6006](https://togithub.com/vitest-dev/vitest/issues/6006) [<samp>(2898a)</samp>](https://togithub.com/vitest-dev/vitest/commit/2898a525d)
    -   Remove work-around for implicit `else` - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6014](https://togithub.com/vitest-dev/vitest/issues/6014) [<samp>(368c1)</samp>](https://togithub.com/vitest-dev/vitest/commit/368c13728)
-   **deps**:
    -   Update dependency [@&#8203;testing-library/dom](https://togithub.com/testing-library/dom) to v10 - by **renovate\[bot]** in [https://github.com/vitest-dev/vitest/issues/5866](https://togithub.com/vitest-dev/vitest/issues/5866) [<samp>(e9745)</samp>](https://togithub.com/vitest-dev/vitest/commit/e9745997e)
    -   Update vulnerable `test-exclude` to v7 - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5867](https://togithub.com/vitest-dev/vitest/issues/5867) [<samp>(0a715)</samp>](https://togithub.com/vitest-dev/vitest/commit/0a715946b)
-   **expect**:
    -   Fix immutable.js iterable equality - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5692](https://togithub.com/vitest-dev/vitest/issues/5692) [<samp>(1532c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1532c19a0)
-   **forks**:
    -   Resolve `poolOptions.<name>.isolate` from `forks` options - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5840](https://togithub.com/vitest-dev/vitest/issues/5840) [<samp>(a60a1)</samp>](https://togithub.com/vitest-dev/vitest/commit/a60a140ef)
-   **runner**:
    -   Ensure inner suite { sequential: true } correctly overrides outer suite { concurrent: true } - by [@&#8203;pengooseDev](https://togithub.com/pengooseDev) in [https://github.com/vitest-dev/vitest/issues/5737](https://togithub.com/vitest-dev/vitest/issues/5737) [<samp>(a20e7)</samp>](https://togithub.com/vitest-dev/vitest/commit/a20e75b89)
    -   Ensure test.each print -0 and -NaN properly - by [@&#8203;pengooseDev](https://togithub.com/pengooseDev) in [https://github.com/vitest-dev/vitest/issues/5806](https://togithub.com/vitest-dev/vitest/issues/5806) [<samp>(9ac8f)</samp>](https://togithub.com/vitest-dev/vitest/commit/9ac8ff9bd)
-   **snapshot**:
    -   Fix `toMatchFileSnapshot` with empty file - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5894](https://togithub.com/vitest-dev/vitest/issues/5894) [<samp>(88006)</samp>](https://togithub.com/vitest-dev/vitest/commit/8800601d2)
-   **spy**:
    -   Correctly track constructor's "this" type - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(4776e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4776eca1d)
-   **types**:
    -   Mark pool options as not available in project config - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5934](https://togithub.com/vitest-dev/vitest/issues/5934) [<samp>(486fd)</samp>](https://togithub.com/vitest-dev/vitest/commit/486fd1169)
-   **ui**:
    -   Show correct module graph and project name in a Vitest workspace - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5792](https://togithub.com/vitest-dev/vitest/issues/5792) [<samp>(48c50)</samp>](https://togithub.com/vitest-dev/vitest/commit/48c502fbe)
    -   Update running todo tests inside todo suites (each) - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5939](https://togithub.com/vitest-dev/vitest/issues/5939) [<samp>(63ae1)</samp>](https://togithub.com/vitest-dev/vitest/commit/63ae10bd9)
    -   `FileDetails` title status icon not being updated - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5942](https://togithub.com/vitest-dev/vitest/issues/5942) [<samp>(e9ddf)</samp>](https://togithub.com/vitest-dev/vitest/commit/e9ddf9ce2)
-   **ui, browser**:
    -   Disable mouse events when resizing main navigation panel - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5863](https://togithub.com/vitest-dev/vitest/issues/5863) [<samp>(7cbd9)</samp>](https://togithub.com/vitest-dev/vitest/commit/7cbd943c7)
-   **utils**:
    -   Produce valid snapshot names - by [@&#8203;dubzzz](https://togithub.com/dubzzz) in [https://github.com/vitest-dev/vitest/issues/5724](https://togithub.com/vitest-dev/vitest/issues/5724) [<samp>(1ec61)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ec61ceee)
    -   Fix color util maximum call stack error - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5733](https://togithub.com/vitest-dev/vitest/issues/5733) [<samp>(a4ec5)</samp>](https://togithub.com/vitest-dev/vitest/commit/a4ec58319)
    -   Package exports - by [@&#8203;userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/5847](https://togithub.com/vitest-dev/vitest/issues/5847) [<samp>(07876)</samp>](https://togithub.com/vitest-dev/vitest/commit/07876b7e0)
-   **vite-node**:
    -   Expose all envs from .env file, not just with a prefix `VITE_` - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6017](https://togithub.com/vitest-dev/vitest/issues/6017) [<samp>(d87be)</samp>](https://togithub.com/vitest-dev/vitest/commit/d87bef961)
-   **vitest**:
    -   Expose `provide` to the public API - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5897](https://togithub.com/vitest-dev/vitest/issues/5897) [<samp>(66e64)</samp>](https://togithub.com/vitest-dev/vitest/commit/66e648ff8)
    -   Cache fs code only for forks pool - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5909](https://togithub.com/vitest-dev/vitest/issues/5909) [<samp>(e30d9)</samp>](https://togithub.com/vitest-dev/vitest/commit/e30d9b4d5)
    -   Allow testing unandled rejection/exception - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6016](https://togithub.com/vitest-dev/vitest/issues/6016) [<samp>(c8d56)</samp>](https://togithub.com/vitest-dev/vitest/commit/c8d56fe5f)
    -   Show all failed tests when rerunning a test - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6022](https://togithub.com/vitest-dev/vitest/issues/6022) [<samp>(91ba6)</samp>](https://togithub.com/vitest-dev/vitest/commit/91ba6f95e)

##### [View changes on GitHub](6b29f3ddc8...v2.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM4LjU2LjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-09-03 10:02:02 +00:00
fundon
98d9295259 feat(core): support block or element reference links (#7946)
Upstreams: https://github.com/toeverything/blocksuite/pull/8021

* open doc with mode
* monitor mode changes in query string
* scroll anchoring

https://github.com/user-attachments/assets/681abff8-e51b-47ea-bb71-447e8b312142

https://github.com/user-attachments/assets/e73ed4c0-4e33-45f8-9db4-d8eed3525d05
2024-09-03 09:49:15 +00:00
renovate
e7b53641d7 chore: bump up keyv version to v5 (#7936)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [keyv](https://togithub.com/jaredwray/keyv) | [`^4.5.4` -> `^5.0.0`](https://renovatebot.com/diffs/npm/keyv/4.5.4/5.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/4.5.4/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/4.5.4/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-03 09:37:39 +00:00
darkskygit
41f9149be6 feat(server): support openai compatible stream api (#8065)
fix #8010
2024-09-03 09:25:00 +00:00
darkskygit
935771c8a8 feat(server): make captcha modular (#5961) 2024-09-03 09:03:51 +00:00
forehalo
52c9da67f0 refactor(auth): authenticate user in main window (#8032) 2024-09-03 09:03:47 +00:00
forehalo
e33aa35f7e refactor(core): auth (#7999)
closes AF-753 AF-1227
2024-09-03 09:03:43 +00:00
forehalo
8b0afd6eeb refactor(server): auth (#7994) 2024-09-03 09:03:39 +00:00
Brooooooklyn
821de0a3bb ci: only expose mobile entry on canary (#8064) 2024-09-03 08:48:34 +00:00
SOUMITRA-SAHA
bc306faa2c fix(core): handle text overflow styles for search box (#8054) 2024-09-03 16:47:29 +08:00
renovate
bd8c844e75 chore: bump up figma-squircle version to v1 (#8047)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [figma-squircle](https://redirect.github.com/phamfoo/figma-squircle) | [`^0.3.1` -> `^1.0.0`](https://renovatebot.com/diffs/npm/figma-squircle/0.3.1/1.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/figma-squircle/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/figma-squircle/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/figma-squircle/0.3.1/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/figma-squircle/0.3.1/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>phamfoo/figma-squircle (figma-squircle)</summary>

### [`v1.0.0`](https://redirect.github.com/phamfoo/figma-squircle/releases/tag/v1.0.0)

[Compare Source](https://redirect.github.com/phamfoo/figma-squircle/compare/v0.3.1...v1.0.0)

-   Target es2022  [`700c8f2`](https://redirect.github.com/phamfoo/figma-squircle/commit/700c8f2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-03 08:28:03 +00:00
renovate
abbc6aef09 chore: bump up oxlint version to v0.9.2 (#8050)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.9.1` -> `0.9.2`](https://renovatebot.com/diffs/npm/oxlint/0.9.1/0.9.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.9.2`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.9.2): oxlint v0.9.2

[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.9.1...oxlint_v0.9.2)

#### \[0.9.2] - 2024-09-02

##### Features

-   [`f81e8a1`](https://redirect.github.com/oxc-project/oxc/commit/f81e8a1) linter: Add `oxc/no-async-endpoint-handlers` ([#&#8203;5364](https://redirect.github.com/oxc-project/oxc/issues/5364)) (DonIsaac)
-   [`b103737`](https://redirect.github.com/oxc-project/oxc/commit/b103737) linter: Improve no-accumulating-spread ([#&#8203;5302](https://redirect.github.com/oxc-project/oxc/issues/5302)) (camc314)
-   [`9c22ce9`](https://redirect.github.com/oxc-project/oxc/commit/9c22ce9) linter: Add hyperlinks to diagnostic messages ([#&#8203;5318](https://redirect.github.com/oxc-project/oxc/issues/5318)) (DonIsaac)
-   [`1967c67`](https://redirect.github.com/oxc-project/oxc/commit/1967c67) linter/eslint: Implement no-new-func ([#&#8203;5360](https://redirect.github.com/oxc-project/oxc/issues/5360)) (dalaoshu)
-   [`b867e5f`](https://redirect.github.com/oxc-project/oxc/commit/b867e5f) linter/eslint-plugin-promise: Implement catch-or-return ([#&#8203;5121](https://redirect.github.com/oxc-project/oxc/issues/5121)) (Jelle van der Waa)
-   [`8d781e7`](https://redirect.github.com/oxc-project/oxc/commit/8d781e7) linter/oxc: Differentiate between array/object in `no-accumulating-spread` loop diagnostic ([#&#8203;5375](https://redirect.github.com/oxc-project/oxc/issues/5375)) (camc314)
-   [`db55444`](https://redirect.github.com/oxc-project/oxc/commit/db55444) linter/oxc: Add fixer for `double-comparisons` ([#&#8203;5378](https://redirect.github.com/oxc-project/oxc/issues/5378)) (camc314)
-   [`e5c755a`](https://redirect.github.com/oxc-project/oxc/commit/e5c755a) linter/promise: Add `spec-only` rule ([#&#8203;5124](https://redirect.github.com/oxc-project/oxc/issues/5124)) (Jelle van der Waa)
-   [`4c0861f`](https://redirect.github.com/oxc-project/oxc/commit/4c0861f) linter/unicorn: Add fixer for `prefer-type-error` ([#&#8203;5311](https://redirect.github.com/oxc-project/oxc/issues/5311)) (camc314)
-   [`084c2d1`](https://redirect.github.com/oxc-project/oxc/commit/084c2d1) linter/vitest: Implement prefer-to-be-object ([#&#8203;5321](https://redirect.github.com/oxc-project/oxc/issues/5321)) (dalaoshu)

##### Bug Fixes

-   [`11b93af`](https://redirect.github.com/oxc-project/oxc/commit/11b93af) linter/unicorn: Consistent-function-scoping false positive on assignment expression ([#&#8203;5312](https://redirect.github.com/oxc-project/oxc/issues/5312)) (Arian94)

##### Performance

-   [`f052a6d`](https://redirect.github.com/oxc-project/oxc/commit/f052a6d) linter: `react/jsx_no_undef` faster check for unbound references ([#&#8203;5349](https://redirect.github.com/oxc-project/oxc/issues/5349)) (overlookmotel)
-   [`05636b7`](https://redirect.github.com/oxc-project/oxc/commit/05636b7) linter: Avoid unnecessary work in `jsx_a11y/anchor_is_valid` rule ([#&#8203;5341](https://redirect.github.com/oxc-project/oxc/issues/5341)) (overlookmotel)

##### Refactor

-   [`afb038e`](https://redirect.github.com/oxc-project/oxc/commit/afb038e) linter: `react/jsx_no_undef` use loop instead of recursion ([#&#8203;5347](https://redirect.github.com/oxc-project/oxc/issues/5347)) (overlookmotel)
-   [`fe62687`](https://redirect.github.com/oxc-project/oxc/commit/fe62687) linter: Simplify skipping JSX elements in `unicorn/consistent_function_scoping` ([#&#8203;5351](https://redirect.github.com/oxc-project/oxc/issues/5351)) (overlookmotel)
-   [`381d9fe`](https://redirect.github.com/oxc-project/oxc/commit/381d9fe) linter: Shorten code in `react/jsx_no_useless_fragment` ([#&#8203;5350](https://redirect.github.com/oxc-project/oxc/issues/5350)) (overlookmotel)
-   [`83b9a82`](https://redirect.github.com/oxc-project/oxc/commit/83b9a82) linter: Fix indentation in `nextjs/no_script_component_in_head` rule ([#&#8203;5338](https://redirect.github.com/oxc-project/oxc/issues/5338)) (overlookmotel)
-   [`89f0188`](https://redirect.github.com/oxc-project/oxc/commit/89f0188) linter: Improve docs for `react/jsx_no_target_blank` rule ([#&#8203;5342](https://redirect.github.com/oxc-project/oxc/issues/5342)) (overlookmotel)
-   [`57050ab`](https://redirect.github.com/oxc-project/oxc/commit/57050ab) linter: Shorten code in `jsx_a11y/aria_activedescendant_has_tabindex` rule ([#&#8203;5340](https://redirect.github.com/oxc-project/oxc/issues/5340)) (overlookmotel)
-   [`ed31d67`](https://redirect.github.com/oxc-project/oxc/commit/ed31d67) linter/jest: Fix indentation in code comment ([#&#8203;5372](https://redirect.github.com/oxc-project/oxc/issues/5372)) (camc314)
-   [`2499cb9`](https://redirect.github.com/oxc-project/oxc/commit/2499cb9) linter/oxc: Update rule docs for `erasing-op` ([#&#8203;5376](https://redirect.github.com/oxc-project/oxc/issues/5376)) (camc314)
-   [`69493d2`](https://redirect.github.com/oxc-project/oxc/commit/69493d2) linter/oxc: Improve diagnostic for `no-accumulating-spread` in loops ([#&#8203;5374](https://redirect.github.com/oxc-project/oxc/issues/5374)) (camc314)
-   [`024b585`](https://redirect.github.com/oxc-project/oxc/commit/024b585) linter/oxc: Improve code comment for `no-accumulating-spread` ([#&#8203;5373](https://redirect.github.com/oxc-project/oxc/issues/5373)) (camc314)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-03 08:11:59 +00:00
renovate
3f324a5af9 chore: bump up @types/eslint version to v9 (#7570)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/eslint](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint)) | [`^8.56.7` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@types%2feslint/8.56.11/9.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2feslint/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2feslint/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2feslint/8.56.11/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2feslint/8.56.11/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM4LjU2LjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-09-03 07:56:25 +00:00
renovate
7b9d9a1ca6 chore: Lock file maintenance (#7390)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjM4LjU5LjIiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-09-03 07:42:54 +00:00
Brooooooklyn
12d73ee290 ci: handle the blocksuite commit is not found on current branch (#8061) 2024-09-03 07:09:03 +00:00
renovate
d819a26bc1 chore: bump up all non-major dependencies (#7963)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`1.7.0` -> `1.8.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/1.7.0/1.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)) | [`19.4.0` -> `19.4.1`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/19.4.0/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fcli/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fcli/19.4.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/19.4.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`19.2.2` -> `19.4.1`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/19.2.2/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fconfig-conventional/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fconfig-conventional/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fconfig-conventional/19.2.2/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fconfig-conventional/19.2.2/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@marsidev/react-turnstile](https://redirect.github.com/marsidev/react-turnstile) | [`1.0.0` -> `1.0.1`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/1.0.0/1.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/1.0.0/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/1.0.0/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@napi-rs/simple-git](https://redirect.github.com/Brooooooklyn/simple-git) | [`0.1.18` -> `0.1.19`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/simple-git](https://redirect.github.com/Brooooooklyn/simple-git) | [`0.1.18` -> `0.1.19`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.18/0.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.6.2` -> `19.6.4`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.6.2/19.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.6.2/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.6.2/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@opentelemetry/core](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fcore/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fcore/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fcore/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fcore/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/exporter-prometheus](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.52.0` -> `^0.53.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.52.1/0.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/exporter-zipkin](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-zipkin/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-zipkin/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-zipkin/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-zipkin/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.52.0` -> `^0.53.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.52.1/0.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-graphql](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.42.0` -> `^0.43.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.42.0/0.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.42.0/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.42.0/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-http](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.52.0` -> `^0.53.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.52.1/0.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.42.0` -> `^0.43.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.42.0/0.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.42.0/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.42.0/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-nestjs-core](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.39.0` -> `^0.40.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.39.0/0.40.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.39.0/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.39.0/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.41.0` -> `^0.42.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.41.0/0.42.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/resources](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fresources/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fresources/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fresources/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fresources/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-metrics/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-metrics/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-metrics/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-metrics/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.52.0` -> `^0.53.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.52.1/0.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.52.1/0.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-trace-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-trace-node/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-trace-node/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-trace-node/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-trace-node/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/semantic-conventions](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsemantic-conventions/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsemantic-conventions/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsemantic-conventions/1.26.0/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsemantic-conventions/1.26.0/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.18.0` -> `5.19.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.18.0/5.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.18.0` -> `5.19.1`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.18.0/5.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`5.3.0` -> `5.4.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/5.3.0/5.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/5.3.0/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/5.3.0/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.22.2` -> `2.22.3`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.22.2/2.22.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.22.2/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.22.2/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.26.0` -> `8.27.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.26.0/8.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.26.0/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.26.0/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.26.0` -> `8.27.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.26.0/8.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.26.0/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.26.0/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.22.2` -> `2.22.3`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.22.2/2.22.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.22.2/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.22.2/2.22.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.7.14` -> `1.7.23`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.7.14/1.7.23) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.7.14/1.7.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.7.14/1.7.23?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tanstack/react-table](https://tanstack.com/table) ([source](https://redirect.github.com/TanStack/table/tree/HEAD/packages/react-table)) | [`8.20.1` -> `8.20.5`](https://renovatebot.com/diffs/npm/@tanstack%2freact-table/8.20.1/8.20.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-table/8.20.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-table/8.20.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-table/8.20.1/8.20.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-table/8.20.1/8.20.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@testing-library/react](https://redirect.github.com/testing-library/react-testing-library) | [`16.0.0` -> `16.0.1`](https://renovatebot.com/diffs/npm/@testing-library%2freact/16.0.0/16.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2freact/16.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2freact/16.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2freact/16.0.0/16.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2freact/16.0.0/16.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/eslint](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint)) | [`8.56.11` -> `8.56.12`](https://renovatebot.com/diffs/npm/@types%2feslint/8.56.11/8.56.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2feslint/8.56.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2feslint/8.56.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2feslint/8.56.11/8.56.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2feslint/8.56.11/8.56.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/mixpanel-browser](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mixpanel-browser) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mixpanel-browser)) | [`2.49.1` -> `2.50.0`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.49.1/2.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.49.1/2.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-browser/2.49.1/2.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.1` -> `20.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.1/20.16.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.1/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.1/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.3.4` -> `18.3.5`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.4/18.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.4/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.4/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [changelogithub](https://redirect.github.com/antfu/changelogithub) | [`0.13.9` -> `0.13.10`](https://renovatebot.com/diffs/npm/changelogithub/0.13.9/0.13.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/changelogithub/0.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/changelogithub/0.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/changelogithub/0.13.9/0.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/changelogithub/0.13.9/0.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [commitlint](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint)) | [`19.4.0` -> `19.4.1`](https://renovatebot.com/diffs/npm/commitlint/19.4.0/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/commitlint/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/commitlint/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/commitlint/19.4.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commitlint/19.4.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`4.4.1` -> `4.5.0`](https://renovatebot.com/diffs/npm/fast-xml-parser/4.4.1/4.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`15.0.0` -> `15.7.3`](https://renovatebot.com/diffs/npm/happy-dom/15.0.0/15.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/15.0.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/15.0.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [http-proxy-middleware](https://redirect.github.com/chimurai/http-proxy-middleware) | [`3.0.0` -> `3.0.1`](https://renovatebot.com/diffs/npm/http-proxy-middleware/3.0.0/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/http-proxy-middleware/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/http-proxy-middleware/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/http-proxy-middleware/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/http-proxy-middleware/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-effect](https://redirect.github.com/jotaijs/jotai-effect) | [`1.0.2` -> `1.0.3`](https://renovatebot.com/diffs/npm/jotai-effect/1.0.2/1.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-effect/1.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-effect/1.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-effect/1.0.2/1.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-effect/1.0.2/1.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.2.9` -> `15.2.10`](https://renovatebot.com/diffs/npm/lint-staged/15.2.9/15.2.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.9/15.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.9/15.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.435.0` -> `^0.438.0`](https://renovatebot.com/diffs/npm/lucide-react/0.435.0/0.438.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.438.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.438.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.435.0/0.438.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.435.0/0.438.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`14.0.0` -> `14.1.0`](https://renovatebot.com/diffs/npm/marked/14.0.0/14.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/marked/14.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/marked/14.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/marked/14.0.0/14.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked/14.0.0/14.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.55.0` -> `2.55.1`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.55.0/2.55.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.55.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.55.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.55.0/2.55.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.55.0/2.55.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.3.5` -> `2.4.1`](https://renovatebot.com/diffs/npm/msw/2.3.5/2.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.3.5/2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.3.5/2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [nestjs-throttler-storage-redis](https://redirect.github.com/kkoomen/nestjs-throttler-storage-redis) | [`0.5.0` -> `0.5.1`](https://renovatebot.com/diffs/npm/nestjs-throttler-storage-redis/0.5.0/0.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-throttler-storage-redis/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-throttler-storage-redis/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-throttler-storage-redis/0.5.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-throttler-storage-redis/0.5.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.6.2` -> `19.6.4`](https://renovatebot.com/diffs/npm/nx/19.6.2/19.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.6.2/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.6.2/19.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.56.0` -> `4.57.0`](https://renovatebot.com/diffs/npm/openai/4.56.0/4.57.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.56.0/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.56.0/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.41` -> `8.4.44`](https://renovatebot.com/diffs/npm/postcss/8.4.41/8.4.44) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.41/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.41/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.18.0` -> `5.19.1`](https://renovatebot.com/diffs/npm/prisma/5.18.0/5.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.18.0/5.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-hook-form](https://www.react-hook-form.com) ([source](https://redirect.github.com/react-hook-form/react-hook-form)) | [`7.52.2` -> `7.53.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.52.2/7.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.52.2/7.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.52.2/7.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-resizable-panels](https://redirect.github.com/bvaughn/react-resizable-panels) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://redirect.github.com/petyosi/react-virtuoso)) | [`4.10.1` -> `4.10.2`](https://renovatebot.com/diffs/npm/react-virtuoso/4.10.1/4.10.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.10.1/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.10.1/4.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | `1.0.208` -> `1.0.209` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.209?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.209?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.208/1.0.209?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.208/1.0.209?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [serde_json](https://redirect.github.com/serde-rs/json) | `1.0.125` -> `1.0.127` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.127?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.127?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.125/1.0.127?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.125/1.0.127?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [ses](https://redirect.github.com/Agoric/SES-shim/tree/master/packages/ses#readme) ([source](https://redirect.github.com/endojs/endo/tree/HEAD/packages/ses)) | [`1.7.0` -> `1.8.0`](https://renovatebot.com/diffs/npm/ses/1.7.0/1.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ses/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ses/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ses/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ses/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [shadcn-ui](https://redirect.github.com/shadcn/ui) ([source](https://redirect.github.com/shadcn/ui/tree/HEAD/packages/cli)) | [`^0.8.0` -> `^0.9.0`](https://renovatebot.com/diffs/npm/shadcn-ui/0.8.0/0.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shadcn-ui/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shadcn-ui/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shadcn-ui/0.8.0/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shadcn-ui/0.8.0/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [slackapi/slack-github-action](https://redirect.github.com/slackapi/slack-github-action) | `v1.26.0` -> `v1.27.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/slackapi%2fslack-github-action/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/slackapi%2fslack-github-action/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/slackapi%2fslack-github-action/v1.26.0/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/slackapi%2fslack-github-action/v1.26.0/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor |
| [storybook-dark-mode](https://redirect.github.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [stripe](https://redirect.github.com/stripe/stripe-node) | [`16.8.0` -> `16.9.0`](https://renovatebot.com/diffs/npm/stripe/16.8.0/16.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/16.8.0/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/16.8.0/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.39.3` -> `1.40.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.39.3/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.39.3/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.39.3` -> `1.40.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.39.3/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.39.3/1.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vite-plugin-dts](https://redirect.github.com/qmhc/vite-plugin-dts) | [`4.0.3` -> `4.1.0`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.0.3/4.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.0.3/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.0.3/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [vitest-mock-extended](https://redirect.github.com/eratio08/vitest-mock-extended) | [`2.0.0` -> `2.0.2`](https://renovatebot.com/diffs/npm/vitest-mock-extended/2.0.0/2.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-mock-extended/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-mock-extended/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-mock-extended/2.0.0/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-mock-extended/2.0.0/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.72.2` -> `3.73.0`](https://renovatebot.com/diffs/npm/wrangler/3.72.2/3.73.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.72.2/3.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.72.2/3.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.4.0` -> `4.4.1`](https://renovatebot.com/diffs/npm/yarn/4.4.0/4.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yarn/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yarn/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yarn/4.4.0/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yarn/4.4.0/4.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | patch |

---

### Release Notes

<details>
<summary>chromaui/addon-visual-tests (@&#8203;chromatic-com/storybook)</summary>

### [`v1.8.0`](https://redirect.github.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v180-Thu-Aug-29-2024)

[Compare Source](https://redirect.github.com/chromaui/addon-visual-tests/compare/v1.7.0...v1.8.0)

##### 🚀 Enhancement

-   Add `paramKey: "chromatic"` to allow disabling the VTA panel through story parameters [#&#8203;334](https://redirect.github.com/chromaui/addon-visual-tests/pull/334) ([@&#8203;mellm0](https://redirect.github.com/mellm0))

##### Authors: 1

-   Mell (
2024-09-03 06:55:34 +00:00
EYHN
a6484018ef refactor(core): refactor editor query string selector (#8058)
The editor selector is the information for locating a block, which can automatically focus on a certain content when a user opens a document.

```
export type EditorSelector = {
  blockIds?: string[];
  elementIds?: string[];
};
```

The selector can be set from multiple places, such as passing it in the center peek parameter, or passing it in the query part of the URL.

This pr decoupled the selector from the query string and now available at `editorService.editor.selector$`
2024-09-03 06:37:58 +00:00
fundon
f9d0a348c4 feat(core): add custom configuration to database options (#7933)
Upstreams: https://github.com/toeverything/blocksuite/pull/8022

* add custom configuration to database options
* add `Copy link to block` button to database options

<img width="518" alt="Screenshot 2024-09-03 at 08 57 59" src="https://github.com/user-attachments/assets/a421cd82-abd4-456e-af17-c4db6c4ff3ae">
2024-09-03 03:52:10 +00:00
fundon
c3ae219992 feat(core): add block and element toolbar widget custom config (#7886)
Upstreams: https://github.com/toeverything/blocksuite/pull/8001 https://github.com/toeverything/blocksuite/pull/7964

* add block/element toolbar widget config
* add `Copy link to block` to `more menu` on  block/element toolbar

<img width="376" alt="Screenshot 2024-08-16 at 16 20 08" src="https://github.com/user-attachments/assets/49b41de9-39d1-4f55-ac9b-445fe020187a">
2024-09-03 03:52:08 +00:00
CatsJuice
ad110078ac feat(mobile): setting page ui (#8048)
AF-1275
2024-09-03 03:27:18 +00:00
JimmFly
bea3d42f40 feat(core): add color picker ui to editor settings (#8053)
close AF-1306 AF-1280

![CleanShot 2024-09-03 at 00 23 10@2x](https://github.com/user-attachments/assets/46928c85-45ec-43b1-bbde-24beb7c5c580)
2024-09-03 03:14:50 +00:00
EYHN
02f0d7aa08 feat(component): dropdown menu auto avoid collisions (#8013)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/g3jz87HxbjOJpXV3FPT7/7f9d21cc-7b2f-4dc1-801c-e69d5e6d0750.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/g3jz87HxbjOJpXV3FPT7/7f9d21cc-7b2f-4dc1-801c-e69d5e6d0750.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/7f9d21cc-7b2f-4dc1-801c-e69d5e6d0750.mp4">CleanShot 2024-08-29 at 14.49.58.mp4</video>
2024-09-03 02:12:16 +00:00
pengx17
197996de31 fix(mobile): handle menu ref better (#8051) 2024-09-03 01:59:45 +00:00
L-Sun
392fef663e chore: bump blocksuite (#8052)
## Features
- https://github.com/toeverything/BlockSuite/pull/8115 @EYHN

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/8119 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/8117 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/8114 @donteatfriedrice

## Misc
- https://github.com/toeverything/BlockSuite/pull/8106 @fundon
- https://github.com/toeverything/BlockSuite/pull/8116 @doodlewind
2024-09-02 15:25:26 +00:00
JimmFly
130e6ab4a3 chore: adjust custom font family style (#8040)
close AF-1302 AF-1301
2024-09-02 15:11:58 +00:00
akumatus
2e37ee0e33 feat(core): add actions to editor settings (#8030)
# What Changed?
- Add actions of following edgeless-elements editor settings:
  - note
  - connector
  - edgeless text
  - pen
2024-09-02 14:23:04 +00:00
pengx17
e1310b65cd fix(mobile): change how slider height is calculated (#8049) 2024-09-02 14:10:37 +00:00
Brooooooklyn
87da792c4c ci: deploy the mobile entry (#8028) 2024-09-02 12:59:41 +00:00
Saul-Mirone
56f4634c1f chore: bump bs with new extension api (#8042) 2024-09-02 10:32:22 +00:00
pengx17
61e37d8873 test(mobile): basic e2e tests (#8031)
fix AF-1289

1. tested on 'webkit'
2. a few baseline test cases
2024-09-02 10:20:24 +00:00
Brooooooklyn
41d35fdafd ci: skip generating changelog if prev commit is not found (#8045) 2024-09-02 10:08:16 +00:00
JimmFly
a992376053 chore: modify the text content of share menu (#8026)
![CleanShot 2024-08-30 at 12 18 27@2x](https://github.com/user-attachments/assets/f43a6d31-1bdb-491c-95f6-4609973b84a6)
![CleanShot 2024-08-30 at 12 18 40@2x](https://github.com/user-attachments/assets/387d4523-d5fb-41d4-8b46-c278432db05e)
2024-09-02 09:56:17 +00:00
darkskygit
d93d39e29d feat: add editor record (#7938)
fix CLOUD-58, CLOUD-61, CLOUD-62, PD-1607, PD-1608
2024-09-02 09:37:39 +00:00
forehalo
d9cedf89e1 fix(electron): app updater (#8043) 2024-09-02 07:53:17 +00:00
JimmFly
a802dc4fd6 chore: adjust experimental features text (#8044)
close AF-1313 AF-1312 AF-1311 AF-1310
2024-09-02 07:40:55 +00:00
pengx17
4caf32629a fix(core): slider thumb offset (#8041)
fix AF-1307
2024-09-02 07:19:16 +00:00
pengx17
697f2c6520 fix(core): remove modal default overlay onclick (#8035)
fix AF-1300

overlay click is already handled in `handlePointerDownOutSide`. adding onclick to overlay will cause issues on closing nested menus.
2024-09-02 02:59:18 +00:00
pengx17
df34e2cdf7 fix(mobile): close menu when detail page navigate away (#8027) 2024-08-31 04:42:32 +00:00
renovate
592997b65b chore: bump up oxlint version to v0.9.1 (#7974)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.8.0` -> `0.9.1`](https://renovatebot.com/diffs/npm/oxlint/0.8.0/0.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.8.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.8.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.9.1`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.9.1): oxlint v0.9.1

[Compare Source](https://togithub.com/oxc-project/oxc/compare/oxlint_v0.9.0...oxlint_v0.9.1)

#### \[0.9.1] - 2024-08-29

##### Features

-   [`6633972`](https://togithub.com/oxc-project/oxc/commit/6633972) linter: Add fixer for `no-empty` ([#&#8203;5276](https://togithub.com/oxc-project/oxc/issues/5276)) (camc314)
-   [`a58e448`](https://togithub.com/oxc-project/oxc/commit/a58e448) linter/eslint: Add fixer to `no-var` ([#&#8203;5144](https://togithub.com/oxc-project/oxc/issues/5144)) (camc314)
-   [`a6e9769`](https://togithub.com/oxc-project/oxc/commit/a6e9769) linter/jsx-a11y: Add `label-has-associated-control` ([#&#8203;5163](https://togithub.com/oxc-project/oxc/issues/5163)) (Billy Levin)
-   [`c8e8532`](https://togithub.com/oxc-project/oxc/commit/c8e8532) linter/unicorn: Add fixer to `throw-new-error` ([#&#8203;5275](https://togithub.com/oxc-project/oxc/issues/5275)) (camc314)
-   [`7ccde4b`](https://togithub.com/oxc-project/oxc/commit/7ccde4b) linter/unicorn: Add fixer to `prefer-date-now` ([#&#8203;5147](https://togithub.com/oxc-project/oxc/issues/5147)) (camc314)

##### Bug Fixes

-   [`fdef8ae`](https://togithub.com/oxc-project/oxc/commit/fdef8ae) linter: Jest/vitest rule compat ([#&#8203;4797](https://togithub.com/oxc-project/oxc/issues/4797)) (cinchen)
-   [`76e86f8`](https://togithub.com/oxc-project/oxc/commit/76e86f8) linter: Eslint-plugin-unicorn prefer-spread wrong linter suggestion on variables of type string ([#&#8203;5265](https://togithub.com/oxc-project/oxc/issues/5265)) (Arian94)
-   [`b39544e`](https://togithub.com/oxc-project/oxc/commit/b39544e) linter/jest: Fixer for `prefer-jest-mocked` creates invalid LHS expressions ([#&#8203;5243](https://togithub.com/oxc-project/oxc/issues/5243)) (camc314)
-   [`9953fa5`](https://togithub.com/oxc-project/oxc/commit/9953fa5) linter/no-null: Incorrect fixer for `NullLiteral` within `ReturnStatement` ([#&#8203;5247](https://togithub.com/oxc-project/oxc/issues/5247)) (Dunqing)
-   [`318479e`](https://togithub.com/oxc-project/oxc/commit/318479e) linter/no-unused-vars: Mark the class/function in the new expression as used ([#&#8203;5306](https://togithub.com/oxc-project/oxc/issues/5306)) (magic-akari)

##### Refactor

-   [`fa1d460`](https://togithub.com/oxc-project/oxc/commit/fa1d460) linter: Clean up Fixer and Message ([#&#8203;5308](https://togithub.com/oxc-project/oxc/issues/5308)) (DonIsaac)

### [`v0.9.0`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.9.0): oxlint v0.9.0

[Compare Source](https://togithub.com/oxc-project/oxc/compare/oxlint_v0.8.0...oxlint_v0.9.0)

#### \[0.9.0] - 2024-08-26

This release introduces `no-unused-vars` as a `correctness` rule and parsing regular expressions for syntax errors, both may produce false positives. Feel free to submit an issue.

-   [`5946748`](https://togithub.com/oxc-project/oxc/commit/5946748) linter: \[**BREAKING**] Parse and display syntax errors for regular expressions ([#&#8203;5214](https://togithub.com/oxc-project/oxc/issues/5214)) (Boshen)

![image](https://togithub.com/user-attachments/assets/7d68ccde-9e04-4ea8-8d0a-edf20e028259)

-   [`b894d3b`](https://togithub.com/oxc-project/oxc/commit/b894d3b) linter: \[**BREAKING**] Make `no-unused-vars` correctness ([#&#8203;5081](https://togithub.com/oxc-project/oxc/issues/5081)) (DonIsaac)

##### Features

-   [`1ce9630`](https://togithub.com/oxc-project/oxc/commit/1ce9630) linter/config: Implement FromIterator for LintPluginOptions ([#&#8203;5102](https://togithub.com/oxc-project/oxc/issues/5102)) (DonIsaac)
-   [`34bfaf6`](https://togithub.com/oxc-project/oxc/commit/34bfaf6) linter/react: Add fixer to `jsx-props-no-spread-multi` ([#&#8203;5145](https://togithub.com/oxc-project/oxc/issues/5145)) (camc314)
-   [`982bd6e`](https://togithub.com/oxc-project/oxc/commit/982bd6e) linter/unicorn: Add fixer to `require-array-join-separator` ([#&#8203;5152](https://togithub.com/oxc-project/oxc/issues/5152)) (camc314)
-   [`a6704bd`](https://togithub.com/oxc-project/oxc/commit/a6704bd) linter/unicorn: Add fixer to `prefer-set-size` ([#&#8203;5149](https://togithub.com/oxc-project/oxc/issues/5149)) (camc314)
-   [`ac7edcc`](https://togithub.com/oxc-project/oxc/commit/ac7edcc) linter/unicorn: Add fixer to `prefer-array-some` ([#&#8203;5153](https://togithub.com/oxc-project/oxc/issues/5153)) (camc314)
-   [`1d01aa3`](https://togithub.com/oxc-project/oxc/commit/1d01aa3) linter/unicorn: Add partial fixer for `prefer-array-flat` ([#&#8203;5143](https://togithub.com/oxc-project/oxc/issues/5143)) (camc314)
-   [`22d57f9`](https://togithub.com/oxc-project/oxc/commit/22d57f9) linter/unicorn: Add fixer to `prefer-string-slice` ([#&#8203;5150](https://togithub.com/oxc-project/oxc/issues/5150)) (Cameron)
-   [`2fe4415`](https://togithub.com/oxc-project/oxc/commit/2fe4415) linter/unicorn: Add fixer to `no-redundant-roles` ([#&#8203;5146](https://togithub.com/oxc-project/oxc/issues/5146)) (Cameron)
-   [`d35c6f5`](https://togithub.com/oxc-project/oxc/commit/d35c6f5) linter/unicorn: Add fixer to `prefer-regexp-test` ([#&#8203;5151](https://togithub.com/oxc-project/oxc/issues/5151)) (Cameron)
-   [`27db769`](https://togithub.com/oxc-project/oxc/commit/27db769) linter/unicorn: Add fixer to `text-encoding-identifier-case` ([#&#8203;5154](https://togithub.com/oxc-project/oxc/issues/5154)) (Cameron)
-   [`f7958c4`](https://togithub.com/oxc-project/oxc/commit/f7958c4) linter/unicorn: Add prefer-structured-clone ([#&#8203;5095](https://togithub.com/oxc-project/oxc/issues/5095)) (Jelle van der Waa)
-   [`004ffa0`](https://togithub.com/oxc-project/oxc/commit/004ffa0) linter/vitest: Implement `prefer-each` ([#&#8203;5203](https://togithub.com/oxc-project/oxc/issues/5203)) (dalaoshu)

##### Bug Fixes

-   [`aaaf26c`](https://togithub.com/oxc-project/oxc/commit/aaaf26c) linter: Error in fixer for prefer-to-have-length ([#&#8203;5197](https://togithub.com/oxc-project/oxc/issues/5197)) (dalaoshu)
-   [`1f5b6b6`](https://togithub.com/oxc-project/oxc/commit/1f5b6b6) linter: Bug in fixer for prefer-to-have-length ([#&#8203;5164](https://togithub.com/oxc-project/oxc/issues/5164)) (dalaoshu)
-   [`7eb052e`](https://togithub.com/oxc-project/oxc/commit/7eb052e) linter: `no-hex-escape` fixer removing regex flags ([#&#8203;5137](https://togithub.com/oxc-project/oxc/issues/5137)) (Cameron)
-   [`76c66b4`](https://togithub.com/oxc-project/oxc/commit/76c66b4) linter/max-lines: Point span to end of file for disable directive to work ([#&#8203;5117](https://togithub.com/oxc-project/oxc/issues/5117)) (Boshen)
-   [`8ff6f2c`](https://togithub.com/oxc-project/oxc/commit/8ff6f2c) linter/no-unused-vars: Panic on UsingDeclarations ([#&#8203;5206](https://togithub.com/oxc-project/oxc/issues/5206)) (DonIsaac)
-   [`d29042e`](https://togithub.com/oxc-project/oxc/commit/d29042e) linter/no-unused-vars: Function expression in implicit arrow function return ([#&#8203;5155](https://togithub.com/oxc-project/oxc/issues/5155)) (DonIsaac)
-   [`36e4a28`](https://togithub.com/oxc-project/oxc/commit/36e4a28) linter/no-unused-vars: Panic in variable declarator usage checks ([#&#8203;5160](https://togithub.com/oxc-project/oxc/issues/5160)) (DonIsaac)
-   [`ba62a71`](https://togithub.com/oxc-project/oxc/commit/ba62a71) linter/react: Fixed false positive with missing key inside React.Children.toArray() for fragments  ([#&#8203;5133](https://togithub.com/oxc-project/oxc/issues/5133)) (Earl Chase)
-   [`fd1031a`](https://togithub.com/oxc-project/oxc/commit/fd1031a) linter/unicorn: Breaking fixer in case statements for `no-null` ([#&#8203;5176](https://togithub.com/oxc-project/oxc/issues/5176)) (DonIsaac)
-   [`7b86ed6`](https://togithub.com/oxc-project/oxc/commit/7b86ed6) linter/unicorn: Handle type casts and parens in `no-null` ([#&#8203;5175](https://togithub.com/oxc-project/oxc/issues/5175)) (Don Isaac)
-   [`b629e16`](https://togithub.com/oxc-project/oxc/commit/b629e16) linter/unicorn: Improve diagnostic message for `no-null` ([#&#8203;5172](https://togithub.com/oxc-project/oxc/issues/5172)) (DonIsaac)

##### Performance

-   [`ce454cf`](https://togithub.com/oxc-project/oxc/commit/ce454cf) Use simdutf8 to validate UTF-8 when reading files  ([#&#8203;5196](https://togithub.com/oxc-project/oxc/issues/5196)) (dalaoshu)

##### Refactor

-   [`543cad6`](https://togithub.com/oxc-project/oxc/commit/543cad6) codegen: Remove some pub APIs (Boshen)
-   [`0d3661a`](https://togithub.com/oxc-project/oxc/commit/0d3661a) linter: Remove meaningless `span0` ([#&#8203;5209](https://togithub.com/oxc-project/oxc/issues/5209)) (dalaoshu)
-   [`2a91ef1`](https://togithub.com/oxc-project/oxc/commit/2a91ef1) linter: `eslint/no_redeclare` rule use `run_on_symbol` not `run_once` ([#&#8203;5201](https://togithub.com/oxc-project/oxc/issues/5201)) (overlookmotel)
-   [`33599b0`](https://togithub.com/oxc-project/oxc/commit/33599b0) linter: Split options into multiple files ([#&#8203;5101](https://togithub.com/oxc-project/oxc/issues/5101)) (DonIsaac)
-   [`7ab6152`](https://togithub.com/oxc-project/oxc/commit/7ab6152) linter/unicorn: Clean up `no-null` ([#&#8203;5174](https://togithub.com/oxc-project/oxc/issues/5174)) (DonIsaac)

##### Testing

-   [`a877e5a`](https://togithub.com/oxc-project/oxc/commit/a877e5a) linter/no-unused-vars: Ensure type annotations on property accessors are considered used ([#&#8203;5183](https://togithub.com/oxc-project/oxc/issues/5183)) (DonIsaac)
-   [`7886618`](https://togithub.com/oxc-project/oxc/commit/7886618) linter/unicorn: Add fixer tests for `no-null` ([#&#8203;5173](https://togithub.com/oxc-project/oxc/issues/5173)) (DonIsaac)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-30 04:46:09 +00:00
renovate
69892655a1 chore: bump up valtio version to v2 (#8025)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [valtio](https://togithub.com/pmndrs/valtio) | [`^1.13.2` -> `^2.0.0`](https://renovatebot.com/diffs/npm/valtio/1.13.2/2.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/valtio/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/valtio/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/valtio/1.13.2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/valtio/1.13.2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pmndrs/valtio (valtio)</summary>

### [`v2.0.0`](https://togithub.com/pmndrs/valtio/releases/tag/v2.0.0)

[Compare Source](https://togithub.com/pmndrs/valtio/compare/v1.13.2...v2.0.0)

### 🎉🎉🎉 Valtio v2 is Here! 🍾🍾🍾

#### Small Breaking Changes

Most users won't even notice the differences, but we recommend checking out the [migration guide](https://togithub.com/pmndrs/valtio/blob/main/docs/guides/migrating-to-v2.mdx) to ensure a smooth transition.

#### New Emoji

💊 -> 🧙

Say hello to our new emoji! This change symbolizes the magic of Valtio.

#### Let’s Grow the Ecosystem Together!

We are entering a new era of Valtio development, and we need your help to grow the ecosystem. Whether you are an experienced contributor or just getting started, now is the perfect time to join us!

#### What's Changed

-   v2 by [@&#8203;dai-shi](https://togithub.com/dai-shi) in [https://github.com/pmndrs/valtio/pull/810](https://togithub.com/pmndrs/valtio/pull/810)
-   feat(core): expose internal states and functions by [@&#8203;dai-shi](https://togithub.com/dai-shi) in [https://github.com/pmndrs/valtio/pull/931](https://togithub.com/pmndrs/valtio/pull/931)
-   breaking(vanilla): do not handle promises by [@&#8203;dai-shi](https://togithub.com/dai-shi) in [https://github.com/pmndrs/valtio/pull/934](https://togithub.com/pmndrs/valtio/pull/934)

#### New Contributors

-   [@&#8203;AmirSa12](https://togithub.com/AmirSa12) made their first contribution in [https://github.com/pmndrs/valtio/pull/898](https://togithub.com/pmndrs/valtio/pull/898)
-   [@&#8203;TotallyBiased](https://togithub.com/TotallyBiased) made their first contribution in [https://github.com/pmndrs/valtio/pull/901](https://togithub.com/pmndrs/valtio/pull/901)
-   [@&#8203;L-Qun](https://togithub.com/L-Qun) made their first contribution in [https://github.com/pmndrs/valtio/pull/908](https://togithub.com/pmndrs/valtio/pull/908)
-   [@&#8203;himself65](https://togithub.com/himself65) made their first contribution in [https://github.com/pmndrs/valtio/pull/920](https://togithub.com/pmndrs/valtio/pull/920)
-   [@&#8203;kciter](https://togithub.com/kciter) made their first contribution in [https://github.com/pmndrs/valtio/pull/922](https://togithub.com/pmndrs/valtio/pull/922)

**Full Changelog**: https://github.com/pmndrs/valtio/compare/v1.13.2...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-30 04:34:04 +00:00
JimmFly
f99988afa6 feat(core): bump blocksuite/icons (#8024) 2024-08-30 03:42:52 +00:00
pengx17
4ff6fbd052 fix(core): hairline boarders for divider (#8021) 2024-08-30 02:31:28 +00:00
pengx17
f544e69d02 fix(mobile): modal styles on mobile (#8023)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">20240829-1420-07.7370936.mp4</video>
2024-08-29 16:45:23 +00:00
pengx17
adf314d594 fix(mobile): adjust peek view style for mobile (#8003)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/c3a04128-0309-4df6-ab6d-0a5129483c73.png)
2024-08-29 16:45:22 +00:00
pengx17
7ae141bd9e feat(mobile): add mobile detail page (#7993)
fix AF-1241
2024-08-29 16:45:22 +00:00
pengx17
f8e6f1f2b5 chore: add mobile scope (#8020) 2024-08-29 16:45:21 +00:00
CatsJuice
f1bb1fc9b8 feat(mobile): search page ui (#8012)
feat(mobile): search page ui

fix(core): quick search tags performance issue
2024-08-29 09:05:23 +00:00
JimmFly
5e8683c9be feat(core): add outgoing links to doc info (#7955)
close AF-1270

![CleanShot 2024-08-23 at 13 22 38@2x](https://github.com/user-attachments/assets/7eb21db5-ab33-41ad-a51a-fd2cf46a0e30)
2024-08-29 06:41:41 +00:00
CatsJuice
3ce92f2abc feat(mobile): all docs page ui impl (#7976) 2024-08-29 06:09:48 +00:00
CatsJuice
db76780bc9 feat(mobile): mobile index page UI (#7959) 2024-08-29 06:09:47 +00:00
CatsJuice
f37051dc87 feat(core): mobile renderer for explorer (#7942) 2024-08-29 06:09:45 +00:00
EYHN
b96ad57568 feat(core): import template (#8000) 2024-08-29 04:01:35 +00:00
JimmFly
4ec45a247e feat(core): add sign in button to shared doc (#7952)
![CleanShot 2024-08-23 at 12 05 12@2x](https://github.com/user-attachments/assets/2c146707-9551-4044-b289-0904653f30f2)
2024-08-29 02:44:06 +00:00
darkskygit
dde45748d9 feat: filter out empty workpace in sidebar list (#7960)
fix PD-1567
2024-08-28 08:43:44 +00:00
L-Sun
06685683ae fix(core): add mobile edit button (#7996) 2024-08-28 06:38:45 +00:00
JimmFly
65a87196d5 feat(core): impl the Doc Info and Bi-Directional Links display settings (#7991)
https://github.com/user-attachments/assets/a469254c-a2ea-4cf4-837e-f9a8bbe5b378
2024-08-28 02:35:29 +00:00
JimmFly
09ab922572 feat(core): add new doc default mode setting (#7990)
https://github.com/user-attachments/assets/523b14f3-ee42-4061-8ca2-221e071d5cc9
2024-08-28 02:35:28 +00:00
JimmFly
c53adbc7e8 chore: adjust font menu and slider style (#7989)
![CleanShot 2024-08-27 at 15 52 09@2x](https://github.com/user-attachments/assets/69c8a340-0d59-4d8d-846e-73dc81f2800a)
![CleanShot 2024-08-27 at 15 52 39@2x](https://github.com/user-attachments/assets/2177f267-bdc1-459b-b043-868642b08d9a)
2024-08-28 02:35:26 +00:00
JimmFly
03b2cda845 refactor(core): move fontFamily and fullWidthLayout to editor settings (#7988) 2024-08-28 02:35:24 +00:00
EYHN
3e810eb043 fix(core): no share page in desktop (#7983) 2024-08-27 12:37:30 +00:00
JimmFly
b8f07ce3fc chore(core): disable expand database block (#7984)
close AF-1271
2024-08-27 12:24:48 +00:00
darkskygit
10a066a52a fix(native): return type casts (#7986) 2024-08-27 05:53:05 +00:00
DarkSky
6557b5d4b6 fix: native binding (#7985) 2024-08-27 12:31:25 +08:00
Brooooooklyn
67c9c7bcc5 ci: send slack message to channel after deploy (#7889) 2024-08-27 03:01:55 +00:00
renovate
e44a9483c2 chore: bump up @marsidev/react-turnstile version to v1 (#7940)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`^0.7.0` -> `^1.0.0`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.7.2/1.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.7.2/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.7.2/1.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>marsidev/react-turnstile (@&#8203;marsidev/react-turnstile)</summary>

### [`v1.0.0`](https://togithub.com/marsidev/react-turnstile/releases/tag/v1.0.0)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.7.2...v1.0.0)

##### 🚨 Breaking Changes

-   Now we ship ESM-only code, this will decrease the bundle size significantly.
    If you are a CommonJS user, I suggest you to keep using the version `0.7.2` or upgrade your project to ESM.

-   Removed "auto" widget size due to is not even a valid size for Cloudflare Turnstile.
    We have been sending `undefined` when the size was "auto", so if you were using this size, then you can simply remove it.

-   Peer dependencies for `react` and `react-dom` have been updated to 17.x and above.

##### 🚀 Features

-   Added callback `onTimeout`
-   Added render options `refreshTimeout` and `feedbackEnabled` (Closes [#&#8203;82](https://togithub.com/marsidev/react-turnstile/issues/82))
-   Added new "flexible" widget size (Closes [#&#8203;82](https://togithub.com/marsidev/react-turnstile/issues/82))

##### 🐛 Fixes

-   Updated "compact" widget size to 150x140 (Closes [#&#8203;85](https://togithub.com/marsidev/react-turnstile/issues/85))

##### 🛠 Misc

##### Build

-   We migrated from [unbuild](https://togithub.com/unjs/unbuild) to [tsup](https://togithub.com/egoist/tsup)
-   The generated build is now minified, this will decrease the bundle size significantly.

##### TypeScript

-   Improved type definitions. Now we expose these types: `AppearanceMode`, `ExecutionMode`, `FailureRetryMode`, `RefreshExpiredMode`, `RefreshTimeoutMode`, `WidgetSize`. Inspired by [@&#8203;types/cloudflare-turnstile](https://www.npmjs.com/package/@&#8203;types/cloudflare-turnstile)

##### Other

-   Updated dependencies
-   Updated docs
-   Added issue templates and policies

#####     [View changes on GitHub](https://togithub.com/marsidev/react-turnstile/compare/v0.7.2...v1.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-27 02:50:53 +00:00
renovate
ecf50a4dad chore: bump up happy-dom version to v15 (#7941)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`^14.7.1` -> `^15.0.0`](https://renovatebot.com/diffs/npm/happy-dom/14.12.3/15.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.12.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.12.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v15.0.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v15.0.0)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.12.3...v15.0.0)

##### 💣 Breaking Changes

-   Implements remaining HTML elements - By **[@&#8203;betterqualityassuranceuser](https://togithub.com/betterqualityassuranceuser)** in task [#&#8203;1332](https://togithub.com/capricorn86/happy-dom/issues/1332)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-27 02:40:19 +00:00
forehalo
0209e3fa76 fix(core): avoid expand runtime config everywhere used (#7972) 2024-08-26 12:22:52 +00:00
EYHN
9ea4aaaf37 refactor(infra): remove setimmediate (#7975) 2024-08-26 11:57:24 +00:00
pengx17
611925fa10 fix(electron): adjust app-tabs-header styles (#7961)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/6dc54c24-e90f-4c3f-a743-ce7f4512e616.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3cbfe8f8-d4b8-4167-b557-89184bdcce9c.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/28ba3ad1-22a7-487a-a9a4-d53a658457f9.png)

also fix PD-1631
2024-08-26 09:34:27 +00:00
EYHN
bc86f0a672 feat(core): editor setting service (#7956)
define editor setting schema in `packages/frontend/core/src/modules/editor-settting/schema.ts`

e.g.

```ts
const BSEditorSettingSchema = z.object({
  connector: z.object({
    stroke: z
      .union([
        z.string(),
        z.object({
          dark: z.string(),
          light: z.string(),
        }),
      ])
      .default('#000000'), // default is necessary
  }),
});
```

schema can be defined in a nested way. EditorSetting api is in flat way:

editorSetting api:

```ts
editorSetting.settings$ === {
  'connector.stroke': '#000000'
}
editorSetting.set('connector.stroke', '#000')
```

and use `expandFlattenObject` function can restore the flattened structure to a nested structure. nested structure is required by blocksuite

```ts
editorSetting.settings$.map(expandFlattenObject) === {
  connector: {
    stroke: '#000000'
  }
}
```
2024-08-26 08:19:24 +00:00
JimmFly
3c37006657 chore(core): add Display bi-directional links setting row ui (#7954)
close AF-1269

![CleanShot 2024-08-23 at 12 59 50@2x](https://github.com/user-attachments/assets/bcdc70c4-029e-4254-8367-a390a244e30b)
2024-08-26 06:25:32 +00:00
Don Isaac
dbcfd24ed8 fix: remove unused variables (#7968) 2024-08-26 14:23:56 +08:00
forehalo
14066965fa fix(server): wrong table used for userspace data (#7969) 2024-08-26 06:11:22 +00:00
renovate
01c9d1758e chore: bump up Rust crate sqlx to 0.8 [SECURITY] (#7965)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [sqlx](https://togithub.com/launchbadge/sqlx) | workspace.dependencies | minor | `0.7` -> `0.8` |

### GitHub Vulnerability Alerts

#### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440)

The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord:

> SQL Injection isn't Dead: Smuggling Queries at the Protocol Level
> <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf>
> (Archive link for posterity.)

Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow,
causing the server to interpret the rest of the string as binary protocol commands or other data.

It appears SQLx _does_ perform truncating casts in a way that could be problematic,
for example: <6f2905695b/sqlx-postgres/src/arguments.rs (L163)>

This code has existed essentially since the beginning,
so it is reasonable to assume that all published versions `<= 0.8.0` are affected.

## Mitigation

As always, you should make sure your application is validating untrustworthy user input.
Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB.
Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound.

[`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint)
can be used for sanity checks, but do not assume that the size returned is accurate.
For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size,
so they just return `size_of::<T>()` instead.

For web application backends, consider adding some middleware that limits the size of request bodies by default.

## Resolution

Work has started on a branch to add `#[deny]` directives for the following Clippy lints:

* [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation)
* [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap)
* [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss)

and to manually audit the code that they flag.

A fix is expected to be included in the `0.8.1` release (still WIP as of writing).

---

### Release Notes

<details>
<summary>launchbadge/sqlx (sqlx)</summary>

### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23)

[Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1)

16 pull requests were merged this release cycle.

This release contains a fix for [RUSTSEC-2024-0363].

Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated:
[#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901)

MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless.

##### Added

-   \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]]
    -   Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version.

##### Changed

-   \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   This is a helper module for the macros and was not meant to be exposed.
    -   It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API.
        Use at your own risk.
-   \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]]
    -   RusTLS now has pluggable cryptography providers: `ring` (the existing implementation),
        and `aws-lc-rs` which has optional FIPS certification.
    -   The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`)
        enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change.
    -   Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider.
        -   If using `runtime-tokio-rustls` or `runtime-async-std-rustls`,
            this will necessitate switching to the appropriate non-legacy runtime feature:
            `runtime-tokio` or `runtime-async-std`
    -   See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers>

##### Fixed

-   \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]]
-   \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]]
-   \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]]
-   \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]]
-   \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]]
-   \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]]
-   \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]]
-   \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite.

[#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786

[#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354

[#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371

[#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374

[#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376

[#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380

[#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381

[#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382

[#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384

[#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385

[#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386

[#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389

[#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399

[#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417

[#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421

[#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441

[RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html

### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22)

[Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0)

70 pull requests were merged this release cycle.

[#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation.

##### Breaking

-   \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]]
-   \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]]
-   \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]]
    -   Deprecated type ascription syntax in the query macros was removed.
-   \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]]
    -   Potentially breaking: nullability inference changes for Postgres.
-   \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]]
    -   Conflicts with existing manual implementations.
-   \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]]
    -   Changes lifetime obligations for field types.
-   \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]]
    -   Potentially breaking: nullability inference changes for SQLite.
-   \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]]
    -   Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now.
-   \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]]
-   \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]]
    -   Breaking changes to `MigrateError`.
-   \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]]
    -   (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning.
    -   Breaking change: added field to `Migration`
-   \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   integer decoding will now loudly error on overflow instead of silently truncating.
    -   some usages of the query!() macros might change an i32 to an i64.
-   \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur.
    -   Type equality for PgTypeInfo is now schema-aware.
-   \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior.
-   \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
    -   Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`.
    -   Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error.
        This doesn't seem like good behavior as it could result in some potentially very difficult bugs.
        -   Instead, create a wrapper implementing `From` and apply the default explicitly.
-   \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]]
    -   Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins).
-   \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]]
    -   Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects.

##### Added

-   \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]]
-   \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]]
-   \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]]
-   \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]]
-   \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]]
-   \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]]
-   \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]]
-   \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]]
-   \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]]
-   \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]]

##### Changed

-   \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]]
-   \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]]
-   \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]]
    -   Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees.
-   \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]]
-   \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]]

##### Fixed

-   \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]]
-   \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]]
-   \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]]
-   \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]]
-   \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]]
-   \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]]
-   \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]]
-   \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]]
-   \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]]
-   \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]]
-   \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]]
-   \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]]
-   \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]]
-   \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]]
-   \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]]
-   \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]]
-   \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]]
-   \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]]
-   \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]]
-   \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]]
-   \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]]
-   \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]]
-   \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]]
-   \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]]
-   \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]]
-   \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]]
-   \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]]
-   \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]]
-   \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]]
-   \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]]
-   \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]]
-   (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`.

[#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482

[#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652

[#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697

[#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702

[#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736

[#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869

[#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917

[#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940

[#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954

[#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960

[#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970

[#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973

[#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064

[#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073

[#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113

[#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123

[#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126

[#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130

[#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137

[#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138

[#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146

[#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148

[#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154

[#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162

[#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165

[#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167

[#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172

[#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173

[#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181

[#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184

[#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188

[#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190

[#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191

[#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194

[#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216

[#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230

[#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233

[#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234

[#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236

[#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244

[#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252

[#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254

[#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260

[#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265

[#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266

[#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267

[#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271

[#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276

[#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279

[#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285

[#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288

[#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291

[#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293

[#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297

[#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298

[#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303

[#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311

[#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312

[#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327

[#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328

[#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329

[#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337

[#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340

[#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341

[#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343

[#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346

[#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350

[#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352

[#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353

[#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-24 12:47:32 +00:00
renovate
130dc2bd8b chore: bump up oxlint version to v0.8.0 (#7962)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.7.2` -> `0.8.0`](https://renovatebot.com/diffs/npm/oxlint/0.7.2/0.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.7.2/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.7.2/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.8.0`](https://togithub.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#080---2024-08-23)

[Compare Source](b3e189764f...8ef85a43c0)

##### Features

-   [`a0effab`](https://togithub.com/oxc-project/oxc/commit/a0effab) linter: Support more flexible config.globals values ([#&#8203;4990](https://togithub.com/oxc-project/oxc/issues/4990)) (Don Isaac)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-23 16:19:40 +00:00
renovate
442a843257 chore: bump up all non-major dependencies (#7953)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.635.0` -> `3.637.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.635.0` -> `3.637.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.635.0/3.637.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@keyv/redis](https://togithub.com/jaredwray/keyv) | [`3.0.0` -> `3.0.1`](https://renovatebot.com/diffs/npm/@keyv%2fredis/3.0.0/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@keyv%2fredis/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@keyv%2fredis/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@keyv%2fredis/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@keyv%2fredis/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@napi-rs/simple-git](https://togithub.com/Brooooooklyn/simple-git) | [`0.1.17` -> `0.1.18`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/simple-git](https://togithub.com/Brooooooklyn/simple-git) | [`0.1.17` -> `0.1.18`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.17/0.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.6.1` -> `19.6.2`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.6.1/19.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.6.1/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.6.1/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@opentelemetry/semantic-conventions](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.1` -> `1.26.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.25.1/1.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsemantic-conventions/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsemantic-conventions/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsemantic-conventions/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsemantic-conventions/1.25.1/1.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [foxact](https://foxact.skk.moe) ([source](https://togithub.com/SukkaW/foxact)) | [`0.2.36` -> `0.2.37`](https://renovatebot.com/diffs/npm/foxact/0.2.36/0.2.37) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.36/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.36/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.429.0` -> `^0.435.0`](https://renovatebot.com/diffs/npm/lucide-react/0.429.0/0.435.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.435.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.435.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.429.0/0.435.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.429.0/0.435.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.16.0` -> `20.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.16.0/v20.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.16.0/v20.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.6.1` -> `19.6.2`](https://renovatebot.com/diffs/npm/nx/19.6.1/19.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.6.1/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.6.1/19.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-resizable-panels](https://togithub.com/bvaughn/react-resizable-panels) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-transition-state](https://szhsin.github.io/react-transition-state/) ([source](https://togithub.com/szhsin/react-transition-state)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/react-transition-state/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-transition-state/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-transition-state/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-transition-state/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-transition-state/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [webpack](https://togithub.com/webpack/webpack) | [`5.93.0` -> `5.94.0`](https://renovatebot.com/diffs/npm/webpack/5.93.0/5.94.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.94.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.94.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.93.0/5.94.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.93.0/5.94.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.72.1` -> `3.72.2`](https://renovatebot.com/diffs/npm/wrangler/3.72.1/3.72.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.72.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.72.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.72.1/3.72.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.72.1/3.72.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.637.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36370-2024-08-22)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.635.0...v3.637.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>Brooooooklyn/simple-git (@&#8203;napi-rs/simple-git)</summary>

### [`v0.1.18`](https://togithub.com/Brooooooklyn/simple-git/releases/tag/v0.1.18)

[Compare Source](https://togithub.com/Brooooooklyn/simple-git/compare/v0.1.17...v0.1.18)

##### Core features:

##### Blob API

```js
import { Repository } from "@&#8203;napi-rs/simple-git";

const repo = new Repository(".");

const blob = repo.head().peelToTree()
    .getPath("__test__/repo.spec.mjs")
    .toObject(repo)
    .peelToBlob();

const fileContent = Buffer.from(blob.content()).toString("utf8");
```

##### What's Changed

-   chore(deps): update yarn to v4.4.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/58](https://togithub.com/Brooooooklyn/simple-git/pull/58)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/57](https://togithub.com/Brooooooklyn/simple-git/pull/57)
-   feat: implment blob and related features by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/59](https://togithub.com/Brooooooklyn/simple-git/pull/59)

**Full Changelog**: https://github.com/Brooooooklyn/simple-git/compare/v0.1.17...v0.1.18

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.6.2`](https://togithub.com/nrwl/nx/releases/tag/19.6.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.6.1...19.6.2)

##### 19.6.2 (2024-08-21)

##### 🚀 Features

-   **bundling:** add option to generate sourcemaps for Rollup build ([#&#8203;27539](https://togithub.com/nrwl/nx/pull/27539))
-   **devkit:** prefer strings over Linter enum ([#&#8203;27209](https://togithub.com/nrwl/nx/pull/27209))
-   **graph:** add expandedTargets to project details on nx dev ([#&#8203;26911](https://togithub.com/nrwl/nx/pull/26911))
-   **js:** add skipPackageManager option to build executors in order to skip generating "packageManager" entry in package.json ([#&#8203;27518](https://togithub.com/nrwl/nx/pull/27518))
-   **nx-dev:** honor prefers-reduced-motion ([#&#8203;27541](https://togithub.com/nrwl/nx/pull/27541))

##### 🩹 Fixes

-   missing export for setRemoteDefinition ([#&#8203;27491](https://togithub.com/nrwl/nx/pull/27491))
-   **core:** fix importing files with special characters ([#&#8203;27484](https://togithub.com/nrwl/nx/pull/27484))
-   **core:** use withVerbose util ([#&#8203;27553](https://togithub.com/nrwl/nx/pull/27553))
-   **core:** support import detection of packages installed from git remote URL ([#&#8203;27569](https://togithub.com/nrwl/nx/pull/27569))
-   **esbuild:** declaration:true should find the correct package root regardless of cwd [#&#8203;26261](https://togithub.com/nrwl/nx/issues/26261) ([#&#8203;27560](https://togithub.com/nrwl/nx/pull/27560), [#&#8203;26261](https://togithub.com/nrwl/nx/issues/26261))
-   **gradle:** track childProjects in properties report ([#&#8203;27488](https://togithub.com/nrwl/nx/pull/27488))
-   **gradle:** fix tasksFileLines might be undefined ([#&#8203;27548](https://togithub.com/nrwl/nx/pull/27548))
-   **js:** only sync references when composite is true, preserve comments in other parts of file ([#&#8203;27530](https://togithub.com/nrwl/nx/pull/27530))
-   **js:** ensure assets option in tsc executor defaults to empty array for programmatic usage ([#&#8203;27565](https://togithub.com/nrwl/nx/pull/27565))
-   **module-federation:** ensure shared packages can be shared from host [#&#8203;27162](https://togithub.com/nrwl/nx/issues/27162) ([#&#8203;27513](https://togithub.com/nrwl/nx/pull/27513), [#&#8203;27162](https://togithub.com/nrwl/nx/issues/27162))
-   **nextjs:** should not fail when running outside of nx cli ([#&#8203;27523](https://togithub.com/nrwl/nx/pull/27523))
-   **nextjs:** Should be able to run custom server targets with swc ([#&#8203;27526](https://togithub.com/nrwl/nx/pull/27526))
-   **nextjs:** schema type for unitTestRunner for library ([#&#8203;26824](https://togithub.com/nrwl/nx/pull/26824))
-   **node:** generate webpack server apps with generatePackageJson:true by default ([#&#8203;27570](https://togithub.com/nrwl/nx/pull/27570))
-   **nx-dev:** modify prompt ([#&#8203;27536](https://togithub.com/nrwl/nx/pull/27536))
-   **nx-plugin:** allow create-package without e2eProject ([#&#8203;27572](https://togithub.com/nrwl/nx/pull/27572))
-   **react:** handle more scenarios when collecting component props for generating stories ([#&#8203;27528](https://togithub.com/nrwl/nx/pull/27528))
-   **storybook:** should generate correct config for nextjs apps [#&#8203;27233](https://togithub.com/nrwl/nx/issues/27233) ([#&#8203;27510](https://togithub.com/nrwl/nx/pull/27510), [#&#8203;27233](https://togithub.com/nrwl/nx/issues/27233))
-   **testing:** fix issues in static server target migrations ([#&#8203;27547](https://togithub.com/nrwl/nx/pull/27547))
-   **vite:** plugin should infer serve target if server config defined [#&#8203;27370](https://togithub.com/nrwl/nx/issues/27370) ([#&#8203;27507](https://togithub.com/nrwl/nx/pull/27507), [#&#8203;27370](https://togithub.com/nrwl/nx/issues/27370))
-   **vite:** load the correct config file from [@&#8203;nx/vite](https://togithub.com/nx/vite):test executor ([#&#8203;27514](https://togithub.com/nrwl/nx/pull/27514))
-   **vite:** add typecheck inferred target for vite plugin [#&#8203;27501](https://togithub.com/nrwl/nx/issues/27501) ([#&#8203;27531](https://togithub.com/nrwl/nx/pull/27531), [#&#8203;27501](https://togithub.com/nrwl/nx/issues/27501))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Feliche-Demian Netliukh
-   Guilherme Prezzi [@&#8203;menosprezzi](https://togithub.com/menosprezzi)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/semantic-conventions)</summary>

### [`v1.26.0`](https://togithub.com/open-telemetry/opentelemetry-js/compare/v1.25.1...3cf1c5215f2656ccb82e6a73cd9e6f2782f8d1cc)

[Compare Source](https://togithub.com/open-telemetry/opentelemetry-js/compare/v1.25.1...3cf1c5215f2656ccb82e6a73cd9e6f2782f8d1cc)

</details>

<details>
<summary>SukkaW/foxact (foxact)</summary>

### [`v0.2.37`](https://togithub.com/SukkaW/foxact/blob/HEAD/CHANGELOG.md#0237)

[Compare Source](https://togithub.com/SukkaW/foxact/compare/0.2.36...0.2.37)

**Core Changes**

-   `foxact/rem` now also exports converter factory function
-   `foxact/rem` now supports customize html font size

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.435.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.435.0): New icons 0.435.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.434.0...0.435.0)

#### Modified Icons 🔨

-   `milestone` ([#&#8203;2281](https://togithub.com/lucide-icons/lucide/issues/2281)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `signpost` ([#&#8203;2281](https://togithub.com/lucide-icons/lucide/issues/2281)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.434.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.434.0): New icons 0.434.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.433.0...0.434.0)

#### New icons 🎨

-   `volume-off` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `file-volume` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `volume-1` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `volume-2` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `volume-x` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `volume` ([#&#8203;2378](https://togithub.com/lucide-icons/lucide/issues/2378)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.433.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.433.0): New icons 0.433.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.432.0...0.433.0)

#### New icons 🎨

-   `trending-up-down` ([#&#8203;2372](https://togithub.com/lucide-icons/lucide/issues/2372)) by [@&#8203;Alportan](https://togithub.com/Alportan)

#### Fixes Lucide Solid

-   Fixed compilation issues when starting up Vite Dev server by [@&#8203;ericfennis](https://togithub.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/2375](https://togithub.com/lucide-icons/lucide/pull/2375)

### [`v0.432.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.432.0): New icons 0.432.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.429.0...0.432.0)

#### New icons 🎨

-   `chart-gantt` ([#&#8203;2392](https://togithub.com/lucide-icons/lucide/issues/2392)) by [@&#8203;jguddas](https://togithub.com/jguddas)

#### Modified Icons 🔨

-   `contact-round` ([#&#8203;2391](https://togithub.com/lucide-icons/lucide/issues/2391)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `contact` ([#&#8203;2391](https://togithub.com/lucide-icons/lucide/issues/2391)) by [@&#8203;jguddas](https://togithub.com/jguddas)

</details>

<details>
<summary>nodejs/node (node)</summary>

### [`v20.17.0`](https://togithub.com/nodejs/node/compare/v20.16.0...v20.17.0)

[Compare Source](https://togithub.com/nodejs/node/compare/v20.16.0...v20.17.0)

</details>

<details>
<summary>bvaughn/react-resizable-panels (react-resizable-panels)</summary>

### [`v2.1.1`](https://togithub.com/bvaughn/react-resizable-panels/compare/2.1.0...2.1.1)

[Compare Source](https://togithub.com/bvaughn/react-resizable-panels/compare/2.1.0...2.1.1)

</details>

<details>
<summary>szhsin/react-transition-state (react-transition-state)</summary>

### [`v2.1.2`](https://togithub.com/szhsin/react-transition-state/releases/tag/v2.1.2)

[Compare Source](https://togithub.com/szhsin/react-transition-state/compare/v2.1.1...v2.1.2)

-   Add switch transition examples in README [#&#8203;639](https://togithub.com/szhsin/react-transition-state/issues/639)

</details>

<details>
<summary>webpack/webpack (webpack)</summary>

### [`v5.94.0`](https://togithub.com/webpack/webpack/compare/v5.93.0...eabf85d8580dfcb876b56957ba5488222a4f7873)

[Compare Source](https://togithub.com/webpack/webpack/compare/v5.93.0...v5.94.0)

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v3.72.2`](https://togithub.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3722)

[Compare Source](https://togithub.com/cloudflare/workers-sdk/compare/wrangler@3.72.1...wrangler@3.72.2)

##### Patch Changes

-   [#&#8203;6511](https://togithub.com/cloudflare/workers-sdk/pull/6511) [`e75c581`](e75c5812f5) Thanks [@&#8203;petebacondarwin](https://togithub.com/petebacondarwin)! - fix: allow Pages projects to use \`experimental:nodejs_compat_v2" flag

    Fixes [#&#8203;6288](https://togithub.com/cloudflare/workers-sdk/issues/6288)

-   Updated dependencies \[[`b0e2f0b`](b0e2f0bfc6), [`f5bde66`](f5bde66914)]:
    -   miniflare@3.20240821.0
    -   [@&#8203;cloudflare/workers-shared](https://togithub.com/cloudflare/workers-shared)[@&#8203;0](https://togithub.com/0).3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-23 14:42:36 +00:00
darkskygit
0b3c7d1407 feat: update throttler (#7957) 2024-08-23 13:52:47 +00:00
renovate[bot]
49c8a25fce chore: bump up @blocksuite/icons version to v2.1.64 (#7945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 12:22:06 +08:00
JimmFly
920afa7bf1 feat(core): adjust share menu ui (#7931)
https://github.com/user-attachments/assets/6538c046-3872-4c98-a389-81b86a2978a4
2024-08-23 02:07:51 +00:00
darkskygit
b57388fd85 feat: block slides insert before image load finished (#7948) 2024-08-22 17:46:06 +00:00
pengx17
5e555b3807 fix(electron): adjust app-tabs-header styles (#7947)
fix AF-1171
2024-08-22 13:10:27 +00:00
darkskygit
3b727ef40a chore: revert breaking change deps (#7949) 2024-08-22 12:08:07 +00:00
EYHN
4bc4a58a30 feat(infra): add convenience api to get workspace from doc (#7934) 2024-08-22 11:22:04 +00:00
pengx17
2f02f0da2b fix(electron): should not send switchSplitView event when clicking on the active view (#7944) 2024-08-22 05:26:29 +00:00
pengx17
592150638e feat(electron): switch to next/previous tab with Ctrl+Tab/Ctrl+Shift+Tab (#7943)
fix PD-1569
2024-08-22 04:46:25 +00:00
JimmFly
20174b9cbe feat(core): add custom font family setting (#7924)
close AF-1255

https://github.com/user-attachments/assets/d44359b6-b75c-4883-a57b-1f226586feec
2024-08-22 04:24:44 +00:00
JimmFly
b333cde336 feat(core): init editor setting ui (#7878)
- init editor setting ui

https://github.com/user-attachments/assets/c54f5816-ef05-4ac0-b11a-8ab7159f928c
2024-08-22 04:24:41 +00:00
JimmFly
03c4d56a91 feat(component): add slider ui component (#7879)
![CleanShot 2024-08-15 at 14 27 07@2x](https://github.com/user-attachments/assets/50299f44-6446-4ec8-a097-7d456ff67f46)
2024-08-22 04:24:37 +00:00
renovate
2e2a3af967 chore: bump up all non-major dependencies (#7925)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.633.0` -> `3.635.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.633.0` -> `3.635.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.633.0/3.635.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@chromatic-com/storybook](https://togithub.com/chromaui/addon-visual-tests) | [`1.6.1` -> `1.7.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/1.6.1/1.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/1.6.1/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/1.6.1/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@emotion/react](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.13.0` -> `11.13.3`](https://renovatebot.com/diffs/npm/@emotion%2freact/11.13.0/11.13.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2freact/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2freact/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2freact/11.13.0/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2freact/11.13.0/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@emotion/react](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.13.0` -> `11.13.3`](https://renovatebot.com/diffs/npm/@emotion%2freact/11.13.0/11.13.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2freact/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2freact/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2freact/11.13.0/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2freact/11.13.0/11.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.13.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.60` -> `3.0.0-alpha.62`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.3.3` -> `18.3.4`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.3/18.3.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.3/18.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.3/18.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/css](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css)) | [`1.15.4` -> `1.15.5`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fcss/1.15.4/1.15.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fcss/1.15.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fcss/1.15.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fcss/1.15.4/1.15.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fcss/1.15.4/1.15.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.14/4.0.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/webpack-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.12` -> `2.3.13`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.12/2.3.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.12/2.3.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.12/2.3.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [core-js](https://togithub.com/zloirock/core-js) ([source](https://togithub.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.38.0` -> `3.38.1`](https://renovatebot.com/diffs/npm/core-js/3.38.0/3.38.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.38.0/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.38.0/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [core-js](https://togithub.com/zloirock/core-js) ([source](https://togithub.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.38.0` -> `3.38.1`](https://renovatebot.com/diffs/npm/core-js/3.38.0/3.38.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.38.0/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.38.0/3.38.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [dayjs](https://day.js.org) ([source](https://togithub.com/iamkun/dayjs)) | [`1.11.12` -> `1.11.13`](https://renovatebot.com/diffs/npm/dayjs/1.11.12/1.11.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/dayjs/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dayjs/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dayjs/1.11.12/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dayjs/1.11.12/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`32.0.0` -> `32.0.1`](https://renovatebot.com/diffs/npm/electron/32.0.0/32.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/32.0.0/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/32.0.0/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`8.1.8` -> `8.2.0`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.1.8/8.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.1.8/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.1.8/8.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [husky](https://togithub.com/typicode/husky) | [`9.1.4` -> `9.1.5`](https://renovatebot.com/diffs/npm/husky/9.1.4/9.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.1.4/9.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.1.4/9.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`0.7.1` -> `0.7.2`](https://renovatebot.com/diffs/npm/jotai-scope/0.7.1/0.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.408.0` -> `^0.429.0`](https://renovatebot.com/diffs/npm/lucide-react/0.408.0/0.429.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.429.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.429.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.408.0/0.429.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.408.0/0.429.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.7` -> `3.0.0-alpha.8` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.6` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nestjs-throttler-storage-redis](https://togithub.com/kkoomen/nestjs-throttler-storage-redis) | [`^0.4.1` -> `^0.5.0`](https://renovatebot.com/diffs/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.1` -> `20.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| openresty/openresty | `1.25.3.1-0-buster` -> `1.25.3.2-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-refresh](https://reactjs.org/) ([source](https://togithub.com/facebook/react/tree/HEAD/packages/react)) | [`^0.10.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/react-refresh/0.10.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.204` -> `1.0.208` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.204/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.204/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [serde_json](https://togithub.com/serde-rs/json) | `1.0.120` -> `1.0.125` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.120/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.120/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook-dark-mode](https://togithub.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vite](https://vitejs.dev) ([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.1` -> `5.4.2`](https://renovatebot.com/diffs/npm/vite/5.4.1/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`4.0.2` -> `4.0.3`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.0.2/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.0.2/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.0.2/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.72.0` -> `3.72.1`](https://renovatebot.com/diffs/npm/wrangler/3.72.0/3.72.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.72.0/3.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.72.0/3.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.635.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36350-2024-08-20)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.633.0...v3.635.0)

##### Features

-   **client-s3:** Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs. ([b474584](b474584f2c))
-   **codegen:** add Smithy RPCv2 CBOR to list of protocols ([#&#8203;6096](https://togithub.com/aws/aws-sdk-js-v3/issues/6096)) ([5154d4f](5154d4f19b))

</details>

<details>
<summary>chromaui/addon-visual-tests (@&#8203;chromatic-com/storybook)</summary>

### [`v1.7.0`](https://togithub.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v170-Tue-Aug-20-2024)

[Compare Source](https://togithub.com/chromaui/addon-visual-tests/compare/v1.6.1...v1.7.0)

##### 🚀 Enhancement

-   Update story status reporting for Storybook 8.3 and use new `SET_FILTER` event [#&#8203;332](https://togithub.com/chromaui/addon-visual-tests/pull/332) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 1

-   Gert Hengeveld ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

***

</details>

<details>
<summary>emotion-js/emotion (@&#8203;emotion/react)</summary>

### [`v11.13.3`](https://togithub.com/emotion-js/emotion/compare/@emotion/react@11.13.0...3f468846855ed1c6092922a6317a6f5df0ba8dcc)

[Compare Source](https://togithub.com/emotion-js/emotion/compare/@emotion/react@11.13.0...@emotion/react@11.13.3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.14.2`](c3a3c3d21a...b3ab5f0e15)

[Compare Source](c3a3c3d21a...b3ab5f0e15)

### [`v0.14.1`](6edbf2948d...c3a3c3d21a)

[Compare Source](6edbf2948d...c3a3c3d21a)

### [`v0.14.0`](cf300e9cc0...6edbf2948d)

[Compare Source](cf300e9cc0...6edbf2948d)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.62`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

### [`v3.0.0-alpha.61`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.46.1`](https://togithub.com/microsoft/playwright/compare/v1.46.0...e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.46.0...v1.46.1)

### [`v1.46.0`](https://togithub.com/microsoft/playwright/compare/v1.45.3...99a36310570617222290c09b96a2026beb8b00f9)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.3...v1.46.0)

### [`v1.45.3`](https://togithub.com/microsoft/playwright/compare/v1.45.2...0e130fa8edaf85765c4a5a86bded0e6d33bfd7c2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.2...v1.45.3)

### [`v1.45.2`](https://togithub.com/microsoft/playwright/compare/v1.45.1...d8a5f3b33193e413b404ff4aa1f71e859d8f1b6b)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.1...v1.45.2)

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/css)</summary>

### [`v1.15.5`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/css/CHANGELOG.md#1155)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/css@1.15.4...@vanilla-extract/css@1.15.5)

##### Patch Changes

-   [#&#8203;1466](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1466) [`6432199fa0717f424fb3f45fbe36410b03b01c1c`](6432199fa0) Thanks [@&#8203;askoufis](https://togithub.com/askoufis)! - Speed up dev prefix generation for long file paths

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/vite-plugin)</summary>

### [`v4.0.15`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/vite-plugin/CHANGELOG.md#4015)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/vite-plugin@4.0.14...@vanilla-extract/vite-plugin@4.0.15)

##### Patch Changes

-   Updated dependencies \[[`96dd466127374b21ad7e48e5dd168a03a96af047`](96dd466127)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;7](https://togithub.com/7).1.9

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/webpack-plugin)</summary>

### [`v2.3.13`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/webpack-plugin/CHANGELOG.md#2313)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/webpack-plugin@2.3.12...@vanilla-extract/webpack-plugin@2.3.13)

##### Patch Changes

-   Updated dependencies \[[`96dd466127374b21ad7e48e5dd168a03a96af047`](96dd466127)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;7](https://togithub.com/7).1.9

</details>

<details>
<summary>zloirock/core-js (core-js)</summary>

### [`v3.38.1`](https://togithub.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820)

[Compare Source](https://togithub.com/zloirock/core-js/compare/v3.38.0...v3.38.1)

-   Changes [v3.38.0...v3.38.1](https://togithub.com/zloirock/core-js/compare/v3.38.0...v3.38.1)
-   Fixed some cases of `URLSearchParams` percent decoding, [#&#8203;1357](https://togithub.com/zloirock/core-js/issues/1357), [#&#8203;1361](https://togithub.com/zloirock/core-js/pull/1361), thanks [**@&#8203;slowcheetah**](https://togithub.com/slowcheetah)
-   Some stylistic changes and minor optimizations
-   Compat data improvements:
    -   [`Iterator` helpers proposal](https://togithub.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390)
    -   [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://togithub.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23
    -   [`RegExp.escape`](https://togithub.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22
    -   [`Promise.try`](https://togithub.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22
    -   [`Uint8Array` to / from base64 and hex proposal](https://togithub.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22
    -   Added Hermes 0.13 compat data, similar to React Native 0.75 Hermes
    -   Added Opera Android 84 compat data mapping

</details>

<details>
<summary>iamkun/dayjs (dayjs)</summary>

### [`v1.11.13`](https://togithub.com/iamkun/dayjs/compare/v1.11.12...93c8fd0f807b8a8252f4cd65083bb1d6a49b90e7)

[Compare Source](https://togithub.com/iamkun/dayjs/compare/v1.11.12...v1.11.13)

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v32.0.1`](https://togithub.com/electron/electron/compare/v32.0.0...v32.0.1)

[Compare Source](https://togithub.com/electron/electron/compare/v32.0.0...v32.0.1)

</details>

<details>
<summary>davidjerleke/embla-carousel (embla-carousel-react)</summary>

### [`v8.2.0`](https://togithub.com/davidjerleke/embla-carousel/compare/v8.1.8...6baf1555c6f68e88a7f785213ecf363f447a8b2f)

[Compare Source](https://togithub.com/davidjerleke/embla-carousel/compare/v8.1.8...v8.2.0)

</details>

<details>
<summary>typicode/husky (husky)</summary>

### [`v9.1.5`](https://togithub.com/typicode/husky/compare/v9.1.4...2fee8d212c601942ad146ea9209f15c20a07fb6d)

[Compare Source](https://togithub.com/typicode/husky/compare/v9.1.4...v9.1.5)

</details>

<details>
<summary>jotaijs/jotai-scope (jotai-scope)</summary>

### [`v0.7.2`](https://togithub.com/jotaijs/jotai-scope/compare/v0.7.1...v0.7.2)

[Compare Source](https://togithub.com/jotaijs/jotai-scope/compare/v0.7.1...v0.7.2)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.429.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.429.0): New icons 0.429.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.428.0...0.429.0)

#### Modified Icons 🔨

-   `message-square-dashed` ([#&#8203;2374](https://togithub.com/lucide-icons/lucide/issues/2374)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `stethoscope` ([#&#8203;2379](https://togithub.com/lucide-icons/lucide/issues/2379)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.428.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.428.0): New icons 0.428.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.427.0...0.428.0)

#### New icons 🎨

-   `tickets-plane` ([#&#8203;2196](https://togithub.com/lucide-icons/lucide/issues/2196)) by [@&#8203;jguddas](https://togithub.com/jguddas)

#### Modified Icons 🔨

-   `folder-search` ([#&#8203;2354](https://togithub.com/lucide-icons/lucide/issues/2354)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.427.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.427.0): New icons 0.427.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.426.0...0.427.0)

#### New icons 🎨

-   `binoculars` ([#&#8203;2207](https://togithub.com/lucide-icons/lucide/issues/2207)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `tickets` ([#&#8203;2335](https://togithub.com/lucide-icons/lucide/issues/2335)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.426.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.426.0): New icons 0.426.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.425.0...0.426.0)

#### New icons 🎨

-   `chevrons-left-right-ellipsis` ([#&#8203;2120](https://togithub.com/lucide-icons/lucide/issues/2120)) by [@&#8203;ericfennis](https://togithub.com/ericfennis)
-   `ethernet-port` ([#&#8203;2120](https://togithub.com/lucide-icons/lucide/issues/2120)) by [@&#8203;ericfennis](https://togithub.com/ericfennis)

#### Modified Icons 🔨

-   `cigarette-off` ([#&#8203;2282](https://togithub.com/lucide-icons/lucide/issues/2282)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cigarette` ([#&#8203;2282](https://togithub.com/lucide-icons/lucide/issues/2282)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.425.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.425.0): New icons 0.425.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.424.0...0.425.0)

#### New icons 🎨

-   `bandage` ([#&#8203;2341](https://togithub.com/lucide-icons/lucide/issues/2341)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `table-of-contents` ([#&#8203;2348](https://togithub.com/lucide-icons/lucide/issues/2348)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `mouse-pointer-2` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer-ban` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer-click` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-dashed-mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.424.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.424.0): New icons 0.424.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.423.0...0.424.0)

#### New icons 🎨

-   `map-pin-house` ([#&#8203;2337](https://togithub.com/lucide-icons/lucide/issues/2337)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `replace-all` ([#&#8203;2333](https://togithub.com/lucide-icons/lucide/issues/2333)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `replace` ([#&#8203;2333](https://togithub.com/lucide-icons/lucide/issues/2333)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.423.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.423.0): New icons 0.423.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.422.0...0.423.0)

#### New icons 🎨

-   `amphora` ([#&#8203;1926](https://togithub.com/lucide-icons/lucide/issues/1926)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.422.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.422.0): New icons 0.422.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.421.0...0.422.0)

#### Modified Icons 🔨

-   `skull` ([#&#8203;2197](https://togithub.com/lucide-icons/lucide/issues/2197)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.421.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.421.0): New icons 0.421.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.420.0...0.421.0)

#### New icons 🎨

-   `microchip` ([#&#8203;1982](https://togithub.com/lucide-icons/lucide/issues/1982)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `circle-check-big` ([#&#8203;2330](https://togithub.com/lucide-icons/lucide/issues/2330)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cloud-download` ([#&#8203;2355](https://togithub.com/lucide-icons/lucide/issues/2355)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `pentagon` ([#&#8203;1918](https://togithub.com/lucide-icons/lucide/issues/1918)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `square-check-big` ([#&#8203;2331](https://togithub.com/lucide-icons/lucide/issues/2331)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.420.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.420.0): New icons 0.420.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.419.0...0.420.0)

#### New icons 🎨

-   `omega` ([#&#8203;2347](https://togithub.com/lucide-icons/lucide/issues/2347)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `calendar-search` ([#&#8203;2351](https://togithub.com/lucide-icons/lucide/issues/2351)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cloud-upload` ([#&#8203;2352](https://togithub.com/lucide-icons/lucide/issues/2352)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.419.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.419.0): New icons 0.419.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.418.0...0.419.0)

#### New icons 🎨

-   `circle-fading-arrow-up` ([#&#8203;2287](https://togithub.com/lucide-icons/lucide/issues/2287)) by [@&#8203;mosch](https://togithub.com/mosch)

### [`v0.418.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.418.0): New icons 0.418.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.417.0...0.418.0)

#### New icons 🎨

-   `id-card` ([#&#8203;1296](https://togithub.com/lucide-icons/lucide/issues/1296)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.417.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.417.0): New icons 0.417.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.416.0...0.417.0)

#### Modified Icons 🔨

-   `chart-column-increasing` ([#&#8203;2334](https://togithub.com/lucide-icons/lucide/issues/2334)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.416.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.416.0): New icons 0.416.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.415.0...0.416.0)

#### New icons 🎨

-   `map-pin-check-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-check` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-minus-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-minus` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-plus-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-plus` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-x-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-x` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `map-pin-off` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pinned` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.415.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.415.0): New icons 0.415.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.414.0...0.415.0)

#### New icons 🎨

-   `square-square` ([#&#8203;2241](https://togithub.com/lucide-icons/lucide/issues/2241)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.414.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.414.0): New icons 0.414.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.413.0...0.414.0)

#### New icons 🎨

-   `chart-area` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-decreasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-increasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-stacked` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-big` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-increasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-stacked` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-network` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-no-axes-combined` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-spline` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.413.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.413.0): New icons 0.413.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.412.0...0.413.0)

#### New icons 🎨

-   `dam` ([#&#8203;2233](https://togithub.com/lucide-icons/lucide/issues/2233)) by [@&#8203;AndreasSas](https://togithub.com/AndreasSas)

#### Modified Icons 🔨

-   `dog` ([#&#8203;2249](https://togithub.com/lucide-icons/lucide/issues/2249)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `key-square` ([#&#8203;2277](https://togithub.com/lucide-icons/lucide/issues/2277)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.412.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.412.0): New icons 0.412.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.411.0...0.412.0)

#### New icons 🎨

-   `letter-text` ([#&#8203;2252](https://togithub.com/lucide-icons/lucide/issues/2252)) by [@&#8203;GRA0007](https://togithub.com/GRA0007)

### [`v0.411.0`](https://togithub.com/lucide-icons/lucide/compare/0.410.0...0.411.0)

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.410.0...0.411.0)

### [`v0.410.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.410.0): New icons 0.410.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.409.0...0.410.0)

#### New icons 🎨

-   `philippine-peso` ([#&#8203;2231](https://togithub.com/lucide-icons/lucide/issues/2231)) by [@&#8203;kasutu](https://togithub.com/kasutu)

#### Modified Icons 🔨

-   `ribbon` ([#&#8203;2271](https://togithub.com/lucide-icons/lucide/issues/2271)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.409.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.409.0): New icons 0.409.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.408.0...0.409.0)

#### Modified Icons 🔨

-   `calendar-minus` ([#&#8203;2265](https://togithub.com/lucide-icons/lucide/issues/2265)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `eye-off` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `eye` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `image-plus` ([#&#8203;2321](https://togithub.com/lucide-icons/lucide/issues/2321)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `scan-eye` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `view` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

</details>

<details>
<summary>nodejs/node (node)</summary>

### [`v20.16.0`](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0)

[Compare Source](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0)

</details>

<details>
<summary>facebook/react (react-refresh)</summary>

### [`v0.14.2`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0142-November-2-2015)

[Compare Source](https://togithub.com/facebook/react/compare/v0.14.1...v0.14.2)

##### React DOM

-   Fixed bug with development build preventing events from firing in some versions of Internet Explorer & Edge
-   Fixed bug with development build when using es5-sham in older versions of Internet Explorer
-   Added support for `integrity` attribute
-   Fixed bug resulting in `children` prop being coerced to a string for custom elements, which was not the desired behavior
-   Moved `react` from `dependencies` to `peerDependencies` to match expectations and align with `react-addons-*` packages

### [`v0.14.1`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#01410-October-14-2020)

[Compare Source](https://togithub.com/facebook/react/compare/v0.14.0...v0.14.1)

##### React

-   Backport support for the [new JSX transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) to 0.14.x. ([@&#8203;lunaruan](https://togithub.com/lunaruan) in [#&#8203;18299](https://togithub.com/facebook/react/pull/18299) and [@&#8203;gaearon](https://togithub.com/gaearon) in [#&#8203;20024](https://togithub.com/facebook/react/pull/20024))

### [`v0.14.0`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0140-October-7-2015)

[Compare Source](https://togithub.com/facebook/react/compare/v0.13.0...v0.14.0)

##### Major changes

-   Split the main `react` package into two: `react` and `react-dom`.  This paves the way to writing components that can be shared between the web version of React and React Native.  This means you will need to include both files and some functions have been moved from `React` to `ReactDOM`.
-   Addons have been moved to separate packages (`react-addons-clone-with-props`, `react-addons-create-fragment`, `react-addons-css-transition-group`, `react-addons-linked-state-mixin`, `react-addons-perf`, `react-addons-pure-render-mixin`, `react-addons-shallow-compare`, `react-addons-test-utils`, `react-addons-transition-group`, `react-addons-update`, `ReactDOM.unstable_batchedUpdates`).
-   Stateless functional components - React components were previously created using React.createClass or using ES6 classes.  This release adds a [new syntax](https://reactjs.org/docs/reusable-components.html#stateless-functions) where a user defines a single [stateless render function](https://reactjs.org/docs/reusable-components.html#stateless-functions) (with one parameter: `props`) which returns a JSX element, and this function may be used as a component.
-   Refs to DOM components as the DOM node itself. Previously the only useful thing you can do with a DOM component is call `getDOMNode()` to get the underlying DOM node. Starting with this release, a ref to a DOM component *is* the actual DOM node. **Note that refs to custom (user-defined) components work exactly as before; only the built-in DOM components are affected by this change.**

##### Breaking changes

-   `React.initializeTouchEvents` is no longer necessary and has been removed completely. Touch events now work automatically.
-   Add-Ons: Due to the DOM node refs change mentioned above, `TestUtils.findAllInRenderedTree` and related helpers are no longer able to take a DOM component, only a custom component.
-   The `props` object is now frozen, so mutating props after creating a component element is no longer supported. In most cases, [`React.cloneElement`](https://reactjs.org/docs/react-api.html#cloneelement) should be used instead. This change makes your components easier to reason about and enables the compiler optimizations mentioned above.
-   Plain objects are no longer supported as React children; arrays should be used instead. You can use the [`createFragment`](https://reactjs.org/docs/create-fragment.html) helper to migrate, which now returns an array.
-   Add-Ons: `classSet` has been removed. Use [classnames](https://togithub.com/JedWatson/classnames) instead.
-   Web components (custom elements) now use native property names.  Eg: `class` instead of `className`.

##### Deprecations

-   `this.getDOMNode()` is now deprecated and `ReactDOM.findDOMNode(this)` can be used instead. Note that in the common case, `findDOMNode` is now unnecessary since a ref to the DOM component is now the actual DOM node.
-   `setProps` and `replaceProps` are now deprecated. Instead, call ReactDOM.render again at the top level with the new props.
-   ES6 component classes must now extend `React.Component` in order to enable stateless function components. The [ES3 module pattern](https://reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html#other-languages) will continue to work.
-   Reusing and mutating a `style` object between renders has been deprecated. This mirrors our change to freeze the `props` object.
-   Add-Ons: `cloneWithProps` is now deprecated. Use [`React.cloneElement`](https://reactjs.org/docs/react-api.html#cloneelement) instead (unlike `cloneW

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-22 04:12:23 +00:00
pengx17
5acf1b5309 feat: init mobile entry (#7905) 2024-08-21 13:17:35 +00:00
EYHN
3db95bafa2 feat(core): use new print pdf api (#7932) 2024-08-21 10:06:22 +00:00
renovate
cf086e4018 chore: bump up @keyv/redis version to v3 (#7935)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@keyv/redis](https://togithub.com/jaredwray/keyv) | [`^2.8.4` -> `^3.0.0`](https://renovatebot.com/diffs/npm/@keyv%2fredis/2.8.5/3.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@keyv%2fredis/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@keyv%2fredis/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@keyv%2fredis/2.8.5/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@keyv%2fredis/2.8.5/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-21 09:37:17 +00:00
renovate
483fcfb2c7 chore: bump up @blocksuite/icons version to v2.1.63 (#7845)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.62` -> `2.1.63`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.62/2.1.63) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.62/2.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.62/2.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.63`](dce7e696b3...d63ff94c9f)

[Compare Source](dce7e696b3...d63ff94c9f)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates again.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-21 09:20:14 +00:00
renovate
b6a3697793 chore: bump up oxlint version to v0.7.2 (#7885)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.7.1` -> `0.7.2`](https://renovatebot.com/diffs/npm/oxlint/0.7.1/0.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.7.2`](https://togithub.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#072---2024-08-15)

[Compare Source](972492cc4d...b3e189764f)

##### Features

-   [`4d28d03`](https://togithub.com/oxc-project/oxc/commit/4d28d03) task/website: Support render `subschemas.all_of` ([#&#8203;4800](https://togithub.com/oxc-project/oxc/issues/4800)) (mysteryven)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-21 09:05:36 +00:00
Cats Juice
23b0db36b9 feat(component): mobile menu support (#7892) 2024-08-21 09:05:05 +00:00
renovate
182b2fd62d chore: bump up electron version to v32 (#7927)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [electron](https://togithub.com/electron/electron) | [`^31.0.0` -> `^32.0.0`](https://renovatebot.com/diffs/npm/electron/31.4.0/32.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/31.4.0/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/31.4.0/32.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>electron/electron (electron)</summary>

### [`v32.0.1`](https://togithub.com/electron/electron/compare/v32.0.0...v32.0.1)

[Compare Source](https://togithub.com/electron/electron/compare/v32.0.0...v32.0.1)

### [`v32.0.0`](https://togithub.com/electron/electron/releases/tag/v32.0.0): electron v32.0.0

[Compare Source](https://togithub.com/electron/electron/compare/v31.4.0...v32.0.0)

### Release Notes for v32.0.0

#### Features

-   Added support for responding to auth requests initiated from utility process via `app#login` event. [#&#8203;43317](https://togithub.com/electron/electron/pull/43317)
-   Enabled zstd compression in net http requests. [#&#8203;43300](https://togithub.com/electron/electron/pull/43300) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/43301))</span>

#### Other Changes

-   Updated Chromium to 128.0.6613.36. [#&#8203;43328](https://togithub.com/electron/electron/pull/43328)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-21 08:38:21 +00:00
CatsJuice
a43c34feec fix(core): onboarding switch active state is invisible (#7928)
close AF-1262
2024-08-21 06:17:31 +00:00
CatsJuice
c9a1a8c3b2 feat(component): access enviroment in components storybook (#7891)
close AF-1247
2024-08-21 06:04:39 +00:00
CatsJuice
a49b92e4c8 feat(core): adjust sidebar style, add github & learn more (#7864)
close AF-1202
2024-08-21 05:48:04 +00:00
EYHN
cfe0677b84 refactor(core): adapt to new sync api (#7929) 2024-08-21 05:30:34 +00:00
forehalo
b6f46e01c5 test(server): space adapters (#7903) 2024-08-21 05:30:30 +00:00
forehalo
e20bdbf925 feat(server): make server storage adapters (#7902) 2024-08-21 05:30:26 +00:00
forehalo
6f9f579e5d feat(server): make an abstraction for ydoc storage (#7901) 2024-08-21 05:30:23 +00:00
forehalo
682a01e441 feat(server): make a singleton global mutex service (#7900) 2024-08-21 05:30:19 +00:00
Saul-Mirone
6b0c398ae5 chore: bump bs (#7914) 2024-08-20 00:24:01 +00:00
renovate
152815c175 chore: bump up all non-major dependencies (#7921)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.13.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.60` -> `3.0.0-alpha.62`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.6.0` -> `19.6.1`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.6.0/19.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.6.0/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.6.0/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.7.12` -> `1.7.14`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.7.12/1.7.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.7.12/1.7.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.7.12/1.7.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | [`23.13.0` -> `23.14.0`](https://renovatebot.com/diffs/npm/i18next/23.13.0/23.14.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.13.0/23.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.13.0/23.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.408.0` -> `^0.428.0`](https://renovatebot.com/diffs/npm/lucide-react/0.408.0/0.428.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.408.0/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.408.0/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mini-css-extract-plugin](https://togithub.com/webpack-contrib/mini-css-extract-plugin) | [`2.9.0` -> `2.9.1`](https://renovatebot.com/diffs/npm/mini-css-extract-plugin/2.9.0/2.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mini-css-extract-plugin/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mini-css-extract-plugin/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mini-css-extract-plugin/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mini-css-extract-plugin/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.7` -> `3.0.0-alpha.8` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.6` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nestjs-throttler-storage-redis](https://togithub.com/kkoomen/nestjs-throttler-storage-redis) | [`^0.4.1` -> `^0.5.0`](https://renovatebot.com/diffs/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.1` -> `20.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.6.0` -> `19.6.1`](https://renovatebot.com/diffs/npm/nx/19.6.0/19.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.6.0/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.6.0/19.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| openresty/openresty | `1.25.3.1-0-buster` -> `1.25.3.2-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-refresh](https://reactjs.org/) ([source](https://togithub.com/facebook/react/tree/HEAD/packages/react)) | [`^0.10.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/react-refresh/0.10.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.204` -> `1.0.208` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.204/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.204/1.0.208?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [serde_json](https://togithub.com/serde-rs/json) | `1.0.120` -> `1.0.125` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.120/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.120/1.0.125?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook-dark-mode](https://togithub.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.19.7` -> `6.19.8`](https://renovatebot.com/diffs/npm/undici/6.19.7/6.19.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.19.7/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.19.7/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.19.7` -> `6.19.8`](https://renovatebot.com/diffs/npm/undici/6.19.7/6.19.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.19.7/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.19.7/6.19.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`4.0.2` -> `4.0.3`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.0.2/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.0.2/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.0.2/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.14.2`](c3a3c3d21a...b3ab5f0e15)

[Compare Source](c3a3c3d21a...b3ab5f0e15)

### [`v0.14.1`](6edbf2948d...c3a3c3d21a)

[Compare Source](6edbf2948d...c3a3c3d21a)

### [`v0.14.0`](cf300e9cc0...6edbf2948d)

[Compare Source](cf300e9cc0...6edbf2948d)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.62`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

### [`v3.0.0-alpha.61`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.6.1`](https://togithub.com/nrwl/nx/releases/tag/19.6.1)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.6.0...19.6.1)

##### 19.6.1 (2024-08-19)

##### 🚀 Features

-   **core:** add shutdown lifecycle hook to node executor ([#&#8203;27354](https://togithub.com/nrwl/nx/pull/27354))
-   **docs:** update OpenAI model to use gpt-4o-mini ([#&#8203;27434](https://togithub.com/nrwl/nx/pull/27434))
-   **nx-dev:** add Explain with AI to Enterprise and Pro Plans ([#&#8203;27455](https://togithub.com/nrwl/nx/pull/27455))
-   **nx-dev:** add Monorepo World banner to hero ([#&#8203;27482](https://togithub.com/nrwl/nx/pull/27482))

##### 🩹 Fixes

-   **angular:** generate [@&#8203;nx/angular](https://togithub.com/nx/angular) in devDependencies and move to dependencies when using runtime helpers ([#&#8203;27405](https://togithub.com/nrwl/nx/pull/27405))
-   **angular:** module-federation-ssr-dev-server should call correct builder ([#&#8203;27477](https://togithub.com/nrwl/nx/pull/27477))
-   **angular:** bump ngrx version to 18.0.2 ([#&#8203;27506](https://togithub.com/nrwl/nx/pull/27506))
-   **js:** handle arbitrary nested ts path mappings when re-mapping them to the outputs ([#&#8203;27429](https://togithub.com/nrwl/nx/pull/27429))
-   **linter:** update the [@&#8203;nx/dependency-checks](https://togithub.com/nx/dependency-checks) rule to read the package.json content from the rule context ([#&#8203;27476](https://togithub.com/nrwl/nx/pull/27476))
-   **misc:** ensure custom reporters are usable with [@&#8203;nx/playwright](https://togithub.com/nx/playwright):playwright ([#&#8203;27443](https://togithub.com/nrwl/nx/pull/27443))
-   **module-federation:** ensure target defaults are set correctly [#&#8203;27448](https://togithub.com/nrwl/nx/issues/27448) ([#&#8203;27472](https://togithub.com/nrwl/nx/pull/27472), [#&#8203;27448](https://togithub.com/nrwl/nx/issues/27448))
-   **node:** build-esbuild-options.ts browser user define envs by config ([#&#8203;27480](https://togithub.com/nrwl/nx/pull/27480))
-   **nx-dev:** Og image path generation ([#&#8203;27456](https://togithub.com/nrwl/nx/pull/27456))
-   **nx-dev:** bad link from home page ([#&#8203;27475](https://togithub.com/nrwl/nx/pull/27475))
-   **nx-dev:** fix use `key` instead of `env` to reference cache key in… ([#&#8203;26644](https://togithub.com/nrwl/nx/pull/26644))
-   **react:** ensure [@&#8203;vitejs/plugin-react](https://togithub.com/vitejs/plugin-react) is installed for storybook ([#&#8203;27463](https://togithub.com/nrwl/nx/pull/27463))
-   **react:** enable vitejs-plugin-react-swc for swc compiler ([#&#8203;27457](https://togithub.com/nrwl/nx/pull/27457))
-   **repo:** add dependsOn to native build ([#&#8203;27446](https://togithub.com/nrwl/nx/pull/27446))
-   **testing:** fix misc issues in migrations ([#&#8203;27471](https://togithub.com/nrwl/nx/pull/27471))

##### ❤️  Thank You

-   [@&#8203;NgDaddy](https://togithub.com/NgDaddy) [@&#8203;NgDaddy](https://togithub.com/NgDaddy)
-   Benjamin Cabanes [@&#8203;bcabanes](https://togithub.com/bcabanes)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   EGonz1PCTY
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Kamenskih Dmitriy
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Tine Kondo [@&#8203;tinesoft](https://togithub.com/tinesoft)
-   Wei Liang [@&#8203;weiliang79](https://togithub.com/weiliang79)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.46.1`](https://togithub.com/microsoft/playwright/compare/v1.46.0...e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.46.0...v1.46.1)

### [`v1.46.0`](https://togithub.com/microsoft/playwright/compare/v1.45.3...99a36310570617222290c09b96a2026beb8b00f9)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.3...v1.46.0)

### [`v1.45.3`](https://togithub.com/microsoft/playwright/compare/v1.45.2...0e130fa8edaf85765c4a5a86bded0e6d33bfd7c2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.2...v1.45.3)

### [`v1.45.2`](https://togithub.com/microsoft/playwright/compare/v1.45.1...d8a5f3b33193e413b404ff4aa1f71e859d8f1b6b)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.1...v1.45.2)

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.7.14`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1714---2024-08-19)

[Compare Source](https://togithub.com/swc-project/swc/compare/v1.7.12...v1.7.14)

##### Bug Fixes

-   **(common)** Use `SourceMap::adjust_mappings` in correct order ([#&#8203;9447](https://togithub.com/swc-project/swc/issues/9447)) ([05961eb](05961eb018))

-   **(es)** Preserve more comments ([#&#8203;9449](https://togithub.com/swc-project/swc/issues/9449)) ([673655c](673655c169))

##### Features

-   **(es/decorators)** Groundwork for stage 3 decorator ([#&#8203;9450](https://togithub.com/swc-project/swc/issues/9450)) ([238ba8b](238ba8b1d2))

##### Refactor

-   **(visit)** Remove `VisitAll` ([#&#8203;9448](https://togithub.com/swc-project/swc/issues/9448)) ([8845b76](8845b76ac4))

</details>

<details>
<summary>i18next/i18next (i18next)</summary>

### [`v23.14.0`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23140)

[Compare Source](https://togithub.com/i18next/i18next/compare/v23.13.0...v23.14.0)

-   If backend errors with retry flag, set internal state to 0, so reloadingResources should work [147](https://togithub.com/i18next/i18next-http-backend/issues/147)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.428.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.428.0): New icons 0.428.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.427.0...0.428.0)

#### New icons 🎨

-   `tickets-plane` ([#&#8203;2196](https://togithub.com/lucide-icons/lucide/issues/2196)) by [@&#8203;jguddas](https://togithub.com/jguddas)

#### Modified Icons 🔨

-   `folder-search` ([#&#8203;2354](https://togithub.com/lucide-icons/lucide/issues/2354)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.427.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.427.0): New icons 0.427.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.426.0...0.427.0)

#### New icons 🎨

-   `binoculars` ([#&#8203;2207](https://togithub.com/lucide-icons/lucide/issues/2207)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `tickets` ([#&#8203;2335](https://togithub.com/lucide-icons/lucide/issues/2335)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.426.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.426.0): New icons 0.426.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.425.0...0.426.0)

#### New icons 🎨

-   `chevrons-left-right-ellipsis` ([#&#8203;2120](https://togithub.com/lucide-icons/lucide/issues/2120)) by [@&#8203;ericfennis](https://togithub.com/ericfennis)
-   `ethernet-port` ([#&#8203;2120](https://togithub.com/lucide-icons/lucide/issues/2120)) by [@&#8203;ericfennis](https://togithub.com/ericfennis)

#### Modified Icons 🔨

-   `cigarette-off` ([#&#8203;2282](https://togithub.com/lucide-icons/lucide/issues/2282)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cigarette` ([#&#8203;2282](https://togithub.com/lucide-icons/lucide/issues/2282)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.425.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.425.0): New icons 0.425.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.424.0...0.425.0)

#### New icons 🎨

-   `bandage` ([#&#8203;2341](https://togithub.com/lucide-icons/lucide/issues/2341)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `table-of-contents` ([#&#8203;2348](https://togithub.com/lucide-icons/lucide/issues/2348)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `mouse-pointer-2` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer-ban` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer-click` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-dashed-mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-mouse-pointer` ([#&#8203;2350](https://togithub.com/lucide-icons/lucide/issues/2350)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.424.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.424.0): New icons 0.424.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.423.0...0.424.0)

#### New icons 🎨

-   `map-pin-house` ([#&#8203;2337](https://togithub.com/lucide-icons/lucide/issues/2337)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `replace-all` ([#&#8203;2333](https://togithub.com/lucide-icons/lucide/issues/2333)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `replace` ([#&#8203;2333](https://togithub.com/lucide-icons/lucide/issues/2333)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.423.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.423.0): New icons 0.423.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.422.0...0.423.0)

#### New icons 🎨

-   `amphora` ([#&#8203;1926](https://togithub.com/lucide-icons/lucide/issues/1926)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.422.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.422.0): New icons 0.422.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.421.0...0.422.0)

#### Modified Icons 🔨

-   `skull` ([#&#8203;2197](https://togithub.com/lucide-icons/lucide/issues/2197)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.421.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.421.0): New icons 0.421.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.420.0...0.421.0)

#### New icons 🎨

-   `microchip` ([#&#8203;1982](https://togithub.com/lucide-icons/lucide/issues/1982)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `circle-check-big` ([#&#8203;2330](https://togithub.com/lucide-icons/lucide/issues/2330)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cloud-download` ([#&#8203;2355](https://togithub.com/lucide-icons/lucide/issues/2355)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `pentagon` ([#&#8203;1918](https://togithub.com/lucide-icons/lucide/issues/1918)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `square-check-big` ([#&#8203;2331](https://togithub.com/lucide-icons/lucide/issues/2331)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.420.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.420.0): New icons 0.420.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.419.0...0.420.0)

#### New icons 🎨

-   `omega` ([#&#8203;2347](https://togithub.com/lucide-icons/lucide/issues/2347)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `calendar-search` ([#&#8203;2351](https://togithub.com/lucide-icons/lucide/issues/2351)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `cloud-upload` ([#&#8203;2352](https://togithub.com/lucide-icons/lucide/issues/2352)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.419.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.419.0): New icons 0.419.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.418.0...0.419.0)

#### New icons 🎨

-   `circle-fading-arrow-up` ([#&#8203;2287](https://togithub.com/lucide-icons/lucide/issues/2287)) by [@&#8203;mosch](https://togithub.com/mosch)

### [`v0.418.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.418.0): New icons 0.418.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.417.0...0.418.0)

#### New icons 🎨

-   `id-card` ([#&#8203;1296](https://togithub.com/lucide-icons/lucide/issues/1296)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.417.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.417.0): New icons 0.417.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.416.0...0.417.0)

#### Modified Icons 🔨

-   `chart-column-increasing` ([#&#8203;2334](https://togithub.com/lucide-icons/lucide/issues/2334)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.416.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.416.0): New icons 0.416.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.415.0...0.416.0)

#### New icons 🎨

-   `map-pin-check-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-check` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-minus-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-minus` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-plus-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-plus` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-x-inside` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin-x` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `map-pin-off` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pin` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `map-pinned` ([#&#8203;2301](https://togithub.com/lucide-icons/lucide/issues/2301)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.415.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.415.0): New icons 0.415.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.414.0...0.415.0)

#### New icons 🎨

-   `square-square` ([#&#8203;2241](https://togithub.com/lucide-icons/lucide/issues/2241)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.414.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.414.0): New icons 0.414.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.413.0...0.414.0)

#### New icons 🎨

-   `chart-area` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-decreasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-increasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-bar-stacked` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-big` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-increasing` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-column-stacked` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-network` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-no-axes-combined` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `chart-spline` ([#&#8203;2219](https://togithub.com/lucide-icons/lucide/issues/2219)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.413.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.413.0): New icons 0.413.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.412.0...0.413.0)

#### New icons 🎨

-   `dam` ([#&#8203;2233](https://togithub.com/lucide-icons/lucide/issues/2233)) by [@&#8203;AndreasSas](https://togithub.com/AndreasSas)

#### Modified Icons 🔨

-   `dog` ([#&#8203;2249](https://togithub.com/lucide-icons/lucide/issues/2249)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `key-square` ([#&#8203;2277](https://togithub.com/lucide-icons/lucide/issues/2277)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.412.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.412.0): New icons 0.412.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.411.0...0.412.0)

#### New icons 🎨

-   `letter-text` ([#&#8203;2252](https://togithub.com/lucide-icons/lucide/issues/2252)) by [@&#8203;GRA0007](https://togithub.com/GRA0007)

### [`v0.411.0`](https://togithub.com/lucide-icons/lucide/compare/0.410.0...0.411.0)

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.410.0...0.411.0)

### [`v0.410.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.410.0): New icons 0.410.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.409.0...0.410.0)

#### New icons 🎨

-   `philippine-peso` ([#&#8203;2231](https://togithub.com/lucide-icons/lucide/issues/2231)) by [@&#8203;kasutu](https://togithub.com/kasutu)

#### Modified Icons 🔨

-   `ribbon` ([#&#8203;2271](https://togithub.com/lucide-icons/lucide/issues/2271)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.409.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.409.0): New icons 0.409.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.408.0...0.409.0)

#### Modified Icons 🔨

-   `calendar-minus` ([#&#8203;2265](https://togithub.com/lucide-icons/lucide/issues/2265)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `eye-off` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `eye` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `image-plus` ([#&#8203;2321](https://togithub.com/lucide-icons/lucide/issues/2321)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `scan-eye` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `view` ([#&#8203;2317](https://togithub.com/lucide-icons/lucide/issues/2317)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

</details>

<details>
<summary>webpack-contrib/mini-css-extract-plugin (mini-css-extract-plugin)</summary>

### [`v2.9.1`](https://togithub.com/webpack-contrib/mini-css-extract-plugin/blob/HEAD/CHANGELOG.md#291-2024-08-19)

[Compare Source](https://togithub.com/webpack-contrib/mini-css-extract-plugin/compare/v2.9.0...v2.9.1)

</details>

<details>
<summary>nodejs/node (node)</summary>

### [`v20.16.0`](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0)

[Compare Source](https://togithub.com/nodejs/node/compare/v20.15.1...v20.16.0)

</details>

<details>
<summary>facebook/react (react-refresh)</summary>

### [`v0.14.2`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0142-November-2-2015)

[Compare Source](https://togithub.com/facebook/react/compare/v0.14.1...v0.14.2)

##### React DOM

-   Fixed bug with development build preventing events from firing in some versions of Internet Explorer & Edge
-   Fixed bug with development build when using es5-sham in older versions of Internet Explorer
-   Added support for `integrity` attribute
-   Fixed bug resulting in `children` prop being coerced to a string for custom elements, which was not the desired behavior
-   Moved `react` from `dependencies` to `peerDependencies` to match expectations and align with `react-addons-*` packages

### [`v0.14.1`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#01410-October-14-2020)

[Compare Source](https://togithub.com/facebook/react/compare/v0.14.0...v0.14.1)

##### React

-   Backport support for the [new JSX transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) to 0.14.x. ([@&#8203;lunaruan](https://togithub.com/lunaruan) in [#&#8203;18299](https://togithub.com/facebook/react/pull/18299) and [@&#8203;gaearon](https://togithub.com/gaearon) in [#&#8203;20024](https://togithub.com/facebook/react/pull/20024))

### [`v0.14.0`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0140-October-7-2015)

[Compare Source](https://togithub.com/facebook/react/compare/v0.13.0...v0.14.0)

##### Major changes

-   Split the main `react` package into two: `react` and `react-dom`.  This paves the way to writing components that can be shared between the web version of React and React Native.  This means you will need to include both files and some functions have been moved from `React` to `ReactDOM`.
-   Addons have been moved to separate packages (`react-addons-clone-with-props`, `react-addons-create-fragment`, `react-addons-css-transition-group`, `react-addons-linked-state-mixin`, `react-addons-perf`, `react-addons-pure-render-mixin`, `react-addons-shallow-compare`, `react-addons-test-utils`, `react-addons-transition-group`, `react-addons-update`, `ReactDOM.unstable_batchedUpdates`).
-   Stateless functional components - React components were previously created using React.createClass or using ES6 classes.  This release adds a [new syntax](https://reactjs.org/docs/reusable-components.html#stateless-functions) where a user defines a single [stateless render function](https://reactjs.org/docs/reusable-components.html#stateless-functions) (with one parameter: `props`) which returns a JSX element, and this function may be used as a component.
-   Refs to DOM components as the DOM node itself. Previously the only useful thing you can do with a DOM component is call `getDOMNode()` to get the underlying DOM node. Starting with this release, a ref to a DOM component *is* the actual DOM node. **Note that refs to custom (user-defined) components work exactly as before; only the built-in DOM components are affected by this change.**

##### Breaking changes

-   `React.initializeTouchEvents` is no longer necessary and has been removed completely. Touch events now work automatically.
-   Add-Ons: Due to the DOM node refs change mentioned above, `TestUtils.findAllInRenderedTree` and related helpers are no longer able to take a DOM component, only a custom component.
-   The `props` object is now frozen, so mutating props after creating a component element is no longer supported. In most cases, [`React.cloneElement`](https://reactjs.org/docs/react-api.html#cloneelement) should be used instead. This change makes your components easier to reason about and enables the compiler optimizations mentioned above.
-   Plain objects are no longer supported as React children; arrays should be used instead. You can use the [`createFragment`](https://reactjs.org/docs/create-fragment.html) helper to migrate, which now returns an array.
-   Add-Ons: `classSet` has been removed. Use [classnames](https://togithub.com/JedWatson/classnames) instead.
-   Web components (custom elements) now use native property names.  Eg: `class` instead of `className`.

##### Deprecations

-   `this.getDOMNode()` is now deprecated and `ReactDOM.findDOMNode(this)` can be used instead. Note that in the common case, `findDOMNode` is now unnecessary since a ref to the DOM component is now the actual DOM node.
-   `setProps` and `replaceProps` are now deprecated. Instead, call ReactDOM.render again at the top level with the new props.
-   ES6 component classes must now extend `React.Component` in order to enable stateless function components. The [ES3 module pattern](https://reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html#other-languages) will continue to work.
-   Reusing and mutating a `style` object between renders has been deprecated. This mirrors our change to freeze the `props` object.
-   Add-Ons: `cloneWithProps` is now deprecated. Use [`React.cloneElement`](https://reactjs.org/docs/react-api.html#cloneelement) instead (unlike `cloneWithProps`, `cloneElement` does not merge `className` or `style` automatically; you can merge them manually if needed).
-   Add-Ons: To improve reliability, `CSSTransitionGroup` will no longer listen to transition events. Instead, you should specify transition durations manually using props such as `transitionEnterTimeout={500}`.

##### Notable enhancements

-   Added `React.Children.toArray` which takes a nested children object and returns a flat array with keys assigned to each child. This helper makes it easier to manipulate collections of children in your `render` methods, especially if you want to reorder or slice `this.props.children` before passing it down. In addition, `React.Children.map` now returns plain arrays too.
-   React uses `console.error` instead of `console.warn` for warnings so that browsers show a full stack trace in the console. (Our warnings appear when you use patterns that will break in future releases and for code that is likely to behave unexpectedly, so we do consider our warnings to be “must-fix” errors.)
-   Previously, including untrusted objects as React children [could result in an XSS security vulnerability](http://danlec.com/blog/xss-via-a-spoofed-react-element). This problem should be avoided by properly validating input at the application layer and by never passing untrusted objects around your application code. As an additional layer of protection, [React now tags elements](https://togithub.com/facebook/react/pull/4832) with a specific [ES2015 (ES6) `Symbol`](http://www.2ality.com/2014/12/es6-symbols.html) in browsers that support it, in order to ensure that React never considers untrusted JSON to be a valid element. If this extra security protection is important to you, you should add a `Symbol` polyfill for older browsers, such as the one included by [Babel’s polyfill](https://babeljs.io/docs/usage/polyfill/).
-   When possible, React DOM now generates XHTML-compatible markup.
-   React DOM now supports these standard HTML attributes: `capture`, `challenge`, `inputMode`, `is`, `keyParams`, `keyType`, `minLength`, `summary`, `wrap`. It also now supports these non-standard attributes: `autoSave`, `results`, `security`.
-   React DOM now supports these SVG attributes, which render into namespaced attributes: `xlinkActuate`, `xlinkArcrole`, `xlinkHref`, `xlinkRole`, `xlinkShow`, `xlinkTitle`, `xlinkType`, `xmlBase`, `xmlLang`, `xmlSpace`.
-   The `image` SVG tag is now supported by React DOM.
-   In React DOM, arbitrary attributes are supported on custom elements (those with a hyphen in the tag name or an `is="..."` attribute).
-   React DOM now supports these media events on `audio` and `video` tags: `onAbort`, `onCanPlay`, `onCanPlayThrough`, `onDurationChange`, `onEmptied`, `onEncrypted`, `onEnded`, `onError`, `onLoadedData`, `onLoadedMetadata`, `onLoadStart`, `onPause`, `onPlay`, `onPlaying`, `onProgress`, `onRateChange`, `onSeeked`, `onSeeking`, `onStalled`, `onSuspend`, `onTimeUpdate`, `onVolumeChange`, `onWaiting`.
-   Many small performance improvements have been made.
-   Many warnings show more context than before.
-   Add-Ons: A [`shallowCompare`](https://togithub.com/facebook/react/pull/3355) add-on has been added as a migration path for `PureRenderMixin` in ES6 classes.
-   Add-Ons: `CSSTransitionGroup` can now use [custom class names](https://togithub.com/facebook/react/blob/48942b85/docs/docs/10.1-animation.md#custom-classes) instead of appending `-enter-active` or similar to the transition name.

##### New helpful warnings

-   React DOM now warns you when nesting HTML elements invalidly, which helps you avoid surprising errors during updates.
-   Passing `document.body` directly as the container to `ReactDOM.render` now gives a warning as doing so can cause problems with browser extensions that modify the DOM.
-   Using multiple instances of React together is not supported, so we now warn when we detect this case to help you avoid running into the resulting problems.

##### Notable bug fixes

-   Click events are handled by React DOM more reliably in mobile browsers, particularly in Mobile Safari.
-   SVG elements are created with the correct namespace in more cases.
-   React DOM now renders `<option>` elements with multiple text children properly and renders `<select>` elements on the server with the correct option selected.
-   When two separate copies of React add nodes to the same document (including when a browser extension uses React), React DOM tries harder not to throw exceptions during event handling.
-   Using non-lowercase HTML tag names in React DOM (e.g., `React.createElement('DIV')`) no longer causes problems, though we continue to recommend lowercase for consistency with the JSX tag name convention (lowercase names refer to built-in components, capitalized names refer to custom components).
-   React DOM understands that these CSS properties are unitless and does not append “px” to their values: `animationIterationCount`, `boxOrdinalGroup`, `flexOrder`, `tabSize`, `stopOpacity`.
-   Add-Ons: When using the test utils, `Simulate.mouseEnter` and `Simulate.mouseLeave` now work.
-   Add-Ons: ReactTransitionGroup now correctly handles multiple nodes being removed simultaneously.

##### React Tools / Babel

##### Breaking Changes

-   The `react-tools` package and `JSXTransformer.js` browser file [have been deprecated](https://reactjs.org/blog/2015/06/12/deprecating-jstransform-and-react-tools.html). You can continue using version `0.13.3` of both, but we no longer support them and recommend migrating to [Babel](https://babeljs.io), which has built-in support for React and JSX.

##### New Features

-   Babel 5.8.24 introduces **Inlining React elements:** The `optimisation.react.inlineElements` transform converts JSX elements to object literals like `{type: 'div', props: ...}` instead of calls to `React.createElement`.  This should only be enabled in production, since it disables some development warnings/checks.
-   Babel 5.8.24 introduces **Constant hoisting for React elements:** The `optimisation.react.constantElements` transform hoists element creation to the top level for subtrees that are fully static, which reduces calls to `React.createElement` and the resulting allocations. More importantly, it tells React that the subtree hasn’t changed so React can completely skip it when reconciling.  This should only be enabled in production, since it disables some development warnings/checks.

### [`v0.13.0`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0130-March-10-2015)

[Compare Source](https://togithub.com/facebook/react/compare/v0.12.0...v0.13.0)

##### React Core

##### Breaking Changes

-   Deprecated patterns that warned in 0.12 no longer work: most prominently, calling component classes without using JSX or React.createElement and using non-component functions with JSX or createElement
-   Mutating `props` after an element is created is deprecated and will cause warnings in development mode; future versions of React will incorporate performance optimizations assuming that props aren't mutated
-   Static methods (defined in `statics`) are no longer autobound to the component class
-   `ref` resolution order has changed slightly such that a ref to a component is available immediately after its `componentDidMount` method is called; this change should be observable only if your component calls a parent component's callback within your `componentDidMount`, which is an anti-pattern and should be avoided regardless
-   Calls to `setState` in life-cycle methods are now always batched and therefore asynchronous. Previously the first call on the first mount was synchronous.
-   `setState` and `forceUpdate` on an unmounted component now warns instead of throwing. That avoids a possible race condition with Promises.
-   Access to most internal properties has been completely removed, including `this._pendingState` and `this._rootNodeID`.

##### New Features

-   Support for using ES6 classes to build React components; see the [v0.13.0 beta 1 notes](https://reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html) for details.
-   Added new top-level API `React.findDOMNode(component)`, which should be used in place of `component.getDOMNode()`. The base class for ES6-based components will not have `getDOMNode`. This change will enable some more patterns moving forward.
-   Added a new top-level API `React.cloneElement(el, props)` for making copies of React elements – see the [v0.13 RC2 notes](https://reactjs.org/blog/2015/03/03/react-v0.13-rc2.html#react.cloneelement) for more details.
-   New `ref` style, allowing a callback to be used in place of a name: `<Photo ref={(c) => this._photo = c} />` allows you to reference the component with `this._photo` (as opposed to `ref="photo"` which gives `this.refs.photo`).
-   `this.setState()` can now take a function as the first argument for transactional state updates, such as `this.setState((state, props) => ({count: state.count + 1}));` – this means that you no longer need to use `this._pendingState`, which is now gone.
-   Support for iterators and immutable-js sequences as children.

##### Deprecations

-   `ComponentClass.type` is deprecated. Just use `ComponentClass` (usually as `element.type === ComponentClass`).
-   Some methods that are available on `createClass`-based components are removed or deprecated from ES6 classes (`getDOMNode`, `replaceState`, `isMounted`, `setProps`, `replaceProps`).

##### React with Add-Ons

##### New Features

-   [`React.addons.createFragment` was added](https://reactjs.org/docs/create-fragment.html) for adding keys to entire sets of children.

##### Deprecations

-   `React.addons.classSet` is now deprecated. This functionality can be replaced with several freely available modules. [classnames](https://www.npmjs.com/package/classnames) is one such module.
-   Calls to `React.addons.cloneWithProps` can be migrated to use `React.cloneElement` instead – make sure to merge `style` and `className` manually if desired.

##### React Tools

##### Breaking Changes

-   When transforming ES6 syntax, `class` methods are no longer enumerable by default, which requires `Object.defineProperty`; if you support browsers such as IE8, you can pass `--target es3` to mirror the old behavior

##### New Features

-   `--target` option is available on the jsx command, allowing users to specify and ECMAScript version to target.
    -   `es5` is the default.
    -   `es3` restores the previous default behavior. An additional transform is added here to ensure the use of reserved words as properties is safe (eg `this.static` will become `this['static']` for IE8 compatibility).
-   The transform for the call spread operator has also been enabled.

##### JSXTransformer

##### Breaking Changes

-   The return value of `transform` now contains `sourceMap` as a JS object already, not an instance of `SourceMapGenerator`.

##### JSX

##### Breaking Changes

-   A change was made to how some JSX was parsed, specifically around the use of `>` or `}` when inside an element. Previously it would be treated as a string but now it will be treated as a parse error. The [`jsx_orphaned_brackets_transformer`](https://www.npmjs.com/package/jsx_orphaned_brackets_transformer) package on npm can be used to find and fix potential issues in your JSX code.

### [`v0.12.0`](https://togithub.com/facebook/react/blob/HEAD/CHANGELOG.md#0120-October-28-2014)

[Compare Source](https://togithub.com/facebook/react/compare/v0.11.0...v0.12.0)

##### React Core

##### Breaking Changes

-   `key` and `ref` moved off props object, now

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-19 18:34:45 +00:00
pengx17
9d42db56ca chore: bump electron version (#7922) 2024-08-19 14:24:34 +00:00
pengx17
f3930a9262 chore(core): remove @storybook/test dep (#7923)
we no longer need  "@storybook/test" and it indirectly has an incompatible prettier version 3.3.2 which differs from what we are using "3.3.3".

removing it to resolve this issue
2024-08-19 13:50:06 +00:00
renovate
10bea3922e chore: bump up all non-major dependencies (#7615)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@apollo/server](https://togithub.com/apollographql/apollo-server) ([source](https://togithub.com/apollographql/apollo-server/tree/HEAD/packages/server)) | [`4.10.5` -> `4.11.0`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.10.5/4.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fserver/4.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fserver/4.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fserver/4.10.5/4.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fserver/4.10.5/4.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@atlaskit/pragmatic-drag-and-drop](https://atlassian.design/components/pragmatic-drag-and-drop/) ([source](https://togithub.com/atlassian/pragmatic-drag-and-drop)) | [`1.2.1` -> `1.3.0`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop/1.2.1/1.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@atlaskit%2fpragmatic-drag-and-drop/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@atlaskit%2fpragmatic-drag-and-drop/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.620.0` -> `3.633.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.620.0` -> `3.633.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.620.0/3.633.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)) | [`19.3.0` -> `19.4.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/19.3.0/19.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fcli/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fcli/19.3.0/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/19.3.0/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.13.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.13.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://togithub.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.8` -> `1.6.10`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.8/1.6.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.8/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.8/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.60` -> `3.0.0-alpha.62`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nestjs/common](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/core](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/testing](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@nestjs/websockets](https://togithub.com/nestjs/nest) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.3.10` -> `10.4.1`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.3.10/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.3.10/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.5.3` -> `19.6.0`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.5.3/19.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.5.3/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.5.3/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.17.0` -> `5.18.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.17.0/5.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.17.0` -> `5.18.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.17.0/5.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.21.1` -> `2.22.2`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.21.1/2.22.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.21.1/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.21.1/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/integrations](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/integrations) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`7.118.0` -> `7.119.0`](https://renovatebot.com/diffs/npm/@sentry%2fintegrations/7.118.0/7.119.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fintegrations/7.119.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fintegrations/7.119.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fintegrations/7.118.0/7.119.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fintegrations/7.118.0/7.119.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.20.0` -> `8.26.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.20.0/8.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.20.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.20.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.20.0` -> `8.26.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.20.0/8.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.20.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.20.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.21.1` -> `2.22.2`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.21.1/2.22.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.21.1/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.21.1/2.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.6.13` -> `1.7.12`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.6.13/1.7.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.6.13/1.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.6.13/1.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@tanstack/react-table](https://tanstack.com/table) ([source](https://togithub.com/TanStack/table/tree/HEAD/packages/react-table)) | [`8.19.3` -> `8.20.1`](https://renovatebot.com/diffs/npm/@tanstack%2freact-table/8.19.3/8.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-table/8.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-table/8.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-table/8.19.3/8.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-table/8.19.3/8.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@toeverything/theme](https://togithub.com/toeverything/design) | [`1.0.4` -> `1.0.5`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.0.4/1.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.0.4/1.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.0.4/1.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.12` -> `20.16.1`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.12/20.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.12/20.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.12/20.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/ws](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ws) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws)) | [`8.5.11` -> `8.5.12`](https://renovatebot.com/diffs/npm/@types%2fws/8.5.11/8.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fws/8.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fws/8.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fws/8.5.11/8.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fws/8.5.11/8.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/css](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css)) | [`1.15.3` -> `1.15.4`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fcss/1.15.3/1.15.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fcss/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fcss/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fcss/1.15.3/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fcss/1.15.3/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/dynamic](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/dynamic)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fdynamic/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fdynamic/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fdynamic/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fdynamic/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fdynamic/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/webpack-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.11` -> `2.3.12`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.11/2.3.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.11/2.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.11/2.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [autoprefixer](https://togithub.com/postcss/autoprefixer) | [`10.4.19` -> `10.4.20`](https://renovatebot.com/diffs/npm/autoprefixer/10.4.19/10.4.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/autoprefixer/10.4.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/autoprefixer/10.4.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/autoprefixer/10.4.19/10.4.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/autoprefixer/10.4.19/10.4.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [commitlint](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint)) | [`19.3.0` -> `19.4.0`](https://renovatebot.com/diffs/npm/commitlint/19.3.0/19.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/commitlint/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/commitlint/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/commitlint/19.3.0/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commitlint/19.3.0/19.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [core-js](https://togithub.com/zloirock/core-js) ([source](https://togithub.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.37.1` -> `3.38.0`](https://renovatebot.com/diffs/npm/core-js/3.37.1/3.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.37.1/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.37.1/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [core-js](https://togithub.com/zloirock/core-js) ([source](https://togithub.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.37.1` -> `3.38.0`](https://renovatebot.com/diffs/npm/core-js/3.37.1/3.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.37.1/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.37.1/3.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cssnano](https://togithub.com/cssnano/cssnano) | [`7.0.4` -> `7.0.5`](https://renovatebot.com/diffs/npm/cssnano/7.0.4/7.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.4/7.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.4/7.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`~30.2.0` -> `~30.4.0`](https://renovatebot.com/diffs/npm/electron/30.2.0/30.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.2.0/30.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.2.0/30.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`8.1.7` -> `8.1.8`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.1.7/8.1.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.1.7/8.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.1.7/8.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.23.0` -> `0.23.1`](https://renovatebot.com/diffs/npm/esbuild/0.23.0/0.23.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [file-type](https://togithub.com/sindresorhus/file-type) | [`19.3.0` -> `19.4.1`](https://renovatebot.com/diffs/npm/file-type/19.3.0/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/19.3.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/19.3.0/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [husky](https://togithub.com/typicode/husky) | [`9.1.2` -> `9.1.4`](https://renovatebot.com/diffs/npm/husky/9.1.2/9.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.1.2/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.1.2/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | [`23.12.2` -> `23.13.0`](https://renovatebot.com/diffs/npm/i18next/23.12.2/23.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.12.2/23.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.12.2/23.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [is-svg](https://togithub.com/sindresorhus/is-svg) | [`5.0.1` -> `5.1.0`](https://renovatebot.com/diffs/npm/is-svg/5.0.1/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/is-svg/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/is-svg/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/is-svg/5.0.1/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/is-svg/5.0.1/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.9.1` -> `2.9.3`](https://renovatebot.com/diffs/npm/jotai/2.9.1/2.9.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.9.1/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.9.1/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.9.1` -> `2.9.3`](https://renovatebot.com/diffs/npm/jotai/2.9.1/2.9.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.9.1/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.9.1/2.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`0.10.0` -> `0.10.1`](https://renovatebot.com/diffs/npm/jotai-devtools/0.10.0/0.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`0.10.0` -> `0.10.1`](https://renovatebot.com/diffs/npm/jotai-devtools/0.10.0/0.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`0.7.0` -> `0.7.1`](https://renovatebot.com/diffs/npm/jotai-scope/0.7.0/0.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.7.0/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.7.0/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lib0](https://togithub.com/dmonad/lib0) | [`0.2.95` -> `0.2.97`](https://renovatebot.com/diffs/npm/lib0/0.2.95/0.2.97) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.95/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.95/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lib0](https://togithub.com/dmonad/lib0) | [`0.2.95` -> `0.2.97`](https://renovatebot.com/diffs/npm/lib0/0.2.95/0.2.97) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.95/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.95/0.2.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lint-staged](https://togithub.com/lint-staged/lint-staged) | [`15.2.7` -> `15.2.9`](https://renovatebot.com/diffs/npm/lint-staged/15.2.7/15.2.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.7/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.7/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lit](https://lit.dev/) ([source](https://togithub.com/lit/lit/tree/HEAD/packages/lit)) | [`3.1.4` -> `3.2.0`](https://renovatebot.com/diffs/npm/lit/3.1.4/3.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lit/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lit/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lit/3.1.4/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lit/3.1.4/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.408.0` -> `^0.428.0`](https://renovatebot.com/diffs/npm/lucide-react/0.408.0/0.428.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.408.0/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.408.0/0.428.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel-browser](https://togithub.com/mixpanel/mixpanel-js) | [`2.54.0` -> `2.55.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.54.0/2.55.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.54.0/2.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.54.0/2.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://togithub.com/mswjs/msw)) | [`2.3.4` -> `2.3.5`](https://renovatebot.com/diffs/npm/msw/2.3.4/2.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.3.4/2.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.3.4/2.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.7` -> `3.0.0-alpha.8` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.6` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://togithub.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.14.0` -> `3.15.0`](https://renovatebot.com/diffs/npm/nest-commander/3.14.0/3.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nest-commander/3.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nest-commander/3.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nest-commander/3.14.0/3.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nest-commander/3.14.0/3.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [nestjs-throttler-storage-redis](https://togithub.com/kkoomen/nestjs-throttler-storage-redis) | [`^0.4.1` -> `^0.5.0`](https://renovatebot.com/diffs/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-throttler-storage-redis/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-throttler-storage-redis/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.1` -> `20.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.5.3` -> `19.6.0`](https://renovatebot.com/diffs/npm/nx/19.5.3/19.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.5.3/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.5.3/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://togithub.com/openai/openai-node) | [`4.53.2` -> `4.56.0`](https://renovatebot.com/diffs/npm/openai/4.53.2/4.56.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.53.2/4.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.53.2/4.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| openresty/openresty | `1.25.3.1-0-buster` -> `1.25.3.2-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.46.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [postcss](https://postcss.org/) ([source](https://togithub.com/postcss/postcss)) | [`8.4.40` -> `8.4.41`](https://renovatebot.com/diffs/npm/postcss/8.4.40/8.4.41) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.40/8.4.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.40/8.4.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.17.0` -> `5.18.0`](https://renovatebot.com/diffs/npm/prisma/5.17.0/5.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.17.0/5.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-hook-form](https://www.react-hook-form.com) ([source](https://togithub.com/react-hook-form/react-hook-form)) | [`7.52.1` -> `7.52.2`](https://renovatebot.com/diffs/npm/react-hook-form/7.52.1/7.52.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.52.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.52.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.52.1/7.52.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.52.1/7.52.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-i18next](https://togithub.com/i18next/react-i18next) | [`15.0.0` -> `15.0.1`](https://renovatebot.com/diffs/npm/react-i18next/15.0.0/15.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/15.0.0/15.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.0.0/15.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-refresh](https://reactjs.org/) ([source](https://togithub.com/facebook/react/tree/HEAD/packages/react)) | [`^0.10.0` -> `^0.14.0`](https://renovatebot.com/diffs/npm/react-refresh/0.10.0/0.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-refresh/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-refresh/0.10.0/0.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-resizable-panels](https://togithub.com/bvaughn/react-resizable-panels) | [`2.0.22` -> `2.1.0`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.0.22/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.0.22/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.0.22/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-router-dom](https://togithub.com/remix-run/react-router) ([source](https://togithub.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.25.1` -> `6.26.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.25.1/6.26.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge
2024-08-19 07:51:51 +00:00
pengx17
4a89b1a5dd fix(electron): adjust tab styles (#7919)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/121ee595-99f0-43cb-be5f-ca1bdd15d6ca.png)

fix AF-1261
2024-08-19 06:15:06 +00:00
JimmFly
4916eea24f feat(core): new share menu (#7838)
close AF-1224 AF-1216

![image](https://github.com/user-attachments/assets/204c408a-3dab-4068-86f6-e20abcfa863c)
2024-08-19 05:51:05 +00:00
EYHN
cfac3ebf1f feat(core): workbench open doc in mode (#7906) 2024-08-19 02:37:33 +00:00
pengx17
e0a91f63d3 fix(core): tag menu should not accept keyboard shortcut when renaming tag (#7913)
fix #7890, fix PD-1603
2024-08-18 08:29:25 +00:00
pengx17
23c73243ab chore(electron): re-enable sentry for electron (#7898)
related
https://github.com/toeverything/AFFiNE/pull/7001
2024-08-17 04:32:49 +00:00
renovate[bot]
f324fa4719 chore: bump up storybook monorepo to v8 (major) (#6068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-08-16 11:42:24 +00:00
EYHN
c822594882 feat(core): mode in query string (#7904) 2024-08-16 10:59:43 +00:00
EYHN
83716c2fd9 feat(core): share in workspace link (#7897)
ShareDocsService -> ShareDocsListService
ShareService -> ShareInfoService
(*new) ShareReaderService

`/share/:workspaceId/:docId` -> redirect to -> `/workspace/:workspaceId/:docId`

workspace loading process

1. find workspace in workspace list
2. (if not found) revalidate workspace list
3. (if still not found) try load share page
4. (if share page found) => share page
5. (if share page not found) => 404
6. (if workspace found) => workspace page
2024-08-16 09:12:18 +00:00
L-Sun
620d20710a chore: bump bs (#7899)
Bump blocksuite from https://github.com/toeverything/blocksuite/pull/7934

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7985 @L-Sun

## Misc
- https://github.com/toeverything/BlockSuite/pull/7971 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7965 @doouding
2024-08-16 08:46:16 +00:00
CatsJuice
cfc367efe7 feat(component): add more customizable prop for radio-group with new story (#7850)
![CleanShot 2024-08-13 at 16.40.22@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/06a128c3-f0bb-47f9-babf-6d4eca2597d7.png)
2024-08-16 07:19:16 +00:00
pengx17
69c507fded fix(electron): do not use async callback in onBeforeSendHeaders (#7894)
it seems using async callback for onBeforeSendHeaders may crash the app.
the main reason why it is async is to read the cookies from session.

fix AF-1172
2024-08-16 05:17:47 +00:00
pengx17
b57ce4646f chore(electron): adjust log level (#7887) 2024-08-16 05:17:46 +00:00
Brooooooklyn
dba024d561 docs: update LICENSE description (#7869) 2024-08-15 14:29:07 +00:00
darkskygit
e26ba48a45 feat: update ingress health check (#7888) 2024-08-15 12:16:25 +00:00
forehalo
e53dde7944 test(server): all instance variants (#7882) 2024-08-15 10:01:54 +00:00
forehalo
624f3514fc feat(server): make permission a standalone module (#7880) 2024-08-15 10:01:52 +00:00
donteatfriedrice
ba8958f39b fix: chat block peek view input reset height (#7884)
[BS-1202](https://linear.app/affine-design/issue/BS-1202/ai-chat-block-输入大段内容发送后输入框-resize-问题)
2024-08-15 08:08:00 +00:00
pengx17
9af0e53ae2 fix(electron): header button not working on linux (#7883)
tested locally on windows/linux(vm)
2024-08-15 04:39:47 +00:00
forehalo
5a2f93f035 chore(admin): disable ai settings (#7877) 2024-08-15 02:50:46 +00:00
forehalo
9192ac4420 fix(server): command line nestjs does not have http adapter (#7876) 2024-08-14 13:41:23 +00:00
liuyi
57449c1530 fix(server): redirect to setup page if not initialized (#7875) 2024-08-14 21:02:16 +08:00
EYHN
89537e6892 refactor(core): separate editor & doc mode (#7873)
doc.mode -> primaryMode
(*new) editor.mode

New Service:
editor service

Change Mode:

```
const editor = useService(EditorService).editor;
editor.setMode('page')
```

Change primary mode

```
const editor = useService(EditorService).editor;
editor.doc.setPrimaryMode('page')
```
2024-08-14 11:43:03 +00:00
EYHN
50948318e0 feat(core): use emoji as folder icon (#7842)
![CleanShot 2024-08-12 at 22.33.42.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/c0c1a196-be29-4e45-a28d-87a55d80fc9d.png)
2024-08-14 10:35:22 +00:00
EYHN
0504d0b0ff feat(core): init feature flag service (#7856) 2024-08-14 10:35:21 +00:00
darkskygit
339c39c1ec feat: improve prompt management (#7853) 2024-08-14 08:38:36 +00:00
forehalo
cd3924b8fc Revert "fix(server): redirect to setup page if not initialized (#7871)"
This reverts commit 42b5ef7a8b.
2024-08-14 16:37:52 +08:00
liuyi
42b5ef7a8b fix(server): redirect to setup page if not initialized (#7871) 2024-08-14 08:05:55 +00:00
donteatfriedrice
ad42418089 fix: add hover enter delay for ask ai button (#7872)
[AF-1075](https://linear.app/affine-design/issue/AF-1075/双击选中内容的时候,如果-toolbar-出现在内容上方,ai-action-会自动展开)
2024-08-14 07:27:17 +00:00
forehalo
99e70c91e8 perf(core): avoid page init when only id required (#7867) 2024-08-14 05:22:18 +00:00
doouding
05ac3dbdcb feat: bump bs (#7866) 2024-08-14 04:42:20 +00:00
JimmFly
994b539507 fix(admin): user form not dynamically updating as expected (#7858)
- Fixed the issue that a certain feature must be enabled when creating a user
- Fixed the issue that the modified content was not reset to the default content when exiting the user form without saving after modification
- Fixed the issue that the content did not switch as expected when switching user forms of different users

https://github.com/user-attachments/assets/02567021-9342-4ed1-be77-3bdcbb3d86ab
2024-08-14 04:28:15 +00:00
pengx17
d5edadabe6 fix(electron): cmd+num not working on mac (#7865)
fix AF-1248
hidden menu group + acceleratorWorksWhenHidden does not work on mac
2024-08-14 04:14:16 +00:00
JimmFly
05247bb24e fix(admin): frequent query requests in the search (#7854) 2024-08-14 03:49:45 +00:00
forehalo
f69f026ac3 fix(admin): avoid frequent refetch (#7863) 2024-08-14 03:34:41 +00:00
forehalo
015247345c chore(admin): organize massive routes (#7857) 2024-08-14 03:34:38 +00:00
forehalo
0ba516866f fix(server): change password with token should be public (#7855) 2024-08-14 03:34:35 +00:00
forehalo
7afba6b8b5 fix(server): prelude should load both local and remote config file (#7852) 2024-08-14 03:34:33 +00:00
renovate
08cc15a55c chore: bump up oxlint version to v0.7.1 (#7846)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.7.0` -> `0.7.1`](https://renovatebot.com/diffs/npm/oxlint/0.7.0/0.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.7.0/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.7.0/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.7.1`](https://togithub.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#071---2024-08-12)

[Compare Source](3ac02fd838...972492cc4d)

##### Features

-   [`cc922f4`](https://togithub.com/oxc-project/oxc/commit/cc922f4) vscode: Provide config's schema to oxlint config files ([#&#8203;4826](https://togithub.com/oxc-project/oxc/issues/4826)) (Don Isaac)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-08-13 14:02:00 +00:00
DarkSky
24c34eb3fc fix: admin panel schema (#7851) 2024-08-13 09:16:56 +00:00
JimmFly
ba5ba71f35 chore: add test for all collection and all tag (#7687) 2024-08-13 08:19:54 +00:00
pengx17
d4065fee78 fix(electron): adjust app-tabs-header styles (#7849) 2024-08-13 08:06:30 +00:00
pengx17
d86f7f41dc fix: center peek support open in new tab (#7848) 2024-08-13 07:52:03 +00:00
liuyi
171a974904 fix(server): use timestamp with timezone (#7847) 2024-08-13 15:32:24 +08:00
forehalo
0ec1995add fix(admin): organize admin panel (#7840) 2024-08-13 14:51:54 +08:00
JimmFly
6dea831d8a fix(admin): handle error login status (#7646)
Fix unhandled error login status, modify style

https://github.com/user-attachments/assets/0b40807d-e17a-4d23-a168-4894adfa5998
2024-08-13 14:51:54 +08:00
JimmFly
b214003968 feat(admin): add prompt management page (#7611)
close AF-907

Supports online modification of prompt, but does not support custom ai key yet

![CleanShot 2024-07-29 at 22 12 39@2x](https://github.com/user-attachments/assets/c67ad0d0-3e5b-44ff-b7db-d07dd11c19e2)
2024-08-13 14:51:54 +08:00
JimmFly
bf6e36de37 feat(admin): add server runtime config settings (#7618) 2024-08-13 14:51:31 +08:00
JimmFly
7f7c0519a0 feat(admin): add config page to admin (#7619) 2024-08-13 14:38:39 +08:00
liuyi
83a9beed83 fix(electron): app got deleted when auto update on windows (#7820) 2024-08-13 14:26:26 +08:00
EYHN
1db6b9fe3b refactor(infra): remove setimmediate (#7821) 2024-08-13 14:25:33 +08:00
JimmFly
ccf225c8f9 feat(admin): add self-host setup and user management page (#7537) 2024-08-13 06:11:03 +00:00
Lye Hongtao
dc519348c5 feat: bump bs (#7836) 2024-08-13 14:05:49 +08:00
renovate
10f4eaf2bd chore: bump up vitest-mock-extended version to v2 (#7584)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vitest-mock-extended](https://togithub.com/eratio08/vitest-mock-extended) | [`^1.3.1` -> `^2.0.0`](https://renovatebot.com/diffs/npm/vitest-mock-extended/1.3.2/2.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-mock-extended/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-mock-extended/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-mock-extended/1.3.2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-mock-extended/1.3.2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>eratio08/vitest-mock-extended (vitest-mock-extended)</summary>

### [`v2.0.0`](https://togithub.com/eratio08/vitest-mock-extended/releases/tag/v2.0.0)

[Compare Source](https://togithub.com/eratio08/vitest-mock-extended/compare/v1.3.2...v2.0.0)

##### chore

-   Adjust package version to 2.0 ([b867078](b86707812b))

##### BREAKING CHANGES

-   Require at least vitest 2.0 as peer dependency

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM4LjIwLjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-08-13 04:03:07 +00:00
renovate
d365494fef chore: bump up vite-plugin-dts version to v4 (#7762)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.9.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.9.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.9.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.9.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

### [`v4.0.2`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#402-2024-08-09)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v4.0.1...v4.0.2)

##### Bug Fixes

-   ensure inserted index file be a module ([f93e98c](f93e98cd84)), closes [#&#8203;365](https://togithub.com/qmhc/vite-plugin-dts/issues/365)

### [`v4.0.1`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#401-2024-08-07)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v4.0.0...v4.0.1)

##### Bug Fixes

-   correctly match normal export ([589901f](589901fead)), closes [#&#8203;362](https://togithub.com/qmhc/vite-plugin-dts/issues/362)

### [`v4.0.0`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#400-2024-08-06)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.9.1...v4.0.0)

##### Bug Fixes

-   remove global types for vue declaration files ([e873107](e8731077f3)), closes [#&#8203;354](https://togithub.com/qmhc/vite-plugin-dts/issues/354)
-   resolve module preserve to esnext for rollup ([710400a](710400a276)), closes [#&#8203;358](https://togithub.com/qmhc/vite-plugin-dts/issues/358)
-   sync diff line to mappings after transform ([cd5ba32](cd5ba32148)), closes [#&#8203;356](https://togithub.com/qmhc/vite-plugin-dts/issues/356)
-   typescript lib path resolution for rollup in monorepo ([#&#8203;360](https://togithub.com/qmhc/vite-plugin-dts/issues/360)) ([da4af65](da4af6542e))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xOC4xNyIsInVwZGF0ZWRJblZlciI6IjM4LjIwLjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-08-13 03:48:23 +00:00
forehalo
69c64b2fc2 fix(core): checkout event (#7844) 2024-08-13 03:35:38 +00:00
forehalo
dc41ffbe2f chore(core): enable mixpanel ignore_dnt flag (#7841) 2024-08-13 03:35:37 +00:00
JimmFly
9037e6695e feat(core): add configuration for experimental features (#7699)
close AF-1218 AF-1219

Added configuration for experimental features

Example:
```
const blocksuiteFeatureFlags = {
  ...
  enable_expand_database_block: {
    displayName: 'Enable Expand Database Block',
    description: 'Allows expanding database blocks for better view and management.',
    feedbackType: 'discord',
    displayChannel: ['stable', 'beta', 'canary', 'internal'],
    restrictedPlatform: 'client'
  },
    enable_ai_onboarding: {
    displayName: 'AI Onboarding',
    description: 'Enables AI onboarding.',
    displayChannel: [],
    defaultState: true,
  },
  ...
}

```

![CleanShot 2024-08-02 at 12 26 36@2x](https://github.com/user-attachments/assets/98b1e8e7-cd8b-4309-8063-323b2f3b5a94)
2024-08-13 02:26:05 +00:00
CatsJuice
6228b27271 feat(core): new theme editor poc (#7810) 2024-08-12 04:12:51 +00:00
CatsJuice
75e02bb088 feat(core): rewrite page-mode-switch with RadioGroup, bind hotkey with cmdk (#7758)
close AF-1170

- bump `@toeverything/theme`
- refactor page-mode-switch
  - use global `<RadioGroup />`
  - reuse for doc history
  - remove `styled` usage
  - bind hotkey via cmdk
- Update `<RadioGroup />` color scheme with latest design system
- Update right sidebar header tab style
- Update tooltip with shortcut for app nav button
2024-08-12 03:56:56 +00:00
hwangdev97
4ac9bd7790 feat(i18n): fix i18n en-Us & en json english style (#7834) 2024-08-12 03:19:13 +00:00
pengx17
a6169ab26a fix: do not use globalShortcut for tab switching (#7827)
fix #7826
2024-08-11 07:56:47 +00:00
pengx17
d82f4b5461 fix: center peek responsiveness update (#7814)
fix PD-1407
2024-08-09 11:48:50 +00:00
EYHN
a579cc7716 fix(core): better search result (#7819) 2024-08-09 10:37:27 +00:00
EYHN
b993ab04df fix(core): some doc missing in search result (#7818) 2024-08-09 10:37:24 +00:00
forehalo
eef9afd3ed chore: bump base version to 0.16.0 2024-08-09 18:30:07 +08:00
Cats Juice
06d5d9719c fix(core): wrong color of ai-subscribe button (#7816) 2024-08-09 09:44:09 +00:00
Cats Juice
f8e51112aa fix(core): sidebar renaming menu pos (#7798) 2024-08-09 17:06:55 +08:00
Cats Juice
e8d5692062 fix(core): sidebar unauthorized user avatar should center vertically (#7812) 2024-08-09 16:52:29 +08:00
EYHN
d2b0ee40a8 fix(core): disable blocksuite indexer (#7813) 2024-08-09 08:24:44 +00:00
EYHN
3ad5170b71 fix(core): hidden open in split view in browser (#7811) 2024-08-09 07:50:07 +00:00
pengx17
8209e84842 chore(electron): disable parallel execution of electron tests (#7789) 2024-08-09 07:33:16 +00:00
pengx17
fc19180451 fix(electron): missing collection name in tab header (#7807)
fix AF-1177
2024-08-09 07:02:38 +00:00
pengx17
009b5353b1 fix(electron): shell should import renderer css in dev (#7805) 2024-08-09 07:02:34 +00:00
EYHN
4beedaa22c fix(core): delete from folder not work (#7806) 2024-08-09 06:49:20 +00:00
CatsJuice
26fd9a4a1c feat(component): add autoFocusConfirmButton for confirm-modal (#7801)
close #5813

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">CleanShot 2024-08-09 at 11.25.46.mp4</video>
2024-08-09 05:50:22 +00:00
EYHN
b2c00a2618 fix(core): typo in migration text (#7804) 2024-08-09 05:23:52 +00:00
JimmFly
85637156f6 chore: adjust i18n (#7800) 2024-08-09 04:10:18 +00:00
EYHN
c006f3f0af fix(core): reduce indexer performance impact (#7803) 2024-08-09 11:57:06 +08:00
EYHN
7efc87b6d3 chore(core): adjust migration text (#7802) 2024-08-09 11:50:52 +08:00
Tasnim Tantawi
450106ea54 feat(i18n): add Arabic (#7795) 2024-08-09 10:08:52 +08:00
EYHN
ffc12176c9 fix(electron): fix electron global state sync (#7793) 2024-08-08 12:02:10 +00:00
L-Sun
3d4fbcaebc fix(core): can not get chrome version in desktop mode in iOS (#7791) 2024-08-08 18:37:25 +08:00
pengx17
8db37e9bbf feat: cmd click support for journal sidebar (#7792)
fix AF-1214

The titles are also corrected:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/b7cd888f-b080-4800-a868-c37cbb0b9cbb.png)
2024-08-08 10:22:11 +00:00
pengx17
7fca13076a feat: mid click links to open in new tab (#7784)
fix AF-1200
2024-08-08 09:43:35 +00:00
EYHN
fd6e198295 chore: bump blocksuite (#7788) 2024-08-08 09:27:44 +00:00
pengx17
b71945c29f chore: tracking events for app tabs header (#7778)
fix AF-1194
2024-08-08 09:14:47 +00:00
EYHN
6ef5675be1 feat(core): better search result (#7787) 2024-08-08 08:56:55 +00:00
EYHN
c7aabd3a8d feat(core): highlight doc title in search result (#7786) 2024-08-08 08:56:51 +00:00
CatsJuice
03fd23de39 fix(core): cloud s subscription resume button's content is blank (#7783) 2024-08-08 08:43:05 +00:00
forehalo
f2eafc374c feat(server): authenticate user before ws connected (#7777) 2024-08-08 08:30:56 +00:00
EYHN
83244f0201 fix(core): trash doc in search result (#7785) 2024-08-08 08:17:48 +00:00
pengx17
f62d30527b fix: onboarding stage not shown (#7782)
fix AF-1199
2024-08-08 03:58:11 +00:00
donteatfriedrice
025abc6169 fix: ai chat block center peek animation (#7781) 2024-08-08 02:17:06 +00:00
L-Sun
58b43582e1 chore: bump blocksuite (#7779)
## Features
- https://github.com/toeverything/BlockSuite/pull/7870 @L-Sun

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7856 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7868 @doouding
- https://github.com/toeverything/BlockSuite/pull/7869 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7866 @doouding
- https://github.com/toeverything/BlockSuite/pull/7867 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7872 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7873 @doouding
- https://github.com/toeverything/BlockSuite/pull/7871 @fundon

## Misc
- https://github.com/toeverything/BlockSuite/pull/7874 @Saul-Mirone
2024-08-07 13:45:40 +00:00
L-Sun
ff68efb206 chore: bump blocksuite (#7776)
## Features
- https://github.com/toeverything/BlockSuite/pull/7859 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7855 @darkskygit
- https://github.com/toeverything/BlockSuite/pull/7858 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7843 @doouding
- https://github.com/toeverything/BlockSuite/pull/7863 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7865 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7860 @doouding
- https://github.com/toeverything/BlockSuite/pull/7857 @fundon

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7862 @L-Sun

## Misc
- https://github.com/toeverything/BlockSuite/pull/7833 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7864 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7861 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7849 @Saul-Mirone
2024-08-07 09:45:09 +00:00
CatsJuice
c8f4766ceb fix(component): center button's icon vertically (#7775)
close AF-1211
2024-08-07 09:31:23 +00:00
EYHN
d968cfe425 fix(infra): better search result (#7774) 2024-08-07 09:16:43 +00:00
Ikko Eltociear Ashimine
2f0e39b702 fix(core): update en.json (#7765) 2024-08-07 17:16:14 +08:00
JimmFly
4e03edba44 feat(i18n): add Spanish(Argentina) and Urdu (#7771)
Support for various languages has been updated, and `Spanish (Argentina)` and `Urdu` have been added. Many thanks to the community contributors for their ongoing translation efforts.
2024-08-07 08:57:23 +00:00
pengx17
00ee2a8852 fix(electron): always show traffic light for mac (#7773)
fix AF-1209, fix PD-1550
2024-08-07 08:44:35 +00:00
CatsJuice
75a308ac79 fix(core): optimize explorer's dnd behaviors (#7769)
close AF-1198, AF-1169, AF-1204, AF-1167, AF-1168

- **fix**: empty favorite cannot be dropped(AF-1198)
- **fix**: folder close animation has a unexpected delay
- **fix**: mount explorer's DropEffect to body to avoid clipping(AF-1169)
- **feat**: drop on empty organize to create folder and put item into it(AF-1204)
- **feat**: only show explorer section's action when hovered(AF-1168)
- **feat**: animate folder icon when opened(AF-1167)
- **chore**: extract dnd related `dropEffect`, `canDrop` functions outside component
2024-08-07 08:29:19 +00:00
donteatfriedrice
f35dc744dd fix: render ai chat block in embed doc and surface ref (#7747)
[BS-1017](https://linear.app/affine-design/issue/BS-1017/含有chat-block的页面被embed时,embed预览不会渲染chatblock)

related: https://github.com/toeverything/blocksuite/pull/7845
2024-08-07 06:55:51 +00:00
pengx17
ae9381c36d feat: allow opening new tab for some navigation buttons (#7764)
fix AF-1010
2024-08-07 06:43:10 +00:00
donteatfriedrice
e1087a0c7b fix: remove chat block button flag (#7767) 2024-08-07 06:31:04 +00:00
JimmFly
eb01e76426 feat(core): add track events for cmdk (#7668) 2024-08-07 05:52:42 +00:00
JimmFly
67dce9c97a feat(core): add track events for page info (#7667) 2024-08-07 05:52:41 +00:00
JimmFly
7edd78884e feat(core): add track events for page option (#7664) 2024-08-07 05:52:41 +00:00
JimmFly
74025fc85e feat(core): add track events for editor header (#7661)
close AF-1054
2024-08-07 05:52:40 +00:00
pengx17
b5e543c406 feat(electron): mouse middle click to close tab (#7759)
fix AF-1200
2024-08-07 05:19:45 +00:00
donteatfriedrice
352ceca94b fix: chat action button style (#7766)
[PD-1547](https://linear.app/affine-design/issue/PD-1547/ui-bug-chat-block-面板生成结果的-action-按钮的高度不对)
2024-08-07 04:59:26 +00:00
akumatus
f3855c57b4 fix: can not create a new edgeless doc with "@" on edgeless (#7772)
Close issue [BS-935](https://linear.app/affine-design/issue/BS-935).
2024-08-07 04:46:13 +00:00
L-Sun
f6279ee47f chore(core): remove outline viewer feature flag (#7770) 2024-08-07 03:46:15 +00:00
EYHN
aee24ffb31 fix(core): migration favorite appear again (#7768) 2024-08-07 03:31:06 +00:00
EYHN
96fed60655 chore: bump blocksuite (#7751)
## Features
- https://github.com/toeverything/BlockSuite/pull/7850 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7848 @L-Sun

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7853 @doouding
- https://github.com/toeverything/BlockSuite/pull/7838 @fundon
- https://github.com/toeverything/BlockSuite/pull/7851 @donteatfriedrice

## Refactor

## Misc
2024-08-07 02:52:44 +00:00
EYHN
dd74cfea14 chore(core): remove old favorite (#7743)
closes AF-1203
2024-08-07 02:19:53 +00:00
pengx17
c2cf331ff7 fix(electron): fix tab view blink issue on open new tab (#7748)
fix AF-1197
2024-08-06 15:57:40 +00:00
darkskygit
744cc542de feat: handle copilot error (#7760)
fix BS-729 CLOUD-32 PD-1529
2024-08-06 11:19:35 +00:00
fundon
601f5fef95 chore(core): theme v1.0.2 (#7746) 2024-08-06 10:54:09 +00:00
darkskygit
14669b9ced feat: improve continue to chat compatibility (#7757)
fix AF-1152
2024-08-06 09:15:42 +00:00
darkskygit
5872b884a5 fix: increase image limit of copilot (#7756)
fix AF-1080 AF-1154
2024-08-06 09:15:40 +00:00
liuyi
d0f1bb24fd chore(core): replace with new track impl (#7735) 2024-08-06 09:15:15 +00:00
renovate[bot]
7373e174db chore: bump up fast-xml-parser version to v4.4.1 [SECURITY] (#7752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 16:54:24 +08:00
forehalo
cc09085dc2 feat(core): make event track great again (#7695)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/5c0ymolP9B7QStCsS1RP/6a3941d9-4409-4eda-987b-88ae41bd72d4.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/5c0ymolP9B7QStCsS1RP/3e9cedec-5457-4e7a-9125-63aab7247cd2.png)
2024-08-06 08:39:29 +00:00
darkskygit
f93743dae6 fix: reset height after send (#7755)
fix PD-1427
2024-08-06 08:25:28 +00:00
darkskygit
de7933c1dd fix: dont limit text block height in chat panel (#7754)
fix PD-1368
2024-08-06 08:25:27 +00:00
pengx17
ca7c221d23 fix(electron): onboarding not shown (#7753)
fix AF-1199
2024-08-06 07:54:32 +00:00
EYHN
873e6faef2 chore: bump @blocksuite/icons (#7749) 2024-08-06 05:32:19 +00:00
CatsJuice
5938d8b259 feat(core): add tooltip and toast for organize operations (#7725)
close AF-1138, AF-1139, AF-1165
2024-08-06 02:07:10 +00:00
EYHN
cd4e462d8c fix(core): transform workspace db when enable cloud (#7744) 2024-08-05 15:17:19 +00:00
pengx17
a03831f2a2 fix(electron): whitescreen issue (#7742)
1. non-blurred mode whitescreen issue
2. should not close tab with cmd+w for pinned tabs
2024-08-05 14:09:22 +00:00
pengx17
0d7de67e01 refactor(electron): reduce the number of listeners for ipc (#7740)
previously there are quite a lot of api/events handlers registered on ipcMain/ipcRenderer. After this PR, the number should be significantly reduced, which will benefit performance.
2024-08-05 13:33:31 +00:00
darkskygit
0acc1bd9e8 chore: cleanup outdated model & upgrade model (#7739) 2024-08-05 10:13:33 +00:00
EYHN
e6e9f7d4c7 feat(core): enable feature flag for release (#7738) 2024-08-05 09:53:11 +00:00
pengx17
9f57ed5e84 fix(electron): find in page input border blink issue (#7737) 2024-08-05 09:27:21 +00:00
JimmFly
9cc976ce2e fix(core): canvas text adapts to input scrolling (#7733)
close PD-1539
Fixed the problem that the input text in find in page cannot be scrolled correctly.
2024-08-05 09:27:18 +00:00
CatsJuice
6d253c0600 fix(core): add favorite folder in menu, adjust empty-page new page button (#7730)
close AF-1150, AF-1128, AF-1131
- Replace favorite migration related copy
- Adjust empty page's "New Page" button
  ![CleanShot 2024-08-05 at 15.16.06@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/1cf7d75a-a33a-4eec-9dc1-87d50d9526f1.png)
- Add toggle favorite to folder menu
  ![CleanShot 2024-08-05 at 15.17.50@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/af6116b5-47d1-49a6-9660-41c0d7cd8fd3.png)
- Adjust `Button`
  - add `withoutHover` state
  - remove cursor: not-allowed when disabled
2024-08-05 09:15:17 +00:00
darkskygit
73a6723d15 fix: use correct user id in forked session (#7710) 2024-08-05 09:03:11 +00:00
pengx17
5050418c1a fix(electron): app ghosting issue when quickly opening new tabs (#7736)
fix PD-1519
2024-08-05 08:51:11 +00:00
pengx17
5ab1210c9c fix(electron): drop indicator position (#7734) 2024-08-05 08:03:13 +00:00
pengx17
51848ff6c3 fix(electron): allow close pinned tab (#7732) 2024-08-05 08:03:12 +00:00
pengx17
5f52547d9e fix(electron): tab title/icon default state (#7731) 2024-08-05 07:39:51 +00:00
pengx17
561fa46232 fix(electron): add i18n setup for shell (#7728)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/1ef2a050-c372-4b8f-8bf0-b1e557e11f29.png)
2024-08-05 06:52:14 +00:00
renovate[bot]
7a66212568 chore: bump up oxlint version to v0.7.0 (#7727) 2024-08-05 14:46:59 +08:00
pengx17
51ca7657d8 feat(electron): new tab/split view entries (#7708)
fix AF-1146
2024-08-05 05:37:50 +00:00
L-Sun
bd31c8388c fix(core): update outline viewer style (#7641)
## What changes
- Update responsive style and fix some bug of outline viewer (https://github.com/toeverything/blocksuite/pull/7759)
- Change left and right padding of full-width editor from `15px` to `72px`
- Hide outline viewer when side outline panel is opened ([BS-987](https://linear.app/affine-design/issue/BS-987/逻辑-bug-toc-入口和-toc-侧边栏共存))
- Add entries of outline panel and frame panel in more menu of detail page header ( [BS-996](https://linear.app/affine-design/issue/BS-996/page-mode-下的-page-option-缺少-view-table-of-contents-的入口) , [BS-1006](https://linear.app/affine-design/issue/BS-1006/edgeless-mode-的-page-options-里缺少-view-all-frames))
- Add outline viewer to dock peek preview ( [BS-995](https://linear.app/affine-design/issue/BS-995/center-peek-里缺少-quick-toc-的入口) )
- Add more e2e tests for outline viewer
2024-08-05 03:57:48 +00:00
L-Sun
545bd032a7 fix(core): app height exceeds viewport of mobile (#7706)
TL;DR
use `100dvh` instead of `100vh`.

https://stackoverflow.com/a/72245072

PS: The `100dvh` is tested in Firefox in macOS

## Before
iPad
<img src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/c81548ed-7ca0-4f88-af7c-cce498958a28.png" width="250">

Phone
<img src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/4559554d-6f3f-445f-82c1-39a0dc2eb664.png" width="250">

## After
iPad
<img src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/51fe97f9-f488-432c-9866-20524efd08de.png" width="250">

Phone
<img src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/a05cce56-38a5-47df-a0c6-f757d94ef6b8.png" width="250">
2024-08-05 03:42:15 +00:00
pengx17
e3878ae8bf build(electron): nightly build issue for windows (#7649)
ref https://github.com/toeverything/AFFiNE/actions/runs/10156494874/job/28085093900
2024-08-05 03:28:02 +00:00
pengx17
c0c5c83dad fix(electron): should activate the target tab when closing other tabs (#7704)
fix PD-1520
2024-08-05 03:11:55 +00:00
pengx17
cbdcfdc2d8 fix(electron): duplicate tab views issue (#7703)
fix PD-1523
2024-08-05 03:11:52 +00:00
pengx17
741ff2379e fix(electron): reload view in tab context menu issue (#7702)
fix PD-1524
2024-08-05 03:11:50 +00:00
pengx17
9307acf0de fix(core): ctrl/cmd + click on add page button opens in new tab (#7701)
fix PD-1521
2024-08-05 03:11:47 +00:00
pengx17
0468355593 test(electron): adjust expect timeout for CI (#7707) 2024-08-05 03:11:44 +00:00
CatsJuice
249f3471c9 feat(component): shortcut style for tooltip (#7721)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/2e68337c-91f1-4ea7-8426-7fb33be02081.png)

- New `shortcut` prop for `<Tooltip />`
  - single key
      ```tsx
      <Tooltip shortcut="T" />
      ```
  - multiple
      ```tsx
      <Tooltip shortcut={["⌘",  "K"]} />
      ```
- Round tooltip's arrow
- Use new design system colors
- Replace some usage
  - App sidebar switch
  - Editor mode switch
  - New tab (new)
2024-08-05 02:57:24 +00:00
CatsJuice
3d855647c7 refactor(component): refactor the implementation of Button and IconButton (#7716)
## Button
- Remove props withoutHoverStyle
   refactor hover impl with independent layer, so that hover-color won't affect the background even if is overridden outside
- Update `type` (renamed to `variant`):
  - remove `processing` and `warning`
  - rename `default` with `secondary`
- Remove `shape` props
- Remove `icon` and `iconPosition`, replaced with `prefix: ReactNode` and `suffix: ReactNode`
- Integrate tooltip for more convenient usage
- New Storybook document
- Focus style

## IconButton
- A Wrapper base on `<Button />`
- Override Button size and variant
  - size: `'12' | '14' | '16' | '20' | '24' | number`
     These presets size are referenced from the design system.
  - variant:  `'plain' | 'solid' | 'danger' | 'custom'`
- Inset icon via Button 's prefix

## Fix
- fix some button related issues
- close AF-1159, AF-1160, AF-1161, AF-1162, AF-1163, AF-1158, AF-1157

## Storybook

![CleanShot 2024-08-03 at 14.57.20@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/f5a76110-35d0-4082-a940-efc12bed87b0.png)
2024-08-05 02:57:23 +00:00
donteatfriedrice
10deed94e3 fix: center peek message role (#7723) 2024-08-05 02:43:58 +00:00
EYHN
f108b95704 feat(core): tuning for better search (#7713) 2024-08-05 02:29:50 +00:00
EYHN
ad26102815 fix(core): fix scroll block into view (#7712) 2024-08-05 02:29:49 +00:00
EYHN
05448f50af fix(core): wrong display of 404 page (#7711) 2024-08-02 10:40:58 +00:00
EYHN
e54be7dc02 feat(core): loading ui for favorite and organize (#7700) 2024-08-02 07:17:01 +00:00
donteatfriedrice
94c5effdd5 fix: should save chat to block when doc mode (#7697)
[BS-1033](https://linear.app/affine-design/issue/BS-1033/在page模式下尝试存chat-block,被告知失败,预期是切换到白板模式直接操作成功)
2024-08-02 13:14:15 +08:00
donteatfriedrice
62fc7e2f4d fix: support chat in different doc (#7693)
fix:
[BS-990](https://linear.app/affine-design/issue/BS-990/避免centerpeek中发起的会话,等待ai返回时,页面失去响应)
[BS-1005](https://linear.app/affine-design/issue/BS-1005/chat-block无法被copy-paste到别的文档中,duplicate全篇文档后,可以center-peek)
2024-08-02 13:14:15 +08:00
donteatfriedrice
f7798a00c1 feat: patch edgeless clipboard to support cuntom block copy paste (#7689)
fix: [BS-1005](https://linear.app/affine-design/issue/BS-1005/chat-block无法被copy-paste到别的文档中,duplicate全篇文档后,可以center-peek)

related: https://github.com/toeverything/blocksuite/pull/7797
2024-08-02 13:14:14 +08:00
pengx17
854718db0e test(electron): enable trace file for desktop tests (#7692)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/e8d87ee7-cea6-4188-80a7-1a64f6c74eca.webm">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/e8d87ee7-cea6-4188-80a7-1a64f6c74eca.webm">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/e8d87ee7-cea6-4188-80a7-1a64f6c74eca.webm">e02e866a6496b210b8883798d82783d8.webm</video>

one failed run but no valuable result
2024-08-02 04:07:33 +00:00
donteatfriedrice
2cfe9e8b9e feat: bump blocksuite (#7698)
## Features
- https://github.com/toeverything/BlockSuite/pull/7801 @akumatus

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7811 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7808 @doouding
- https://github.com/toeverything/BlockSuite/pull/7813 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7803 @fundon
- https://github.com/toeverything/BlockSuite/pull/7809 @Flrande

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7815 @doodlewind
2024-08-02 03:20:08 +00:00
pengx17
bfff10e25e feat(electron): app tabs dnd (#7684)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">Kapture 2024-07-31 at 19.39.30.mp4</video>

fix AF-1149
fix PD-1513
fix PD-1515
2024-08-02 02:02:03 +00:00
L-Sun
4719ffadc6 chore: bump blocksuite (#7696)
## Features
- https://github.com/toeverything/BlockSuite/pull/7807 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7786 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7797 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7814 @fundon
- https://github.com/toeverything/BlockSuite/pull/7812 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7792 @fundon
- https://github.com/toeverything/BlockSuite/pull/7788 @fundon
- https://github.com/toeverything/BlockSuite/pull/7805 @doouding
- https://github.com/toeverything/BlockSuite/pull/7810 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7802 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7804 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7799 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7753 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7798 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7796 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7793 @doouding
- https://github.com/toeverything/BlockSuite/pull/7795 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7791 @fundon
- https://github.com/toeverything/BlockSuite/pull/7747 @doouding
- https://github.com/toeverything/BlockSuite/pull/7785 @fundon
- https://github.com/toeverything/BlockSuite/pull/7784 @akumatus

## Misc
- https://github.com/toeverything/BlockSuite/pull/7800 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7790 @fourdim
2024-08-02 01:29:10 +00:00
pengx17
07409b8a91 refactor(electron): tab title/icon update logic (#7675)
fix AF-1122
fix AF-1136
2024-08-01 16:43:18 +00:00
CatsJuice
e60b2d64e5 fix(core): new no children status for explorer (#7686)
close AF-1140
2024-08-01 09:41:13 +00:00
CatsJuice
8816d2a639 feat(core): adjust explorer section style, persist collapsable state (#7679)
close AF-1124,AF-1129,AF-1134,AF-1144
2024-08-01 09:41:09 +00:00
EYHN
553fbed60f feat(core): add globalcontext info to mixpanel track (#7681) 2024-08-01 09:29:31 +00:00
EYHN
bb767a6cdc fix(component): modal overlap issue (#7691) 2024-08-01 08:03:21 +00:00
L-Sun
33fc00f8c7 chore(core): set read-only mode on mobile device (#7651)
Close [BS-795](https://linear.app/affine-design/issue/BS-795/affine-mobile-设置只读模式)

- Set read-only mode on mobile device
- Add mobile only support read-only warning toast
- remove `user-select: none` so that user can select text in read-only mode
2024-08-01 05:22:50 +00:00
donteatfriedrice
3a0241340c fix: optimize ai chat block position calculation (#7683)
[BS-977](https://linear.app/affine-design/issue/BS-977/新生成的分支chat-block应该采用类似mindmap新节点的的定位方式,避免互相遮盖)
2024-08-01 01:37:23 +00:00
L-Sun
2093685385 chore: bump blocksuite (#7680) 2024-07-31 21:57:51 +08:00
pengx17
10e78d617e build(electron): re-enable windows signing (#7682)
ref https://github.com/toeverything/AFFiNE/pull/7645
2024-07-31 10:00:19 +00:00
darkskygit
49529b7e63 fix: make chat button click event work fine (#7658)
fix PD-1504
2024-07-31 09:24:54 +00:00
fundon
48e17fad02 feat(core): experience function color picker (#7677) 2024-07-31 09:07:29 +00:00
forehalo
4ec89ebd69 chore(server): standardize server db names and columns (#7674) 2024-07-31 07:59:23 +00:00
forehalo
c6d4985cba fix: wrong public path for stable env (#7676) 2024-07-31 07:19:32 +00:00
pengx17
280e24934a fix(electron): window theme issue after exiting presentation (#7671) 2024-07-31 07:03:32 +00:00
pengx17
6b8f99c013 fix: using width atom for syncing app headers position (#7666)
may use global state to replace these sidebar state atoms

fix AF-1109
2024-07-31 07:03:30 +00:00
pengx17
812fdd27b5 fix: tab label overflow style when there is only one tab (#7665)
before
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/d610e543-db1d-4671-a9f4-a31480f26dd7.png)

after
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/ab1c53b7-8cdd-443b-9371-fdf9bb6c85ae.png)
2024-07-31 07:03:28 +00:00
donteatfriedrice
e1e1b29afb fix: cannot clean chat panel histories (#7673) 2024-07-31 04:14:06 +00:00
donteatfriedrice
52a95af828 fix: ai chat block added later should be with higher index (#7660)
[BS-1000](https://linear.app/affine-design/issue/BS-1000/更好地处理新增内容的层级)
2024-07-31 03:16:34 +00:00
CatsJuice
ede576061d fix(core): adjust sidebar explorer empty status (#7657)
Close AF-1126,AF-1132
2024-07-31 02:41:53 +00:00
CatsJuice
083123cdfb fix(component): adjust renaming style (#7654) 2024-07-31 02:26:34 +00:00
CatsJuice
12a2f929f8 fix(component): stop renaming modal propagation & input auto focus (#7653)
close AF-1125
2024-07-31 02:26:30 +00:00
CatsJuice
c1b26473a9 chore(core): update sidebar all-docs icon (#7626)
close AF-1079
2024-07-31 02:13:02 +00:00
Saul-Mirone
c7217ed443 chore: bump blocksuite 240730 (#7662)
## Features
- https://github.com/toeverything/BlockSuite/pull/7761 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7755 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7598 @Flrande

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7769 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7766 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7767 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7726 @siyou
- https://github.com/toeverything/BlockSuite/pull/7765 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7763 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7764 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7760 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7742 @fundon
- https://github.com/toeverything/BlockSuite/pull/7754 @fundon
- https://github.com/toeverything/BlockSuite/pull/7756 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7752 @zzj3720

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7758 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7750 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7746 @fundon

## Misc
- https://github.com/toeverything/BlockSuite/pull/7744 @Saul-Mirone
2024-07-31 01:38:53 +00:00
pengx17
cd823fe118 fix(electron): app flicker issue (#7663)
fix AF-1117
2024-07-30 14:19:10 +00:00
EYHN
b343f975fb feat(core): add track events for sidebar (#7659) 2024-07-30 13:22:22 +00:00
EYHN
ab92efcfc0 feat(core): improve mixpanel (#7652)
move @affine/core/utils/mixpanel -> @affine/core/mixpanel

now you can debug mixpanel on browser devtool

![CleanShot 2024-07-30 at 17.32.48@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/083c1286-39fd-4569-b4d2-e6e84cf2e797.png)
2024-07-30 13:22:17 +00:00
pengx17
ea7066d02c fix: icon color active style (#7656)
fix PD-1500
2024-07-30 11:51:17 +00:00
pengx17
d80c80ecdd fix: remove shadow for bordered main container (#7655)
fix PD-1498
2024-07-30 11:38:23 +00:00
EYHN
482b5da02f fix(core): fix layout overflow (#7647) 2024-07-30 07:03:07 +00:00
liuyi
fcf0ecbaa2 feat(server): runtime service config (#7644) 2024-07-30 14:58:24 +08:00
liuyi
67248316bd fix(core): scrolling break client style in bordered container (#7650) 2024-07-30 14:57:02 +08:00
liuyi
dd47c14c65 fix(core): wrong padding position when ai panel is active (#7648) 2024-07-30 13:47:17 +08:00
pengx17
63e8729da4 build(electron): skip signing for windows (#7645)
fix AF-1133
2024-07-30 04:56:47 +00:00
renovate
d769c8bb87 chore: bump up rustc version to v1.80.0 (#7628)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://togithub.com/rust-lang/rust) | minor | `1.79.0` -> `1.80.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.80.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1800-2024-07-25)

[Compare Source](https://togithub.com/rust-lang/rust/compare/1.79.0...1.80.0)

\==========================

<a id="1.80-Language"></a>

## Language

-   [Document maximum allocation size](https://togithub.com/rust-lang/rust/pull/116675/)
-   [Allow zero-byte offsets and ZST read/writes on arbitrary pointers](https://togithub.com/rust-lang/rust/pull/117329/)
-   [Support C23's variadics without a named parameter](https://togithub.com/rust-lang/rust/pull/124048/)
-   [Stabilize `exclusive_range_pattern` feature](https://togithub.com/rust-lang/rust/pull/124459/)
-   [Guarantee layout and ABI of `Result` in some scenarios](https://togithub.com/rust-lang/rust/pull/124870)

<a id="1.80-Compiler"></a>

## Compiler

-   [Update cc crate to v1.0.97 allowing additional spectre mitigations on MSVC targets](https://togithub.com/rust-lang/rust/pull/124892/)
-   [Allow field reordering on types marked `repr(packed(1))`](https://togithub.com/rust-lang/rust/pull/125360/)
-   [Add a lint against never type fallback affecting unsafe code](https://togithub.com/rust-lang/rust/pull/123939/)
-   [Disallow cast with trailing braced macro in let-else](https://togithub.com/rust-lang/rust/pull/125049/)
-   [Expand `for_loops_over_fallibles` lint to lint on fallibles behind references.](https://togithub.com/rust-lang/rust/pull/125156/)
-   [self-contained linker: retry linking without `-fuse-ld=lld` on CCs that don't support it](https://togithub.com/rust-lang/rust/pull/125417/)
-   [Do not parse CVarArgs (`...`) as a type in trait bounds](https://togithub.com/rust-lang/rust/pull/125863/)
-   Improvements to LLDB formatting [#&#8203;124458](https://togithub.com/rust-lang/rust/pull/124458) [#&#8203;124500](https://togithub.com/rust-lang/rust/pull/124500)
-   [For the wasm32-wasip2 target default to PIC and do not use `-fuse-ld=lld`](https://togithub.com/rust-lang/rust/pull/124858/)
-   [Add x86\_64-unknown-linux-none as a tier 3 target](https://togithub.com/rust-lang/rust/pull/125023/)
-   [Lint on `foo.into_iter()` resolving to `&Box<[T]>: IntoIterator`](https://togithub.com/rust-lang/rust/pull/124097/)

<a id="1.80-Libraries"></a>

## Libraries

-   [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude](https://togithub.com/rust-lang/rust/pull/123168/)
-   [Abort a process when FD ownership is violated](https://togithub.com/rust-lang/rust/pull/124210/)
-   [io::Write::write_fmt: panic if the formatter fails when the stream does not fail](https://togithub.com/rust-lang/rust/pull/125012/)
-   [Panic if `PathBuf::set_extension` would add a path separator](https://togithub.com/rust-lang/rust/pull/125070/)
-   [Add assert_unsafe_precondition to unchecked\_{add,sub,neg,mul,shl,shr} methods](https://togithub.com/rust-lang/rust/pull/121571/)
-   [Update `c_char` on AIX to use the correct type](https://togithub.com/rust-lang/rust/pull/122986/)
-   [`offset_of!` no longer returns a temporary](https://togithub.com/rust-lang/rust/pull/124484/)
-   [Handle sigma in `str.to_lowercase` correctly](https://togithub.com/rust-lang/rust/pull/124773/)
-   [Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB](https://togithub.com/rust-lang/rust/pull/126059/)

<a id="1.80-Stabilized-APIs"></a>

## Stabilized APIs

-   [`impl Default for Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E)
-   [`impl Default for Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E)
-   [`impl Default for Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E)
-   [`impl Default for Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E)
-   [`impl Default for Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E)
-   [`impl Default for Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E)
-   [`impl IntoIterator for Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E)
-   [`impl FromIterator<String> for Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E)
-   [`impl FromIterator<char> for Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E)
-   [`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html)
-   [`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html)
-   [`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32)
-   [`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64)
-   [`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if)
-   [`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative)
-   [`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice)
-   [`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset)
-   [`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset)
-   [`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add)
-   [`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add)
-   [`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub)
-   [`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub)
-   [`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from)
-   [`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from)
-   [`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read)
-   [`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile)
-   [`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned)
-   [`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write)
-   [`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile)
-   [`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned)
-   [`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes)
-   [`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to)
-   [`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-   [`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from)
-   [`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-   [`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace)
-   [`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap)
-   [`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place)
-   [`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset)
-   [`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked)
-   [`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked)
-   [`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked)
-   [`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked)
-   [`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii)
-   [`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start)
-   [`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end)
-   [`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii)
-   [`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start)
-   [`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end)
-   [`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS)
-   [`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits)
-   [`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits)
-   [`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS)
-   [`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits)
-   [`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits)
-   [`Vec::<[T; N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened)
-   [`<[[T; N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened)
-   [`<[[T; N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut)

These APIs are now stable in const contexts:

-   [`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk)
-   [`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new)

<a id="1.80-Cargo"></a>

## Cargo

-   [Stabilize `-Zcheck-cfg` as always enabled](https://togithub.com/rust-lang/cargo/pull/13571/)
-   [Warn, rather than fail publish, if a target is excluded](https://togithub.com/rust-lang/cargo/pull/13713/)
-   [Add special `check-cfg` lint config for the `unexpected_cfgs` lint](https://togithub.com/rust-lang/cargo/pull/13913/)
-   [Stabilize `cargo update --precise <yanked>`](https://togithub.com/rust-lang/cargo/pull/13974/)
-   [Don't change file permissions on `Cargo.toml` when using `cargo add`](https://togithub.com/rust-lang/cargo/pull/13898/)
-   [Support using `cargo fix` on IPv6-only networks](https://togithub.com/rust-lang/cargo/pull/13907/)

<a id="1.80-Rustdoc"></a>

## Rustdoc

-   [Allow searching for references](https://togithub.com/rust-lang/rust/pull/124148/)
-   [Stabilize `custom_code_classes_in_docs` feature](https://togithub.com/rust-lang/rust/pull/124577/)
-   [fix: In cross-crate scenarios show enum variants on type aliases of enums](https://togithub.com/rust-lang/rust/pull/125300/)

<a id="1.80-Compatibility-Notes"></a>

## Compatibility Notes

-   [rustfmt estimates line lengths differently when using non-ascii characters](https://togithub.com/rust-lang/rustfmt/issues/6203)
-   [Type aliases are now handled correctly in orphan check](https://togithub.com/rust-lang/rust/pull/117164/)
-   [Allow instructing rustdoc to read from stdin via `-`](https://togithub.com/rust-lang/rust/pull/124611/)
-   [`std::env::{set_var, remove_var}` can no longer be converted to safe function pointers and no longer implement the `Fn` family of traits](https://togithub.com/rust-lang/rust/pull/124636)
-   [Warn (or error) when `Self` constructor from outer item is referenced in inner nested item](https://togithub.com/rust-lang/rust/pull/124187/)
-   [Turn `indirect_structural_match` and `pointer_structural_match` lints into hard errors](https://togithub.com/rust-lang/rust/pull/124661/)
-   [Make `where_clause_object_safety` lint a regular object safety violation](https://togithub.com/rust-lang/rust/pull/125380/)
-   [Turn `proc_macro_back_compat` lint into a hard error.](https://togithub.com/rust-lang/rust/pull/125596/)
-   [Detect unused structs even when implementing private traits](https://togithub.com/rust-lang/rust/pull/122382/)
-   [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T: !Sync`](https://togithub.com/rust-lang/rust/pull/125527) which means [`std::io::StdoutLock` and `std::io::StderrLock` are no longer Sync](https://togithub.com/rust-lang/rust/issues/127340)

<a id="1.80-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   Misc improvements to size of generated html by rustdoc e.g. [#&#8203;124738](https://togithub.com/rust-lang/rust/pull/124738/) and [#&#8203;123734](https://togithub.com/rust-lang/rust/pull/123734/)
-   [MSVC targets no longer depend on libc](https://togithub.com/rust-lang/rust/pull/124050/)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-30 04:42:06 +00:00
Brooooooklyn
f052547b78 ci: attest provenance (#7609) 2024-07-30 04:24:16 +00:00
pengx17
4a2d400087 chore(electron): remove unused ipc code (#7636)
fix AF-1120
2024-07-30 04:12:06 +00:00
pengx17
157cc97a65 test(electron): add test cases for electron tabs (#7635)
fix AF-1000
2024-07-29 11:05:24 +00:00
pengx17
1efc1d0f5b feat(electron): multi tabs support (#7440)
use https://www.electronjs.org/docs/latest/api/web-contents-view to serve different tab views
added tabs view manager in electron to handle multi-view actions and events.

fix AF-1111
fix AF-999
fix PD-1459
fix AF-964
PD-1458
2024-07-29 11:05:22 +00:00
L-Sun
622715d2f3 feat(core): outline viewer (quick toc) (#7614)
Close: [BS-949](https://linear.app/affine-design/issue/BS-949/outline-viewer-加入到affine)

Details  are in this PR: https://github.com/toeverything/blocksuite/pull/7704
2024-07-29 10:19:57 +00:00
EYHN
1b4d65fd64 fix(core): optimize sidebar tag performance (#7633) 2024-07-29 09:57:40 +00:00
EYHN
a0cbf05da8 fix(core): sidebar renaming bug (#7632) 2024-07-29 09:57:37 +00:00
EYHN
0472ffe569 feat(core): support sidebar collapse (#7630) 2024-07-29 09:57:33 +00:00
donteatfriedrice
c5cf8480fc feat: add event tracker for ai chat block (#7637)
[BS-940](https://linear.app/affine-design/issue/BS-940/ai-chat-block-相关埋点)

related: https://github.com/toeverything/blocksuite/pull/7733
2024-07-29 09:42:29 +00:00
donteatfriedrice
ab11f09b83 feat: bump blocksuite (#7634)
## Features
- https://github.com/toeverything/BlockSuite/pull/7704 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7733 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7585 @fundon

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7749 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7745 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7737 @fundon
- https://github.com/toeverything/BlockSuite/pull/7734 @fundon
- https://github.com/toeverything/BlockSuite/pull/7735 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7730 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7718 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7723 @Flrande

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7738 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7731 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7732 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7724 @doouding
- https://github.com/toeverything/BlockSuite/pull/7725 @doodlewind

## Misc
- https://github.com/toeverything/BlockSuite/pull/7748 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7721 @fundon
- https://github.com/toeverything/BlockSuite/pull/7729 @fundon
- https://github.com/toeverything/BlockSuite/pull/7728 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7595 @fundon
2024-07-29 08:42:22 +00:00
CatsJuice
5c62a2b2f5 feat(core): add doc/tag/collection to folders via menu (#7631)
close AF-993,AF-995,AF-997,AF-998
2024-07-29 07:30:20 +00:00
CatsJuice
b9c0119d2c fix(core): adjust believer card dark mode style (#7623) 2024-07-29 07:15:17 +00:00
CatsJuice
214f5fa94d fix(core): sidebar node content should ellipsis when overflowed (#7627) 2024-07-29 06:59:16 +00:00
EYHN
e6f0847ec3 fix(core): make indexer faster (#7629) 2024-07-29 06:43:13 +00:00
renovate
94a55cde62 chore: bump up @blocksuite/icons version to v2.1.61 (#7541)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.60` -> `2.1.61`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.60/2.1.61) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.60/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.60/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.59` -> `2.1.61`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.59/2.1.61) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.59/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.59/2.1.61?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.61`](aba7bbbbc1...280d3edea6)

[Compare Source](aba7bbbbc1...280d3edea6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates again.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-29 03:20:32 +00:00
donteatfriedrice
1575472a3f feat: support chatting in center peek (#7601) 2024-07-26 09:36:26 +00:00
EYHN
6bc5337307 refactor(core): adjust modal animation (#7606)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">CleanShot 2024-07-25 at 20.04.01.mp4</video>

When a modal is closed, sometimes its components are completely unmounted from the component tree, making it difficult to animate. This pr defining a custom element as the container of ReactDOM.portal, rewriting the `removeChild` function, and use `startViewTransition` when ReactDOM calls it to implement the animation.

# Save Input

Some inputs use blur event to save data, but when they are unmounted, blur event will not be triggered at all. This pr changes blur event to native addEventListener, which will be called after the DOM element is unmounted, so as to save data in time.
2024-07-26 08:39:34 +00:00
EYHN
3eb09cde5e feat(core): new favorite (#7590) 2024-07-26 08:15:32 +00:00
darkskygit
5207e7abfc fix: repeated slides (#7612)
fix AF-1104
2024-07-26 07:59:06 +00:00
Brooooooklyn
fcc42104fa build: make nightly version shorter (#7613)
Ref: https://github.com/toeverything/AFFiNE/actions/runs/10091231369
2024-07-26 07:45:23 +00:00
Cats Juice
c63d007571 feat(core): add doc/collection/tag select hook (#7593) 2024-07-26 15:44:56 +08:00
fundon
2a2a19fec7 chore(component): add a danger hover style for buttons (#7600)
Like other delete buttons.

https://github.com/user-attachments/assets/85d1c3cb-bd17-4904-b671-c04c76bfd00b
2024-07-26 07:30:10 +00:00
renovate
1306a3be61 chore: bump up all non-major dependencies (#7517)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@apollo/server](https://togithub.com/apollographql/apollo-server) ([source](https://togithub.com/apollographql/apollo-server/tree/HEAD/packages/server)) | [`4.10.4` -> `4.10.5`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.10.4/4.10.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fserver/4.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fserver/4.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fserver/4.10.4/4.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fserver/4.10.4/4.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.614.0` -> `3.620.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.614.0` -> `3.620.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.614.0/3.620.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@emotion/cache](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.11.0` -> `11.13.1`](https://renovatebot.com/diffs/npm/@emotion%2fcache/11.11.0/11.13.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2fcache/11.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2fcache/11.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2fcache/11.11.0/11.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2fcache/11.11.0/11.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@emotion/react](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.11.4` -> `11.13.0`](https://renovatebot.com/diffs/npm/@emotion%2freact/11.11.4/11.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2freact/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2freact/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2freact/11.11.4/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2freact/11.11.4/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@emotion/react](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.11.4` -> `11.13.0`](https://renovatebot.com/diffs/npm/@emotion%2freact/11.11.4/11.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2freact/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2freact/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2freact/11.11.4/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2freact/11.11.4/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@emotion/styled](https://togithub.com/emotion-js/emotion/tree/main#readme) ([source](https://togithub.com/emotion-js/emotion)) | [`11.11.5` -> `11.13.0`](https://renovatebot.com/diffs/npm/@emotion%2fstyled/11.11.5/11.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@emotion%2fstyled/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emotion%2fstyled/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emotion%2fstyled/11.11.5/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emotion%2fstyled/11.11.5/11.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://togithub.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.7` -> `1.6.8`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.7/1.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.7/1.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.7/1.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.60` -> `3.0.0-alpha.62`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.60/3.0.0-alpha.62?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/simple-git](https://togithub.com/Brooooooklyn/simple-git) | [`0.1.16` -> `0.1.17`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/simple-git](https://togithub.com/Brooooooklyn/simple-git) | [`0.1.16` -> `0.1.17`](https://renovatebot.com/diffs/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fsimple-git/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fsimple-git/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fsimple-git/0.1.16/0.1.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.4.3` -> `19.5.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.4.3/19.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.4.3/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.4.3/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.3`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.45.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.16.2` -> `5.17.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.16.2/5.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.16.2` -> `5.17.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.16.2/5.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.17.0` -> `8.20.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.17.0/8.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.17.0/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.17.0/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.17.0` -> `8.20.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.17.0/8.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.17.0/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.17.0/8.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.6.13` -> `1.7.2`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.6.13/1.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.6.13/1.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.6.13/1.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@toeverything/theme](https://togithub.com/toeverything/design) | [`1.0.0` -> `1.0.1`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.0.0/1.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.0.0/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.0.0/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/eslint](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint)) | [`8.56.10` -> `8.56.11`](https://renovatebot.com/diffs/npm/@types%2feslint/8.56.10/8.56.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2feslint/8.56.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2feslint/8.56.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2feslint/8.56.10/8.56.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2feslint/8.56.10/8.56.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.10` -> `20.14.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.10/20.14.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [dayjs](https://day.js.org) ([source](https://togithub.com/iamkun/dayjs)) | [`1.11.11` -> `1.11.12`](https://renovatebot.com/diffs/npm/dayjs/1.11.11/1.11.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/dayjs/1.11.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dayjs/1.11.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dayjs/1.11.11/1.11.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dayjs/1.11.11/1.11.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`~30.2.0` -> `~30.3.0`](https://renovatebot.com/diffs/npm/electron/30.2.0/30.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.2.0/30.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.2.0/30.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [electron-log](https://togithub.com/megahertz/electron-log) | [`5.1.5` -> `5.1.7`](https://renovatebot.com/diffs/npm/electron-log/5.1.5/5.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.1.5/5.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.1.5/5.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`8.1.6` -> `8.1.7`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.1.6/8.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.1.6/8.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.1.6/8.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [file-type](https://togithub.com/sindresorhus/file-type) | [`19.1.1` -> `19.3.0`](https://renovatebot.com/diffs/npm/file-type/19.1.1/19.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/19.1.1/19.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/19.1.1/19.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.20.1` -> `8.21.0`](https://renovatebot.com/diffs/npm/html-validate/8.20.1/8.21.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.20.1/8.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.20.1/8.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [husky](https://togithub.com/typicode/husky) | [`9.0.11` -> `9.1.2`](https://renovatebot.com/diffs/npm/husky/9.0.11/9.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.0.11/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.0.11/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | [`23.12.1` -> `23.12.2`](https://renovatebot.com/diffs/npm/i18next/23.12.1/23.12.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.12.1/23.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.12.1/23.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.9.0` -> `2.9.1`](https://renovatebot.com/diffs/npm/jotai/2.9.0/2.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.9.0` -> `2.9.1`](https://renovatebot.com/diffs/npm/jotai/2.9.0/2.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.9.0/2.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.408.0` -> `^0.416.0`](https://renovatebot.com/diffs/npm/lucide-react/0.408.0/0.416.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.416.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.416.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.408.0/0.416.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.408.0/0.416.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel-browser](https://togithub.com/mixpanel/mixpanel-js) | [`2.53.0` -> `2.54.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.53.0/2.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.53.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.53.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://togithub.com/mswjs/msw)) | [`2.3.1` -> `2.3.4`](https://renovatebot.com/diffs/npm/msw/2.3.1/2.3.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.3.1/2.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.3.1/2.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.7` -> `3.0.0-alpha.8` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.6` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.6/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.1` -> `20.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.1/v20.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.4.3` -> `19.5.3`](https://renovatebot.com/diffs/npm/nx/19.4.3/19.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.4.3/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.4.3/19.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://togithub.com/openai/openai-node) | [`4.52.7` -> `4.53.1`](https://renovatebot.com/diffs/npm/openai/4.52.7/4.53.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.53.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.53.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.52.7/4.53.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.52.7/4.53.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| openresty/openresty | `1.25.3.1-0-buster` -> `1.25.3.2-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.25.3.1/1.25.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.3`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.45.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.45.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [postcss](https://postcss.org/) ([source](https://togithub.com/postcss/postcss)) | [`8.4.39` -> `8.4.40`](https://renovatebot.com/diffs/npm/postcss/8.4.39/8.4.40) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.39/8.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.39/8.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.16.2` -> `5.17.0`](https://renovatebot.com/diffs/npm/prisma/5.16.2/5.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.16.2/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-resizable-panels](https://togithub.com/bvaughn/react-resizable-panels) | [`2.0.20` -> `2.0.22`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.0.20/2.0.22) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.0.20/2.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.0.20/2.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-router-dom](https://togithub.com/remix-run/react-router) ([source](https://togithub.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.24.1` -> `6.25.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.24.1/6.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.24.1/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.24.1/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-router-dom](https://togithub.com/remix-run/react-router) ([source](https://togithub.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.24.1` -> `6.25.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.24.1/6.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.24.1/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.24.1/6.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://togithub.com/petyosi/react-virtuoso)) | [`4.7.12` -> `4.7.13`](https://renovatebot.com/diffs/npm/react-virtuoso/4.7.12/4.7.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.7.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.7.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.7.12/4.7.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.7.12/4.7.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [semver](https://togithub.com/npm/node-semver) | [`7.6.2` -> `7.6.3`](https://renovatebot.com/diffs/npm/semver/7.6.2/7.6.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/semver/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/semver/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/semver/7.6.2/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/semver/7.6.2/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [semver](https://togithub.com/npm/node-semver) | [`7.6.2` -> `7.6.3`](https://renovatebot.com/diffs/npm/semver/7.6.2/7.6.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/semver/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/semver/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/semver/7.6.2/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/semver/7.6.2/7.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [sqlx](https://togithub.com/launchbadge/sqlx) | `0.7` -> `0.8` | [![age](https://developer.mend.io/api/mc/badges/age/crate/sqlx/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/sqlx/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/sqlx/0.7.4/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/sqlx/0.7.4/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [stripe](https://togithub.com/stripe/stripe-node) | [`16.2.0` -> `16.5.0`](https://renovatebot.com/diffs/npm/stripe/16.2.0/16.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/16.2.0/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/16.2.0/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://togithub.com/tailwindlabs/tailwindcss)) | [`3.4.5` -> `3.4.7`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.5/3.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.5/3.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.5/3.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.38.0` -> `1.39.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.38.0/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.38.0/1.39.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [typedoc](https://typedoc.org) ([source](https://togithub.com/TypeStrong/TypeDoc)) | [`0.26.4` -> `0.26.5`](https://renovatebot.com/diffs/npm/typedoc/0.26.4/0.26.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.26.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.26.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.26.4/0.26.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.26.4/0.26.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`5.5.3` -> `5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.5.3/5.5.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`5.5.3` -> `5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.5.3/5.5.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.19.2` -> `6.19.4`](https://renovatebot.com/diffs/npm/undici/6.19.2/6.19.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.19.2/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.19.2/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.19.2` -> `6.19.4`](https://renovatebot.com/diffs/npm/undici/6.19.2/6.19.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.19.2/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.19.2/6.19.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vitejs.dev) ([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.3.3` -> `5.3.5`](https://renovatebot.com/diffs/npm/vite/5.3.3/5.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.3.3/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.3.3/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.64.0` -> `3.67.0`](https://renovatebot.com/diffs/npm/wrangler/3.64.0/3.67.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.64.0/3.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.64.0/3.67.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |

---

### Release Notes

<details>
<summary>apollographql/apollo-server (@&#8203;apollo/server)</summary>

### [`v4.10.5`](https://togithub.com/apollographql/apollo-server/blob/HEAD/packages/server/CHANGELOG.md#4105)

[Compare Source](https://togithub.com/apollographql/apollo-server/compare/@apollo/server@4.10.4...@apollo/server@4.10.5)

##### Patch Changes

-   [#&#8203;7821](https://togithub.com/apollographql/apollo-server/pull/7821) [`b2e15e7`](b2e15e7db6) Thanks [@&#8203;renovate](https://togithub.com/apps/renovate)! - Non-major dependency updates

-   [#&#8203;7900](https://togithub.com/apollographql/apollo-server/pull/7900) [`86d7111`](86d711133f) Thanks [@&#8203;trevor-scheer](https://togithub.com/trevor-scheer)! - Inline a small dependency that was causing build issues for ESM projects

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.620.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36200-2024-07-25)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.617.0...v3.620.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.617.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36170-2024-07-22)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.616.0...v3.617.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.616.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36160-2024-07-18)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.614.0...v3.616.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>emotion-js/emotion (@&#8203;emotion/cache)</summary>

### [`v11.13.1`](https://togithub.com/emotion-js/emotion/releases/tag/%40emotion/cache%4011.13.1)

[Compare Source](https://togithub.com/emotion-js/emotion/compare/@emotion/cache@11.13.0...@emotion/cache@11.13.1)

##### Patch Changes

-   [#&#8203;3219](https://togithub.com/emotion-js/emotion/pull/3219) [`c72d279`](c72d2798fe) Thanks [@&#8203;Andarist](https://togithub.com/Andarist)! - Removed incorrect tripleslash directive referencing node types

### [`v11.13.0`](https://togithub.com/emotion-js/emotion/compare/@emotion/jest@11.11.0...70ad1d33892091e9bc478792fa7da662ed63476a)

[Compare Source](https://togithub.com/emotion-js/emotion/compare/@emotion/cache@11.12.0...@emotion/cache@11.13.0)

### [`v11.12.0`](https://togithub.com/emotion-js/emotion/compare/@emotion/babel-preset-css-prop@11.11.0...d57cfcb6daf48fc5458f91b4db2e072fbc2863e4)

[Compare Source](https://togithub.com/emotion-js/emotion/compare/@emotion/cache@11.11.0...@emotion/cache@11.12.0)

</details>

<details>
<summary>floating-ui/floating-ui (@&#8203;floating-ui/dom)</summary>

### [`v1.6.8`](https://togithub.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#168)

[Compare Source](https://togithub.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.6.7...@floating-ui/dom@1.6.8)

##### Patch Changes

-   Update dependencies: `@floating-ui/utils@0.2.5`

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.62`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.61...@napi-rs/cli@3.0.0-alpha.62)

### [`v3.0.0-alpha.61`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.60...@napi-rs/cli@3.0.0-alpha.61)

</details>

<details>
<summary>Brooooooklyn/simple-git (@&#8203;napi-rs/simple-git)</summary>

### [`v0.1.17`](https://togithub.com/Brooooooklyn/simple-git/releases/tag/v0.1.17)

[Compare Source](https://togithub.com/Brooooooklyn/simple-git/compare/v0.1.16...v0.1.17)

##### What's Changed

-   chore(deps): update yarn to v4.1.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/37](https://togithub.com/Brooooooklyn/simple-git/pull/37)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/38](https://togithub.com/Brooooooklyn/simple-git/pull/38)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/39](https://togithub.com/Brooooooklyn/simple-git/pull/39)
-   feat: impl tags features by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/40](https://togithub.com/Brooooooklyn/simple-git/pull/40)
-   fix: impl Send for GitDateTask by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/43](https://togithub.com/Brooooooklyn/simple-git/pull/43)
-   chore(deps): update yarn to v4.1.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/42](https://togithub.com/Brooooooklyn/simple-git/pull/42)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/41](https://togithub.com/Brooooooklyn/simple-git/pull/41)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/44](https://togithub.com/Brooooooklyn/simple-git/pull/44)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/45](https://togithub.com/Brooooooklyn/simple-git/pull/45)
-   chore: upgrade deps by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/46](https://togithub.com/Brooooooklyn/simple-git/pull/46)
-   chore(deps): update yarn to v4.2.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/47](https://togithub.com/Brooooooklyn/simple-git/pull/47)
-   chore: remove npm dirs by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/48](https://togithub.com/Brooooooklyn/simple-git/pull/48)
-   chore(deps): update yarn to v4.2.2 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/49](https://togithub.com/Brooooooklyn/simple-git/pull/49)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/50](https://togithub.com/Brooooooklyn/simple-git/pull/50)
-   chore(deps): update yarn to v4.3.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/51](https://togithub.com/Brooooooklyn/simple-git/pull/51)
-   chore(deps): update yarn to v4.3.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/53](https://togithub.com/Brooooooklyn/simple-git/pull/53)
-   chore: update git2 by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/54](https://togithub.com/Brooooooklyn/simple-git/pull/54)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/Brooooooklyn/simple-git/pull/55](https://togithub.com/Brooooooklyn/simple-git/pull/55)
-   build: support powerpc64le-unknown-linux-gnu and s390x-unknown-linux-gnu by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/Brooooooklyn/simple-git/pull/56](https://togithub.com/Brooooooklyn/simple-git/pull/56)

**Full Changelog**: https://github.com/Brooooooklyn/simple-git/compare/v0.1.16...v0.1.17

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.5.3`](https://togithub.com/nrwl/nx/releases/tag/19.5.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.5.2...19.5.3)

#### 19.5.3 (2024-07-24)

##### 🚀 Features

-   **core:** error when running atomized tasks outside of DTE ([#&#8203;26898](https://togithub.com/nrwl/nx/pull/26898))
-   **core:** update pnpm/action-setup to v4 in ci-workflow generator ([#&#8203;26838](https://togithub.com/nrwl/nx/pull/26838))
-   **js:** add scopes option for verdaccio ([#&#8203;26918](https://togithub.com/nrwl/nx/pull/26918))
-   **misc:** prioritize github onboarding flow ([#&#8203;27085](https://togithub.com/nrwl/nx/pull/27085))
-   **misc:** only create one commit with cloud onboard URL on cnw ([#&#8203;27093](https://togithub.com/nrwl/nx/pull/27093))
-   **module-federation:** improve console output for remote build errors ([#&#8203;26711](https://togithub.com/nrwl/nx/pull/26711))
-   **module-federation:** support setremotedefinition api ([#&#8203;27051](https://togithub.com/nrwl/nx/pull/27051))
-   **nx-dev:** Migrate careers from nx.app ([#&#8203;27020](https://togithub.com/nrwl/nx/pull/27020))
-   **nx-dev:** reprioritize customer logos on landing page ([#&#8203;27061](https://togithub.com/nrwl/nx/pull/27061))

##### 🩹 Fixes

-   **angular:** remove unnecessary esbuild peer dependency ([#&#8203;27046](https://togithub.com/nrwl/nx/pull/27046))
-   **bundling:** prevent exports overwrite with esbuild ([#&#8203;27047](https://togithub.com/nrwl/nx/pull/27047))
-   **bundling:** get workspace package prefix length correctly [#&#8203;20817](https://togithub.com/nrwl/nx/issues/20817) ([#&#8203;27092](https://togithub.com/nrwl/nx/pull/27092), [#&#8203;20817](https://togithub.com/nrwl/nx/issues/20817))
-   **core:** fix watch daemon error ([#&#8203;27067](https://togithub.com/nrwl/nx/pull/27067))
-   **core:** ensure output paths returned are unique ([#&#8203;18207](https://togithub.com/nrwl/nx/pull/18207))
-   **core:** use argument length that match the actual
2024-07-26 07:13:05 +00:00
darkskygit
3f0e4c04d7 feat: refector prompt refresh (#7605) 2024-07-26 04:51:07 +00:00
EYHN
54da85ec62 feat(core): init organize (#7456) 2024-07-26 04:35:32 +00:00
akumatus
b26b0c3a22 fix: journal doc title in at menu (#7608)
Fix issue [BS-900](https://linear.app/affine-design/issue/BS-900).

### What Changed?
- Add i18n for journal doc title and empty doc title.
2024-07-26 04:21:03 +00:00
darkskygit
470262d400 feat: migrate fal workflow to server (#7581) 2024-07-26 04:04:39 +00:00
CatsJuice
cb0d91facd feat(core): support lifetime subscription from external link (#7585)
close AF-1101
2024-07-26 03:49:17 +00:00
CatsJuice
0617061c5b fix(core): do not clip center-peek controls to make it appear more quickly (#7572)
fix AF-1084

![CleanShot 2024-07-23 at 11.11.03.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/91d593b6-c400-4602-9eab-abb9c0b0f63b.gif)
2024-07-26 03:35:00 +00:00
CatsJuice
8646221ee8 feat(infra): add ability to mount nodes to nearest FrameworkScope root (#7551)
![CleanShot 2024-07-19 at 12.52.08.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/dc5b8dc6-b7b2-4db2-83d5-7601c3f966d8.gif)
2024-07-26 03:19:27 +00:00
CatsJuice
22c36102b9 feat(core): move sidebar new page button beside quick-search (#7578)
close AF-1078
2024-07-26 03:04:10 +00:00
CatsJuice
a714961b20 feat(core): adjust subscription related mixpanel (#7536) 2024-07-26 02:49:15 +00:00
EYHN
549e7befed fix(core): stuck when quick switch doc mode (#7599) 2024-07-25 12:21:21 +00:00
CatsJuice
11a2dc7d7f feat(core): bump theme (#7587)
close AF-1108
2024-07-25 08:00:55 +00:00
L-Sun
662a3d4b76 refactor(core): use lit customelement decorator (#7560)
Close: [BS-585](https://linear.app/affine-design/issue/BS-585/更新affine侧lit自定义yuan素的写法)

### What changes:
- using `@customElement(xxx)` instead of `window.customElements.define(xxx)`
- remove `registerOutlinePanelComponents` and `registerFramePanelComponents`, Related PR https://github.com/toeverything/blocksuite/pull/7700
2024-07-25 07:45:41 +00:00
donteatfriedrice
dd6901fe15 feat: bump blocksuite (#7603)
## Features
- https://github.com/toeverything/BlockSuite/pull/7717 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7691 @L-Sun

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7720 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7719 @doouding

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7703 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7694 @doouding
- https://github.com/toeverything/BlockSuite/pull/7700 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7716 @doodlewind

## Misc
2024-07-25 07:26:40 +00:00
forehalo
2b42f84815 ci: wrong installer version used (#7602) 2024-07-25 06:29:22 +00:00
Brooooooklyn
8f60626291 chore: custom telemetry endpoint (#7596) 2024-07-25 03:17:32 +00:00
akumatus
1871c15cd0 feat: custom the items of linked menu by configuration (#7554)
Close issue [BS-719](https://linear.app/affine-design/issue/BS-719) and [BS-791](https://linear.app/affine-design/issue/BS-791).
Related PR in [BlockSuite](https://github.com/toeverything/blocksuite/pull/7693).

### What Changed?
- Support config in BlockSpec
-  AFFiNE’s Custom @Menu
   - ignore docs in trash
   - ignore unedited journal
   - customized journal icon

![截屏2024-07-19 16.03.55.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/cdf6f198-8288-4152-8893-65f17bc9983c.png)

### What's next?
- getMenus returns an observable array
- Add commands field to BlockSpec and encapsulated insertLinkedNode into a command
2024-07-24 17:10:37 +00:00
LongYinan
20c4224e2d build: fix undefined entry point (#7594) 2024-07-24 18:23:09 +08:00
forehalo
25b74467ce fix(server): create dev user (#7592) 2024-07-24 10:01:53 +00:00
donteatfriedrice
9d446469f8 feat: support save chat to block (#7481) 2024-07-24 09:46:36 +00:00
EYHN
98281a6394 refactor(component): adjust confirm modal api (#7589) 2024-07-24 08:18:33 +00:00
EYHN
6ca7c41861 fix(component): button icon color (#7588) 2024-07-24 08:03:02 +00:00
CatsJuice
b1380ce81f feat(core): adjust left-sidebar min-width to 248px (#7575)
close AF-1094
2024-07-24 02:43:25 +00:00
CatsJuice
091f5eec01 fix(core): remove hover state for ai-usage block in sidebar avtar menu (#7573)
fix AF-1059
2024-07-24 02:27:04 +00:00
akumatus
f89945e730 chore: bump blocksuite (#7579)
## Features
- https://github.com/toeverything/BlockSuite/pull/7693 @akumatus

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7713 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7710 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7709 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7707 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7689 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7699 @Saul-Mirone

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7715 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7714 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7705 @doodlewind

## Misc
- https://github.com/toeverything/BlockSuite/pull/7712 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7711 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7706 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7592 @doouding
2024-07-23 15:24:57 +00:00
darkskygit
0dbed968a0 chore: add env for desktop test (#7582) 2024-07-23 15:10:08 +00:00
CatsJuice
b0ad36425d fix(core): beliver plan should not show cancel subscription (#7576)
fix AF-1097
2024-07-23 10:54:22 +00:00
forehalo
dddbfe6473 feat(server): setup api for selfhost deployment (#7569) 2024-07-23 10:39:34 +00:00
forehalo
14fbeb7879 fix(server): should clean bill date if lifetime subscription (#7577) 2024-07-23 08:19:28 +00:00
Brooooooklyn
dc7eeedb24 ci: set the sentry release name as version number (#7574) 2024-07-23 08:05:05 +00:00
Cats Juice
d7cc546f58 fix(core): correct believer plan copy (#7571) 2024-07-23 10:11:07 +08:00
darkskygit
386d766597 fix: forked session query condition (#7568) 2024-07-22 12:28:05 +00:00
darkskygit
7d7399a9eb chore: update name in one shot (#7567) 2024-07-22 11:03:41 +00:00
JimmFly
55db9f9719 feat(component): add animations to modal (#7474)
Add opening and closing animations to modal.

The usage of conditional rendering as shown below is not recommended:
```
open ? (
      <Modal
        open={open}
        ...
      />
    ) : null,
```

When the modal is closed, it gets removed from the DOM instantly without running any exit animations that might be defined in the Modal component.
2024-07-22 03:22:42 +00:00
JimmFly
e3c3d1ac69 fix(core): values in edit not saved when closing info modal (#7465)
Before the modification, when the modal is closed, if a value is being edited, the input's on blur event cannot be triggered to automatically save.

https://github.com/toeverything/AFFiNE/assets/102217452/60235cec-0022-4c4d-b213-28f2331a0c5b
2024-07-22 03:22:40 +00:00
Saul-Mirone
bd0279730c chore: bump blocksuite canary (#7558)
## Features

## Bugfix

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7697 @Saul-Mirone

## Misc
2024-07-20 09:14:16 +00:00
Saul-Mirone
988f3a39f8 chore: bump blocksuite again (#7557)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7686 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7692 @Saul-Mirone

## Refactor

## Misc
2024-07-19 15:37:10 +00:00
JimmFly
f65380f847 feat(templates): add arrows stickers (#7518)
Add the arrow SVGs from [handy-arrows](https://github.com/Eronred/handy-arrows) to the template.
Thanks to [handy-arrows](https://github.com/Eronred/handy-arrows) for these beautiful SVGs.
2024-07-19 06:25:30 +00:00
donteatfriedrice
a62b7f0024 fix: chat panel ai onboarding title wrap (#7552)
[BS-896](https://linear.app/affine-design/issue/BS-896/ai-chat-onboarding-ui-折行-bug)
2024-07-19 05:55:21 +00:00
JimmFly
4512a1a91d fix(core): cmdk unexpected highlighting style (#7538)
close PD-1428

https://github.com/user-attachments/assets/6bb02547-6030-474d-ada0-c5a49be309d6
2024-07-19 05:38:33 +00:00
JimmFly
af7d44164c fix(core): bi-directional links responsive style (#7540)
close AF-1077
2024-07-19 05:22:34 +00:00
Saul-Mirone
6dbcb62da7 chore: bump blocksuite (#7546)
## Features
- https://github.com/toeverything/BlockSuite/pull/7659 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7682 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7641 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7685 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7680 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7679 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7676 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7675 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7670 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7672 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7668 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7664 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7665 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7662 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7658 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7654 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7648 @undefined
- https://github.com/toeverything/BlockSuite/pull/7653 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7651 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7647 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7671 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7656 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7643 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7666 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/7645 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7637 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7639 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7636 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7633 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7630 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7629 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7627 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7625 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7623 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7599 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7621 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7619 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7614 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7613 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7611 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7609 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7594 @fundon
- https://github.com/toeverything/BlockSuite/pull/7593 @fundon

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7634 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7616 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7617 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7603 @Saul-Mirone

## Misc
- https://github.com/toeverything/BlockSuite/pull/7604 @Saul-Mirone

## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7688 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7690 @Saul-Mirone

## Refactor

## Misc
2024-07-19 05:06:26 +00:00
CatsJuice
239de4c283 feat(core): reuse select-page for edit collection pages-mode (#7548) 2024-07-19 04:47:48 +00:00
liuyi
544236f1a0 fix: separate public domain for beta assets (#7550) 2024-07-19 12:45:26 +08:00
darkskygit
145872b9f4 chore: refresh unnamed user (#7544) 2024-07-19 04:01:39 +00:00
forehalo
90c00b6db9 Revert "fix(server): wrong usage of optl (#6714)"
This reverts commit 4868f6e611.
2024-07-19 11:31:01 +08:00
darkskygit
585003640f feat: improve workflow performance (#7539) 2024-07-18 10:37:27 +00:00
liuyi
9440dc8dd5 fix: separate beta and stable assets (#7543) 2024-07-18 10:32:40 +00:00
EYHN
9fe77baf05 feat(infra): better orm (#7502) 2024-07-18 10:14:12 +00:00
forehalo
133888d760 fix(core): remove useless logic of use favorite (#7533)
closes https://github.com/toeverything/AFFiNE/issues/7534
2024-07-18 08:08:24 +00:00
L-Sun
9160469a18 fix(core): can not preview image in shared page (#7466)
FIx BS-798
2024-07-18 06:33:52 +00:00
renovate
71ddb1f841 chore: bump up oxlint version to v0.6.1 (#7528)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.6.0` -> `0.6.1`](https://renovatebot.com/diffs/npm/oxlint/0.6.0/0.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.6.1`](4f26e51b74...697c0efdef)

[Compare Source](4f26e51b74...697c0efdef)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-18 04:34:20 +00:00
CatsJuice
4f718cffbf feat(core): subscribe changed notification and typeform link (#7522) 2024-07-18 04:20:21 +00:00
CatsJuice
b9d84fe007 fix(core): select page modal's list is not visiable (#7531)
fix AF-1076

![CleanShot 2024-07-18 at 10.18.41.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/9bff1f9e-f752-4cb2-87ad-0da62d69effa.gif)
2024-07-18 04:06:02 +00:00
renovate
ad970837ec chore: bump up @blocksuite/icons version to v2.1.59 (#7525)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.58` -> `2.1.59`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.58/2.1.59) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.59?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.59?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.58/2.1.59?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.58/2.1.59?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.59`](961ed351ea...e3b1e36db1)

[Compare Source](961ed351ea...e3b1e36db1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-18 03:44:56 +00:00
Peng Xiao
d168128174 fix(core): workaround for center peek styles (#7532) 2024-07-18 11:43:42 +08:00
renovate
2919d4912c chore: bump up react-i18next version to v15 (#7529)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-i18next](https://togithub.com/i18next/react-i18next) | [`^14.1.0` -> `^15.0.0`](https://renovatebot.com/diffs/npm/react-i18next/14.1.3/15.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/14.1.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/14.1.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

### [`v15.0.0`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1500)

[Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.1.3...v15.0.0)

-   use optional chaining, nullish coalescing and nullish coalescing assignment [1774](https://togithub.com/i18next/react-i18next/pull/1774)
-   Build config and optimizations [1769](https://togithub.com/i18next/react-i18next/pull/1769)
-   some dependency updates [1768](https://togithub.com/i18next/react-i18next/pull/1768)
-   use modern hasLoadedNamespace code (now requires at least i18next > v19.4.5 (introduced in june 2020))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-18 03:09:34 +00:00
DarkSky
dcb9d75db7 feat: allow sort and filter forked session (#7519) 2024-07-18 11:08:47 +08:00
Chen
ccac7a883c feat: bump blocksuite (#7526) 2024-07-17 18:30:46 +08:00
Cats Juice
ade8db2aec fix(core): adjust app-sidebar z-index (#7523) 2024-07-17 18:10:08 +08:00
Cats Juice
07d4c476c2 fix(core): right-sidebar header radio-group's indicator is missing (#7524) 2024-07-17 18:09:48 +08:00
Cats Juice
db3533724b fix(core): resolve unexpected forwardRef warning (#7527) 2024-07-17 18:08:59 +08:00
forehalo
4868f6e611 fix(server): wrong usage of optl (#6714) 2024-07-17 08:17:14 +00:00
CatsJuice
08a0572d4e fix(core): update pricing pages (#7521) 2024-07-17 08:01:13 +00:00
renovate
e97ac11d0f chore: bump up oxlint version to v0.6.0 (#7438)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.5.2` -> `0.6.0`](https://renovatebot.com/diffs/npm/oxlint/0.5.2/0.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.5.2/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.5.2/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.6.0`](https://togithub.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#060---2024-07-11)

[Compare Source](0c7f3eecc6...4f26e51b74)

##### Features

-   [`cc58614`](https://togithub.com/oxc-project/oxc/commit/cc58614) linter: Better schemas for allow/warn/deny ([#&#8203;4150](https://togithub.com/oxc-project/oxc/issues/4150)) (DonIsaac)

### [`v0.5.3`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.5.3): oxlint v0.5.3

[Compare Source](b66ad0b675...0c7f3eecc6)

#### \[0.5.3] - 2024-07-07

##### Features

-   [`1681b11`](https://togithub.com/oxc-project/oxc/commit/1681b11) linter: Eslint-plugin-jest/consistent-test-it ([#&#8203;4053](https://togithub.com/oxc-project/oxc/issues/4053)) (cinchen)
-   [`6876490`](https://togithub.com/oxc-project/oxc/commit/6876490) linter: Add rule no-undefined ([#&#8203;4041](https://togithub.com/oxc-project/oxc/issues/4041)) (jordan boyer)
-   [`bf04dee`](https://togithub.com/oxc-project/oxc/commit/bf04dee) linter: Implement unicorn/no-negation-in-equality-check ([#&#8203;4034](https://togithub.com/oxc-project/oxc/issues/4034)) (Nissim Chekroun)
-   [`aa45604`](https://togithub.com/oxc-project/oxc/commit/aa45604) linter/eslint: Implement no-multi-str ([#&#8203;4038](https://togithub.com/oxc-project/oxc/issues/4038)) (Jelle van der Waa)

##### Bug Fixes

-   [`7b2dc3b`](https://togithub.com/oxc-project/oxc/commit/7b2dc3b) linter: Fix panic in import/namespace ([#&#8203;4080](https://togithub.com/oxc-project/oxc/issues/4080)) (Boshen)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-16 08:40:16 +00:00
renovate
7f9d321d9c chore: bump up glob version to v11 (#7451)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [glob](https://togithub.com/isaacs/node-glob) | [`^10.3.12` -> `^11.0.0`](https://renovatebot.com/diffs/npm/glob/10.4.3/11.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.4.3/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.4.3/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>isaacs/node-glob (glob)</summary>

### [`v11.0.0`](https://togithub.com/isaacs/node-glob/compare/v10.4.4...561601d9d14935970ea78b0c1ca3a25addbf5379)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.4.5...v11.0.0)

### [`v10.4.5`](https://togithub.com/isaacs/node-glob/compare/v10.4.4...v10.4.5)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.4.4...v10.4.5)

### [`v10.4.4`](https://togithub.com/isaacs/node-glob/compare/v10.4.3...v10.4.4)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.4.3...v10.4.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-16 08:24:01 +00:00
renovate
85a02b74f9 chore: bump up all non-major dependencies (#7508)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.609.0` -> `3.614.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.12.0` -> `^0.13.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`^0.18.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.56` -> `3.0.0-alpha.60`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.60) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.60?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.60?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.60?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.60?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.4.1` -> `19.4.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.4.1/19.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [electron](https://togithub.com/electron/electron) | [`~30.1.0` -> `~30.2.0`](https://renovatebot.com/diffs/npm/electron/30.1.2/30.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`^0.6.0` -> `^0.7.0`](https://renovatebot.com/diffs/npm/jotai-scope/0.6.0/0.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.400.0` -> `^0.408.0`](https://renovatebot.com/diffs/npm/lucide-react/0.400.0/0.408.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.5` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.4` -> `3.0.0-alpha.6` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.0` -> `20.15.1` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-i18next](https://togithub.com/i18next/react-i18next) | [`14.1.2` -> `14.1.3`](https://renovatebot.com/diffs/npm/react-i18next/14.1.2/14.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/14.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/14.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/14.1.2/14.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/14.1.2/14.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.203` -> `1.0.204` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook-dark-mode](https://togithub.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://togithub.com/tailwindlabs/tailwindcss)) | [`3.4.4` -> `3.4.5`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.4/3.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.4/3.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.4/3.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [uuid](https://togithub.com/uuid-rs/uuid) | `1.9.1` -> `1.10.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vitest-fetch-mock](https://togithub.com/IanVS/vitest-fetch-mock) | [`^0.2.2` -> `^0.3.0`](https://renovatebot.com/diffs/npm/vitest-fetch-mock/0.2.2/0.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [vitest-mock-extended](https://togithub.com/eratio08/vitest-mock-extended) | [`1.3.1` -> `1.3.2`](https://renovatebot.com/diffs/npm/vitest-mock-extended/1.3.1/1.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-mock-extended/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-mock-extended/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-mock-extended/1.3.1/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-mock-extended/1.3.1/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.614.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36140-2024-07-10)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.613.0...v3.614.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.613.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36130-2024-07-09)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.609.0...v3.613.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.13.0`](4ea43b4cea...cf300e9cc0)

[Compare Source](4ea43b4cea...cf300e9cc0)

</details>

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-js (@&#8203;google-cloud/opentelemetry-cloud-monitoring-exporter)</summary>

### [`v0.19.0`](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

[Compare Source](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.60`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.59...@napi-rs/cli@3.0.0-alpha.60)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.59...@napi-rs/cli@3.0.0-alpha.60)

### [`v3.0.0-alpha.59`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.59)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.58...@napi-rs/cli@3.0.0-alpha.59)

##### Bug Fixes

-   **cli:** bundle lodash-es in cjs output ([#&#8203;2189](https://togithub.com/napi-rs/napi-rs/issues/2189)) ([e860822](e8608228b8))
-   **cli:** worker files format ([#&#8203;2186](https://togithub.com/napi-rs/napi-rs/issues/2186)) ([13c1838](13c18388f5))

### [`v3.0.0-alpha.58`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

### [`v3.0.0-alpha.57`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.4.3`](https://togithub.com/nrwl/nx/releases/tag/19.4.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.2...19.4.3)

##### 19.4.3 (2024-07-12)

##### 🚀 Features

-   **core:** avoid forking process for nx:noop ([#&#8203;26869](https://togithub.com/nrwl/nx/pull/26869))
-   **js:** add createNodesV2 for typescript plugin ([#&#8203;26788](https://togithub.com/nrwl/nx/pull/26788))
-   **nx-dev:** add customers & company pages ([#&#8203;26813](https://togithub.com/nrwl/nx/pull/26813))
-   **nx-dev:** Add more OSS logos ([#&#8203;26922](https://togithub.com/nrwl/nx/pull/26922))

##### 🩹 Fixes

-   **core:** load isolated plugins in parallel ([#&#8203;26874](https://togithub.com/nrwl/nx/pull/26874))
-   **core:** report should work if project graph errors ([#&#8203;26858](https://togithub.com/nrwl/nx/pull/26858))
-   **misc:** properly set the value of the bitbucket option for ci work… ([#&#8203;26890](https://togithub.com/nrwl/nx/pull/26890))
-   **misc:** add more ab testing for setting up ci and nx cloud ([#&#8203;26907](https://togithub.com/nrwl/nx/pull/26907))
-   **vite:** Only attempt to amend test object if one exists ([#&#8203;26822](https://togithub.com/nrwl/nx/pull/26822))
-   **vue:** bump vue-tsc version to 2.x.x ([#&#8203;26867](https://togithub.com/nrwl/nx/pull/26867))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jasper McCulloch
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v19.4.2`](https://togithub.com/nrwl/nx/releases/tag/19.4.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.1...19.4.2)

##### 19.4.2 (2024-07-08)

##### 🚀 Features

-   **core:** add support for wildcards in dependsOn ([#&#8203;19611](https://togithub.com/nrwl/nx/pull/19611))
-   **linter:** support `eslint.config.cjs` and `*.cjs` extension with flat config ([#&#8203;26637](https://togithub.com/nrwl/nx/pull/26637))

##### 🩹 Fixes

-   **core:** ensure better create nodes error messaging ([#&#8203;26811](https://togithub.com/nrwl/nx/pull/26811))
-   **misc:** adjust nx cloud ab test ([#&#8203;26866](https://togithub.com/nrwl/nx/pull/26866))

##### ❤️  Thank You

-   Ben Snyder
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Pavlo [@&#8203;fxposter](https://togithub.com/fxposter)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v30.2.0`](https://togithub.com/electron/electron/releases/tag/v30.2.0): electron v30.2.0

[Compare Source](https://togithub.com/electron/electron/compare/v30.1.2...v30.2.0)

### Release Notes for v30.2.0

#### Features

-   Enabled the Windows Control Overlay API on Linux. [#&#8203;42683](https://togithub.com/electron/electron/pull/42683) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42682), [32](https://togithub.com/electron/electron/pull/42681))</span>
-   Expose `systemPreferences` to `utilityProcess`. [#&#8203;42600](https://togithub.com/electron/electron/pull/42600) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42598), [32](https://togithub.com/electron/electron/pull/42599))</span>

#### Fixes

-   Fixed a focus issue when calling `BrowserWindow.setTopBrowserView`. [#&#8203;42735](https://togithub.com/electron/electron/pull/42735) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42734), [32](https://togithub.com/electron/electron/pull/42733))</span>
-   Fixed an issue where `fetch`-dependent interfaces could be missing in Web Workers with `nodeIntegrationInWorker` enabled. [#&#8203;42596](https://togithub.com/electron/electron/pull/42596) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42597), [32](https://togithub.com/electron/electron/pull/42595))</span>
-   Fixed an issue where `navigator.mediaDevices.enumerateDevices`  could return broken results in some cases after calling `session.setPermissionCheckHandler`. [#&#8203;42807](https://togithub.com/electron/electron/pull/42807) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42809), [32](https://togithub.com/electron/electron/pull/42808))</span>
-   Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. [#&#8203;42676](https://togithub.com/electron/electron/pull/42676) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42679), [31](https://togithub.com/electron/electron/pull/42678), [32](https://togithub.com/electron/electron/pull/42677))</span>
-   Fixed an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. [#&#8203;42687](https://togithub.com/electron/electron/pull/42687) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42685), [32](https://togithub.com/electron/electron/pull/42680))</span>
-   Fixed potentially incorrect exit code in UtilityProcess. [#&#8203;42395](https://togithub.com/electron/electron/pull/42395) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42396), [31](https://togithub.com/electron/electron/pull/42397))</span>

#### Other Changes

-   Security: backported fix for CVE-2024-5493. [#&#8203;42590](https://togithub.com/electron/electron/pull/42590)
-   Security: backported fix for CVE-2024-5831.
    -   Security: backported fix for CVE-2024-5832. [#&#8203;42602](https://togithub.com/electron/electron/pull/42602)
-   Security: backported fix for CVE-2024-6100.
    -   Security: backported fix for CVE-2024-6101.
    -   Security: backported fix for CVE-2024-6103. [#&#8203;42617](https://togithub.com/electron/electron/pull/42617)
-   Security: backported fix for CVE-2024-6291.
    -   Security: backported fix for CVE-2024-6293.
    -   Security: backported fix for CVE-2024-6290.
    -   Security: backported fix for CVE-2024-6292.
    -   Security: backported fix for chromium:346197738. [#&#8203;42693](https://togithub.com/electron/electron/pull/42693)
-   Updated Node.js to v20.15.0. [#&#8203;42613](https://togithub.com/electron/electron/pull/42613)

</details>

<details>
<summary>jotaijs/jotai-scope (jotai-scope)</summary>

### [`v0.7.0`](https://togithub.com/jotaijs/jotai-scope/compare/v0.6.0...v0.7.0)

[Compare Source](https://togithub.com/jotaijs/jotai-scope/compare/v0.6.0...v0.7.0)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.408.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.408.0): New icons 0.408.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.407.0...0.408.0)

#### New icons 🎨

-   `monitor-cog` ([#&#8203;2310](https://togithub.com/lucide-icons/lucide/issues/2310)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `church` ([#&#8203;2273](https://togithub.com/lucide-icons/lucide/issues/2273)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `delete` ([#&#8203;2279](https://togithub.com/lucide-icons/lucide/issues/2279)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `drafting-compass` ([#&#8203;2266](https://togithub.com/lucide-icons/lucide/issues/2266)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.407.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.407.0): New icons 0.407.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.406.0...0.407.0)

#### New icons 🎨

-   `type-outline` ([#&#8203;2206](https://togithub.com/lucide-icons/lucide/issues/2206)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.406.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.406.0): New icons 0.406.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.405.0...0.406.0)

#### New icons 🎨

-   `calendar-arrow-down` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `calendar-arrow-up` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `clock-arrow-down` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `clock-arrow-up` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.405.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.405.0): New icons 0.405.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.404.0...0.405.0)

#### New icons 🎨

-   `user-pen` ([#&#8203;2303](https://togithub.com/lucide-icons/lucide/issues/2303)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `user-round-pen` ([#&#8203;2303](https://togithub.com/lucide-icons/lucide/issues/2303)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.404.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.404.0): New icons 0.404.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.403.0...0.404.0)

#### New icons 🎨

-   `folder-code` ([#&#8203;2276](https://togithub.com/lucide-icons/lucide/issues/2276)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.403.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.403.0): New icons 0.403.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.402.0...0.403.0)

#### New icons 🎨

-   `list-check` ([#&#8203;2291](https://togithub.com/lucide-icons/lucide/issues/2291)) by [@&#8203;guanboo-yang](https://togithub.com/guanboo-yang)

### [`v0.402.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.402.0): New icons 0.402.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.401.0...0.402.0)

#### New icons 🎨

-   `wifi-high` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)
-   `wifi-low` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)
-   `wifi-zero` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)

### [`v0.401.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.401.0): New icons 0.401.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.400.0...0.401.0)

#### New icons 🎨

-   `scan-qr-code` ([#&#8203;2247](https://togithub.com/lucide-icons/lucide/issues/2247)) by [@&#8203;vexkiddy](https://togithub.com/vexkiddy)

#### Modified Icons 🔨

-   `book-a` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-audio` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-check` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-copy` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-dashed` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-down` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-headphones` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-heart` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-image` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-key` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-lock` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-marked` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-minus` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-plus` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-text` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-type` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-up-2` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-up` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-user` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-x` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `circle-power` ([#&#8203;2285](https://togithub.com/lucide-icons/lucide/issues/2285)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `key-round` ([#&#8203;2278](https://togithub.com/lucide-icons/lucide/issues/2278)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-alert` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-pause` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-x` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `signature` ([#&#8203;2293](https://togithub.com/lucide-icons/lucide/issues/2293)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-power` ([#&#8203;2285](https://togithub.com/lucide-icons/lucide/issues/2285)) by [@&#8203;jguddas](https://togithub.com/jguddas)

</details>

<details>
<summary>nodejs/node (node)</summary>

### [`v20.15.1`](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)

[Compare Source](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)

</details>

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

### [`v14.1.3`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1413)

[Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.1.2...v14.1.3)

-   create a isObject helper function [1766](https://togithub.com/i18next/react-i18next/pull/1766)
-   optimize nodesToString [1765](https://togithub.com/i18next/react-i18next/pull/1765)
-   Simplifies hasValidReactChildren [1764](https://togithub.com/i18next/react-i18next/pull/1764)
-   create a isString helper to avoid code duplication [1763](https://togithub.com/i18next/react-i18next/pull/1763)
-   use arrow functions where possible [1762](https://togithub.com/i18next/react-i18next/pull/1762)
-   use the commented out async code [1761](https://togithub.com/i18next/react-i18next/pull/1761)

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.204`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.204)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

-   Apply #\[diagnostic::on_unimplemented] attribute on Rust 1.78+ to suggest adding serde derive or enabling a "serde" feature flag in dependencies ([#&#8203;2767](https://togithub.com/serde-rs/serde/issues/2767), thanks [@&#8203;weiznich](https://togithub.com/weiznich))

</details>

<details>
<summary>hipstersmoothie/storybook-dark-mode (storybook-dark-mode)</summary>

### [`v4.0.2`](https://togithub.com/hipstersmoothie/storybook-dark-mode/blob/HEAD/CHANGELOG.md#v402-Wed-Jun-19-2024)

[Compare Source](https://togithub.com/hipstersmoothie/storybook-dark-mode/compare/v4.0.1...v4.0.2)

##### 🐛 Bug Fix

-   Fix for the "Storybook preview hooks can only be called inside decorators and story functions." error [#&#8203;279](https://togithub.com/hipstersmoothie/storybook-dark-mode/pull/279) ([@&#8203;adam-golab](https://togithub.com/adam-golab))

##### Authors: 1

-   Adam Gołąb ([@&#8203;adam-golab](https://togithub.com/adam-golab))

***

</details>

<details>
<summary>tailwindlabs/tailwindcss (tailwindcss)</summary>

### [`v3.4.5`](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.4...a0dbb3d87664521af8a422df5c179d9572a4698c)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.4...v3.4.5)

</details>

<details>
<summary>uuid-rs/uuid (uuid)</summary>

### [`v1.10.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.10.0)

[Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.1...1.10.0)

##### Deprecations

This release deprecates and renames the following functions:

-   `Builder::from_rfc4122_timestamp` -> `Builder::from_gregorian_timestamp`
-   `Builder::from_sorted_rfc4122_timestamp` -> `Builder::from_sorted_gregorian_timestamp`
-   `Timestamp::from_rfc4122` -> `Timestamp::from_gregorian`
-   `Timestamp::to_rfc4122` -> `Timestamp::to_gregorian`

##### What's Changed

-   Use const identifier in uuid macro by [@&#8203;Vrajs16](https://togithub.com/Vrajs16) in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764)
-   Rename most methods referring to RFC4122 by [@&#8203;Mikopet](https://togithub.com/Mikopet) / [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/765](https://togithub.com/uuid-rs/uuid/pull/765)
-   prepare for 1.10.0 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/766](https://togithub.com/uuid-rs/uuid/pull/766)

##### New Contributors

-   [@&#8203;Vrajs16](https://togithub.com/Vrajs16) made their first contribution in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764)

**Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0

</details>

<details>
<summary>IanVS/vitest-fetch-mock (vitest-fetch-mock)</summary>

### [`v0.3.0`](https://togithub.com/IanVS/vitest-fetch-mock/releases/tag/v0.3.0)

[Compare Source](https://togithub.com/IanVS/vitest-fetch-mock/compare/v0.2.2...v0.3.0)

#### Breaking changes

-   Support Vitest 2
-   Require Node 18 and above

#### Fixes

-   Better TypeScript support

#### PRs:

-   Update to vitest 2 by [@&#8203;birtles](https://togithub.com/birtles) in [https://github.com/IanVS/vitest-fetch-mock/pull/18](https://togithub.com/IanVS/vitest-fetch-mock/pull/18)
-   Update dependencies by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/IanVS/vitest-fetch-mock/pull/20](https://togithub.com/IanVS/vitest-fetch-mock/pull/20)
-   Update node versions tested in CI by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/IanVS/vitest-fetch-mock/pull/19](https://togithub.com/IanVS/vitest-fetch-mock/pull/19)
-   Fix: move index.d.ts alongside index.js main entry by [@&#8203;drwpow](https://togithub.com/drwpow) in [https://github.com/IanVS/vitest-fetch-mock/pull/11](https://togithub.com/IanVS/vitest-fetch-mock/pull/11)

#### New Contributors

-   [@&#8203;birtles](https://togithub.com/birtles) made their first contribution in [https://github.com/IanVS/vitest-fetch-mock/pull/18](https://togithub.com/IanVS/vitest-fetch-mock/pull/18)
-   [@&#8203;drwpow](https://togithub.com/drwpow) made their first contribution in [https://github.com/IanVS/vitest-fetch-mock/pull/11](https://togithub.com/IanVS/vitest-fetch-mock/pull/11)

**Full Changelog**: https://github.com/IanVS/vitest-fetch-mock/compare/v0.2.2...v0.3.0

</details>

<details>
<summary>eratio08/vitest-mock-extended (vitest-mock-extended)</summary>

### [`v1.3.2`](https://togithub.com/eratio08/vitest-mock-extended/releases/tag/v1.3.2)

[Compare Source](https://togithub.com/eratio08/vitest-mock-extended/compare/v1.3.1...v1.3.2)

##### Bug Fixes

-   Resolve issues with Vitest 2.0 Mock Type changes ([b1d2b89](b1d2b893dd))
-   `vitest-mock-extended` now requires `vitest` `2.0.0`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-16 07:29:08 +00:00
donteatfriedrice
53eb4aca8d feat: add notification when chat panel action success (#7490)
[BS-318](https://linear.app/affine-design/issue/BS-318/右侧边栏-ai-title-位置不统一)
[BS-418](https://linear.app/affine-design/issue/BS-418/chat-panel-response-成功后,添加-toast)
2024-07-16 06:15:40 +00:00
forehalo
b15294d80c chore(server): add mail metrics (#7514) 2024-07-16 03:22:47 +00:00
renovate
3590b53f40 chore: bump up all non-major dependencies (#7506)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.609.0` -> `3.614.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.12.0` -> `^0.13.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`^0.18.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.56` -> `3.0.0-alpha.58`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.4.1` -> `19.4.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.4.1/19.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`0.19.0` -> `0.19.1`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.19.0/0.19.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.19.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.19.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`~30.1.0` -> `~30.2.0`](https://renovatebot.com/diffs/npm/electron/30.1.2/30.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`^0.6.0` -> `^0.7.0`](https://renovatebot.com/diffs/npm/jotai-scope/0.6.0/0.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.400.0` -> `^0.408.0`](https://renovatebot.com/diffs/npm/lucide-react/0.400.0/0.408.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.5` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.4` -> `3.0.0-alpha.5` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.0` -> `20.15.1` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.203` -> `1.0.204` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook-dark-mode](https://togithub.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [uuid](https://togithub.com/uuid-rs/uuid) | `1.9.1` -> `1.10.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vitest-fetch-mock](https://togithub.com/IanVS/vitest-fetch-mock) | [`^0.2.2` -> `^0.3.0`](https://renovatebot.com/diffs/npm/vitest-fetch-mock/0.2.2/0.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.614.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36140-2024-07-10)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.613.0...v3.614.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.613.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36130-2024-07-09)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.609.0...v3.613.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.13.0`](4ea43b4cea...cf300e9cc0)

[Compare Source](4ea43b4cea...cf300e9cc0)

</details>

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-js (@&#8203;google-cloud/opentelemetry-cloud-monitoring-exporter)</summary>

### [`v0.19.0`](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

[Compare Source](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.58`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

### [`v3.0.0-alpha.57`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.4.3`](https://togithub.com/nrwl/nx/releases/tag/19.4.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.2...19.4.3)

#### 19.4.3 (2024-07-12)

##### 🚀 Features

-   **core:** avoid forking process for nx:noop ([#&#8203;26869](https://togithub.com/nrwl/nx/pull/26869))
-   **js:** add createNodesV2 for typescript plugin ([#&#8203;26788](https://togithub.com/nrwl/nx/pull/26788))
-   **nx-dev:** add customers & company pages ([#&#8203;26813](https://togithub.com/nrwl/nx/pull/26813))
-   **nx-dev:** Add more OSS logos ([#&#8203;26922](https://togithub.com/nrwl/nx/pull/26922))

##### 🩹 Fixes

-   **core:** load isolated plugins in parallel ([#&#8203;26874](https://togithub.com/nrwl/nx/pull/26874))
-   **core:** report should work if project graph errors ([#&#8203;26858](https://togithub.com/nrwl/nx/pull/26858))
-   **misc:** properly set the value of the bitbucket option for ci work… ([#&#8203;26890](https://togithub.com/nrwl/nx/pull/26890))
-   **misc:** add more ab testing for setting up ci and nx cloud ([#&#8203;26907](https://togithub.com/nrwl/nx/pull/26907))
-   **vite:** Only attempt to amend test object if one exists ([#&#8203;26822](https://togithub.com/nrwl/nx/pull/26822))
-   **vue:** bump vue-tsc version to 2.x.x ([#&#8203;26867](https://togithub.com/nrwl/nx/pull/26867))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jasper McCulloch
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v19.4.2`](https://togithub.com/nrwl/nx/releases/tag/19.4.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.1...19.4.2)

#### 19.4.2 (2024-07-08)

##### 🚀 Features

-   **core:** add support for wildcards in dependsOn ([#&#8203;19611](https://togithub.com/nrwl/nx/pull/19611))
-   **linter:** support `eslint.config.cjs` and `*.cjs` extension with flat config ([#&#8203;26637](https://togithub.com/nrwl/nx/pull/26637))

##### 🩹 Fixes

-   **core:** ensure better create nodes error messaging ([#&#8203;26811](https://togithub.com/nrwl/nx/pull/26811))
-   **misc:** adjust nx cloud ab test ([#&#8203;26866](https://togithub.com/nrwl/nx/pull/26866))

##### ❤️  Thank You

-   Ben Snyder
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Pavlo [@&#8203;fxposter](https://togithub.com/fxposter)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

</details>

<details>
<summary>storybookjs/test-runner (@&#8203;storybook/test-runner)</summary>

### [`v0.19.1`](https://togithub.com/storybookjs/test-runner/releases/tag/v0.19.1)

[Compare Source](https://togithub.com/storybookjs/test-runner/compare/v0.19.0...v0.19.1)

##### 🐛 Bug Fix

-   Release 0.19.1 [#&#8203;493](https://togithub.com/storybookjs/test-runner/pull/493) ([@&#8203;paulgv](https://togithub.com/paulgv) [@&#8203;yannbf](https://togithub.com/yannbf))
-   fix(deps): upgrade `@storybook/csf` to v0.1.11 [#&#8203;491](https://togithub.com/storybookjs/test-runner/pull/491) ([@&#8203;paulgv](https://togithub.com/paulgv))

##### Authors: 2

-   Paul Gascou-Vaillancourt ([@&#8203;paulgv](https://togithub.com/paulgv))
-   Yann Braga ([@&#8203;yannbf](https://togithub.com/yannbf))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v30.2.0`](https://togithub.com/electron/electron/releases/tag/v30.2.0): electron v30.2.0

[Compare Source](https://togithub.com/electron/electron/compare/v30.1.2...v30.2.0)

##### Release Notes for v30.2.0

##### Features

-   Enabled the Windows Control Overlay API on Linux. [#&#8203;42683](https://togithub.com/electron/electron/pull/42683) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42682), [32](https://togithub.com/electron/electron/pull/42681))</span>
-   Expose `systemPreferences` to `utilityProcess`. [#&#8203;42600](https://togithub.com/electron/electron/pull/42600) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42598), [32](https://togithub.com/electron/electron/pull/42599))</span>

##### Fixes

-   Fixed a focus issue when calling `BrowserWindow.setTopBrowserView`. [#&#8203;42735](https://togithub.com/electron/electron/pull/42735) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42734), [32](https://togithub.com/electron/electron/pull/42733))</span>
-   Fixed an issue where `fetch`-dependent interfaces could be missing in Web Workers with `nodeIntegrationInWorker` enabled. [#&#8203;42596](https://togithub.com/electron/electron/pull/42596) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42597), [32](https://togithub.com/electron/electron/pull/42595))</span>
-   Fixed an issue where `navigator.mediaDevices.enumerateDevices`  could return broken results in some cases after calling `session.setPermissionCheckHandler`. [#&#8203;42807](https://togithub.com/electron/electron/pull/42807) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42809), [32](https://togithub.com/electron/electron/pull/42808))</span>
-   Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. [#&#8203;42676](https://togithub.com/electron/electron/pull/42676) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42679), [31](https://togithub.com/electron/electron/pull/42678), [32](https://togithub.com/electron/electron/pull/42677))</span>
-   Fixed an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. [#&#8203;42687](https://togithub.com/electron/electron/pull/42687) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42685), [32](https://togithub.com/electron/electron/pull/42680))</span>
-   Fixed potentially incorrect exit code in UtilityProcess. [#&#8203;42395](https://togithub.com/electron/electron/pull/42395) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42396), [31](https://togithub.com/electron/electron/pull/42397))</span>

##### Other Changes

-   Security: backported fix for CVE-2024-5493. [#&#8203;42590](https://togithub.com/electron/electron/pull/42590)
-   Security: backported fix for CVE-2024-5831.
    -   Security: backported fix for CVE-2024-5832. [#&#8203;42602](https://togithub.com/electron/electron/pull/42602)
-   Security: backported fix for CVE-2024-6100.
    -   Security: backported fix for CVE-2024-6101.
    -   Security: backported fix for CVE-2024-6103. [#&#8203;42617](https://togithub.com/electron/electron/pull/42617)
-   Security: backported fix for CVE-2024-6291.
    -   Security: backported fix for CVE-2024-6293.
    -   Security: backported fix for CVE-2024-6290.
    -   Security: backported fix for CVE-2024-6292.
    -   Security: backported fix for chromium:346197738. [#&#8203;42693](https://togithub.com/electron/electron/pull/42693)
-   Updated Node.js to v20.15.0. [#&#8203;42613](https://togithub.com/electron/electron/pull/42613)

</details>

<details>
<summary>jotaijs/jotai-scope (jotai-scope)</summary>

### [`v0.7.0`](https://togithub.com/jotaijs/jotai-scope/compare/v0.6.0...v0.7.0)

[Compare Source](https://togithub.com/jotaijs/jotai-scope/compare/v0.6.0...v0.7.0)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.408.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.408.0): New icons 0.408.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.407.0...0.408.0)

#### New icons 🎨

-   `monitor-cog` ([#&#8203;2310](https://togithub.com/lucide-icons/lucide/issues/2310)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

#### Modified Icons 🔨

-   `church` ([#&#8203;2273](https://togithub.com/lucide-icons/lucide/issues/2273)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `delete` ([#&#8203;2279](https://togithub.com/lucide-icons/lucide/issues/2279)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `drafting-compass` ([#&#8203;2266](https://togithub.com/lucide-icons/lucide/issues/2266)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.407.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.407.0): New icons 0.407.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.406.0...0.407.0)

#### New icons 🎨

-   `type-outline` ([#&#8203;2206](https://togithub.com/lucide-icons/lucide/issues/2206)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.406.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.406.0): New icons 0.406.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.405.0...0.406.0)

#### New icons 🎨

-   `calendar-arrow-down` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `calendar-arrow-up` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `clock-arrow-down` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `clock-arrow-up` ([#&#8203;2307](https://togithub.com/lucide-icons/lucide/issues/2307)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.405.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.405.0): New icons 0.405.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.404.0...0.405.0)

#### New icons 🎨

-   `user-pen` ([#&#8203;2303](https://togithub.com/lucide-icons/lucide/issues/2303)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `user-round-pen` ([#&#8203;2303](https://togithub.com/lucide-icons/lucide/issues/2303)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)

### [`v0.404.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.404.0): New icons 0.404.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.403.0...0.404.0)

#### New icons 🎨

-   `folder-code` ([#&#8203;2276](https://togithub.com/lucide-icons/lucide/issues/2276)) by [@&#8203;jguddas](https://togithub.com/jguddas)

### [`v0.403.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.403.0): New icons 0.403.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.402.0...0.403.0)

#### New icons 🎨

-   `list-check` ([#&#8203;2291](https://togithub.com/lucide-icons/lucide/issues/2291)) by [@&#8203;guanboo-yang](https://togithub.com/guanboo-yang)

### [`v0.402.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.402.0): New icons 0.402.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.401.0...0.402.0)

#### New icons 🎨

-   `wifi-high` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)
-   `wifi-low` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)
-   `wifi-zero` ([#&#8203;2157](https://togithub.com/lucide-icons/lucide/issues/2157)) by [@&#8203;VirtCode](https://togithub.com/VirtCode)

### [`v0.401.0`](https://togithub.com/lucide-icons/lucide/releases/tag/0.401.0): New icons 0.401.0

[Compare Source](https://togithub.com/lucide-icons/lucide/compare/0.400.0...0.401.0)

#### New icons 🎨

-   `scan-qr-code` ([#&#8203;2247](https://togithub.com/lucide-icons/lucide/issues/2247)) by [@&#8203;vexkiddy](https://togithub.com/vexkiddy)

#### Modified Icons 🔨

-   `book-a` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-audio` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-check` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-copy` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-dashed` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-down` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-headphones` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-heart` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-image` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-key` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-lock` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-marked` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-minus` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-plus` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-text` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-type` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-up-2` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-up` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-user` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book-x` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `book` ([#&#8203;2274](https://togithub.com/lucide-icons/lucide/issues/2274)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `circle-power` ([#&#8203;2285](https://togithub.com/lucide-icons/lucide/issues/2285)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `key-round` ([#&#8203;2278](https://togithub.com/lucide-icons/lucide/issues/2278)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-alert` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-pause` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon-x` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `octagon` ([#&#8203;2280](https://togithub.com/lucide-icons/lucide/issues/2280)) by [@&#8203;jguddas](https://togithub.com/jguddas)
-   `signature` ([#&#8203;2293](https://togithub.com/lucide-icons/lucide/issues/2293)) by [@&#8203;karsa-mistmere](https://togithub.com/karsa-mistmere)
-   `square-power` ([#&#8203;2285](https://togithub.com/lucide-icons/lucide/issues/2285)) by [@&#8203;jguddas](https://togithub.com/jguddas)

</details>

<details>
<summary>nodejs/node (node)</summary>

### [`v20.15.1`](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)

[Compare Source](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.204`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.204)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

-   Apply #\[diagnostic::on_unimplemented] attribute on Rust 1.78+ to suggest adding serde derive or enabling a "serde" feature flag in dependencies ([#&#8203;2767](https://togithub.com/serde-rs/serde/issues/2767), thanks [@&#8203;weiznich](https://togithub.com/weiznich))

</details>

<details>
<summary>hipstersmoothie/storybook-dark-mode (storybook-dark-mode)</summary>

### [`v4.0.2`](https://togithub.com/hipstersmoothie/storybook-dark-mode/blob/HEAD/CHANGELOG.md#v402-Wed-Jun-19-2024)

[Compare Source](https://togithub.com/hipstersmoothie/storybook-dark-mode/compare/v4.0.1...v4.0.2)

##### 🐛 Bug Fix

-   Fix for the "Storybook preview hooks can only be called inside decorators and story functions." error [#&#8203;279](https://togithub.com/hipstersmoothie/storybook-dark-mode/pull/279) ([@&#8203;adam-golab](https://togithub.com/adam-golab))

##### Authors: 1

-   Adam Gołąb ([@&#8203;adam-golab](https://togithub.com/adam-golab))

***

</details>

<details>
<summary>uuid-rs/uuid (uuid)</summary>

### [`v1.10.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.10.0)

[Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.1...1.10.0)

##### Deprecations

This release deprecates and renames the following functions:

-   `Builder::from_rfc4122_timestamp` -> `Builder::from_gregorian_timestamp`
-   `Builder::from_sorted_rfc4122_timestamp` -> `Builder::from_sorted_gregorian_timestamp`
-   `Timestamp::from_rfc4122` -> `Timestamp::from_gregorian`
-   `Timestamp::to_rfc4122` -> `Timestamp::to_gregorian`

##### What's Changed

-   Use const identifier in uuid macro by [@&#8203;Vrajs16](https://togithub.com/Vrajs16) in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764)
-   Rename most methods referring to RFC4122 by [@&#8203;Mikopet](https://togithub.com/Mikopet) / [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/765](https://togithub.com/uuid-rs/uuid/pull/765)
-   prepare for 1.10.0 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/766](https://togithub.com/uuid-rs/uuid/pull/766)

##### New Contributors

-   [@&#8203;Vrajs16](https://togithub.com/Vrajs16) made their first contribution in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764)

**Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0

</details>

<details>
<summary>IanVS/vitest-fetch-mock (vitest-fetch-mock)</summary>

### [`v0.3.0`](https://togithub.com/IanVS/vitest-fetch-mock/releases/tag/v0.3.0)

[Compare Source](https://togithub.com/IanVS/vitest-fetch-mock/compare/v0.2.2...v0.3.0)

#### Breaking changes

-   Support Vitest 2
-   Require Node 18 and above

#### Fixes

-   Better TypeScript support

#### PRs:

-   Update to vitest 2 by [@&#8203;birtles](https://togithub.com/birtles) in [https://github.com/IanVS/vitest-fetch-mock/pull/18](https://togithub.com/IanVS/vitest-fetch-mock/pull/18)
-   Update dependencies by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/IanVS/vitest-fetch-mock/pull/20](https://togithub.com/IanVS/vitest-fetch-mock/pull/20)
-   Update node versions tested in CI by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/IanVS/vitest-fetch-mock/pull/19](https://togithub.com/IanVS/vitest-fetch-mock/pull/19)
-   Fix: move index.d.ts alongside index.js main entry by [@&#8203;drwpow](https://togithub.com/drwpow) in [https://github.com/IanVS/vitest-fetch-mock/pull/11](https://togithub.com/IanVS/vitest-fetch-mock/pull/11)

#### New Contributors

-   [@&#8203;birtles](https://togithub.com/birtles) made their first contribution in [https://github.com/IanVS/vitest-fetch-mock/pull/18](https://togithub.com/IanVS/vitest-fetch-mock/pull/18)
-   [@&#8203;drwpow](https://togithub.com/drwpow) made their first contribution in [https://github.com/IanVS/vitest-fetch-mock/pull/11](https://togithub.com/IanVS/vitest-fetch-mock/pull/11)

**Full Changelog**: https://github.com/IanVS/vitest-fetch-mock/compare/v0.2.2...v0.3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-15 15:22:52 +00:00
DarkSky
1f50c1b890 fix: handle gql error correctly (#7507) 2024-07-15 09:24:43 +00:00
renovate
b50c57a3fa chore: bump up all non-major dependencies (#7433)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.609.0` -> `3.614.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.609.0` -> `3.614.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.609.0/3.614.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.12.0` -> `^0.13.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.12.0/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`^0.18.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.18.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@google-cloud/opentelemetry-cloud-trace-exporter](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`2.2.0` -> `2.3.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.2.0/2.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.2.0/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.2.0/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@google-cloud/opentelemetry-resource-util](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`2.2.0` -> `2.3.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-resource-util/2.2.0/2.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-resource-util/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google-cloud%2fopentelemetry-resource-util/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google-cloud%2fopentelemetry-resource-util/2.2.0/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google-cloud%2fopentelemetry-resource-util/2.2.0/2.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`0.7.1` -> `0.7.2`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.7.1/0.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.7.1/0.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.56` -> `3.0.0-alpha.58`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.56/3.0.0-alpha.58?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.4.1` -> `19.4.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.4.1/19.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.16.1` -> `5.16.2`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.16.1/5.16.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.16.1` -> `5.16.2`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.16.1/5.16.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.20.1` -> `2.21.1`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.20.1/2.21.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.20.1/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.20.1/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.15.0` -> `8.17.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.15.0/8.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.15.0/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.15.0/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.15.0` -> `8.17.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.15.0/8.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.15.0/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.15.0/8.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.20.1` -> `2.21.1`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.20.1/2.21.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.20.1/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.20.1/2.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.6.7` -> `1.6.13`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.6.7/1.6.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.6.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.6.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.6.7/1.6.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.6.7/1.6.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/mixpanel-browser](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mixpanel-browser) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mixpanel-browser)) | [`2.49.0` -> `2.49.1`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.49.0/2.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.49.0/2.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-browser/2.49.0/2.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/ws](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ws) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws)) | [`8.5.10` -> `8.5.11`](https://renovatebot.com/diffs/npm/@types%2fws/8.5.10/8.5.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fws/8.5.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fws/8.5.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fws/8.5.10/8.5.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fws/8.5.10/8.5.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`~30.1.0` -> `~30.2.0`](https://renovatebot.com/diffs/npm/electron/30.1.2/30.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.1.2/30.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [file-type](https://togithub.com/sindresorhus/file-type) | [`19.1.0` -> `19.1.1`](https://renovatebot.com/diffs/npm/file-type/19.1.0/19.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/19.1.0/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/19.1.0/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [foxact](https://foxact.skk.moe) ([source](https://togithub.com/SukkaW/foxact)) | [`0.2.35` -> `0.2.36`](https://renovatebot.com/diffs/npm/foxact/0.2.35/0.2.36) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.35/0.2.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.35/0.2.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.4.3` -> `10.4.5`](https://renovatebot.com/diffs/npm/glob/10.4.3/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.4.3/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.4.3/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | [`23.11.5` -> `23.12.1`](https://renovatebot.com/diffs/npm/i18next/23.11.5/23.12.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.11.5/23.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.11.5/23.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.4` -> `2.9.0`](https://renovatebot.com/diffs/npm/jotai/2.8.4/2.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.4/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.4/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.4` -> `2.9.0`](https://renovatebot.com/diffs/npm/jotai/2.8.4/2.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.4/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.4/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`^0.6.0` -> `^0.7.0`](https://renovatebot.com/diffs/npm/jotai-scope/0.6.0/0.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.400.0` -> `^0.408.0`](https://renovatebot.com/diffs/npm/lucide-react/0.400.0/0.408.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.400.0/0.408.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.5` -> `3.0.0-alpha.7` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.5/3.0.0-alpha.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.4` -> `3.0.0-alpha.5` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.4/3.0.0-alpha.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.15.0` -> `20.15.1` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.15.0/v20.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.4.1` -> `19.4.3`](https://renovatebot.com/diffs/npm/nx/19.4.1/19.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.4.1/19.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://togithub.com/openai/openai-node) | [`4.52.3` -> `4.52.7`](https://renovatebot.com/diffs/npm/openai/4.52.3/4.52.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.52.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.52.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.52.3/4.52.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.52.3/4.52.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`=1.44.1` -> `=1.45.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [prettier](https://prettier.io) ([source](https://togithub.com/prettier/prettier)) | [`3.3.2` -> `3.3.3`](https://renovatebot.com/diffs/npm/prettier/3.3.2/3.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.3.2/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.3.2/3.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.16.1` -> `5.16.2`](https://renovatebot.com/diffs/npm/prisma/5.16.1/5.16.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.16.1/5.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://togithub.com/petyosi/react-virtuoso)) | [`4.7.11` -> `4.7.12`](https://renovatebot.com/diffs/npm/react-virtuoso/4.7.11/4.7.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.7.11/4.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.7.11/4.7.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.203` -> `1.0.204` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.203/1.0.204?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook-dark-mode](https://togithub.com/hipstersmoothie/storybook-dark-mode) | [`4.0.1` -> `4.0.2`](https://renovatebot.com/diffs/npm/storybook-dark-mode/4.0.1/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook-dark-mode/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook-dark-mode/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tailwind-merge](https://togithub.com/dcastil/tailwind-merge) | [`2.3.0` -> `2.4.0`](https://renovatebot.com/diffs/npm/tailwind-merge/2.3.0/2.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwind-merge/2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwind-merge/2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwind-merge/2.3.0/2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwind-merge/2.3.0/2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [typedoc](https://typedoc.org) ([source](https://togithub.com/TypeStrong/TypeDoc)) | [`0.26.3` -> `0.26.4`](https://renovatebot.com/diffs/npm/typedoc/0.26.3/0.26.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.26.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.26.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.26.3/0.26.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.26.3/0.26.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [uuid](https://togithub.com/uuid-rs/uuid) | `1.9.1` -> `1.10.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uuid/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uuid/1.9.1/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vitest-fetch-mock](https://togithub.com/IanVS/vitest-fetch-mock) | [`^0.2.2` -> `^0.3.0`](https://renovatebot.com/diffs/npm/vitest-fetch-mock/0.2.2/0.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest-fetch-mock/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest-fetch-mock/0.2.2/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [webpack](https://togithub.com/webpack/webpack) | [`5.92.1` -> `5.93.0`](https://renovatebot.com/diffs/npm/webpack/5.92.1/5.93.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.92.1/5.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.92.1/5.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.63.1` -> `3.64.0`](https://renovatebot.com/diffs/npm/wrangler/3.63.1/3.64.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.64.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.64.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.63.1/3.64.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.63.1/3.64.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.614.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36140-2024-07-10)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.613.0...v3.614.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.613.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36130-2024-07-09)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.609.0...v3.613.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.13.0`](4ea43b4cea...cf300e9cc0)

[Compare Source](4ea43b4cea...cf300e9cc0)

</details>

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-js (@&#8203;google-cloud/opentelemetry-cloud-monitoring-exporter)</summary>

### [`v0.19.0`](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

[Compare Source](https://togithub.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.18.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0)

</details>

<details>
<summary>marsidev/react-turnstile (@&#8203;marsidev/react-turnstile)</summary>

### [`v0.7.2`](https://togithub.com/marsidev/react-turnstile/releases/tag/v0.7.2)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.7.1...v0.7.2)

#####    🐞 Bug Fixes

-   Resetting widgets solved ref back to false on widget unmount  -  by [@&#8203;kkatsi](https://togithub.com/kkatsi) [<samp>(77f36)</samp>](https://togithub.com/marsidev/react-turnstile/commit/77f3686)

#####     [View changes on GitHub](https://togithub.com/marsidev/react-turnstile/compare/v0.7.1...v0.7.2)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.58`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.57...@napi-rs/cli@3.0.0-alpha.58)

### [`v3.0.0-alpha.57`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.56...@napi-rs/cli@3.0.0-alpha.57)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.4.3`](https://togithub.com/nrwl/nx/releases/tag/19.4.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.2...19.4.3)

#### 19.4.3 (2024-07-12)

##### 🚀 Features

-   **core:** avoid forking process for nx:noop ([#&#8203;26869](https://togithub.com/nrwl/nx/pull/26869))
-   **js:** add createNodesV2 for typescript plugin ([#&#8203;26788](https://togithub.com/nrwl/nx/pull/26788))
-   **nx-dev:** add customers & company pages ([#&#8203;26813](https://togithub.com/nrwl/nx/pull/26813))
-   **nx-dev:** Add more OSS logos ([#&#8203;26922](https://togithub.com/nrwl/nx/pull/26922))

##### 🩹 Fixes

-   **core:** load isolated plugins in parallel ([#&#8203;26874](https://togithub.com/nrwl/nx/pull/26874))
-   **core:** report should work if project graph errors ([#&#8203;26858](https://togithub.com/nrwl/nx/pull/26858))
-   **misc:** properly set the value of the bitbucket option for ci work… ([#&#8203;26890](https://togithub.com/nrwl/nx/pull/26890))
-   **misc:** add more ab testing for setting up ci and nx cloud ([#&#8203;26907](https://togithub.com/nrwl/nx/pull/26907))
-   **vite:** Only attempt to amend test object if one exists ([#&#8203;26822](https://togithub.com/nrwl/nx/pull/26822))
-   **vue:** bump vue-tsc version to 2.x.x ([#&#8203;26867](https://togithub.com/nrwl/nx/pull/26867))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jasper McCulloch
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v19.4.2`](https://togithub.com/nrwl/nx/releases/tag/19.4.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.4.1...19.4.2)

#### 19.4.2 (2024-07-08)

##### 🚀 Features

-   **core:** add support for wildcards in dependsOn ([#&#8203;19611](https://togithub.com/nrwl/nx/pull/19611))
-   **linter:** support `eslint.config.cjs` and `*.cjs` extension with flat config ([#&#8203;26637](https://togithub.com/nrwl/nx/pull/26637))

##### 🩹 Fixes

-   **core:** ensure better create nodes error messaging ([#&#8203;26811](https://togithub.com/nrwl/nx/pull/26811))
-   **misc:** adjust nx cloud ab test ([#&#8203;26866](https://togithub.com/nrwl/nx/pull/26866))

##### ❤️  Thank You

-   Ben Snyder
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Pavlo [@&#8203;fxposter](https://togithub.com/fxposter)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

</details>

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.16.2`](https://togithub.com/prisma/prisma/releases/tag/5.16.2)

[Compare Source](https://togithub.com/prisma/prisma/compare/5.16.1...5.16.2)

Today, we are issuing the 5.16.2 patch release to fix an issue in Prisma client.

#### Fix in Prisma Client

-   [nextjs app deployed to vercel edge can't import prisma WASM modul ](https://togithub.com/prisma/prisma/issues/24673)

</details>

<details>
<summary>getsentry/sentry-javascript-bundler-plugins (@&#8203;sentry/esbuild-plugin)</summary>

### [`v2.21.1`](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#2211)

[Compare Source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/compare/2.21.0...2.21.1)

-   fix: Do not delete files before all upload tasks executed ([#&#8203;572](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/572))

Work in this release contributed by [@&#8203;tyouzu1](https://togithub.com/tyouzu1). Thank you for your contribution!

### [`v2.21.0`](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#2210)

[Compare Source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/compare/2.20.1...2.21.0)

-   fix: Use `sequential` and `post` order for vite artifact deletion ([#&#8203;568](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/568))
-   feat: Add option to disable sourcemaps ([#&#8203;561](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/561))

Work in this release contributed by [@&#8203;tyouzu1](https://togithub.com/tyouzu1). Thank you for your contribution!

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.17.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8170)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.16.0...8.17.0)

-   feat: Upgrade OTEL deps ([#&#8203;12809](https://togithub.com/getsentry/sentry-javascript/issues/12809))
-   fix(nuxt): Add module to build:transpile script ([#&#8203;12843](https://togithub.com/getsentry/sentry-javascript/issues/12843))
-   fix(browser): Allow SDK initialization in NW.js apps ([#&#8203;12846](https://togithub.com/getsentry/sentry-javascript/issues/12846))

### [`v8.16.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8160)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.15.0...8.16.0)

##### Important Changes

-   **feat(nextjs): Use spans generated by Next.js for App Router ([#&#8203;12729](https://togithub.com/getsentry/sentry-javascript/issues/12729))**

Previously, the `@sentry/nextjs` SDK automatically recorded spans in the form of transactions for each of your top-level
server components (pages, layouts, ...). This approach had a few drawbacks, the main ones being that traces didn't have
a root span, and more importantly, if you had data stream to the client, its duration was not captured because the
server component spans had finished before the data could finish streaming.

With this release, we will capture the duration of App Router requests in their entirety as a single transaction with
server component spans being descendants of that transaction. This means you will get more data that is also more
accurate. Note that this does not apply to the Edge runtime. For the Edge runtime, the SDK will emit transactions as it
has before.

Generally speaking, this change means that you will see less *transactions* and more *spans* in Sentry. You will no
longer receive server component transactions like `Page Server Component (/path/to/route)` (unless using the Edge
runtime), and you will instead receive transactions for your App Router SSR requests that look like
`GET /path/to/route`.

If you are on Sentry SaaS, this may have an effect on your quota consumption: Less transactions, more spans.

-   **- feat(nestjs): Add nest cron monitoring support ([#&#8203;12781](https://togithub.com/getsentry/sentry-javascript/issues/12781))**

The `@sentry/nestjs` SDK now includes a `@SentryCron` decorator that can be used to augment the native NestJS `@Cron`
decorator to send check-ins to Sentry before and after each cron job run:

```typescript
import { Cron } from '@&#8203;nestjs/schedule';
import { SentryCron, MonitorConfig } from '@&#8203;sentry/nestjs';
import type { MonitorConfig } from '@&#8203;sentry/types';

const monitorConfig: MonitorConfig = {
  schedule: {
    type: 'crontab',
    value: '* * * * *',
  },
  checkinMargin: 2, // In minutes. Optional.
  maxRuntime: 10, // In minutes. Optional.
  timezone: 'America/Los_Angeles', // Optional.
};

export class MyCronService {
  @&#8203;Cron('* * * * *')
  @&#8203;SentryCron('my-monitor-slug', monitorConfig)
  handleCron() {
    // Your cron job logic here
  }
}
```

##### Other Changes

-   feat(node): Allow to pass instrumentation config to `httpIntegration` ([#&#8203;12761](https://togithub.com/getsentry/sentry-javascript/issues/12761))
-   feat(nuxt): Add server error hook ([#&#8203;12796](https://togithub.com/getsentry/sentry-javascript/issues/12796))
-   feat(nuxt): Inject sentry config with Nuxt `addPluginTemplate` ([#&#8203;12760](https://togithub.com/getsentry/sentry-javascript/issues/12760))
-   fix: Apply stack frame metadata before event processors ([#&#8203;12799](https://togithub.com/getsentry/sentry-javascript/issues/12799))
-   fix(feedback): Add missing `h` import in `ScreenshotEditor` ([#&#8203;12784](https://togithub.com/getsentry/sentry-javascript/issues/12784))
-   fix(node): Ensure `autoSessionTracking` is enabled by default ([#&#8203;12790](https://togithub.com/getsentry/sentry-javascript/issues/12790))
-   ref(feedback): Let CropCorner inherit the existing h prop ([#&#8203;12814](https://togithub.com/getsentry/sentry-javascript/issues/12814))
-   ref(otel): Ensure we never swallow args for ContextManager ([#&#8203;12798](https://togithub.com/getsentry/sentry-javascript/issues/12798))

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.6.13`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1613---2024-07-06)

[Compare Source](https://togithub.com/swc-project/swc/compare/v1.6.12...v1.6.13)

##### Bug Fixes

-   **(es/parser)** Revert [#&#8203;9141](https://togithub.com/swc-project/swc/issues/9141) ([#&#8203;9171](https://togithub.com/swc-project/swc/issues/9171)) ([8b66d5e](8b66d5e89b))

-   **(es/testing)** Fix `PluginCommentProxy` ([#&#8203;9170](https://togithub.com/swc-project/swc/issues/9170)) ([d86ca2d](d86ca2d49e))

##### Features

-   **(es/typescript)** Improve fast TS strip ([#&#8203;9166](https://togithub.com/swc-project/swc/issues/9166)) ([ee8dc28](ee8dc28d4d))

-   **(es/typescript)** Improve fast TS strip ([#&#8203;9167](https://togithub.com/swc-project/swc/issues/9167)) ([98af589](98af5890da))

##### Testing

-   **(es/minfiier)** Improve comment testing ([#&#8203;9164](https://togithub.com/swc-project/swc/issues/9164)) ([f90574d](f90574d045))

### [`v1.6.12`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1612---2024-07-06)

[Compare Source](https://togithub.com/swc-project/swc/compare/v1.6.7...v1.6.12)

##### Bug Fixes

-   **(ci)** Restore disabled CI checks ([#&#8203;9002](https://togithub.com/swc-project/swc/issues/9002)) ([cdfd4c8](cdfd4c85e4))

-   **(es/decorators)** Fix bugs of `2022-03` implementation ([#&#8203;9145](https://togithub.com/swc-project/swc/issues/9145)) ([8a3ae44](8a3ae44370))

-   **(es/loader)** Exclude `.json` from default extension list ([#&#8203;9134](https://togithub.com/swc-project/swc/issues/9134)) ([e94e5e7](e94e5e70c3))

-   **(es/minifier)** Fix `undefined` judgement ([#&#8203;9146](https://togithub.com/swc-project/swc/issues/9146)) ([1a739b7](1a739b7928))

-   **(es/renamer)** Fix renaming of default-exported declarations ([#&#8203;9135](https://togithub.com/swc-project/swc/issues/9135)) ([45f671d](45f671d8d8))

-   **(es/renamer)** Remove `FastJsWord` ([#&#8203;9136](https://togithub.com/swc-project/swc/issues/9136)) ([42b4caf](42b4caf573))

-   **(es/typescript)** Fix tricky cases in TS fast strip ([#&#8203;9159](https://togithub.com/swc-project/swc/issues/9159)) ([2bc51b8](2bc51b8ab2))

-   **(es/typescript)** Fix replacement logic of fast TS strip ([#&#8203;9163](https://togithub.com/swc-project/swc/issues/9163)) ([c5acafe](c5acafe386))

##### Features

-   **(bindings/ts)** Add transform/strip-only mode ([#&#8203;9138](https://togithub.com/swc-project/swc/issues/9138)) ([a08bb46](a08bb46ebd))

-   **(es/testing)** Improve comment testing story ([#&#8203;9150](https://togithub.com/swc-project/swc/issues/9150)) ([3638e97](3638e97c80))

-   **(es/typescript)** Add `swc_fast_ts_strip` ([#&#8203;9143](https://togithub.com/swc-project/swc/issues/9143)) ([b129343](b129343c94))

-   **(es/typescript)** Improve fast TS stripper ([#&#8203;9152](https://togithub.com/swc-project/swc/issues/9152)) ([9fca4ab](9fca4ab555))

-   **(es/typescript)** Improve fast TS stripper ([#&#8203;9153](https://togithub.com/swc-project/swc/issues/9153)) ([732d748](732d748d4e))

-   **(es/typescript)** Improve fast TS strip ([#&#8203;9154](https://togithub.com/swc-project/swc/issues/9154)) ([05c7210](05c721030a))

##### Performance

-   **(es)** Reduce allocations for dynamic stacks ([#&#8203;9133](https://togithub.com/swc-project/swc/issues/9133)) ([648830a](648830a9a9))

##### Refactor

-   **(bindings/ts)** Inline Wasm file into `wasm.js` ([#&#8203;9139](https://togithub.com/swc-project/swc/issues/9139)) ([307b6f2](307b6f27a6))

-   **(es/parser)** Improve readability ([#&#8203;9141](https://togithub.com/swc-project/swc/issues/9141)) ([9d9fe66](9d9fe6625b))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v30.2.0`](https://togithub.com/electron/electron/releases/tag/v30.2.0): electron v30.2.0

[Compare Source](https://togithub.com/electron/electron/compare/v30.1.2...v30.2.0)

##### Release Notes for v30.2.0

##### Features

-   Enabled the Windows Control Overlay API on Linux. [#&#8203;42683](https://togithub.com/electron/electron/pull/42683) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42682), [32](https://togithub.com/electron/electron/pull/42681))</span>
-   Expose `systemPreferences` to `utilityProcess`. [#&#8203;42600](https://togithub.com/electron/electron/pull/42600) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42598), [32](https://togithub.com/electron/electron/pull/42599))</span>

##### Fixes

-   Fixed a focus issue when calling `BrowserWindow.setTopBrowserView`. [#&#8203;42735](https://togithub.com/electron/electron/pull/42735) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42734), [32](https://togithub.com/electron/electron/pull/42733))</span>
-   Fixed an issue where `fetch`-dependent interfaces could be missing in Web Workers with `nodeIntegrationInWorker` enabled. [#&#8203;42596](https://togithub.com/electron/electron/pull/42596) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42597), [32](https://togithub.com/electron/electron/pull/42595))</span>
-   Fixed an issue where `navigator.mediaDevices.enumerateDevices`  could return broken results in some cases after calling `session.setPermissionCheckHandler`. [#&#8203;42807](https://togithub.com/electron/electron/pull/42807) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42809), [32](https://togithub.com/electron/electron/pull/42808))</span>
-   Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. [#&#8203;42676](https://togithub.com/electron/electron/pull/42676) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42679), [31](https://togithub.com/electron/electron/pull/42678), [32](https://togithub.com/electron/electron/pull/42677))</span>
-   Fixed an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. [#&#8203;42687](https://togithub.com/electron/electron/pull/42687) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42685), [32](https://togithub.com/electron/electron/pull/42680))</span>
-   Fixed potentially incorrect exit code in UtilityProcess. [#&#8203;42395](https://togithub.com/electron/electron/pull/42395) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42396), [31](https://togithub.com/electron/electron/pull/42397))</span>

##### Other Changes

-   Security: backported fix for CVE-2024-5493. [#&#8203;42590](https://togithub.com/electron/electron/pull/42590)
-   Security: backported fix for CVE-2024-5831.
    -   Security: backported fix for CVE-2024-5832. [#&#8203;42602](https://togithub.com/electron/electron/pull/42602)
-   Security: backported fix for CVE-2024-6100.
    -   Security: backported fix for CVE-2024-6101.
    -   Security: backported fix for CVE-2024-6103. [#&#8203;42617](https://togithub.com/electron/electron/pull/42617)
-   Security: backported fix for CVE-2024-6291.
    -   Security: backported fix for CVE-2024-6293.
    -   Security: backported fix for CVE-2024-6290.
    -   Security: backported fix for CVE-2024-6292.
    -   Security: backported fix for chromium:346197738. [#&#8203;42693](https://togithub.com/electron/electron/pull/42693)
-   Updated Node.js to v20.15.0. [#&#8203;42613](https://togithub.com/electron/electron/pull/42613)

</details>

<details>
<summary>si

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-15 08:20:22 +00:00
EYHN
063c206289 chore: bump blocksuite (#7489) 2024-07-15 07:58:26 +00:00
CatsJuice
242c41b440 feat(core): adjust center peek animation (#7393) 2024-07-15 06:36:24 +00:00
CatsJuice
7082f7ea7a fix(core): share-button's label of shared page should be 'shared' (#7486)
close #7427
2024-07-15 06:21:22 +00:00
pengx17
15042394be chore: expose FrameworkEvent (#7500)
fix the following ts error

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3ba44c29-50e9-4830-9c6e-19bf44b661f3.png)
2024-07-15 05:29:53 +00:00
darkskygit
e4b816f153 feat: add ping for event source (#7493) 2024-07-15 04:16:22 +00:00
EYHN
7103b2e594 feat(component): new dnd api (#7467) 2024-07-15 04:00:42 +00:00
EYHN
dca88e24fe feat(electron): shared storage (#7492) 2024-07-15 03:21:08 +00:00
EYHN
0f1409756e refactor(infra): memento use undefined (#7491) 2024-07-15 02:48:20 +00:00
lawvs
2f784ae539 fix: switch to file-type v19.1.0 (#7459)
The official `file-type` package has replaced the usage of node:buffer with Uint8Array. This change allows it to run safely in the browser now.

Related to https://github.com/sindresorhus/file-type/issues/578
2024-07-12 10:27:49 +00:00
donteatfriedrice
5ede985a3a fix: increase image action time out (#7487)
Increase image action timeout from 50000ms to 120000ms.
2024-07-12 06:36:30 +00:00
forehalo
024e5500f6 feat(infra): improve orm (#7475) 2024-07-12 04:25:59 +00:00
EYHN
5dd7382693 refactor(core): workbench (#7355)
Merge the right sidebar logic into the workbench. this can simplify our logic.

Previously we had 3 modules

* workbench
* right-sidebar (Control sidebar open&close)
* multi-tab-sidebar (Control tabs)

Now everything is managed in Workbench.

# Behavioral changes

The sidebar button is always visible and can be opened at any time.
If there is no content to display,  will be `No Selection`

![CleanShot 2024-06-28 at 14.00.41.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/d74b3a60-2299-452e-877e-188186fe5ee5.png)

Elements in the sidebar can now be defined as`unmountOnInactive=false`. Inactive sidebars are marked with `display: none` but not unmount, so the `ChatPanel` can always remain in the DOM and user input will be retained even if the sidebar is closed.
2024-07-12 04:11:05 +00:00
darkskygit
5f16cb400d hotfix: adapt new fal response (#7480) 2024-07-12 03:22:04 +00:00
darkskygit
4591b3391e chore: fix redirect for static files (#7473) 2024-07-11 08:25:33 +00:00
EYHN
c2f93f9512 fix(infra): failed to get status when database not ready (#7470) 2024-07-11 06:40:35 +00:00
CatsJuice
c850dbb2b7 refactor(core): optimize abstraction of sidebar doc tree structure (#7455) 2024-07-11 06:24:45 +00:00
pengx17
7a35b78772 fix: telemetry property names (#7468) 2024-07-11 02:35:39 +00:00
forehalo
2f441d9335 chore: clean up runtime flags and envs (#7454) 2024-07-11 02:05:31 +00:00
darkskygit
0739e10683 feat: adapt workflow for ppt & minimap (#7464) 2024-07-10 10:13:17 +00:00
Cats Juice
22187f964a fix(core): impl ai-island animation via css transform (#7458) 2024-07-09 16:17:55 +08:00
doouding
cf7b026832 feat: bump bs (#7430)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7499 @doouding
- https://github.com/toeverything/BlockSuite/pull/7491 @golok727

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7454 @CatsJuice
2024-07-09 07:56:16 +00:00
JimmFly
e6818b4f14 feat(core): add doc info modal (#7409)
close AF-1038
close AF-1039
close AF-1040
close AF-1046

A popup window has been added to facilitate viewing of this doc's info in edgeless mode and other modes.

https://github.com/toeverything/AFFiNE/assets/102217452/d7f94cb6-7e32-4ce7-8ff4-8aba1309b331
2024-07-09 07:05:20 +00:00
EYHN
aab9925aa1 feat(core): adjust search strategy (#7447) 2024-07-09 04:27:34 +00:00
pengx17
86218d87c2 chore: revert back electron to v30 (#7453) 2024-07-09 03:50:13 +00:00
forehalo
de4084495b chore(graphql): generate new schema 2024-07-08 17:21:21 +08:00
CatsJuice
13a2562282 feat(core): believer subscription UI (#7431)
feat(core): switch ai and cloud plans position

feat(core): impl lifetime subscription ui

feat(core): adapt ui for lifetime status

feat(core): add believer card in billing page
2024-07-08 08:31:22 +00:00
darkskygit
556956ced2 feat: update ppt prompt (#7446) 2024-07-08 08:11:31 +00:00
darkskygit
bf6c9a5955 feat: add prompt level config (#7445) 2024-07-08 08:11:22 +00:00
forehalo
9ef8829ef1 feat(server): add lifetime plan flag (#7443) 2024-07-08 07:41:30 +00:00
forehalo
de91027852 feat(server): support lifetime subscription (#7405)
closes CLOUD-48

- [x] lifetime subscription quota
- [ ] tests
2024-07-08 07:41:26 +00:00
forehalo
7235779b02 fix(core): use uint53 as yjs client id (#7444) 2024-07-08 07:24:32 +00:00
LongYinan
ba356f4412 fix(native): async fn compile error (#7435) 2024-07-08 15:04:37 +08:00
renovate
602d932065 chore: bump up all non-major dependencies (#7308)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.592.0` -> `3.609.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.592.0/3.609.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.592.0/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.592.0/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.600.0` -> `3.609.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.600.0/3.609.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.600.0/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.600.0/3.609.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.10.2` -> `^0.12.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.10.4/0.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.10.4/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.10.4/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://togithub.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.5` -> `1.6.7`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.5/1.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.5/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.5/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@graphql-codegen/typescript](https://togithub.com/dotansimha/graphql-code-generator) ([source](https://togithub.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`4.0.7` -> `4.0.9`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/4.0.7/4.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript/4.0.7/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript/4.0.7/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@graphql-codegen/typescript-operations](https://togithub.com/dotansimha/graphql-code-generator) ([source](https://togithub.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.2.1` -> `4.2.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.2.1/4.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript-operations/4.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript-operations/4.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript-operations/4.2.1/4.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript-operations/4.2.1/4.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@hookform/resolvers](https://react-hook-form.com) ([source](https://togithub.com/react-hook-form/resolvers)) | [`3.6.0` -> `3.9.0`](https://renovatebot.com/diffs/npm/@hookform%2fresolvers/3.6.0/3.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@hookform%2fresolvers/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@hookform%2fresolvers/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@hookform%2fresolvers/3.6.0/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@hookform%2fresolvers/3.6.0/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.55` -> `3.0.0-alpha.56`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.55/3.0.0-alpha.56) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.56?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.56?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.55/3.0.0-alpha.56?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.55/3.0.0-alpha.56?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nestjs/apollo](https://togithub.com/nestjs/graphql) | [`12.1.0` -> `12.2.0`](https://renovatebot.com/diffs/npm/@nestjs%2fapollo/12.1.0/12.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fapollo/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fapollo/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fapollo/12.1.0/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fapollo/12.1.0/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/common](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/core](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/graphql](https://togithub.com/nestjs/graphql) | [`12.1.1` -> `12.2.0`](https://renovatebot.com/diffs/npm/@nestjs%2fgraphql/12.1.1/12.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fgraphql/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fgraphql/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fgraphql/12.1.1/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fgraphql/12.1.1/12.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/schedule](https://togithub.com/nestjs/schedule) | [`4.0.2` -> `4.1.0`](https://renovatebot.com/diffs/npm/@nestjs%2fschedule/4.0.2/4.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fschedule/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fschedule/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fschedule/4.0.2/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fschedule/4.0.2/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/testing](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nestjs/throttler](https://togithub.com/nestjs/throttler) | [`5.1.2` -> `5.2.0`](https://renovatebot.com/diffs/npm/@nestjs%2fthrottler/5.1.2/5.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fthrottler/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fthrottler/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fthrottler/5.1.2/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fthrottler/5.1.2/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/websockets](https://togithub.com/nestjs/nest) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.3.9` -> `10.3.10`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.3.9/10.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.3.9/10.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.2.3` -> `19.4.1`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.2.3/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.2.3/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.2.3/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@opentelemetry/host-metrics](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`0.35.2` -> `0.35.3`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.35.2/0.35.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fhost-metrics/0.35.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fhost-metrics/0.35.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fhost-metrics/0.35.2/0.35.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fhost-metrics/0.35.2/0.35.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.41.0` -> `^0.42.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.41.0/0.42.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.41.0` -> `^0.42.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.41.0/0.42.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.41.0/0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.38.0` -> `^0.39.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.38.0/0.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.40.0` -> `^0.41.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.40.0/0.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.1` -> `1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.15.1` -> `5.16.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.15.1/5.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.15.1` -> `5.16.1`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.15.1/5.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-checkbox](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-checkbox/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-checkbox/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-checkbox/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-checkbox/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-checkbox/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.19.0` -> `2.20.1`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.19.0/2.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.19.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.19.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.11.0` -> `8.15.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.11.0/8.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.11.0/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.11.0/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.11.0` -> `8.15.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.11.0/8.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.11.0/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.11.0/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.19.0` -> `2.20.1`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.19.0/2.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.19.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.19.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-actions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/actions) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/actions)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-actions/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-actions/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-actions/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-actions/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://togithub.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-storysource](https://togithub.com/storybookjs/storybook/tree/next/code/addons/storysource) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/storysource)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2faddon-storysource/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-storysource/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-storysource/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-storysource/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-storysource/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/blocks](https://togithub.com/storybookjs/storybook/tree/next/code/ui/blocks) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/ui/blocks)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2fblocks/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fblocks/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fblocks/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fblocks/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fblocks/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/builder-vite](https://togithub.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fbuilder-vite/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fbuilder-vite/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fbuilder-vite/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fbuilder-vite/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://togithub.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://togithub.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`7.6.19` -> `7.6.20`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/7.6.19/7.6.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/7.6.19/7.6.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`^0.18.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.18.2/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.18.2/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.18.2/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.6.5` -> `1.6.7`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.6.5/1.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.6.5/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.6.5/1.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.8` -> `20.14.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.8/20.14.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.8/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.8/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.11` -> `4.0.13`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.11/4.0.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.11/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.11/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/webpack-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.10` -> `2.3.11`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.10/2.3.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [builder-util-runtime](https://togithub.com/electron-userland/electron-builder) ([source](https://togithub.com/electron-userland/electron-builder/tree/HEAD/packages/builder-util-runtime)) | [`9.2.5-alpha.2` -> `9.2.5-alpha.3`](https://renovatebot.com/diffs/npm/builder-util-runtime/9.2.5-alpha.2/9.2.5-alpha.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/builder-util-runtime/9.2.5-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/builder-util-runtime/9.2.5-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/builder-util-runtime/9.2.5-alpha.2/9.2.5-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/builder-util-runtime/9.2.5-alpha.2/9.2.5-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.6.1` -> `v3.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.6.1/v3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.6.1/v3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor |
| [cssnano](https://togithub.com/cssnano/cssnano) | [`7.0.3` -> `7.0.4`](https://renovatebot.com/diffs/npm/cssnano/7.0.3/7.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.3/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.3/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`8.1.5` -> `8.1.6`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.1.5/8.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.1.5/8.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.1.5/8.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [esbuild](https://togithub.com/evanw/esbuild) | [`^0.21.0` -> `^0.23.0`](https://renovatebot.com/diffs/npm/esbuild/0.21.5/0.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.21.5/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.21.5/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.4.2` -> `10.4.3`](https://renovatebot.com/diffs/npm/glob/10.4.2/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.4.2/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.4.2/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.3` -> `2.8.4`](https://renovatebot.com/diffs/npm/jotai/2.8.3/2.8.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.3/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.3/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.3` -> `2.8.4`](https://renovatebot.com/diffs/npm/jotai/2.8.3/2.8.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.3/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.3/2.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.394.0` -> `^0.400.0`](https://renovatebot.com/diffs/npm/lucide-react/0.394.0/0.400.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.400.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.400.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.394.0/0.400.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.394.0/0.400.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [napi](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.2` -> `3.0.0-alpha.4` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.2/3.0.0-alpha.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.2/3.0.0-alpha.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | `3.0.0-alpha.1` -> `3.0.0-alpha.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.1/3.0.0-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.1/3.0.0-alpha.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://togithub.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.13.0` -> `3.14.0`](https://renovatebot.com/diffs/npm/nest-commander/3.13.0/3.14.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nest-commander/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nest-commander/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nest-commander/3.13.0/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nest-commander/3.13.0/3.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.14.0` -> `20.15.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.14.0/v20.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.14.0/v20.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.3.1` -> `19.4.1`](https://renovatebot.com/diffs/npm/nx/19.3.1/19.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.3.1/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.3.1/19.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://togithub.com/openai/openai-node) | [`4.52.0` -> `4.52.3`](https://renovatebot.com/diffs/npm/openai/4.52.0/4.52.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.52.0/4.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.52.0/4.52.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [piscina](https://togithub.com/piscinajs/piscina) | [`4.5.1` -> `4.6.1`](https://renovatebot.com/diffs/npm/piscina/4.5.1/4.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/piscina/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/piscina/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/piscina/4.5.1/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/piscina/4.5.1/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.1` -> `1.45.1`](https://renovatebot.com/diffs/npm/playwright/1.44.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [postcss](https://postcss.org/) ([source](https://togithub.com/postcss/postcss)) | [`8.4.38` -> `8.4.39`](https://renovatebot.com/diffs/npm/postcss/8.4.38/8.4.39) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.38/8.4.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.38/8.4.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.15.1` -> `5.16.1`](https://renovatebot.com/diffs/npm/prisma/5.15.1/5.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.15.1/5.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [prom-client](https://togithub.com/siimon/prom-client) | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/prom-client/15.1.2/15.1.3) | [![age](https://dev
2024-07-06 08:37:27 +00:00
pengx17
8dfa601771 chore: populate page prop for mixpanel (#7425) 2024-07-05 07:45:39 +00:00
liuyi
481a2269f8 chore: bump blocksuite (#7424) 2024-07-04 15:58:11 +08:00
liuyi
555f203be6 feat(core): run indexer in worker (#7418) 2024-07-04 15:37:26 +08:00
pengx17
5c1f78afd4 fix: invalid date handling (#7422)
fix AF-1049
2024-07-04 07:11:19 +00:00
CatsJuice
d6ad7d566f chore(core): adjust ai onboarding dismiss logic, persist dialog and dismiss once closed (#7417) 2024-07-04 07:00:17 +00:00
hwangdev97
b79d13bcc8 fix: switch style: remove border and shadow (#7423)
- remove border and shadow
- fix position

before 👇
![shot-2024-07-04-11 55 38@2x](https://github.com/toeverything/AFFiNE/assets/24713927/81776294-1cb3-49a9-b6d6-bd800c91b847)

after 👇
![shot-2024-07-04-12 01 20@2x](https://github.com/toeverything/AFFiNE/assets/24713927/812d4567-9c17-4c14-af4f-6eba97f077da)
2024-07-04 04:20:47 +00:00
donteatfriedrice
a0ce75c902 fix: ai button should not display in readonly mode (#7415)
[BS-737](https://linear.app/affine-design/issue/BS-737/shared-page-也可以用-ai)
2024-07-03 07:34:07 +00:00
darkskygit
e8285289fe feat: improve histories query for forked session (#7414) 2024-07-03 04:49:19 +00:00
pengx17
cc7740d8d3 fix: some regression issues on quick search refactor (#7410)
- fix PD-1370. doc link resolve issue on pasting
- fix AF-1029
- implement doc creation in doc search

added two test cases to cover the above two issues.
2024-07-03 03:24:50 +00:00
darkskygit
61870c04d0 feat: fork session support (#7367) 2024-07-03 03:10:09 +00:00
pengx17
10df1fb4b7 fix: menu in peek view content not scrollable issue (#7412)
when using [dialog.overlay](https://github.com/radix-ui/primitives/blob/main/packages/react/dialog/src/Dialog.tsx#L203-L211
), whole app is affected by [react-scroll library](8923c513d2/src/SideEffect.tsx (L131-L134)
):

In the current implementation, only the contents in the dialog content will be scrollable and cannot be configured in current API.

This PR introduces a simple div overlay to get rid of this issue.

fix BS-696
2024-07-03 02:58:41 +00:00
zzj3720
0bc09a9333 feat(core): update blocksuite feature flag (#7408) 2024-07-03 02:47:20 +00:00
forehalo
f0d127fa29 Revert "feat(core): run indexer in worker (#7295)"
This reverts commit c62d79ab14.
2024-07-03 10:16:27 +08:00
pengx17
fc729d6a32 fix: hide find in page command in cmdk (#7413) 2024-07-02 15:48:24 +00:00
pengx17
ef7ba273ab fix: copy share link to clipboard command display issue (#7411)
fix AF-1027
2024-07-02 15:28:30 +00:00
renovate
b8b30e79e5 chore: bump up oxlint version to v0.5.2 (#7383)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.5.0` -> `0.5.2`](https://renovatebot.com/diffs/npm/oxlint/0.5.0/0.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.5.0/0.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.5.0/0.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.5.2`](21b964b214...b66ad0b675)

[Compare Source](21b964b214...b66ad0b675)

### [`v0.5.1`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.5.1): oxlint v0.5.1

[Compare Source](1d74db7774...21b964b214)

#### \[0.5.1] - 2024-06-29

##### Bug Fixes

-   [`c26975a`](https://togithub.com/oxc-project/oxc/commit/c26975a) linter: Only show the filename for max-lines ([#&#8203;3966](https://togithub.com/oxc-project/oxc/issues/3966)) (Boshen)
-   [`94329e4`](https://togithub.com/oxc-project/oxc/commit/94329e4) linter: Handle useful but empty constructors in no-useless-constructor ([#&#8203;3951](https://togithub.com/oxc-project/oxc/issues/3951)) (DonIsaac)
-   [`6498a08`](https://togithub.com/oxc-project/oxc/commit/6498a08) linter: No-useless-spread fixer with multiple spread elements ([#&#8203;3950](https://togithub.com/oxc-project/oxc/issues/3950)) (DonIsaac)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-02 15:17:18 +00:00
pengx17
2a6ea3c9c6 feat(core): allow keyboard navigation in tags inline editor (#7378)
fix AF-966

- Allow using arrowup/down to navigate the tag list candidates; press enter to add the currently focused tag option;
- Allow using arrowleft/right to navigate the inline tag list (selected) and use backspace to delete focused tag.
2024-07-02 14:25:51 +00:00
EYHN
c62d79ab14 feat(core): run indexer in worker (#7295) 2024-07-02 09:18:08 +00:00
EYHN
27d0fc5108 refactor(core): use new backlink indexer (#7296) 2024-07-02 09:18:01 +00:00
EYHN
40e381e272 refactor(core): new quick search service (#7214) 2024-07-02 09:17:54 +00:00
EYHN
15e99c7819 feat(core): docs search service (#7213) 2024-07-02 09:17:47 +00:00
EYHN
3870801ebb feat(infra): job system (#7212) 2024-07-02 09:17:40 +00:00
DarkSky
0957c30e74 docs: Update SECURITY.md (#7406) 2024-07-02 17:13:26 +08:00
EYHN
90e4a9b181 feat: doc search infra (#7166)
detail in `packages/common/infra/src/sync/indexer/README.md`
2024-07-02 08:52:33 +00:00
renovate
1997f24414 chore: bump up webpack-merge version to v6 (#7407)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [webpack-merge](https://togithub.com/survivejs/webpack-merge) | [`^5.10.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/webpack-merge/5.10.0/6.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack-merge/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack-merge/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack-merge/5.10.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack-merge/5.10.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>survivejs/webpack-merge (webpack-merge)</summary>

### [`v6.0.1`](https://togithub.com/survivejs/webpack-merge/blob/HEAD/CHANGELOG.md#601--2024-07-02)

[Compare Source](https://togithub.com/survivejs/webpack-merge/compare/v6.0.0...2f610b9c2da066cc5d035ee83db84e22b7d42fb3)

-   Fix - Restore usage of `clone-deep` as there was a corner case where `structuredClone` did not work as expected. [#&#8203;214](https://togithub.com/survivejs/webpack-merge/issues/214)

### [`v6.0.0`](https://togithub.com/survivejs/webpack-merge/blob/HEAD/CHANGELOG.md#600--xxxx-xx-xx)

[Compare Source](https://togithub.com/survivejs/webpack-merge/compare/v5.10.0...v6.0.0)

-   Chore - Update internal dependencies. As a result, the package needs at least Node 18 to run.
-   Chore - Use `structuredClone` over `clone-deep` dependency since it is included to Node 18 or above. [#&#8203;214](https://togithub.com/survivejs/webpack-merge/issues/214)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-07-02 08:32:26 +00:00
EYHN
3f8fe5cfae fix(infra): override saved blocksuite feature flag (#7399) 2024-07-01 11:36:32 +00:00
Peng Xiao
8c4a42f0e6 fix: cmd-k keybinding not show when editor input is active (#7398) 2024-07-01 19:31:36 +08:00
Flrande
4d484ea814 feat: bump blocksuite (#7372) 2024-07-01 19:21:14 +08:00
EYHN
3bbb657a78 feat(core): replace ai template (#7396) 2024-07-01 10:24:54 +00:00
EYHN
39acb51d87 feat(core): adjust orm api (#7392)
Removed the `connect` and `disconnect` functions on the orm `DBAdapter`, making the ORM completely non-asynchronous.
2024-07-01 09:32:15 +00:00
KushalSharmaGit
d72dbe682c fix: ensure exact tag matching with enter key behavior refinement (#7387)
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2024-07-01 10:16:16 +08:00
EYHN
824be0d4c1 fix(core): fix viewtransition and css property missing (#7377) 2024-06-28 18:03:43 +08:00
golok727
fbf676002f fix: code block toolbar z-index issue in right sidebar (#7376)
Closes: [BS-549](https://linear.app/affine-design/issue/BS-549/code-block-%E5%9C%A8%E5%8F%B3%E4%BE%A7%E8%BE%B9%E6%A0%8F%E6%9C%89-z-index-%E9%97%AE%E9%A2%98%E8%AF%AD%E8%A8%80%E7%9A%84%E4%BF%A1%E6%81%AF%E5%87%BA%E7%8E%B0%E5%9C%A8%E4%BA%86-tab-%E4%B8%8A%E9%9D%A2),[BS-600](https://linear.app/affine-design/issue/BS-600/the-code-toolbar-remains-visible-when-it-overflows-in-the-ai-panel)
2024-06-28 07:48:50 +00:00
regischen
e877f20955 fix: add onboarding entry (#7375)
Don't know why it's missed..
https://github.com/toeverything/AFFiNE/pull/7109
2024-06-28 07:03:33 +00:00
regischen
f4f84d2793 fix: click continue with ai not work (#7374) 2024-06-28 14:43:45 +08:00
pengx17
34b6a3bf1f fix: escape key handling compatibility issue with blocksuite (#7365)
fix PD-1347

See
https://github.com/radix-ui/primitives/blob/main/packages/react/use-escape-keydown/src/useEscapeKeydown.tsx#L19-L20

This behavior in radix-ui is not possible to be prevented since escape keydown is bound to document with capturing, unless dialogs in blocksuite is also implemented with radix-ui.
2024-06-28 06:21:36 +00:00
EYHN
eca484dc28 fix(core): add loading for insert ai template (#7369) 2024-06-28 14:19:59 +08:00
Fangdun Tsai
855d555480 fix(core): should return a cleanup function (#7371) 2024-06-28 14:18:24 +08:00
forehalo
d51fd8b54b fix(core): correct image action icon (#7370)
fix AF-1002

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/5c0ymolP9B7QStCsS1RP/b2e7afb1-e6bf-4589-8c60-32bede366350.png)
2024-06-28 05:24:06 +00:00
Saul-Mirone
f020cd353e chore: bump bs (#7368)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7444 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7445 @doouding
- https://github.com/toeverything/BlockSuite/pull/7443 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7440 @doouding

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7442 @Flrande

## Misc
2024-06-28 04:10:46 +00:00
renovate
6f217f61b6 chore: bump up oxlint version to v0.5.0 (#7357)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.4.4` -> `0.5.0`](https://renovatebot.com/diffs/npm/oxlint/0.4.4/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.5.0`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.5.0): oxlint v0.5.0

[Compare Source](2173f23d9c...1d74db7774)

##### \[0.5.0] - 2024-06-27

##### Features

-   [`3ae2628`](https://togithub.com/oxc-project/oxc/commit/3ae2628) linter: Change `no-import-assign` to correctness ([#&#8203;3928](https://togithub.com/oxc-project/oxc/issues/3928)) (Boshen)
-   [`a89d501`](https://togithub.com/oxc-project/oxc/commit/a89d501) linter: [@&#8203;typescript-eslint/no-non-null-asserted-nullish-coalescing](https://togithub.com/typescript-eslint/no-non-null-asserted-nullish-coalescing) ([#&#8203;3850](https://togithub.com/oxc-project/oxc/issues/3850)) (kaykdm)
-   [`fc48cb4`](https://togithub.com/oxc-project/oxc/commit/fc48cb4) linter: eslint-plugin-jest/prefer-jest-mocked ([#&#8203;3865](https://togithub.com/oxc-project/oxc/issues/3865)) (cinchen)
-   [`328445b`](https://togithub.com/oxc-project/oxc/commit/328445b) linter: vitest/no-disabled-tests ([#&#8203;3717](https://togithub.com/oxc-project/oxc/issues/3717)) (mysteryven)
-   [`8c61f9c`](https://togithub.com/oxc-project/oxc/commit/8c61f9c) linter: [@&#8203;typescript-eslint/no-non-null-assertion](https://togithub.com/typescript-eslint/no-non-null-assertion) ([#&#8203;3825](https://togithub.com/oxc-project/oxc/issues/3825)) (kaykdm)
-   [`9493fbe`](https://togithub.com/oxc-project/oxc/commit/9493fbe) linter: oxc/no-optional-chaining ([#&#8203;3700](https://togithub.com/oxc-project/oxc/issues/3700)) (mysteryven)
-   [`139adfe`](https://togithub.com/oxc-project/oxc/commit/139adfe) linter: @&#8203;typescript-eslint/no-import-type-side_effects ([#&#8203;3699](https://togithub.com/oxc-project/oxc/issues/3699)) (mysteryven)
-   [`5f84500`](https://togithub.com/oxc-project/oxc/commit/5f84500) linter: react/prefer-es6-class ([#&#8203;3812](https://togithub.com/oxc-project/oxc/issues/3812)) (Jelle van der Waa)
-   [`fafe67c`](https://togithub.com/oxc-project/oxc/commit/fafe67c) linter: max-dependencies ([#&#8203;3814](https://togithub.com/oxc-project/oxc/issues/3814)) (Jelle van der Waa)

##### Bug Fixes

-   [`5902331`](https://togithub.com/oxc-project/oxc/commit/5902331) cli: properly report configuration error ([#&#8203;3889](https://togithub.com/oxc-project/oxc/issues/3889)) (Luca Bruno)

##### Refactor

-   [`7302429`](https://togithub.com/oxc-project/oxc/commit/7302429) linter/prefer_number_properties: Remove the unused `IdentifierName` check ([#&#8203;3822](https://togithub.com/oxc-project/oxc/issues/3822)) (Boshen)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-27 13:04:51 +00:00
pengx17
4f07a2cc2a fix(core): debounce doc update time update (#7363) 2024-06-27 10:37:43 +00:00
forehalo
ae230354c6 chore: bump base version to 0.15.0 2024-06-27 18:17:36 +08:00
liuyi
08fa356a02 fix(core): not found info in workspace page is not in center (#7362) 2024-06-27 10:15:21 +00:00
Peng Xiao
c8f418f9c5 fix: use sgtpooki/file-type for resolving image type (#7326) 2024-06-27 10:08:08 +00:00
EYHN
c6c4ed9711 fix(infra): recover deleted item in orm (#7359) 2024-06-27 17:58:47 +08:00
Peng Xiao
2c92e97c48 fix: embed doc link rendering (#7361) 2024-06-27 17:58:33 +08:00
Cats Juice
fa2305b0e2 feat(core): replace all radio-button-group usage (#7352) 2024-06-27 17:54:30 +08:00
EYHN
3b3b7ec054 chore: bump blocksuite (#7360) 2024-06-27 17:53:42 +08:00
pengx17
81462fe000 refactor(core): view transition api for peek-view modal animation (#7350)
Remaining issue:
modal controls' position is not relatively moved to the parent container during transitioning.
2024-06-27 08:38:16 +00:00
fundon
03af538989 chore: bump theme (#7338) 2024-06-27 08:26:26 +00:00
EYHN
33bb2b5fcd feat(infra): use yjs mergeupdate for performance (#7343) 2024-06-27 08:14:17 +00:00
donteatfriedrice
742c10ac94 feat: make width and height of generated image same with input image (#7356)
[BS-641](https://linear.app/affine-design/issue/BS-641/通过image-action生成的图像尺寸应与原图保持一致)
2024-06-27 08:02:32 +00:00
JimmFly
4af6223dc3 chore(core): removed obsolete TODO (#7337)
Cleaned up some TODOs that no longer need to be done
2024-06-27 06:30:29 +00:00
EYHN
e892d55134 test: add test for undo empty page (#7348) 2024-06-27 06:18:16 +00:00
CatsJuice
827c952e9f refactor(component): new Radio component (#6910)
# New `RadioGroup` component to replace `RadioButton`

![CleanShot 2024-06-25 at 17.18.02.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/77241b07-a2dd-4d27-a322-3056f483f75a.gif)

### what's new
- [x] Change the API
- [x] More customizable options
- [x] Indicator animation
- [x] Dynamic width support(responsive)
- [x] Storybook
- [x] JSDoc
2024-06-27 06:04:19 +00:00
JimmFly
f15d1911ee refactor(core): remove the automatic URL change feature (#7339)
close [AF-954](https://linear.app/affine-design/issue/AF-954/center-peek-中-editor-selection-变化不应修改-location-hash)

Since the URL changes constantly with the selection, causing the editor to render frequently and also affecting the use of center peek, we decided to remove the function of automatically changing the URL.
2024-06-27 05:52:04 +00:00
EYHN
a7ea74923a fix(templates): use url safe base64 in templates (#7354) 2024-06-27 03:44:14 +00:00
EYHN
595b904d24 fix(core): fix ui flickering on startup (#7349) 2024-06-27 03:33:14 +00:00
renovate
6f31d5ee6a chore: bump up blocksuite-canary to v0.15.0-canary-202406261546-9adba83 (#7353)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406260417-3b9fb16` -> `0.15.0-canary-202406261546-9adba83`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406260417-3b9fb16/0.15.0-canary-202406261546-9adba83?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-27 01:46:14 +00:00
Fangdun Tsai
a5662e3de2 fix(core): optimize request chat cards fn (#7331) 2024-06-26 23:50:45 +08:00
EYHN
dcf766f0ee feat(core): impl ai onboarding templates (#7341) 2024-06-26 13:49:23 +00:00
darkskygit
aeb666f95e feat: integrate i18n error for copilot (#7311)
fix PD-1333 CLOUD-42
2024-06-26 13:36:23 +00:00
JimmFly
6b47c6beda fix(core): unexpected text overflow style in dialog (#7345)
close AF-967
before:
<img width="502" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/839096b2-62b1-4ca3-b410-99c478eeac53">

after:
<img width="496" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/9f02c305-e122-4c6c-a3c6-32647fa9e4c5">
2024-06-26 13:21:28 +00:00
L-Sun
3bb8253e13 fix(core): clear op history when create a new doc (#7347)
Closes: [AF-969](https://linear.app/affine-design/issue/AF-969/%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%9A%84%E6%96%87%E6%A1%A3undo%E6%8A%A5%E9%94%99-%E4%B8%94%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%E6%96%87%E6%A1%A3)

## Bug Description
When creating a new document, the user can undo directly inside the document, which will make the blocks of document empty and unable to render after opening this document again.

## What changed
Clear operation history of doc initialization.
2024-06-26 12:58:49 +00:00
akumatus
6344456d37 fix: doc update time outdated (#7344)
Fix issue [BS-603](https://linear.app/affine-design/issue/BS-603).

- Move observe `blockUpdated` logic in `blocksuite-editor` component, so it can be excuted on both page-detail and center-peek mode.
- Remove useless `getDocUpdatedAt` service, because blocksuite can get `docMeta` directly.

https://github.com/toeverything/blocksuite/pull/7434

https://github.com/toeverything/AFFiNE/assets/12724894/e01e3f97-f1d0-4d1d-a8ed-e70e27e39bdb
2024-06-26 12:46:00 +00:00
forehalo
bd9cb41f8a fix(server): websocket error backward compatibility (#7346) 2024-06-26 12:22:33 +00:00
donteatfriedrice
6f9a4bb01a feat: optimize edgeless ai action insert handler (#7342)
[BS-653](https://linear.app/affine-design/issue/BS-653/在-edgeless-text-上使用-ai-功能时,应该在-edgeless-text-内换行插入,而不是新建一个-note)
2024-06-26 10:17:19 +00:00
L-Sun
59fe5fb57a chore(core): update inline reference icon (#7340)
Close [BS-659](https://linear.app/affine-design/issue/BS-659/deleted-doc%E7%8A%B6%E6%80%81%E7%BC%BA%E5%A4%B1)
Related PR: https://github.com/toeverything/blocksuite/pull/7433

Before:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/aa74cb3f-5eca-4456-992c-a04e58760edd.png)

After:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/0e2c437c-7317-47fb-8d90-07d32efe53df.png)
2024-06-26 08:34:23 +00:00
pengx17
7baa260e97 refactor(core): image block use peek view workflow (#7329)
depends on https://github.com/toeverything/blocksuite/pull/7424
2024-06-26 07:49:25 +00:00
EYHN
092c639b0a fix(core): optimize performance when editing doc title (#7328) 2024-06-26 07:37:26 +00:00
EYHN
ad746b6376 fix(core): fix error overflow (#7335) 2024-06-26 07:25:29 +00:00
renovate
10bc0d1e29 chore: bump up stripe version to v16 (#7318)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [stripe](https://togithub.com/stripe/stripe-node) | [`^15.0.0` -> `^16.0.0`](https://renovatebot.com/diffs/npm/stripe/15.12.0/16.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/15.12.0/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/15.12.0/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>stripe/stripe-node (stripe)</summary>

### [`v16.0.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#1600---2024-06-24)

[Compare Source](https://togithub.com/stripe/stripe-node/compare/v15.12.0...v16.0.0)

-   [#&#8203;2113](https://togithub.com/stripe/stripe-node/pull/2113)

    This release changes the pinned API version to 2024-06-20. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-06-20) and carefully review the API changes before upgrading.

##### ⚠️ Breaking changes

    * Remove the unused resource `PlatformTaxFee`
    * Rename `volume_decimal` to `quantity_decimal` on
      *  `Issuing.AuthorizationCaptureParams.testHelpers.purchase_details.fuel`,
      *  `Issuing.Transaction.purchase_details.fuel`,
      *  `Issuing.TransactionCreateForceCaptureParams.testHelpers.purchase_details.fuel`, and
      *  `Issuing.TransactionCreateUnlinkedRefundParams.testHelpers.purchase_details.fuel`
    * `Capabilities.Requirements.disabled_reason` and `Capabilities.Requirements.disabled_reason` are now enums with the below values
      * `other`
      * `paused.inactivity`
      * `pending.onboarding`
      * `pending.review`
      * `platform_disabled`
      * `platform_paused`
      * `rejected.inactivity`
      * `rejected.other`
      * `rejected.unsupported_business`
      * `requirements.fields_needed`

##### Additions

    * Add support for new values `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, and `pound` on enums `Issuing.AuthorizationCaptureParams.testHelpers.purchase_details.fuel.unit`, `Issuing.TransactionCreateForceCaptureParams.testHelpers.purchase_details.fuel.unit`, and `Issuing.TransactionCreateUnlinkedRefundParams.testHelpers.purchase_details.fuel.unit`
    * Add support for new values `card_canceled`, `card_expired`, `cardholder_blocked`, `insecure_authorization_method`, and `pin_blocked` on enum `Issuing.Authorization.request_history[].reason`

-   Add support for `finalize_amount` test helper method on resource `Issuing.Authorization`
-   Add support for new value `ch_uid` on enums `Checkout.Session.customer_details.tax_ids[].type`, `Invoice.customer_tax_ids[].type`, `Tax.Calculation.customer_details.tax_ids[].type`, `Tax.Transaction.customer_details.tax_ids[].type`, and `TaxId.type`
-   Add support for new value `ch_uid` on enums `CustomerCreateParams.tax_id_data[].type`, `InvoiceCreatePreviewParams.customer_details.tax_ids[].type`, `InvoiceUpcomingLinesParams.customer_details.tax_ids[].type`, `InvoiceUpcomingParams.customer_details.tax_ids[].type`, `Tax.CalculationCreateParams.customer_details.tax_ids[].type`, and `TaxIdCreateParams.type`
-   Add support for `fleet` on `Issuing.AuthorizationCaptureParams.testHelpers.purchase_details`, `Issuing.AuthorizationCreateParams.testHelpers`, `Issuing.Authorization`, `Issuing.Transaction.purchase_details`, `Issuing.TransactionCreateForceCaptureParams.testHelpers.purchase_details`, and `Issuing.TransactionCreateUnlinkedRefundParams.testHelpers.purchase_details`
-   Add support for `fuel` on `Issuing.AuthorizationCreateParams.testHelpers` and `Issuing.Authorization`
-   Add support for `industry_product_code` and `quantity_decimal` on `Issuing.AuthorizationCaptureParams.testHelpers.purchase_details.fuel`, `Issuing.Transaction.purchase_details.fuel`, `Issuing.TransactionCreateForceCaptureParams.testHelpers.purchase_details.fuel`, and `Issuing.TransactionCreateUnlinkedRefundParams.testHelpers.purchase_details.fuel`
-   Add support for new value `2024-06-20` on enum `WebhookEndpointCreateParams.api_version`
-   [#&#8203;2118](https://togithub.com/stripe/stripe-node/pull/2118) Use worker module in Bun

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-26 07:03:31 +00:00
akumatus
4df334bfdb fix: cannot read properties of undefined editor.host (#7333)
Fix issue [BS-657](https://linear.app/affine-design/issue/BS-657).

Unable to obtain `editor.host` synchronously on `editor` reference callback. Maybe we should have a separate host reference callback. @pengx17

![截屏2024-06-26 11.58.54.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/7d442ce3-86c9-4f4d-85c5-000d923702b6.png)
2024-06-26 06:31:25 +00:00
EYHN
2d74e4c340 fix(core): fix the page loading style (#7336) 2024-06-26 06:20:20 +00:00
L-Sun
16096978d8 fix(core): add synced doc content to edgeless ai context (#7327)
Closes: [BS-633](https://linear.app/affine-design/issue/BS-633/synced-block-%E7%99%BD%E6%9D%BF%E6%94%AF%E6%8C%81%EF%BC%9A%E4%BD%9C%E4%B8%BA%E4%B8%8A%E4%B8%8B%E6%96%87%E6%8F%90%E4%BE%9B%E7%BB%99-ai#comment-f336c6d5)
Related PR: https://github.com/toeverything/blocksuite/pull/7417

Read content from synced doc model as AI context in edgeless model.
2024-06-26 04:05:19 +00:00
akumatus
61f2617128 fix: bump blocksuite (#7332)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7415 @doouding
- https://github.com/toeverything/BlockSuite/pull/7421 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7422 @golok727
- https://github.com/toeverything/BlockSuite/pull/7418 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7416 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7411 @L-Sun

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7417 @L-Sun
2024-06-26 03:29:23 +00:00
fundon
2278cfc9ce fix(core): direct replacement of old card with new card in ai chat input (#7324)
Closes: [BS-643](https://linear.app/affine-design/issue/BS-643/continue-with-ai-:-在存在候选内容的情况下,点击-continue-with-ai-应该将选区内容直接替换)

https://github.com/toeverything/AFFiNE/assets/27926/ff6e2c31-9d2e-462b-aa7e-6ef1eba50ef5
2024-06-25 15:56:47 +00:00
fundon
a92515b5aa fix(core): ai chat opening and append card (#7322)
Closes: [BS-642](https://linear.app/affine-design/issue/BS-642/continue-with-ai-:-侧边栏关闭的情况下,先唤起-侧边栏,同时插入选中的内容)

https://github.com/toeverything/AFFiNE/assets/27926/3022d808-d560-4bc8-8a04-735b76056121
2024-06-25 15:56:44 +00:00
darkskygit
cffaf815e1 feat: add more workflow executor (#7231) 2024-06-25 10:54:16 +00:00
L-Sun
532a628989 fix(core): add synced doc block content to ai context (#7312)
Closes: [AF-955](https://linear.app/affine-design/issue/AF-955/synced-block-%E6%96%87%E6%A1%A3%E6%94%AF%E6%8C%81%EF%BC%9A%E8%AF%BB%E5%8F%96%E6%96%87%E6%A1%A3%E5%86%85%E5%AE%B9%E4%BD%9C%E4%B8%BA-ai-%E7%9A%84%E4%B8%8A%E4%B8%8B%E6%96%87-cotent)

Related PR: https://github.com/toeverything/blocksuite/pull/7405
2024-06-25 10:42:50 +00:00
darkskygit
fe89ecb1d3 feat: workflow executor (#7159)
fix AFF-1221 AFF-1232
2024-06-25 08:40:47 +00:00
renovate
45b3b833d4 chore: bump up blocksuite-canary to v0.15.0-canary-202406250711-0cc66f8 (#7323)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406241511-430be2a` -> `0.15.0-canary-202406250711-0cc66f8`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406241511-430be2a/0.15.0-canary-202406250711-0cc66f8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-25 07:51:20 +00:00
pengx17
f51da066a8 refactor: image preview component issues in center peek (#7313)
fix AF-948

- remove jotai
- every editor got its own image block modal
- image block uses center peek modal for animation and style
2024-06-25 07:34:18 +00:00
renovate
76f6d91cdd chore: bump up blocksuite-canary to v0.15.0-canary-202406241511-430be2a (#7317)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406211230-ebc0dfb` -> `0.15.0-canary-202406241511-430be2a`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406211230-ebc0dfb/0.15.0-canary-202406241511-430be2a?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-25 06:17:11 +00:00
EYHN
a93364af01 fix(templates): update stickers (#7320) 2024-06-25 03:46:24 +00:00
EYHN
820ecba7cc fix(core): skip flaky test (#7319) 2024-06-25 03:34:15 +00:00
L-Sun
daceed922b fix(core): incorrect icon of initial reference (#7314)
Closes: [AF-940](https://linear.app/affine-design/issue/AF-940/doc-created-with-%5B-%5B-syntax-are-by-default-in-doc-mode-but-shown-as)
2024-06-25 01:44:49 +00:00
CatsJuice
b38c46649f feat(core): adjust ai help island style and behavior, add animation (#7310)
- Move right-sidebar activeTab state into `RightSidebarService`
- Remove `styled` usage and adjust the UI
- Fix the issue that ai-button clicking not work when sidebar opened
- Add an animation if AI-Chat panel hasn't been opened.

![CleanShot 2024-06-24 at 18.10.27.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/14c86fbc-ad4c-44bf-93fe-ca3450db908b.gif)
2024-06-24 14:37:38 +00:00
donteatfriedrice
0918730274 fix: text renderer last child margin bottom (#7309) 2024-06-24 09:57:16 +00:00
renovate
e92eb339e4 chore: Lock file maintenance (#7230)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-24 08:06:20 +00:00
renovate
d54a7467c8 chore: bump up blocksuite-canary to v0.15.0-canary-202406211230-ebc0dfb (#7305)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406210833-74cd878` -> `0.15.0-canary-202406211230-ebc0dfb`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406210833-74cd878/0.15.0-canary-202406211230-ebc0dfb?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-24 07:46:47 +00:00
renovate
5e9fa9aff9 chore: bump up all non-major dependencies (#7211)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.592.0` -> `3.600.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.592.0/3.600.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.592.0/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.592.0/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.596.0` -> `3.600.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.596.0/3.600.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.596.0/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.596.0/3.600.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.10.2` -> `^0.11.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/add](https://togithub.com/dotansimha/graphql-code-generator) ([source](https://togithub.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/other/add)) | [`5.0.2` -> `5.0.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fadd/5.0.2/5.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fadd/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2fadd/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2fadd/5.0.2/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fadd/5.0.2/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| @&#8203;magic-works/i18n-codegen | [`0.6.0` -> `0.6.1`](https://renovatebot.com/diffs/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@magic-works%2fi18n-codegen/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@magic-works%2fi18n-codegen/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| @&#8203;magic-works/i18n-codegen | [`0.6.0` -> `0.6.1`](https://renovatebot.com/diffs/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@magic-works%2fi18n-codegen/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@magic-works%2fi18n-codegen/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@magic-works%2fi18n-codegen/0.6.0/0.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/throttler](https://togithub.com/nestjs/throttler) | [`5.1.2` -> `5.2.0`](https://renovatebot.com/diffs/npm/@nestjs%2fthrottler/5.1.2/5.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fthrottler/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fthrottler/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fthrottler/5.1.2/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fthrottler/5.1.2/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.2.3` -> `19.3.1`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.2.3/19.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.2.3/19.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.2.3/19.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@opentelemetry/core](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fcore/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fcore/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fcore/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fcore/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`0.52.0` -> `0.52.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.52.0/0.52.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/exporter-zipkin](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-zipkin/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-zipkin/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-zipkin/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-zipkin/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`0.52.0` -> `0.52.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.52.0/0.52.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`0.52.0` -> `0.52.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.52.0/0.52.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/resources](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fresources/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fresources/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fresources/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fresources/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/sdk-metrics](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-metrics/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-metrics/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-metrics/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-metrics/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`0.52.0` -> `0.52.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.52.0/0.52.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.52.0/0.52.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/sdk-trace-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-trace-node/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-trace-node/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-trace-node/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-trace-node/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/semantic-conventions](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-semantic-conventions) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsemantic-conventions/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsemantic-conventions/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsemantic-conventions/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsemantic-conventions/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.15.0` -> `5.15.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.15.0/5.15.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.15.0/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.15.0/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.15.0` -> `5.15.1`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.15.0/5.15.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.15.0/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.15.0/5.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-accordion](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.2` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-accordion/1.1.2/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-accordion/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-accordion/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-accordion/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-accordion/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-alert-dialog](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.5` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-alert-dialog/1.0.5/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-alert-dialog/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-alert-dialog/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-alert-dialog/1.0.5/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-alert-dialog/1.0.5/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-aspect-ratio](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-aspect-ratio/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-aspect-ratio/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-aspect-ratio/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-aspect-ratio/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-aspect-ratio/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-avatar](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-avatar/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-avatar/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-avatar/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-avatar/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-avatar/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-checkbox](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-checkbox/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-checkbox/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-checkbox/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-checkbox/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-checkbox/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-collapsible](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-collapsible/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-collapsible/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-collapsible/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-collapsible/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-collapsible/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-context-menu](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`2.1.5` -> `2.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-context-menu/2.1.5/2.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-context-menu/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-context-menu/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-context-menu/2.1.5/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-context-menu/2.1.5/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-dropdown-menu](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`2.0.6` -> `2.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dropdown-menu/2.0.6/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dropdown-menu/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-dropdown-menu/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dropdown-menu/2.0.6/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dropdown-menu/2.0.6/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-hover-card](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.7` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-hover-card/1.0.7/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-hover-card/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-hover-card/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-hover-card/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-hover-card/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-label](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`2.0.2` -> `2.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-label/2.0.2/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-label/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-label/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-label/2.0.2/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-label/2.0.2/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-menubar](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-menubar/1.0.4/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-menubar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-menubar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-menubar/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-menubar/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-navigation-menu](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.4` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-navigation-menu/1.1.4/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-navigation-menu/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-navigation-menu/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-navigation-menu/1.1.4/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-navigation-menu/1.1.4/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-popover](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.7` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-popover/1.0.7/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-popover/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-popover/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-popover/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-popover/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-progress](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-progress/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-progress/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-progress/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-progress/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-progress/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-radio-group](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.3` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-radio-group/1.1.3/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-radio-group/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-radio-group/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-radio-group/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-radio-group/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-scroll-area](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.5` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-scroll-area/1.0.5/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-scroll-area/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-scroll-area/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-scroll-area/1.0.5/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-scroll-area/1.0.5/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-select](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`2.0.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-select/2.0.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-select/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-select/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-select/2.0.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-select/2.0.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-separator](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-separator/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-separator/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-separator/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-separator/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-separator/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-slider](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.2` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slider/1.1.2/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slider/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slider/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slider/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slider/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-slot](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.2` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slot/1.0.2/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slot/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slot/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slot/1.0.2/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slot/1.0.2/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-switch](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-switch/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-switch/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-switch/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-switch/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-switch/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-tabs](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tabs/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tabs/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tabs/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tabs/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tabs/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-toast](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.1.5` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toast/1.1.5/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toast/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toast/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toast/1.1.5/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toast/1.1.5/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-toggle](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.3` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toggle/1.0.3/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toggle/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toggle/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toggle/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toggle/1.0.3/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-toggle-group](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toggle-group/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toggle-group/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toggle-group/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toggle-group/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toggle-group/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-toolbar](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toolbar/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toolbar/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toolbar/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toolbar/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toolbar/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://togithub.com/radix-ui/primitives)) | [`1.0.7` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.0.7/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.0.7/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.18.0` -> `2.19.0`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.18.0/2.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.18.0/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.18.0/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/integrations](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/integrations) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`7.117.0` -> `7.118.0`](https://renovatebot.com/diffs/npm/@sentry%2fintegrations/7.117.0/7.118.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fintegrations/7.118.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fintegrations/7.118.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fintegrations/7.117.0/7.118.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fintegrations/7.117.0/7.118.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.9.0` -> `8.11.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.9.0/8.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.9.0/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.9.0/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.9.0` -> `8.11.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.9.0/8.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.9.0/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.9.0/8.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.18.0` -> `2.19.0`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.18.0/2.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.18.0/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.18.0/2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`^0.18.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.18.2/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.18.2/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.18.2/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.5.29` -> `1.6.5`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.5.29/1.6.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.5.29/1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.5.29/1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.2` -> `20.14.8`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.2/20.14.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.2/20.14.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.2/20.14.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/css](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css)) | [`1.15.2` -> `1.15.3`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fcss/1.15.2/1.15.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fcss/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fcss/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fcss/1.15.2/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fcss/1.15.2/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.10` -> `4.0.11`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.10/4.0.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.10/4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.10/4.0.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vanilla-extract/webpack-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.9` -> `2.3.10`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.9/2.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.9/2.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.9/2.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cssnano](https://togithub.com/cssnano/cssnano) | [`7.0.2` -> `7.0.3`](https://renovatebot.com/diffs/npm/cssnano/7.0.2/7.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.2/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.2/7.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`30.1.1` -> `30.1.2`](https://renovatebot.com/diffs/npm/electron/30.1.1/30.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.1.1/30.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.1.1/30.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`8.1.4` -> `8.1.5`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.1.4/8.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.1.4/8.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.1.4/8.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.4.1` -> `10.4.2`](https://renovatebot.com/diffs/npm/glob/10.4.1/10.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.4.1/10.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.4.1/10.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [graphql](https://togithub.com/graphql/graphql-js) | [`16.8.2` -> `16.9.0`](https://renovatebot.com/diffs/npm/graphql/16.8.2/16.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.8.2/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.8.2/16.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.12.0` -> `14.12.3`](https://renovatebot.com/diffs/npm/happy-dom/14.12.0/14.12.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.12.0/14.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.12.0/14.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://togithub.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.394.0` -> `^0.396.0`](https://renovatebot.com/diffs/npm/lucide-react/0.394.0/0.396.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.396.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.396.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.394.0/0.396.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.394.0/0.396.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | `0.1.42` -> `0.1.43` | [![age](https://developer.mend.io/api/mc/badges/age/crate/mimalloc/0.1.43?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/mimalloc/0.1.43?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/mimalloc/0.1.42/0.1.43?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/mimalloc/0.1.42/0.1.43?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [mixpanel-browser](https://togithub.com/mixpanel/mixpanel-js) | [`2.52.0` -> `2.53.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.52.0/2.53.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.53.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.53.0?
2024-06-24 07:15:23 +00:00
fundon
8d602d4398 fix(core): selected content should not be activated when executing open in chat (#7302)
Closes: [AF-949](https://linear.app/affine-design/issue/AF-949/执行-open-in-chat-时,不应该激活选中内容)
2024-06-21 12:06:22 +00:00
golok727
cd9205a3c5 feat: add ibm plex mono font (#7303)
Code font is changed to IBMPlexMono
2024-06-21 10:49:26 +00:00
pengx17
2482c3c266 fix(electron): center peek for links in electron (#7301) 2024-06-21 09:27:13 +00:00
EYHN
6865a52172 chore: bump blocksuite (#7300)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7392 @doouding
- https://github.com/toeverything/BlockSuite/pull/7391 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7387 @zzj3720

## Refactor

## Misc
2024-06-21 09:05:46 +00:00
forehalo
7b3673ae82 chore: assign todos (#7297) 2024-06-21 07:54:14 +00:00
pengx17
e085b927f6 feat(core): peek view api enhancements (#7288)
upstream https://github.com/toeverything/blocksuite/pull/7390
fix AF-917
2024-06-21 07:38:42 +00:00
akumatus
f85a321bfa feat: bump blocksuite (#7298)
## Features
- https://github.com/toeverything/BlockSuite/pull/7390 @pengx17

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7380 @CatsJuice

## Refactor

## Misc
2024-06-21 07:07:58 +00:00
akumatus
1dc254a755 fix: auto focus and select the input when notification modal prompt (#7286)
- Use `autofill` attribute instead of `input.focus()` on ref
- Auto focus and select all content of the input when prompt
2024-06-21 03:01:14 +00:00
CatsJuice
f24c0caaea feat(core): add ai-usage info in sidebar user avatar menu (#7294) 2024-06-21 02:47:20 +00:00
fundon
92be6b2ff7 fix(core): open ai chat for first time (#7291)
There are two issues here:

1. open right sidebar with chat
2. notify chat-panel of selected content

The second issue will be fixed in a subsequent PR.
2024-06-21 10:32:34 +08:00
renovate
bf0cba31d3 chore: bump up blocksuite-canary to v0.15.0-canary-202406201313-199dab1 (#7192)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406191254-48ad2e0` -> `0.15.0-canary-202406201313-199dab1`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406191254-48ad2e0/0.15.0-canary-202406201313-199dab1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-21 02:12:20 +00:00
renovate[bot]
95743a3b14 chore: bump up @types/uuid version to v10 (#7293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 09:50:24 +08:00
forehalo
aa124638bc fix(server): invalidate old user avatar when updated (#7285)
fix CLOUD-41
2024-06-20 12:25:10 +00:00
forehalo
a557fd3277 fix(core): logger (#7289) 2024-06-20 12:11:22 +00:00
fundon
dbd678cc31 fix(core): ai chat bugs (#7283)
Closes: [AF-929](https://linear.app/affine-design/issue/AF-929/continue-with-ai-点击后应当是立即激活选区)

* [x] remove icon background on `chat-input`
* [x] activate the selected card immediately
* [x] fix quote when selecting `Start with this doc`
* [x] clear candidate card list when switching doc

https://github.com/toeverything/AFFiNE/assets/27926/706d499e-b738-4bb4-9353-510f73613875
2024-06-20 11:57:36 +00:00
L-Sun
b99e8b1e8a chore: adjust padding of ask ai panel (#7287)
Related PR: https://github.com/toeverything/blocksuite/pull/7389
2024-06-20 19:20:23 +08:00
regischen
e0c6d23691 feat: ai onboarding (#7279) 2024-06-20 07:48:10 +00:00
L-Sun
1a8bbc6951 fix: ask ai panel not auto flip (#7284)
Close [AF-928](https://linear.app/affine-design/issue/AF-928/ask-ai-%E5%87%BA%E7%8E%B0%E5%9C%A8%E5%BA%95%E9%83%A8%E7%9A%84%E6%97%B6%E5%80%99-menu-%E5%BC%B9%E5%87%BA%E4%BD%8D%E7%BD%AE%E4%B8%8D%E5%AF%B9)

The CSS rule for portal content uses `position: absolute` which causes the portal size to become zero. As a result, the `computePosition` function returns incorrect results.

Before:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/5ae1d556-d818-42d4-a84c-ee5531015182.png)

After:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/a61c47bc-541a-499a-8f20-3b3dd03b4e1d.png)
2024-06-20 07:33:25 +00:00
CatsJuice
1fdfa834a0 feat(core): responsive detail page header (#7263) 2024-06-20 05:47:43 +00:00
renovate
78429166da chore: bump up docker/build-push-action action to v6 (#7236)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/build-push-action](https://togithub.com/docker/build-push-action) | action | major | `v5` -> `v6` |

---

### Release Notes

<details>
<summary>docker/build-push-action (docker/build-push-action)</summary>

### [`v6`](https://togithub.com/docker/build-push-action/compare/v5...v6)

[Compare Source](https://togithub.com/docker/build-push-action/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-20 04:41:14 +00:00
EYHN
b4212d54ed chore(core): delete center peek feature flag (#7281) 2024-06-20 04:24:47 +00:00
EYHN
ab3d6c9cc8 fix(infra): update load test result empty (#7282) 2024-06-20 12:24:12 +08:00
fundon
671fa1149d feat(core): continue with AI (#7253)
Closes: [AFF-1251](https://linear.app/affine-design/issue/AFF-1251/continue-with-ai-的-action-的入口区分-open-with-ai) [BS-515](https://linear.app/affine-design/issue/BS-515/添加白板选区的-continue-with-ai-支持) [AFF-1256](https://linear.app/affine-design/issue/AFF-1256/continue-with-ai-当只有不支持的-block-时,需要特殊处理) [AF-919](https://linear.app/affine-design/issue/AF-919/内容为空时,不需要显示-start-with-this-doc)

* add the selected element to the candidate card list
* select the candidate card to hide the candidate card list and add quote into input
* close quote to show the candidate card list
* show only the three newest candidates
* **`Start with this doc`**: Currently only determines if a document has content after the first load

https://github.com/toeverything/AFFiNE/assets/27926/d19c8ab6-37eb-495f-9c38-e579b2f57000

https://github.com/toeverything/AFFiNE/assets/27926/3ba654c3-6af4-4662-a641-17cfe2ed5ff7
2024-06-20 04:05:11 +00:00
EYHN
e8fdce514f chore: bump blocksuite (#7280)
## Features
- https://github.com/toeverything/BlockSuite/pull/7377 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7374 @Flrande

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7381 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7379 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7373 @doouding

## Refactor

## Misc
2024-06-20 03:52:20 +00:00
pengx17
a085e507b4 chore: add event tracking for billing (#7277)
fix AFF-1226
2024-06-20 03:33:07 +00:00
regischen
ddf72733e1 feat: add ai-is-land (#7259) 2024-06-20 02:52:14 +00:00
L-Sun
0d711667a8 chore: adjust order of slash menu items (#7278)
Before -> After
<p float="left">
  <img src="https://github.com/toeverything/AFFiNE/assets/20479050/b3937947-7c7c-4463-ae05-87b8f2694989" width="45%" />
  <img src="https://github.com/toeverything/AFFiNE/assets/20479050/e886c20d-e436-4190-aebf-a6b7d711b61e" width="45%" />
</p>
2024-06-20 02:33:18 +00:00
EYHN
7c0a686cd9 refactor(i18n): new hook api (#7273)
# NEW HOOK API

`useI18n`: same as `useAFFiNEI18N`, with additional APIs

```ts
import { useI18n } from '@affine/i18n'

const i18n = useI18n()
i18n['hello world']() -> 你好世界
```

# NEW GLOBAL i18n Instance

`I18n`: use i18n capabilities outside of React

```ts
import { I18n } from '@affine/i18n'

I18n['hello world']() -> 你好世界
```

# NEW TYPES

`I18nKeys` -> all i18n keys

`I18nString` -> An i18n message (key&options)
transfer and store i18n text outside of React
```ts
const msg: I18nString = {
  key: 'helloworld',
  options: {
    arg1: '123'
  }
}

I18n.t(msg) -> 你好世界123
```

before:

```ts
registerCommand('open-page', {
  name: t('command.open-page')
  // ^- translation happens here,
})
```

after:

```ts
registerCommand('open-page', {
  name: { key: 'command.open-page' }
  // ^- store I18nString here, translate when the command render to UI
})
```
2024-06-20 02:19:41 +00:00
pengx17
5b0f56399c fix(electron): remove duplicate change log open (#7276) 2024-06-19 13:43:46 +00:00
forehalo
d34c5c42ef feat(server): allow customize server external url (#7270)
closes https://github.com/toeverything/AFFiNE/issues/7252
2024-06-19 12:03:36 +00:00
akumatus
9746ddb5e0 fix: remove useless padding css style (#7274)
Fix issue [BS-581](https://linear.app/affine-design/issue/BS-581).Remove the extra 100px padding of embed doc.
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/14ef1f94-512f-4376-9498-03e21c8968d0.png)
2024-06-19 11:29:28 +00:00
CatsJuice
f9903fd748 fix(core): can't enter presentation again in share page (#7262)
Fix [TOV-916](https://linear.app/affine-design/issue/TOV-916/分享页面的-present-按钮在第二次进入演示模式时未生效)
2024-06-19 09:21:23 +00:00
CatsJuice
98e35384a6 feat(component): helper function observeResize to observe size change via global ResizeObserver (#7241)
```ts
import { observeResize } from "@affine/component";

useEffect(() => {
  const dispose = observeResize(element entry => {
    console.log(entry.contentRect);
  });

  return () => dispose();
}, []);
```
2024-06-19 09:04:56 +00:00
regischen
be36e033f2 chore: bump blocksuite (#7272)
## Features

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7375 @regischen
- https://github.com/toeverything/BlockSuite/pull/7371 @donteatfriedrice

## Refactor

## Misc
2024-06-19 08:10:18 +00:00
L-Sun
84ad23625f chore: remove tree shaking (#7271)
remove `sideEffects` field from `frontend/core/packages.json`
2024-06-19 07:57:05 +00:00
EYHN
bcc66422fd refactor(i18n): i18n utils tools (#7251) 2024-06-19 07:38:20 +00:00
doouding
b379aa0a91 feat: bump bs (#7266)
## Features
- https://github.com/toeverything/BlockSuite/pull/7366 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7360 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7350 @Flrande

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7372 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7365 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7369 @doouding
- https://github.com/toeverything/BlockSuite/pull/7367 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7364 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7356 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7335 @doouding
- https://github.com/toeverything/BlockSuite/pull/7362 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7361 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7359 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7358 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7344 @fundon

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7370 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7368 @Saul-Mirone
2024-06-19 06:56:25 +00:00
doouding
314fa064ab fix: peek view on synced doc (#7265) 2024-06-19 06:41:08 +00:00
akumatus
bbf796faaf fix: icon of page reference node (#7255)
- Use `EdgelessIcon` if linked document mode is edgeless
- Update reference icon when document mode changes

https://github.com/toeverything/AFFiNE/assets/12724894/40db8930-dd7f-4154-ad0a-b1eea97d23db
2024-06-19 06:28:50 +00:00
L-Sun
fa1e7c6be0 fix: cycle import (#7264)
Sometimes the GitHub Action (Lint) will fail.
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/b567d983-14de-4002-bebf-1eb1e9635ee0.png)
2024-06-19 05:19:17 +00:00
L-Sun
d84eea85b6 fix: ai slide render initialize error (#7261)
Need add `collection.meta.initialize()` in AI slide render.
Similar codes:
b3ec3a2b3e/packages/frontend/core/src/blocksuite/presets/ai/utils/markdown-utils.ts (L177-L195)
2024-06-19 04:26:57 +00:00
L-Sun
501fa0bb91 fix(core): ai lit element import (#7257)
Fix ai lit component import error.

f57a665819/packages/frontend/core/package.json (L13-L16)
2024-06-19 04:26:49 +00:00
regischen
dddfcdbabb fix: chat more popper position (#7260) 2024-06-19 04:11:08 +00:00
donteatfriedrice
ce9a3c82ee feat: remove new image actions feature flag (#7256) 2024-06-19 03:13:19 +00:00
Brooooooklyn
eb71471820 fix: nginx config for admin router (#7254) 2024-06-19 03:01:03 +00:00
JimmFly
6c3e13316e feat(i18n): update resources and add Swedish language (#7247)
close AFF-1279
2024-06-19 02:47:05 +00:00
akumatus
4edf0b1d85 fix: add patch doc mode service (#7249) 2024-06-18 10:16:44 +00:00
Brooooooklyn
96df708e3a chore: fix web nginx conf (#7246) 2024-06-18 09:07:54 +00:00
L-Sun
09201d42a0 chore: bump up @blocksuite/icons version (#7233) 2024-06-18 17:07:11 +08:00
EYHN
390852f8be chore(server): lint ignore error gen file (#7245) 2024-06-18 08:48:19 +00:00
EYHN
98258b0211 feat(core): show sync state at doc info (#7244) 2024-06-18 08:35:22 +00:00
JimmFly
ea718d30e9 refactor(core): replace the Modal of the FindInPage component with Dialog (#7149)
In order to customize the opening and closing styles, the Modal were replaced.

https://github.com/toeverything/AFFiNE/assets/102217452/ece774ea-634c-4723-bace-7926f003497c
2024-06-18 07:46:22 +00:00
L-Sun
b3ec3a2b3e refactor(core): migrate ai preset to AFFiNE (#7219)
## TL;DR
Move `@blocksuite/presets/ai` to AFFiNE. After this PR is merged, you can use AI features from `@affine/core/blocksuite/presets/ai`.
2024-06-18 07:31:06 +00:00
Brooooooklyn
0fe672efa5 feat(admin): init project (#7197) 2024-06-18 06:01:13 +00:00
forehalo
d216606193 fix(server): wrong doc manager config (#7239) 2024-06-18 05:17:18 +00:00
L-Sun
9b89c9ed38 chore: bump up blocksuite version (#7243)
## Features
- https://github.com/toeverything/BlockSuite/pull/7330 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7348 @zzj3720

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7338 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7353 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7351 @lawvs
- https://github.com/toeverything/BlockSuite/pull/7357 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7355 @akumatus

## Misc
- https://github.com/toeverything/BlockSuite/pull/7352 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7349 @pengx17
2024-06-18 04:29:55 +00:00
pengx17
006c260e5f feat: add isNewDoc flag to quick search api (#7232) 2024-06-18 04:07:55 +00:00
Yuji Oshiro
e3bd8562b8 feat(electron): add documentation button in help menu bar (#7199)
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2024-06-17 22:13:06 +08:00
donteatfriedrice
e14e110f03 feat: bump blocksuite (#7237)
## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7346 @donteatfriedrice

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7322 @L-Sun

## Misc
- https://github.com/toeverything/BlockSuite/pull/7347 @L-Sun
2024-06-17 12:27:04 +00:00
EYHN
e2dbac6bf8 chore: bump blocksuite (#7235)
## Features
- https://github.com/toeverything/BlockSuite/pull/7340 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7334 @EYHN
- https://github.com/toeverything/BlockSuite/pull/7339 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7328 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7324 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7297 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7318 @CatsJuice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7343 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7345 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7341 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7342 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7329 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7337 @fundon
- https://github.com/toeverything/BlockSuite/pull/7333 @fundon
- https://github.com/toeverything/BlockSuite/pull/7326 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7325 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7323 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7312 @golok727
- https://github.com/toeverything/BlockSuite/pull/7317 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7319 @akumatus

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7327 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7320 @Flrande

## Misc
- https://github.com/toeverything/BlockSuite/pull/7303 @fundon
- https://github.com/toeverything/BlockSuite/pull/7321 @Saul-Mirone
2024-06-17 10:55:40 +00:00
liuyi
54fc1197ad feat(server): introduce user friendly server errors (#7111) 2024-06-17 11:30:58 +08:00
pengx17
5307a55f8a feat: add importWorkspaceSnapshot for testing (#7224) 2024-06-14 09:33:13 +00:00
pengx17
7062790488 fix: edgeless object creation events (#7206)
related to AFF-1154
upstream: https://github.com/toeverything/blocksuite/pull/7297
2024-06-14 08:46:09 +00:00
renovate
32a5943a90 chore: bump up rustc version to v1.79.0 (#7220)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://togithub.com/rust-lang/rust) | minor | `1.78.0` -> `1.79.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.79.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1790-2024-06-13)

[Compare Source](https://togithub.com/rust-lang/rust/compare/1.78.0...1.79.0)

\==========================

<a id="1.79.0-Language"></a>

## Language

-   [Stabilize inline `const {}` expressions.](https://togithub.com/rust-lang/rust/pull/104087/)
-   [Prevent opaque types being instantiated twice with different regions within the same function.](https://togithub.com/rust-lang/rust/pull/116935/)
-   [Stabilize WebAssembly target features that are in phase 4 and 5.](https://togithub.com/rust-lang/rust/pull/117457/)
-   [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://togithub.com/rust-lang/rust/pull/118391/)
-   [Stabilize the `unnameable_types` lint for public types that can't be named.](https://togithub.com/rust-lang/rust/pull/120144/)
-   [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://togithub.com/rust-lang/rust/pull/120845/)
-   [Propagate temporary lifetime extension into `if` and `match` expressions.](https://togithub.com/rust-lang/rust/pull/121346/)
-   [Restrict promotion of `const fn` calls.](https://togithub.com/rust-lang/rust/pull/121557/)
-   [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.](https://togithub.com/rust-lang/rust/pull/121720/)
-   [Stabilize associated type bounds (RFC 2289).](https://togithub.com/rust-lang/rust/pull/122055/)
-   [Stabilize importing `main` from other modules or crates.](https://togithub.com/rust-lang/rust/pull/122060/)
-   [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538)
-   [Rework `impl Trait` lifetime inference](https://togithub.com/rust-lang/rust/pull/116891/)
-   [Change inductive trait solver cycles to be ambiguous](https://togithub.com/rust-lang/rust/pull/122791)

<a id="1.79.0-Compiler"></a>

## Compiler

-   [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://togithub.com/rust-lang/rust/pull/115120/)
-   [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://togithub.com/rust-lang/rust/pull/121694/)
-   [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.](https://togithub.com/rust-lang/rust/pull/123501/)
    *Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
-   [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://togithub.com/rust-lang/rust/pull/121419/)
-   [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://togithub.com/rust-lang/rust/pull/122696/)
-   [Promote several Windows targets to tier 2](https://togithub.com/rust-lang/rust/pull/121712): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.79.0-Libraries"></a>

## Libraries

-   [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://togithub.com/rust-lang/rust/pull/107462/)
-   [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://togithub.com/rust-lang/rust/pull/121952/)
-   [Document overrides of `clone_from()` in core/std.](https://togithub.com/rust-lang/rust/pull/122201/)
-   [Link MSVC default lib in core.](https://togithub.com/rust-lang/rust/pull/122268/)
-   [Caution against using `transmute` between pointers and integers.](https://togithub.com/rust-lang/rust/pull/122379/)
-   [Enable frame pointers for the standard library.](https://togithub.com/rust-lang/rust/pull/122646/)

<a id="1.79.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
-   [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
-   [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
-   [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
-   [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
-   [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8\_chunks)
-   [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
-   [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
-   [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
-   [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
-   [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
-   [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
-   [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
-   [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
-   [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
-   [`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
-   [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
-   [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
-   [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
-   [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
-   [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
-   [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)

These APIs are now stable in const contexts:

-   [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
-   [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
-   [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
-   [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
-   [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html)
-   [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
-   [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html)
-   [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
-   [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
-   [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
-   [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)

<a id="1.79.0-Cargo"></a>

## Cargo

-   [Prevent dashes in `lib.name`, always normalizing to `_`.](https://togithub.com/rust-lang/cargo/pull/12783/)
-   [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://togithub.com/rust-lang/cargo/pull/13608/)
-   [Switch to using `gitoxide` by default for listing files.](https://togithub.com/rust-lang/cargo/pull/13696/)
-   [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://togithub.com/rust-lang/cargo/pull/13747/)

<a id="1.79.0-Rustdoc"></a>

## Rustdoc

-   [Always display stability version even if it's the same as the containing item.](https://togithub.com/rust-lang/rust/pull/118441/)
-   [Show a single search result for items with multiple paths.](https://togithub.com/rust-lang/rust/pull/119912/)
-   [Support typing `/` in docs to begin a search.](https://togithub.com/rust-lang/rust/pull/123355/)

<a id="1.79.0-Misc"></a>

## Misc

<a id="1.79.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Update the minimum external LLVM to 17.](https://togithub.com/rust-lang/rust/pull/122649/)
-   [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
    from the prelude in next edition.](https://togithub.com/rust-lang/rust/pull/116016/)
-   [The `wasm_c_abi` future-incompatibility lint will warn about use of the
    non-spec-compliant C ABI.](https://togithub.com/rust-lang/rust/pull/117918/)
    Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
-   [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-14 08:30:11 +00:00
renovate
7e8c33a897 chore: bump up oxlint version to v0.4.4 (#7226)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.4.3` -> `0.4.4`](https://renovatebot.com/diffs/npm/oxlint/0.4.3/0.4.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.4.3/0.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.4.3/0.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.4.4`](4b9a36512e...2173f23d9c)

[Compare Source](4b9a36512e...2173f23d9c)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-14 08:17:51 +00:00
donteatfriedrice
22ec26440b feat: add block action bar control for event tracker (#7210) 2024-06-14 03:09:07 +00:00
fundon
729631ea72 refactor(core): image preview toolbar UI (#7207)
Closes: [AFF-1257](https://linear.app/affine-design/issue/AFF-1257/image-preview-toolbar)

* refactor logic
* update UI style

<img width="617" alt="Screenshot 2024-06-13 at 07 21 52" src="https://github.com/toeverything/AFFiNE/assets/27926/1edc6476-0103-4214-8ef2-41b37d95287b">
<img width="760" alt="Screenshot 2024-06-13 at 07 21 33" src="https://github.com/toeverything/AFFiNE/assets/27926/83d27ab2-143f-4bdd-a932-396289c598ec">
2024-06-14 02:02:46 +00:00
pengx17
33762423bb fix: page reference should wrap (#7218) 2024-06-13 13:15:47 +00:00
pengx17
3189f42e76 chore: bump blocksuite (#7217)
## Features
- https://github.com/toeverything/BlockSuite/pull/7281 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7280 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7282 @EYHN
- https://github.com/toeverything/BlockSuite/pull/7306 @doouding

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7301 @fundon
- https://github.com/toeverything/BlockSuite/pull/7311 @Flrande
- https://github.com/toeverything/BlockSuite/pull/7310 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7302 @fundon
- https://github.com/toeverything/BlockSuite/pull/7309 @doouding
- https://github.com/toeverything/BlockSuite/pull/7308 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7294 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7299 @fundon

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7296 @L-Sun

## Misc
- https://github.com/toeverything/BlockSuite/pull/7300 @fundon
- https://github.com/toeverything/BlockSuite/pull/7307 @Saul-Mirone
2024-06-13 13:15:43 +00:00
Brooooooklyn
19dd724f50 fix(electron): downgrade electron version (#7215)
![image](https://github.com/toeverything/AFFiNE/assets/3468483/c13fe4ba-e68e-423c-982b-19fdafd33345)
2024-06-13 09:19:37 +00:00
akumatus
24cb0d3757 refactor: add docsService for blocksuite to change and observe doc mode (#7200)
This PR provide `DocModeService` to manage document mode, which is used by blocksuite.

### What Changed?
- Add document mode apis from `DocService` and `DocsService`
- Remove useless `pageService.getEditorMode` and `pageService.slots.editorModeSwitch` api

[Related PR in blocksuite](https://github.com/toeverything/blocksuite/pull/7288)

[Bump Blocksuite](https://github.com/toeverything/AFFiNE/pull/7209)
> ## Features
> * [feat(presets): support different tracker control for actions blocksuite#7285](https://github.com/toeverything/blocksuite/pull/7285) @donteatfriedrice
> * [feat(edgeless): add default color and editing border for edgeless text blocksuite#7278](https://github.com/toeverything/blocksuite/pull/7278) @Flrande
> * [feat(blocks): center peek entries blocksuite#7275](https://github.com/toeverything/blocksuite/pull/7275) @pengx17
>
> ## Bugfix
> * [fix(blocks): affine-embed-synced-doc-block peek on dblclick blocksuite#7284](https://github.com/toeverything/blocksuite/pull/7284) @pengx17
> * [fix(edgeless): edgeless text rect should automatically update when changing font blocksuite#7292](https://github.com/toeverything/blocksuite/pull/7292) @Flrande
> * [fix(edgeless): align panel not work blocksuite#7293](https://github.com/toeverything/blocksuite/pull/7293) @Flrande
> * [fix(blocks): filterable list unexpected hover style blocksuite#7291](https://github.com/toeverything/blocksuite/pull/7291) @golok727
> * [fix(blocks): slash menu unexpected hover style blocksuite#7290](https://github.com/toeverything/blocksuite/pull/7290) @golok727
> * [fix(blocks): bookmark block error on undo or delete while loading blocksuite#7276](https://github.com/toeverything/blocksuite/pull/7276) @golok727
> * [fix(presets): chat input max-height blocksuite#7283](https://github.com/toeverything/blocksuite/pull/7283) @fundon
> * [fix(presets): get image blob from selection blocksuite#7286](https://github.com/toeverything/blocksuite/pull/7286) @donteatfriedrice
> * [fix(blocks): connectors resize and rotate blocksuite#7256](https://github.com/toeverything/blocksuite/pull/7256) @fundon
>
> ## Refactor
> * [refactor: add DocModeService for doc mode get, set, toogle and observe change blocksuite#7288](https://github.com/toeverything/blocksuite/pull/7288) @akumatus
> * [refactor(edgeless): rewrite auto-connect component as a widget blocksuite#7287](https://github.com/toeverything/blocksuite/pull/7287) @doouding
>
> ## Misc
> * [test: fix flaky blocksuite#7295](https://github.com/toeverything/blocksuite/pull/7295) @L-Sun
> * [style(page): adjust heading font-weight and letter-spacing blocksuite#7277](https://github.com/toeverything/blocksuite/pull/7277) @CatsJuice
> * [chore: apply member ordering rule blocksuite#7279](https://github.com/toeverything/blocksuite/pull/7279) @Saul-Mirone

---
2024-06-13 16:53:42 +08:00
doouding
a3ca41fd6a fix: surface-ref peek view (#7208)
### Change
Add ref to `SurfaceRefPeekView`. It provide `fitViewportToTarget` method to fit the `surface-ref` content.

Related to [AFF-1200](https://linear.app/affine-design/issue/AFF-1200/center-peek-frame-rendering-issue).
2024-06-13 07:05:14 +00:00
renovate
3bf80d86d8 chore: bump up @blocksuite/icons version to v2.1.55 (#7202)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.54` -> `2.1.55`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.54/2.1.55) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.54/2.1.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.54/2.1.55?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.55`](baef47745e...6013339ba9)

[Compare Source](baef47745e...6013339ba9)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-13 03:39:03 +00:00
renovate
e6a2843ddf chore: bump up all non-major dependencies (#7196)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.592.0` -> `3.596.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.592.0/3.596.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.596.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.596.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.592.0/3.596.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.592.0/3.596.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.10.2` -> `^0.11.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.10.4/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.8.0` -> `8.9.2`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.8.0/8.9.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.8.0/8.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.8.0/8.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.5.28` -> `1.5.29`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.5.28/1.5.29) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.5.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.5.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.5.28/1.5.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.5.28/1.5.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [c8](https://togithub.com/bcoe/c8) | [`10.0.0` -> `10.1.2`](https://renovatebot.com/diffs/npm/c8/10.0.0/10.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/c8/10.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/c8/10.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/c8/10.0.0/10.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/c8/10.0.0/10.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://togithub.com/electron/electron) | [`31.0.0` -> `31.0.1`](https://renovatebot.com/diffs/npm/electron/31.0.0/31.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/31.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/31.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/31.0.0/31.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/31.0.0/31.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [graphql](https://togithub.com/graphql/graphql-js) | [`16.8.1` -> `16.8.2`](https://renovatebot.com/diffs/npm/graphql/16.8.1/16.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.8.1/16.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.8.1/16.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://togithub.com/okonet/lint-staged) | [`15.2.5` -> `15.2.7`](https://renovatebot.com/diffs/npm/lint-staged/15.2.5/15.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.5/15.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.5/15.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [openai](https://togithub.com/openai/openai-node) | [`4.50.0` -> `4.51.0`](https://renovatebot.com/diffs/npm/openai/4.50.0/4.51.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.50.0/4.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.50.0/4.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [webpack](https://togithub.com/webpack/webpack) | [`5.91.0` -> `5.92.0`](https://renovatebot.com/diffs/npm/webpack/5.91.0/5.92.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.92.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.92.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.91.0/5.92.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.91.0/5.92.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.60.1` -> `3.60.2`](https://renovatebot.com/diffs/npm/wrangler/3.60.1/3.60.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.60.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.60.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.60.1/3.60.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.60.1/3.60.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.596.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35960-2024-06-12)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.592.0...v3.596.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.11.0`](f7d9dec1aa...c7910163a7)

[Compare Source](f7d9dec1aa...c7910163a7)

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.9.2`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#892)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.9.1...8.9.2)

-   fix(profiling): Update exports so types generate properly ([#&#8203;12469](https://togithub.com/getsentry/sentry-javascript/issues/12469))

### [`v8.9.1`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#891)

##### Important changes

-   **feat(solid): Add Solid SDK**

    This release adds a dedicated SDK for [Solid JS](https://www.solidjs.com/) in alpha state with instrumentation for
    [Solid Router](https://docs.solidjs.com/solid-router) and a custom `ErrorBoundary`. See the
    [package README](https://togithub.com/getsentry/sentry-javascript/blob/develop/packages/solid/README.md) for how to use
    the SDK.

##### Other changes

-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-express](https://togithub.com/opentelemetry/instrumentation-express) from 0.40.0 to 0.40.1 ([#&#8203;12438](https://togithub.com/getsentry/sentry-javascript/issues/12438))
-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-mongodb](https://togithub.com/opentelemetry/instrumentation-mongodb) from 0.44.0 to 0.45.0 ([#&#8203;12439](https://togithub.com/getsentry/sentry-javascript/issues/12439))
-   feat(deps): bump [@&#8203;opentelemetry/propagator-aws-xray](https://togithub.com/opentelemetry/propagator-aws-xray) from 1.24.1 to 1.25.0 ([#&#8203;12437](https://togithub.com/getsentry/sentry-javascript/issues/12437))
-   feat(nextjs): Allow for suppressing warning about missing global error handler file ([#&#8203;12369](https://togithub.com/getsentry/sentry-javascript/issues/12369))
-   feat(redis): Add cache logic for redis-4 ([#&#8203;12429](https://togithub.com/getsentry/sentry-javascript/issues/12429))
-   feat(replay): Replay Web Vital Breadcrumbs ([#&#8203;12296](https://togithub.com/getsentry/sentry-javascript/issues/12296))
-   fix: Fix types export order ([#&#8203;12404](https://togithub.com/getsentry/sentry-javascript/issues/12404))
-   fix(astro): Ensure server-side exports work correctly ([#&#8203;12453](https://togithub.com/getsentry/sentry-javascript/issues/12453))
-   fix(aws-serverless): Add `op` to Otel-generated lambda function root span ([#&#8203;12430](https://togithub.com/getsentry/sentry-javascript/issues/12430))
-   fix(aws-serverless): Only auto-patch handler in CJS when loading `awslambda-auto` ([#&#8203;12392](https://togithub.com/getsentry/sentry-javascript/issues/12392))
-   fix(aws-serverless): Only start root span in Sentry wrapper if Otel didn't wrap handler ([#&#8203;12407](https://togithub.com/getsentry/sentry-javascript/issues/12407))
-   fix(browser): Fix INP span creation & transaction tagging ([#&#8203;12372](https://togithub.com/getsentry/sentry-javascript/issues/12372))
-   fix(nextjs): correct types conditional export ordering ([#&#8203;12355](https://togithub.com/getsentry/sentry-javascript/issues/12355))
-   fix(replay): Fix guard for exception event ([#&#8203;12441](https://togithub.com/getsentry/sentry-javascript/issues/12441))
-   fix(vue): Handle span name assignment for nested routes in VueRouter ([#&#8203;12398](https://togithub.com/getsentry/sentry-javascript/issues/12398))

Work in this release was contributed by [@&#8203;soch4n](https://togithub.com/soch4n). Thank you for your contribution!

### [`v8.9.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#890)

This release failed to publish correctly, please use `8.9.1` instead.

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.5.29`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1529---2024-06-13)

[Compare Source](https://togithub.com/swc-project/swc/compare/v1.5.28...v1.5.29)

##### Bug Fixes

-   **(ci)** Make publish action upload cli artifacts ([#&#8203;9040](https://togithub.com/swc-project/swc/issues/9040)) ([3337bb2](3337bb26f9))

-   **(es)** Make `output` field optional ([#&#8203;9033](https://togithub.com/swc-project/swc/issues/9033)) ([39654bf](39654bf1e7))

-   **(es/codegen)** Emit named type in mapped types ([#&#8203;9038](https://togithub.com/swc-project/swc/issues/9038)) ([91e92ec](91e92ececa))

-   **(es/minifier)** Visit RHS while hoisting properties ([#&#8203;9032](https://togithub.com/swc-project/swc/issues/9032)) ([cb16994](cb16994a8d))

-   **(xtask)** Fix `nightly` action ([#&#8203;9042](https://togithub.com/swc-project/swc/issues/9042)) ([733dcc6](733dcc6b83))

##### Performance

-   **(es/minifier)** Do not visit var init multiple times ([#&#8203;9039](https://togithub.com/swc-project/swc/issues/9039)) ([675916c](675916ccbd))

-   **(es/parser)** Optimize lexing of template literals ([#&#8203;9036](https://togithub.com/swc-project/swc/issues/9036)) ([6ab19a1](6ab19a1b5f))

-   **(es/parser)** Optimize lexing of template literals, again ([#&#8203;9037](https://togithub.com/swc-project/swc/issues/9037)) ([5bffd0f](5bffd0ff9b))

</details>

<details>
<summary>bcoe/c8 (c8)</summary>

### [`v10.1.2`](https://togithub.com/bcoe/c8/blob/HEAD/CHANGELOG.md#1012-2024-06-13)

[Compare Source](https://togithub.com/bcoe/c8/compare/v10.1.1...v10.1.2)

##### Bug Fixes

-   **deps:** make monocart-coverage-reports an optional with meta defined ([3b91fda](3b91fdaa0e))

### [`v10.1.1`](https://togithub.com/bcoe/c8/blob/HEAD/CHANGELOG.md#1011-2024-06-11)

[Compare Source](https://togithub.com/bcoe/c8/compare/v10.1.0...v10.1.1)

##### Bug Fixes

-   stop installing monocart-coverage-reports ([#&#8203;535](https://togithub.com/bcoe/c8/issues/535)) ([13979a7](13979a76b5))

### [`v10.1.0`](https://togithub.com/bcoe/c8/blob/HEAD/CHANGELOG.md#1010-2024-06-11)

[Compare Source](https://togithub.com/bcoe/c8/compare/v10.0.0...v10.1.0)

##### Features

-   add experimental monocart reports ([#&#8203;521](https://togithub.com/bcoe/c8/issues/521)) ([2e5e297](2e5e297ac0))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v31.0.1`](https://togithub.com/electron/electron/releases/tag/v31.0.1): electron v31.0.1

[Compare Source](https://togithub.com/electron/electron/compare/v31.0.0...v31.0.1)

### Release Notes for v31.0.1

#### Fixes

-   Fixed an issue where `fetch` dependent interfaces in Node.js were not defined when `nodeIntegration` was enabled in some circumstances. [#&#8203;42453](https://togithub.com/electron/electron/pull/42453) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42454))</span>
-   Fixed an issue where bad flags passed via `--js-flags` could cause a crash. [#&#8203;42441](https://togithub.com/electron/electron/pull/42441) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42442), [30](https://togithub.com/electron/electron/pull/42440))</span>

</details>

<details>
<summary>graphql/graphql-js (graphql)</summary>

### [`v16.8.2`](https://togithub.com/graphql/graphql-js/releases/tag/v16.8.2)

[Compare Source](https://togithub.com/graphql/graphql-js/compare/v16.8.1...v16.8.2)

#### v16.8.2 (2024-06-12)

##### Bug Fix 🐞\* [#&#8203;4022](https://togithub.com/graphql/graphql-js/pull/4022) fix: remove `globalThis` check and align with what bundlers can accept ([@&#8203;JoviDeCroock](https://togithub.com/JoviDeCroock))

##### Internal 🏠\* [#&#8203;4104](https://togithub.com/graphql/graphql-js/pull/4104) Fix publish scripts ([@&#8203;benjie](https://togithub.com/benjie))

##### Committers: 2

-   Benjie([@&#8203;benjie](https://togithub.com/benjie))
-   Jovi De Croock([@&#8203;JoviDeCroock](https://togithub.com/JoviDeCroock))

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

### [`v15.2.7`](https://togithub.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1527)

[Compare Source](https://togithub.com/okonet/lint-staged/compare/v15.2.6...v15.2.7)

##### Patch Changes

-   [#&#8203;1440](https://togithub.com/lint-staged/lint-staged/pull/1440) [`a51be80`](a51be804b6) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - In the previous version the native `git rev-parse --show-toplevel` command was taken into use for resolving the current git repo root. This version drops the `--path-format=absolute` option to support earlier git versions since it's also the default behavior. If you are still having trouble, please try upgrading `git` to the latest version.

### [`v15.2.6`](https://togithub.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1526)

[Compare Source](https://togithub.com/okonet/lint-staged/compare/v15.2.5...v15.2.6)

##### Patch Changes

-   [#&#8203;1433](https://togithub.com/lint-staged/lint-staged/pull/1433) [`119adb2`](119adb2985) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - Use native "git rev-parse" commands to determine git repo root directory and the .git config directory, instead of using custom logic. This hopefully makes path resolution more robust on non-POSIX systems.

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.51.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4510-2024-06-12)

[Compare Source](https://togithub.com/openai/openai-node/compare/v4.50.0...v4.51.0)

Full Changelog: [v4.50.0...v4.51.0](https://togithub.com/openai/openai-node/compare/v4.50.0...v4.51.0)

##### Features

-   **api:** updates ([#&#8203;894](https://togithub.com/openai/openai-node/issues/894)) ([b58f5a1](b58f5a1344))

</details>

<details>
<summary>webpack/webpack (webpack)</summary>

### [`v5.92.0`](https://togithub.com/webpack/webpack/compare/v5.91.0...34e2561addb0f65a7a6fb0ce7ae1aea4cd1d599f)

[Compare Source](https://togithub.com/webpack/webpack/compare/v5.91.0...v5.92.0)

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v3.60.2`](https://togithub.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3602)

[Compare Source](https://togithub.com/cloudflare/workers-sdk/compare/wrangler@3.60.1...wrangler@3.60.2)

##### Patch Changes

-   [#&#8203;5307](https://togithub.com/cloudflare/workers-sdk/pull/5307) [`e6a3d24`](e6a3d243a7) Thanks [@&#8203;achanda](https://togithub.com/achanda)! - fix: add more timePeriods to `wrangler d1 insights`

    This PR updates `wrangler d1 insights` to accept arbitrary timePeriod values up to 31 days.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-13 03:26:11 +00:00
doouding
ec8b2cc32a feat: bump bs (#7198)
## Features
- https://github.com/toeverything/BlockSuite/pull/7264 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7182 @CatsJuice
- https://github.com/toeverything/BlockSuite/pull/7181 @CatsJuice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7273 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7272 @doouding
- https://github.com/toeverything/BlockSuite/pull/7263 @doouding
- https://github.com/toeverything/BlockSuite/pull/7252 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7261 @fundon

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7271 @golok727

## Misc
- https://github.com/toeverything/BlockSuite/pull/7274 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7266 @Saul-Mirone
2024-06-12 05:50:58 +00:00
renovate
a7427a4f8d chore: Lock file maintenance (#7129)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 09:07:25 +00:00
renovate
764527ffc6 chore: bump up all non-major dependencies (#7195)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.583.0` -> `3.592.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`0.10.2` -> `0.10.4`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`^0.6.0` -> `^0.7.0`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/common](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/core](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/testing](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nestjs/websockets](https://togithub.com/nestjs/nest) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.1.0` -> `19.2.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.1.0/19.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.1.0/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.1.0/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@pmmmwh/react-refresh-webpack-plugin](https://togithub.com/pmmmwh/react-refresh-webpack-plugin) | [`0.5.13` -> `0.5.15`](https://renovatebot.com/diffs/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.17.0` -> `2.18.0`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/integrations](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/integrations) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`7.116.0` -> `7.117.0`](https://renovatebot.com/diffs/npm/@sentry%2fintegrations/7.116.0/7.117.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fintegrations/7.117.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fintegrations/7.117.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fintegrations/7.116.0/7.117.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fintegrations/7.116.0/7.117.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.4.0` -> `8.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.4.0/8.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.4.0` -> `8.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.4.0/8.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.17.0` -> `2.18.0`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`0.18.1` -> `0.18.2`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.18.1/0.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.18.1/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.18.1/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.5.25` -> `1.5.28`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.5.25/1.5.28) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.5.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.5.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.5.25/1.5.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.5.25/1.5.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@toeverything/theme](https://togithub.com/toeverything/design) | [`0.7.30` -> `0.7.32`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/0.7.30/0.7.32) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/0.7.32?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/0.7.32?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/0.7.30/0.7.32?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/0.7.30/0.7.32?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.12.12` -> `20.14.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.12/20.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.12/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.12/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cssnano](https://togithub.com/cssnano/cssnano) | [`7.0.1` -> `7.0.2`](https://renovatebot.com/diffs/npm/cssnano/7.0.1/7.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.21.4` -> `0.21.5`](https://renovatebot.com/diffs/npm/esbuild/0.21.4/0.21.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.21.4/0.21.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.21.4/0.21.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [foxact](https://foxact.skk.moe) ([source](https://togithub.com/SukkaW/foxact)) | [`0.2.33` -> `0.2.35`](https://renovatebot.com/diffs/npm/foxact/0.2.33/0.2.35) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.33/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.33/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.11.0` -> `14.12.0`](https://renovatebot.com/diffs/npm/happy-dom/14.11.0/14.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.11.0/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.11.0/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.2` -> `2.8.3`](https://renovatebot.com/diffs/npm/jotai/2.8.2/2.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.2` -> `2.8.3`](https://renovatebot.com/diffs/npm/jotai/2.8.2/2.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`^0.9.0` -> `^0.10.0`](https://renovatebot.com/diffs/npm/jotai-devtools/0.9.1/0.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`^0.9.0` -> `^0.10.0`](https://renovatebot.com/diffs/npm/jotai-devtools/0.9.1/0.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lit](https://lit.dev/) ([source](https://togithub.com/lit/lit/tree/HEAD/packages/lit)) | [`3.1.3` -> `3.1.4`](https://renovatebot.com/diffs/npm/lit/3.1.3/3.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lit/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lit/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lit/3.1.3/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lit/3.1.3/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://togithub.com/mixpanel/mixpanel-js) | [`2.50.0` -> `2.52.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.50.0/2.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.50.0/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.50.0/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://togithub.com/mswjs/msw)) | [`2.3.0` -> `2.3.1`](https://renovatebot.com/diffs/npm/msw/2.3.0/2.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.13.1` -> `20.14.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.13.1/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.13.1/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nodemon](https://nodemon.io) ([source](https://togithub.com/remy/nodemon)) | [`3.1.1` -> `3.1.3`](https://renovatebot.com/diffs/npm/nodemon/3.1.1/3.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemon/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemon/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemon/3.1.1/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemon/3.1.1/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.2.2` -> `19.2.3`](https://renovatebot.com/diffs/npm/nx/19.2.2/19.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.2.2/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.2.2/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://togithub.com/openai/openai-node) | [`4.47.3` -> `4.50.0`](https://renovatebot.com/diffs/npm/openai/4.47.3/4.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.47.3/4.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.47.3/4.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [prettier](https://prettier.io) ([source](https://togithub.com/prettier/prettier)) | [`3.3.1` -> `3.3.2`](https://renovatebot.com/diffs/npm/prettier/3.3.1/3.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.3.1/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.3.1/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.14.0` -> `5.15.0`](https://renovatebot.com/diffs/npm/prisma/5.14.0/5.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [sonner](https://sonner.emilkowal.ski/) ([source](https://togithub.com/emilkowalski/sonner)) | [`1.4.41` -> `1.5.0`](https://renovatebot.com/diffs/npm/sonner/1.4.41/1.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sonner/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sonner/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sonner/1.4.41/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sonner/1.4.41/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [stripe](https://togithub.com/stripe/stripe-node) | [`15.8.0` -> `15.10.0`](https://renovatebot.com/diffs/npm/stripe/15.8.0/15.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/15.8.0/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/15.8.0/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.18.1` -> `6.18.2`](https://renovatebot.com/diffs/npm/undici/6.18.1/6.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.18.1` -> `6.18.2`](https://renovatebot.com/diffs/npm/undici/6.18.1/6.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vitejs.dev) ([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.2.11` -> `5.2.13`](https://renovatebot.com/diffs/npm/vite/5.2.11/5.2.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.11/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.11/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.57.1` -> `3.60.1`](https://renovatebot.com/diffs/npm/wrangler/3.57.1/3.60.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.57.1/3.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.57.1/3.60.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [yarn](https://togithub.com/yarnpkg/berry) ([source](https://togithub.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.2.2` -> `4.3.0`](https://renovatebot.com/diffs/npm/yarn/4.2.2/4.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yarn/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yarn/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yarn/4.2.2/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yarn/4.2.2/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |
| [yjs](https://docs.yjs.dev) ([source](https://togithub.com/yjs/yjs)) | [`13.6.15` -> `13.6.16`](https://renovatebot.com/diffs/npm/yjs/13.6.15/13.6.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yjs/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yjs/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yjs/13.6.15/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yjs/13.6.15/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [yjs](https://docs.yjs.dev) ([source](https://togithub.com/yjs/yjs)) | [`13.6.15` -> `13.6.16`](https://renovatebot.com/diffs/npm/yjs/13.6.15/13.6.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yjs/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yjs/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yjs/13.6.15/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yjs/13.6.15/13.6.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.592.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35920-2024-06-06)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.591.0...v3.592.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.591.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35910-2024-06-05)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.590.0...v3.591.0)

##### Features

-   **client-s3:** Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality. ([ad0e8d9](ad0e8d9c76))

### [`v3.590.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35900-2024-06-04)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.588.0...v3.590.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.588.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35880-2024-05-31)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.587.0...v3.588.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.587.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35870-2024-05-30)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.583.0...v3.587.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.10.4`](8fc0b726c2...f7d9dec1aa)

[Compare Source](8fc0b726c2...f7d9dec1aa)

### [`v0.10.3`](5f15da9d83...8fc0b726c2)

[Compare Source](5f15da9d83...8fc0b726c2)

</details>

<details>
<summary>marsidev/react-turnstile (@&#8203;marsidev/react-turnstile)</summary>

### [`v0.7.1`](https://togithub.com/marsidev/react-turnstile/releases/tag/v0.7.1)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.7.0...v0.7.1)

#####    🐞 Bug Fixes

-   Set proper error code type  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(3f7f9)</samp>](https://togithub.com/marsidev/react-turnstile/commit/3f7f9f2)

#####     [View changes on GitHub](https://togithub.com/marsidev/react-turnstile/compare/v0.7.0...v0.7.1)

### [`v0.7.0`](https://togithub.com/marsidev/react-turnstile/releases/tag/v0.7.0)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.6.1...v0.7.0)

#####    🐞 Bug Fixes

-   Change script injection method to prevent multiple scripts console warning  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(66f85)</samp>](https://togithub.com/marsidev/react-turnstile/commit/66f8520)
    -   Now we always use a single Turnstile script
    -   Now is not mandatory to set unique IDs when using multiple widgets, but it's still suggested for semantic reasons
    -   The new logic for the script injection was inspired by this other library: [Le0Developer/react-turnstile](https://togithub.com/Le0Developer/react-turnstile) 🙌

#####    🚀 Features

-   Add `"auto"` size option  -  by [@&#8203;harrygr](https://togithub.com/harrygr) [<samp>(8a8a7)</samp>](https://togithub.com/marsidev/react-turnstile/commit/8a8a736)

#####     [View changes on GitHub](https://togithub.com/marsidev/react-turnstile/compare/v0.6.1...v0.7.0)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v10.3.9`](https://togithub.com/nestjs/nest/releases/tag/v10.3.9)

[Compare Source](https://togithub.com/nestjs/nest/compare/v10.3.8...v10.3.9)

##### v10.3.9 (2024-06-03)

##### Bug fixes

-   `core`
    -   [#&#8203;13453](https://togithub.com/nestjs/nest/pull/13453) fix(core): possible memory leak when using server side events ([@&#8203;zhengjitf](https://togithub.com/zhengjitf))
    -   [#&#8203;13405](https://togithub.com/nestjs/nest/pull/13405) fix(core): auto flush logs on synchronous internal errors ([@&#8203;micalevisk](https://togithub.com/micalevisk))
-   `platform-fastify`
    -   [#&#8203;13536](https://togithub.com/nestjs/nest/pull/13536) feat(fastify): Do not crash if enableVersioning is not used ([@&#8203;Fcmam5](https://togithub.com/Fcmam5))

##### Enhancements

-   `platform-ws`
    -   [#&#8203;13531](https://togithub.com/nestjs/nest/pull/13531) fix(ws): close existing connections ([@&#8203;bettercalljason](https://togithub.com/bettercalljason))
-   `common`, `core`
    -   [#&#8203;13428](https://togithub.com/nestjs/nest/pull/13428) feat(common): support empty `@Inject()` on constructor-based injection ([@&#8203;micalevisk](https://togithub.com/micalevisk))
-   `core`
    -   [#&#8203;13614](https://togithub.com/nestjs/nest/pull/13614) fix(core): prevent exclude method from overwriting previous calls ([@&#8203;dragontaek-lee](https://togithub.com/dragontaek-lee))

##### Docs

-   `common`
    -   [#&#8203;13471](https://togithub.com/nestjs/nest/pull/13471) doc: fix typos & clarify comments ([@&#8203;le-harivansh](https://togithub.com/le-harivansh))

##### Dependencies

-   Other
    -   [#&#8203;13619](https://togithub.com/nestjs/nest/pull/13619) chore(deps-dev): bump [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) from 7.9.0 to 7.11.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13631](https://togithub.com/nestjs/nest/pull/13631) chore(deps): bump mysql2 from 3.9.7 to 3.9.8 in /sample/05-sql-typeorm ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13624](https://togithub.com/nestjs/nest/pull/13624) chore(deps-dev): bump mqtt from 5.6.0 to 5.7.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13617](https://togithub.com/nestjs/nest/pull/13617) chore(deps-dev): bump lint-staged from 15.2.2 to 15.2.5 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13611](https://togithub.com/nestjs/nest/pull/13611) chore(deps-dev): bump cache-manager from 5.5.2 to 5.5.3 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13610](https://togithub.com/nestjs/nest/pull/13610) chore(deps): bump fast-json-stringify from 5.15.1 to 5.16.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13620](https://togithub.com/nestjs/nest/pull/13620) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) from 7.10.0 to 7.11.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13625](https://togithub.com/nestjs/nest/pull/13625) chore(deps-dev): bump artillery from 2.0.12 to 2.0.14 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13629](https://togithub.com/nestjs/nest/pull/13629) chore(deps-dev): bump nodemon from 3.1.0 to 3.1.2 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13633](https://togithub.com/nestjs/nest/pull/13633) chore(deps-dev): bump mysql2 from 3.9.7 to 3.10.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13588](https://togithub.com/nestjs/nest/pull/13588) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/04-grpc ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13591](https://togithub.com/nestjs/nest/pull/13591) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/02-gateways ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13592](https://togithub.com/nestjs/nest/pull/13592) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/01-cats-app ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13594](https://togithub.com/nestjs/nest/pull/13594) chore(deps-dev): bump core-js from 3.37.0 to 3.37.1 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13595](https://togithub.com/nestjs/nest/pull/13595) chore(deps-dev): bump redis from 4.6.13 to 4.6.14 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13596](https://togithub.com/nestjs/nest/pull/13596) chore(deps-dev): bump sinon from 17.0.1 to 18.0.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13597](https://togithub.com/nestjs/nest/pull/13597) chore(deps-dev): bump [@&#8203;grpc/grpc-js](https://togithub.com/grpc/grpc-js) from 1.10.7 to 1.10.8 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13602](https://togithub.com/nestjs/nest/pull/13602) chore(deps-dev): bump mongoose from 8.3.4 to 8.4.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13605](https://togithub.com/nestjs/nest/pull/13605) chore(deps-dev): bump nats from 2.25.0 to 2.26.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13606](https://togithub.com/nestjs/nest/pull/13606) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) from 7.9.0 to 7.10.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13590](https://togithub.com/nestjs/nest/pull/13590) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/05-sql-typeorm ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13589](https://togithub.com/nestjs/nest/pull/13589) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/03-microservices ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13587](https://togithub.com/nestjs/nest/pull/13587) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/08-webpack ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13586](https://togithub.com/nestjs/nest/pull/13586) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/06-mongoose ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13585](https://togithub.com/nestjs/nest/pull/13585) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/09-babel-example ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13584](https://togithub.com/nestjs/nest/pull/13584) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/07-sequelize ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13583](https://togithub.com/nestjs/nest/pull/13583) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/11-swagger ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13576](https://togithub.com/nestjs/nest/pull/13576) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) from 7.8.0 to 7.9.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13567](https://togithub.com/nestjs/nest/pull/13567) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/15-mvc ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13570](https://togithub.com/nestjs/nest/pull/13570) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/19-auth-jwt ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13563](https://togithub.com/nestjs/nest/pull/13563) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/20-cache ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13564](https://togithub.com/nestjs/nest/pull/13564) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/21-serializer ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13565](https://togithub.com/nestjs/nest/pull/13565) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/22-graphql-prisma ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13568](https://togithub.com/nestjs/nest/pull/13568) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/13-mongo-typeorm ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13569](https://togithub.com/nestjs/nest/pull/13569) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/12-graphql-schema-first ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13571](https://togithub.com/nestjs/nest/pull/13571) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/14-mongoose-base ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13572](https://togithub.com/nestjs/nest/pull/13572) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/16-gateways-ws ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13573](https://togithub.com/nestjs/nest/pull/13573) chore(deps-dev): bump artillery from 2.0.11 to 2.0.12 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13575](https://togithub.com/nestjs/nest/pull/13575) chore(deps-dev): bump chai-as-promised from 7.1.1 to 7.1.2 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13577](https://togithub.com/nestjs/nest/pull/13577) chore(deps-dev): bump nats from 2.24.0 to 2.25.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13578](https://togithub.com/nestjs/nest/pull/13578) chore(deps-dev): bump [@&#8203;types/node](https://togithub.com/types/node) from 20.12.11 to 20.12.12 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13579](https://togithub.com/nestjs/nest/pull/13579) chore(deps-dev): bump mqtt from 5.5.5 to 5.6.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13580](https://togithub.com/nestjs/nest/pull/13580) chore(deps-dev): bump [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) from 7.8.0 to 7.9.0 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13518](https://togithub.com/nestjs/nest/pull/13518) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/29-file-upload ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13519](https://togithub.com/nestjs/nest/pull/13519) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/28-sse ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13520](https://togithub.com/nestjs/nest/pull/13520) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/26-queues ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13521](https://togithub.com/nestjs/nest/pull/13521) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/25-dynamic-modules ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13522](https://togithub.com/nestjs/nest/pull/13522) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/30-event-emitter ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13523](https://togithub.com/nestjs/nest/pull/13523) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/24-serve-static ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13524](https://togithub.com/nestjs/nest/pull/13524) chore(deps): bump express and [@&#8203;nestjs/platform-express](https://togithub.com/nestjs/platform-express) in /sample/27-scheduling ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13528](https://togithub.com/nestjs/nest/pull/13528) chore(deps-dev): bump cache-manager from 5.5.1 to 5.5.2 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13529](https://togithub.com/nestjs/nest/pull/13529) chore(deps-dev): bump [@&#8203;grpc/grpc-js](https://togithub.com/grpc/grpc-js) from 1.10.6 to 1.10.7 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13546](https://togithub.com/nestjs/nest/pull/13546) chore(deps-dev): bump mongoose from 8.3.3 to 8.3.4 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13549](https://togithub.com/nestjs/nest/pull/13549) chore(deps): bump undici and mercurius in /sample/33-graphql-mercurius ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13552](https://togithub.com/nestjs/nest/pull/13552) chore(deps-dev): bump [@&#8203;types/node](https://togithub.com/types/node) from 20.12.10 to 20.12.11 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13554](https://togithub.com/nestjs/nest/pull/13554) chore(deps-dev): bump [@&#8203;fastify/static](https://togithub.com/fastify/static) from 7.0.3 to 7.0.4 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13517](https://togithub.com/nestjs/nest/pull/13517) chore(deps-dev): bump ejs from 3.1.9 to 3.1.10 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13545](https://togithub.com/nestjs/nest/pull/13545) chore(deps): bump fast-json-stringify from 5.14.1 to 5.15.1 ([@&#8203;dependabot\[bot\]](https://togithub.com/apps/dependabot))
    -   [#&#8203;13544](https://togithub.com/nestjs/nest/pull/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 08:23:35 +00:00
renovate
eef4e821e5 chore: bump up uuid version to v10 (#7185)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [uuid](https://togithub.com/uuidjs/uuid) | [`^9.0.1` -> `^10.0.0`](https://renovatebot.com/diffs/npm/uuid/9.0.1/10.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/uuid/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/uuid/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/uuid/9.0.1/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/uuid/9.0.1/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>uuidjs/uuid (uuid)</summary>

### [`v10.0.0`](https://togithub.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#1000-2024-06-07)

[Compare Source](https://togithub.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

##### ⚠ BREAKING CHANGES

-   update node support (drop node@12, node@14, add node@20) ([#&#8203;750](https://togithub.com/uuidjs/uuid/issues/750))

##### Features

-   support support rfc9562 MAX uuid (new in RFC9562) ([#&#8203;714](https://togithub.com/uuidjs/uuid/issues/714)) ([0385cd3](0385cd3f18))
-   support rfc9562 v6 uuids ([#&#8203;754](https://togithub.com/uuidjs/uuid/issues/754)) ([c4ed13e](c4ed13e715))
-   support rfc9562 v7 uuids ([#&#8203;681](https://togithub.com/uuidjs/uuid/issues/681)) ([db76a12](db76a12847))
-   update node support matrix (only support node 16-20) ([#&#8203;750](https://togithub.com/uuidjs/uuid/issues/750)) ([883b163](883b163b9a))
-   support rfc9562 v8 uuids ([#&#8203;759](https://togithub.com/uuidjs/uuid/issues/759)) ([35a5342](35a5342820))

##### Bug Fixes

-   revert "perf: remove superfluous call to toLowerCase ([#&#8203;677](https://togithub.com/uuidjs/uuid/issues/677))" ([#&#8203;738](https://togithub.com/uuidjs/uuid/issues/738)) ([e267b90](e267b9073d))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 08:01:57 +00:00
renovate
89bd8a032c chore: bump up oxlint version to v0.4.3 (#7054)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://togithub.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.3.5` -> `0.4.3`](https://renovatebot.com/diffs/npm/oxlint/0.3.5/0.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.3.5/0.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.3.5/0.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.4.3`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.4.3): oxlint v0.4.3

[Compare Source](031bbe6dc4...4b9a36512e)

#### \[0.4.3] - 2024-06-07

##### Features

-   [`1fb9d23`](https://togithub.com/oxc-project/oxc/commit/1fb9d23) linter: Add fixer for no-useless-fallback-in-spread rule ([#&#8203;3544](https://togithub.com/oxc-project/oxc/issues/3544)) (Don Isaac)
-   [`6506d08`](https://togithub.com/oxc-project/oxc/commit/6506d08) linter: Add fixer for no-single-promise-in-promise-methods ([#&#8203;3531](https://togithub.com/oxc-project/oxc/issues/3531)) (Don Isaac)
-   [`daf559f`](https://togithub.com/oxc-project/oxc/commit/daf559f) linter: Eslint-plugin-jest/no-large-snapshot ([#&#8203;3436](https://togithub.com/oxc-project/oxc/issues/3436)) (cinchen)
-   [`4c17bc6`](https://togithub.com/oxc-project/oxc/commit/4c17bc6) linter: Eslint/no-constructor-return ([#&#8203;3321](https://togithub.com/oxc-project/oxc/issues/3321)) (谭光志)
-   [`4a075cc`](https://togithub.com/oxc-project/oxc/commit/4a075cc) linter/jsdoc: Implement require-param rule ([#&#8203;3554](https://togithub.com/oxc-project/oxc/issues/3554)) (Yuji Sugiura)
-   [`747500a`](https://togithub.com/oxc-project/oxc/commit/747500a) linter/jsdoc: Implement require-returns-type rule ([#&#8203;3458](https://togithub.com/oxc-project/oxc/issues/3458)) (Yuji Sugiura)
-   [`6b39654`](https://togithub.com/oxc-project/oxc/commit/6b39654) linter/tree-shaking: Support options ([#&#8203;3504](https://togithub.com/oxc-project/oxc/issues/3504)) (Wang Wenzhe)

##### Bug Fixes

-   [`b188778`](https://togithub.com/oxc-project/oxc/commit/b188778) linter/eslint: Fix `require-await` false positives in `ForOfStatement`. ([#&#8203;3457](https://togithub.com/oxc-project/oxc/issues/3457)) (rzvxa)
-   [`350cd91`](https://togithub.com/oxc-project/oxc/commit/350cd91) parser: Should parser error when function declaration has no name ([#&#8203;3461](https://togithub.com/oxc-project/oxc/issues/3461)) (Dunqing)

### [`v0.4.2`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.4.2): oxlint v0.4.2

[Compare Source](d971c9cd0b...031bbe6dc4)

#### What's Changed

##### Linter

-   `require-await` by [@&#8203;todor-a](https://togithub.com/todor-a) in [https://github.com/oxc-project/oxc/pull/3406](https://togithub.com/oxc-project/oxc/pull/3406)
-   `eslint-plugin-unicorn/no-magic-array` flat depth by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/3411](https://togithub.com/oxc-project/oxc/pull/3411)
-   `@typescript-eslint/consistent-indexed-object-style` by [@&#8203;todor-a](https://togithub.com/todor-a) in [https://github.com/oxc-project/oxc/pull/3126](https://togithub.com/oxc-project/oxc/pull/3126)
-   `oxc/no-async-await` rule by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/oxc-project/oxc/pull/3438](https://togithub.com/oxc-project/oxc/pull/3438)
-   `oxc/no-const-enum` rule by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/oxc-project/oxc/pull/3435](https://togithub.com/oxc-project/oxc/pull/3435)
-   `oxc/no-rest-spread-properties` rule by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/oxc-project/oxc/pull/3432](https://togithub.com/oxc-project/oxc/pull/3432)
-   `eslint-plugin-jest/prefer-hooks-on-top` by [@&#8203;eryue0220](https://togithub.com/eryue0220) in [https://github.com/oxc-project/oxc/pull/3437](https://togithub.com/oxc-project/oxc/pull/3437)
-   `eslint-plugin-jest/require-top-level-describe` by [@&#8203;eryue0220](https://togithub.com/eryue0220) in [https://github.com/oxc-project/oxc/pull/3439](https://togithub.com/oxc-project/oxc/pull/3439)
-   `no-div-regex` by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3442](https://togithub.com/oxc-project/oxc/pull/3442)
-   `no-useless-concat` by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3363](https://togithub.com/oxc-project/oxc/pull/3363)
-   prefer-string-starts-ends-with: accept more valid regex by [@&#8203;magic-akari](https://togithub.com/magic-akari) in [https://github.com/oxc-project/oxc/pull/3408](https://togithub.com/oxc-project/oxc/pull/3408)

##### Parser

-   fix(parser): parse const extends in arrow functions correctly by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/3450](https://togithub.com/oxc-project/oxc/pull/3450)

#### New Contributors

-   [@&#8203;Bassadin](https://togithub.com/Bassadin) made their first contribution in [https://github.com/oxc-project/oxc/pull/3433](https://togithub.com/oxc-project/oxc/pull/3433)

**Full Changelog**: https://github.com/oxc-project/oxc/compare/oxlint_v0.4.1...oxlint_v0.4.2

### [`v0.4.1`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.4.1): oxlint v0.4.1

[Compare Source](e5337f00b1...d971c9cd0b)

#### What's Changed

-   fix(parser): fix lexer error while parsing parenthesized arrow expressions by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3400](https://togithub.com/oxc-project/oxc/pull/3400)

The previous version refactored some parsing code around arrow expressions, which failed to parse the following snippet correctly

```javascript
(/\./.exec())
```

**Full Changelog**: https://github.com/oxc-project/oxc/compare/oxlint_v0.4.0...oxlint_v0.4.1

### [`v0.4.0`](https://togithub.com/oxc-project/oxc/releases/tag/oxlint_v0.4.0): oxlint v0.4.0

[Compare Source](754d9f4c98...e5337f00b1)

#### Potential Breaking Changes

##### enforce rule severity from the cli and configuration file by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3337](https://togithub.com/oxc-project/oxc/pull/3337)

The `--deny` or `-D` flag in the CLI, and the `"error"` severity setting in the configuration file will now set linter diagnostics to be an "error" and exit the program with exit code 1.

Previously, these flags had no effect, and all linter diagnostics were reported as warnings.

This means in CI, `oxlint --deny-warnings` is no longer needed for exit code 1 if `oxlint -D correctness` is set.

To restore the previous "report as warning" behaviour, the `--warn` or `-W` flag is added to the CLI, and the `"warn"` severity in the configuration file will take into effect.

##### merge deepscan rules into oxc rules by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3327](https://togithub.com/oxc-project/oxc/pull/3327)

`deepscan` rules are now "oxc" rules, because there is no "deepscan" plugin in the eslint ecosystem and this caused some confusion.

#### Ecosystem CI

We added the [`Oxlint Ecosystem CI`](https://togithub.com/oxc-project/oxlint-ecosystem-ci/actions/workflows/ecosystem-ci.yml) to maximize ecosystem compatibility, reduce churn, and minimize break-after-release

#### New Features

-   `--disable-oxc-plugin` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3328](https://togithub.com/oxc-project/oxc/pull/3328)
-   `--disable`-react/unicorn/typescript-`plugin` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3305](https://togithub.com/oxc-project/oxc/pull/3305)

The default rule set enables some plugins by default, the following CLI arguments are added for disabling them:

-   `--disable-react-plugin`
-   `--disable-unicorn-plugin`
-   `--disable-oxc-plugin`
-   `--disable-typescript-plugin`

#### New Rules

Two notable new rules that are under experiment but worth a try:

##### No Barrel File

`oxlint --import-plugin -D no-barrel-file`

Loading a lot of modules is slow for runtimes and bundlers.

<img width="600" alt="image" src="https://github.com/oxc-project/oxc/assets/1430279/964d8615-a5c2-4934-a1e4-a6f8b023e199">

To change the threshhold:

`oxlint -c oxlintrc.json --import-plugin -D no-barrel-file`

```json
{
  "rules": {
    "oxc/no-barrel-file": ["error", {
      "threshold": 10
    }]
  }
}
```

See [Speeding up the JavaScript ecosystem - The barrel file debacle](https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-7) for background reading.

##### Rule of Hooks

`oxlint -D rules-of-hooks`

Enforce the React Rules of Hooks.

-   `eslint-plugin-jest/no-duplicate-hooks` by [@&#8203;eryue0220](https://togithub.com/eryue0220) in [https://github.com/oxc-project/oxc/pull/3358](https://togithub.com/oxc-project/oxc/pull/3358)
-   `default-case` rule by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3379](https://togithub.com/oxc-project/oxc/pull/3379)
-   `no-new` by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3368](https://togithub.com/oxc-project/oxc/pull/3368)
-   `prefer-exponentiation-operator` by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3365](https://togithub.com/oxc-project/oxc/pull/3365)
-   `symbol-description` by [@&#8203;jelly](https://togithub.com/jelly) in [https://github.com/oxc-project/oxc/pull/3364](https://togithub.com/oxc-project/oxc/pull/3364)
-   `jsdoc/require-returns-description` by [@&#8203;leaysgur](https://togithub.com/leaysgur) in [https://github.com/oxc-project/oxc/pull/3397](https://togithub.com/oxc-project/oxc/pull/3397)

#### Bug Fixes

-   fix(linter): avoid infinite loop in `jest/expect-expect` by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/oxc-project/oxc/pull/3332](https://togithub.com/oxc-project/oxc/pull/3332)
-   fix(linter): avoid infinite loop when traverse ancestors in `jest/no_conditional_expect` by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/oxc-project/oxc/pull/3330](https://togithub.com/oxc-project/oxc/pull/3330)
-   fix(linter): fix panic in jest/expect-expect by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3324](https://togithub.com/oxc-project/oxc/pull/3324)
-   fix(linter/jsx-no-undef): check for globals when an identifier is undefined by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3331](https://togithub.com/oxc-project/oxc/pull/3331)
-   fix(linter/next): false positives for non-custom font link by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/3383](https://togithub.com/oxc-project/oxc/pull/3383)

#### Performance Improvements

-   perf(lexer): use bitshifting when parsing known integers by [@&#8203;DonIsaac](https://togithub.com/DonIsaac) in [https://github.com/oxc-project/oxc/pull/3296](https://togithub.com/oxc-project/oxc/pull/3296)
-   perf(linter): use `usize` for `RuleEnum` hash by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3336](https://togithub.com/oxc-project/oxc/pull/3336)
-   perf(parser): more efficient number parsing by [@&#8203;overlookmotel](https://togithub.com/overlookmotel) in [https://github.com/oxc-project/oxc/pull/3342](https://togithub.com/oxc-project/oxc/pull/3342)
-   perf(parser): use `FxHashSet` for `not_parenthesized_arrow` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3344](https://togithub.com/oxc-project/oxc/pull/3344)
-   perf(parser): improve `parse_simple_arrow_function_expression` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3349](https://togithub.com/oxc-project/oxc/pull/3349)
-   perf(parser): improve expression parsing by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3352](https://togithub.com/oxc-project/oxc/pull/3352)
-   perf(parser): improve is_parenthesized_arrow_function_expression by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/3343](https://togithub.com/oxc-project/oxc/pull/3343)

#### What's coming next

-   Published JSON schema for configuration file
-   More features to the configuration file
-   Automatically synced and never outdated documentation website pages
    -   [Command-line Interface](https://oxc-project.github.io/docs/guide/usage/linter/cli.html)
    -   [Configuration File](https://oxc-project.github.io/docs/guide/usage/linter/config.html)
    -   [Rules Page](https://oxc-project.github.io/docs/guide/usage/linter/rules.html)

**Full Changelog**: https://github.com/oxc-project/oxc/compare/oxlint_v0.3.5...oxlint_v0.4.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-06-11 07:47:10 +00:00
renovate
b8a96359bf chore: bump up all non-major dependencies (#7088)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.583.0` -> `3.592.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.583.0` -> `3.592.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.583.0/3.592.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@fal-ai/serverless-client](https://togithub.com/fal-ai/fal-js) ([source](https://togithub.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`0.10.2` -> `0.10.4`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.10.2/0.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`^0.6.0` -> `^0.7.0`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.6.1/0.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nestjs/common](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/core](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nestjs/testing](https://nestjs.com) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nestjs/websockets](https://togithub.com/nestjs/nest) ([source](https://togithub.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.3.8` -> `10.3.9`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.3.8/10.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.3.8/10.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.1.0` -> `19.2.2`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.1.0/19.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.1.0/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.1.0/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@opentelemetry/api](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/api) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.8.0` -> `1.9.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fapi/1.8.0/1.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fapi/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fapi/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fapi/1.8.0/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fapi/1.8.0/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/core](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fcore/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fcore/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fcore/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fcore/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.51.1` -> `^0.52.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.51.1/0.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/exporter-zipkin](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-zipkin/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-zipkin/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-zipkin/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-zipkin/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/host-metrics](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`0.35.1` -> `0.35.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.35.1/0.35.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fhost-metrics/0.35.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fhost-metrics/0.35.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fhost-metrics/0.35.1/0.35.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fhost-metrics/0.35.1/0.35.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.51.1` -> `^0.52.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.51.1/0.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.40.0` -> `^0.41.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.40.0/0.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.51.1` -> `^0.52.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.51.1/0.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.40.0` -> `^0.41.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.40.0/0.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.40.0/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.37.1` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.37.1/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.37.1/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.37.1/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.39.0` -> `^0.40.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.39.0/0.40.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.39.0/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.39.0/0.40.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/resources](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fresources/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fresources/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fresources/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fresources/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-metrics](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-metrics/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-metrics/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-metrics/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-metrics/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.51.1` -> `^0.52.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.51.1/0.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.51.1/0.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-trace-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-trace-node/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-trace-node/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-trace-node/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-trace-node/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/semantic-conventions](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-semantic-conventions) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`1.24.1` -> `1.25.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.24.1/1.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsemantic-conventions/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsemantic-conventions/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsemantic-conventions/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsemantic-conventions/1.24.1/1.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@pmmmwh/react-refresh-webpack-plugin](https://togithub.com/pmmmwh/react-refresh-webpack-plugin) | [`0.5.13` -> `0.5.15`](https://renovatebot.com/diffs/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@pmmmwh%2freact-refresh-webpack-plugin/0.5.13/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.14.0` -> `5.15.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.14.0/5.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.14.0` -> `5.15.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.14.0/5.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.17.0` -> `2.18.0`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.4.0` -> `8.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.4.0/8.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.4.0` -> `8.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.4.0/8.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.4.0/8.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.17.0` -> `2.18.0`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.17.0/2.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`0.18.1` -> `0.18.2`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.18.1/0.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.18.1/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.18.1/0.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | [`1.5.7` -> `1.5.25`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.5.7/1.5.25) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.5.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.5.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.5.7/1.5.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.5.7/1.5.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@toeverything/theme](https://togithub.com/toeverything/design) | [`0.7.30` -> `0.7.31`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/0.7.30/0.7.31) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/0.7.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/0.7.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/0.7.30/0.7.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/0.7.30/0.7.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.12.12` -> `20.14.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.12/20.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.12/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.12/20.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cssnano](https://togithub.com/cssnano/cssnano) | [`7.0.1` -> `7.0.2`](https://renovatebot.com/diffs/npm/cssnano/7.0.1/7.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cssnano/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cssnano/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cssnano/7.0.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cssnano/7.0.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [debug](https://togithub.com/debug-js/debug) | [`4.3.4` -> `4.3.5`](https://renovatebot.com/diffs/npm/debug/4.3.4/4.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/debug/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/debug/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/debug/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/debug/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://togithub.com/electron/electron) | [`30.0.8` -> `30.1.0`](https://renovatebot.com/diffs/npm/electron/30.0.8/30.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.0.8/30.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.0.8/30.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [foxact](https://foxact.skk.moe) ([source](https://togithub.com/SukkaW/foxact)) | [`0.2.33` -> `0.2.35`](https://renovatebot.com/diffs/npm/foxact/0.2.33/0.2.35) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.33/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.33/0.2.35?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.11.0` -> `14.12.0`](https://renovatebot.com/diffs/npm/happy-dom/14.11.0/14.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.11.0/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.11.0/14.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.2` -> `2.8.3`](https://renovatebot.com/diffs/npm/jotai/2.8.2/2.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.2` -> `2.8.3`](https://renovatebot.com/diffs/npm/jotai/2.8.2/2.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.2/2.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`^0.9.0` -> `^0.10.0`](https://renovatebot.com/diffs/npm/jotai-devtools/0.9.1/0.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`^0.9.0` -> `^0.10.0`](https://renovatebot.com/diffs/npm/jotai-devtools/0.9.1/0.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lit](https://lit.dev/) ([source](https://togithub.com/lit/lit/tree/HEAD/packages/lit)) | [`3.1.3` -> `3.1.4`](https://renovatebot.com/diffs/npm/lit/3.1.3/3.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lit/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lit/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lit/3.1.3/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lit/3.1.3/3.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://togithub.com/mixpanel/mixpanel-js) | [`2.50.0` -> `2.52.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.50.0/2.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.50.0/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.50.0/2.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://togithub.com/mswjs/msw)) | [`2.3.0` -> `2.3.1`](https://renovatebot.com/diffs/npm/msw/2.3.0/2.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | `20.13.1` -> `20.14.0` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.13.1/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.13.1/v20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [nodemon](https://nodemon.io) ([source](https://togithub.com/remy/nodemon)) | [`3.1.1` -> `3.1.3`](https://renovatebot.com/diffs/npm/nodemon/3.1.1/3.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemon/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemon/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemon/3.1.1/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemon/3.1.1/3.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.1.0` -> `19.2.2`](https://renovatebot.com/diffs/npm/nx/19.1.0/19.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.1.0/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.1.0/19.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://togithub.com/openai/openai-node) | [`4.47.3` -> `4.49.1`](https://renovatebot.com/diffs/npm/openai/4.47.3/4.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.47.3/4.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.47.3/4.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [prettier](https://prettier.io) ([source](https://togithub.com/prettier/prettier)) | [`3.2.5` -> `3.3.1`](https://renovatebot.com/diffs/npm/prettier/3.2.5/3.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.2.5/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.2.5/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.14.0` -> `5.15.0`](https://renovatebot.com/diffs/npm/prisma/5.14.0/5.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.14.0/5.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [sonner](https://sonner.emilkowal.ski/) ([source](https://togithub.com/emilkowalski/sonner)) | [`1.4.41` -> `1.5.0`](https://renovatebot.com/diffs/npm/sonner/1.4.41/1.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sonner/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sonner/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sonner/1.4.41/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sonner/1.4.41/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [stripe](https://togithub.com/stripe/stripe-node) | [`15.8.0` -> `15.10.0`](https://renovatebot.com/diffs/npm/stripe/15.8.0/15.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/15.8.0/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/15.8.0/15.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | minor |
| [tokio](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.18.1` -> `6.18.2`](https://renovatebot.com/diffs/npm/undici/6.18.1/6.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.18.1` -> `6.18.2`](https://renovatebot.com/diffs/npm/undici/6.18.1/6.18.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.18.1/6.18.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vitejs.dev) ([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.2.11` -> `5.2.13`](https://renovatebot.com/diffs/npm/vite/5.2.11/5.2.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.11/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.11/5.2.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.57.1` -> `3.60.0`](https://renovatebot.com/diffs/npm/wrangler/3.57.1/3.60.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.57.1/3.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.57.1/3.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.592.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35920-2024-06-06)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.591.0...v3.592.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.591.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35910-2024-06-05)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.590.0...v3.591.0)

##### Features

-   **client-s3:** Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality. ([ad0e8d9](ad0e8d9c76))

### [`v3.590.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35900-2024-06-04)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.588.0...v3.590.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.588.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35880-2024-05-31)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.587.0...v3.588.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.587.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35870-2024-05-30)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.583.0...v3.587.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>fal-ai/fal-js (@&#8203;fal-ai/serverless-client)</summary>

### [`v0.10.4`](8fc0b726c2...f7d9dec1aa)

[Compare Source](8fc0b726c2...f7d9dec1aa)

### [`v0.10.3`](5f15da9d83...8fc0b726c2)

[Compare Source](5f15da9d83...8fc0b726c2)

</details>

<details>
<summary>marsidev/react-turnstile (@&#8203;marsidev/react-turnstile)</summary>

### [`v0.7.1`](https://togithub.com/marsidev/react-turnstile/releases/tag/v0.7.1)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.7.0...v0.7.1)

#####    🐞 Bug Fixes

-   Set proper error code type  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(3f7f9)</samp>](https://togithub.com/marsidev/react-turnstile/commit/3f7f9f2)

#####     [View changes on GitHub](https://togithub.com/marsidev/react-turnstile/compare/v0.7.0...v0.7.1)

### [`v0.7.0`](https://togithub.com/marsidev/react-turnstile/releases/tag/v0.7.0)

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.6.1...v0.7.0)

#####    🐞 Bug Fixes

-   Change script injection method to prevent multiple scripts console warning  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(66f85)</samp>](https://togithub.com/marsidev/react-turnstile/commit/66f8520)
    -   Now we always use a single Turnstile script
    -   Now is not mandatory to set unique IDs when using multiple widgets, but it's still suggested for semantic reasons
    -   The new logic for the script injection was inspired by this other library: [Le0Developer/react-turnstile](https://togithub.com/Le0Developer/react-turnstile) 🙌

#####    🚀 Features

-   Add `"auto"` size option  -  by [@&#8203;harrygr](https://togithub.com/harrygr) [<samp>(8a8a7)</samp>](https://togi
2024-06-11 07:31:10 +00:00
renovate
e2c95731ab chore: bump up nyc version to v17 (#7187)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [nyc](https://istanbul.js.org/) ([source](https://togithub.com/istanbuljs/nyc)) | [`^15.1.0` -> `^17.0.0`](https://renovatebot.com/diffs/npm/nyc/15.1.0/17.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nyc/17.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nyc/17.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nyc/15.1.0/17.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nyc/15.1.0/17.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>istanbuljs/nyc (nyc)</summary>

### [`v17.0.0`](https://togithub.com/istanbuljs/nyc/blob/HEAD/CHANGELOG.md#1700-2024-04-19)

[Compare Source](https://togithub.com/istanbuljs/nyc/compare/v15.1.0...nyc-v17.0.0)

##### ⚠ BREAKING CHANGES

-   minimum Node version now 18

##### Bug Fixes

-   **deps:** address security alerts in deps ([#&#8203;1555](https://togithub.com/istanbuljs/nyc/issues/1555)) ([b6ed598](b6ed59832e))

##### Build System

-   minimum Node version now 18 ([9ef340e](9ef340e075))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 06:36:05 +00:00
renovate
dee0793179 chore: bump up c8 version to v10 (#7189)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [c8](https://togithub.com/bcoe/c8) | [`^9.1.0` -> `^10.0.0`](https://renovatebot.com/diffs/npm/c8/9.1.0/10.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/c8/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/c8/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/c8/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/c8/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>bcoe/c8 (c8)</summary>

### [`v10.0.0`](https://togithub.com/bcoe/c8/blob/HEAD/CHANGELOG.md#1000-2024-06-10)

[Compare Source](https://togithub.com/bcoe/c8/compare/v9.1.0...v10.0.0)

##### ⚠ BREAKING CHANGES

-   **deps:** Node 18 is now the minimum supported Node.js version

##### Bug Fixes

-   **deps:** update test-exclude with new glob / minimatch ([#&#8203;531](https://togithub.com/bcoe/c8/issues/531)) ([e33cf30](e33cf30d0c))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 06:21:31 +00:00
renovate
4154f2f160 chore: bump up electron version to v31 (#7190)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [electron](https://togithub.com/electron/electron) | [`^30.0.0` -> `^31.0.0`](https://renovatebot.com/diffs/npm/electron/30.0.8/31.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/31.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/31.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.0.8/31.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.0.8/31.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>electron/electron (electron)</summary>

### [`v31.0.0`](https://togithub.com/electron/electron/releases/tag/v31.0.0): electron v31.0.0

[Compare Source](https://togithub.com/electron/electron/compare/v30.1.0...v31.0.0)

### Release Notes for v31.0.0

#### Stack Upgrades

-   Chromium`126.0.6478.36`
    -   [New in 126](https://developer.chrome.com/blog/new-in-chrome-126/)
    -   [New in 125](https://developer.chrome.com/blog/new-in-chrome-125/)
-   Node `20.14.0`
    -   [Node 20.14.0 blog post](https://nodejs.org/en/blog/release/v20.14.0/)
-   V8 `12.6`

#### Breaking Changes

-   Made window.flashFrame(bool) flash continuously on macOS. [#&#8203;41391](https://togithub.com/electron/electron/pull/41391)
-   Updated Chromium to 126.0.6445.0. (Removed: `WebSQL` support) [#&#8203;41868](https://togithub.com/electron/electron/pull/41868)
-   Updated Chromium to 125.0.6412.0. (Behavior Changed: `nativeImage.toDataURL` will preserve PNG colorspace) [#&#8203;41610](https://togithub.com/electron/electron/pull/41610)

#### Features

##### Additions

-   Added a new instance property `navigationHistory` on webContents API with `navigationHistory.getEntryAtIndex` method, enabling applications to retrieve the URL and title of any navigation entry within the browsing history. [#&#8203;41577](https://togithub.com/electron/electron/pull/41577) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41661), [30](https://togithub.com/electron/electron/pull/41662))</span>
-   Added options parameter to `Session.clearData` API. [#&#8203;41355](https://togithub.com/electron/electron/pull/41355)
-   Added proxy configuring support for requests made with net module from utility process. [#&#8203;41335](https://togithub.com/electron/electron/pull/41335) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41744), [29](https://togithub.com/electron/electron/pull/41416), [30](https://togithub.com/electron/electron/pull/41417))</span>
-   Added support for Bluetooth ports being requested by service class ID in `navigator.serial`. [#&#8203;41638](https://togithub.com/electron/electron/pull/41638) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41735), [30](https://togithub.com/electron/electron/pull/41734))</span>
-   Added support for `NODE_EXTRA_CA_CERTS`. [#&#8203;41689](https://togithub.com/electron/electron/pull/41689)
-   Extended `webContents.setWindowOpenHandler` to support manual creation of BrowserWindow. [#&#8203;41432](https://togithub.com/electron/electron/pull/41432)
-   Implemented support for the File System API. [#&#8203;41419](https://togithub.com/electron/electron/pull/41419) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41827))</span>
-   `clearData` method added to `Session`. [#&#8203;40983](https://togithub.com/electron/electron/pull/40983)
-   Extended `WebContentsView` to accept pre-existing `webContents` object. [#&#8203;42319](https://togithub.com/electron/electron/pull/42319)

##### Improvements

-   Extended `WebContentsView` to accept pre-existing `webContents` object. [#&#8203;42319](https://togithub.com/electron/electron/pull/42319)
-   Improved error messages when `ses.cookies.set` fails. [#&#8203;42400](https://togithub.com/electron/electron/pull/42400) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42399), [30](https://togithub.com/electron/electron/pull/42398))</span>
-   Re-adds functionality to check whether or not an app was launched as a login service on macOS. [#&#8203;42422](https://togithub.com/electron/electron/pull/42422)

##### Removed/Deprecated

-   The `inputFieldType` property in the `context-menu` params has been removed. [#&#8203;41239](https://togithub.com/electron/electron/pull/41239) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41440))</span>

#### Fixes

-   Added missing support for the `recursive` option in `fs.{readdir|readdirSync}` as well as `fs.promises.{readdir|readdirSync}`. [#&#8203;41582](https://togithub.com/electron/electron/pull/41582)
-   Added support for `withFileTypes` when calling `fs.{readdir|readdirSync}` with the `recursive` in Asar archives. [#&#8203;41627](https://togithub.com/electron/electron/pull/41627)
-   Fixed ASAN build on macOS. [#&#8203;41587](https://togithub.com/electron/electron/pull/41587)
-   Fixed a bug where a window with maximization disabled and WCO enabled would still show its maximization button. [#&#8203;41793](https://togithub.com/electron/electron/pull/41793)
-   Fixed an issue where child views in a BrowserWindow could sometimes be. [#&#8203;41256](https://togithub.com/electron/electron/pull/41256)
-   Fixed issue where windows made visible with `showInactive` were blank. [#&#8203;42227](https://togithub.com/electron/electron/pull/42227)
-   Fixed potentially incorrect exit code in UtilityProcess. [#&#8203;42397](https://togithub.com/electron/electron/pull/42397)
-   `originalFs.promises.cp` now works. [#&#8203;42134](https://togithub.com/electron/electron/pull/42134)

##### Also in earlier versions...

-   BrowserWindow.show() now correctly restores focus to inactive apps on macOS. [#&#8203;42305](https://togithub.com/electron/electron/pull/42305) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42306))</span>
-   Electron doesn't paint on offscreen-render mode after gpu process crashed. [#&#8203;41924](https://togithub.com/electron/electron/pull/41924) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41923), [30](https://togithub.com/electron/electron/pull/41925))</span>
-   Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and higher to avoid permission prompts. [#&#8203;41397](https://togithub.com/electron/electron/pull/41397) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41403), [30](https://togithub.com/electron/electron/pull/41404))</span>
-   Fixed `chrome://process-internals` failing to load. [#&#8203;41476](https://togithub.com/electron/electron/pull/41476) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41541), [29](https://togithub.com/electron/electron/pull/41542), [30](https://togithub.com/electron/electron/pull/41540))</span>
-   Fixed `shell.showItemInFolder` not opening Windows Explorer if the passed path contains forward slashes. [#&#8203;41642](https://togithub.com/electron/electron/pull/41642) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41670), [29](https://togithub.com/electron/electron/pull/41672), [30](https://togithub.com/electron/electron/pull/41671))</span>
-   Fixed a crash in `addChildView` if a view is added as its own child. [#&#8203;42108](https://togithub.com/electron/electron/pull/42108) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42107))</span>
-   Fixed a crash when the same `WebContentsView` is added via `addChildView` multiple times. [#&#8203;42116](https://togithub.com/electron/electron/pull/42116) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42115))</span>
-   Fixed a potential crash in `chrome.scripting` on extension unload. [#&#8203;41686](https://togithub.com/electron/electron/pull/41686) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41701), [30](https://togithub.com/electron/electron/pull/41702))</span>
-   Fixed an error when calling `setAutoResize` on a `BrowserView`. [#&#8203;42138](https://togithub.com/electron/electron/pull/42138) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42137))</span>
-   Fixed an inconsistent crash on maximizing window and relayout in Ubuntu. [#&#8203;42146](https://togithub.com/electron/electron/pull/42146) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42145))</span>
-   Fixed an issue on Windows where silent printing resulted in comically tiny renderer output. [#&#8203;41811](https://togithub.com/electron/electron/pull/41811) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41837), [29](https://togithub.com/electron/electron/pull/41836), [30](https://togithub.com/electron/electron/pull/41838))</span>
-   Fixed an issue where `BrowserView` `webContents` were getting destroyed even when `preventDefault` was being set on the owning `BrowserWindow`'s `close` event. [#&#8203;42372](https://togithub.com/electron/electron/pull/42372) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42371))</span>
-   Fixed an issue where `app.getLoginItemSettings` didn't correctly throw errors. [#&#8203;41647](https://togithub.com/electron/electron/pull/41647) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41667))</span>
-   Fixed an issue where `app.setLoginItemSettings` incorrectly checked against `loginItemService`. [#&#8203;42404](https://togithub.com/electron/electron/pull/42404) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42403))</span>
-   Fixed an issue where `document.requestFullscreen` didn't work when calling it from a `webContents` inside `WebContentsView`. [#&#8203;41995](https://togithub.com/electron/electron/pull/41995) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41996))</span>
-   Fixed an issue where `recentDOcuments` wasn't populating properly on macOS. [#&#8203;41993](https://togithub.com/electron/electron/pull/41993) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41994), [30](https://togithub.com/electron/electron/pull/41992))</span>
-   Fixed an issue where `setTitleBarOverlay` didn't work as expected when called on `BaseWindow`. [#&#8203;42150](https://togithub.com/electron/electron/pull/42150) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42152), [30](https://togithub.com/electron/electron/pull/42151))</span>
-   Fixed an issue where `user-did-{resign|become}-active` were not emitted properly on macOS. [#&#8203;41506](https://togithub.com/electron/electron/pull/41506) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41526), [29](https://togithub.com/electron/electron/pull/41527), [30](https://togithub.com/electron/electron/pull/41528))</span>
-   Fixed an issue where `webContents.navigationHistory` was not an enumerable property. [#&#8203;42182](https://togithub.com/electron/electron/pull/42182) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42181))</span>
-   Fixed an issue where `webContents.print(options)` failed if `options` was not passed or `undefined` is passed. [#&#8203;41467](https://togithub.com/electron/electron/pull/41467) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41502), [29](https://togithub.com/electron/electron/pull/41501), [30](https://togithub.com/electron/electron/pull/41480))</span>
-   Fixed an issue where badge text set using the Badging API no longer appeared correctly on Windows. [#&#8203;41618](https://togithub.com/electron/electron/pull/41618) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41628), [30](https://togithub.com/electron/electron/pull/41629))</span>
-   Fixed an issue where calling `window.center()` on Windows and Linux incorrectly centered the window. [#&#8203;42101](https://togithub.com/electron/electron/pull/42101) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42100))</span>
-   Fixed an issue where dialogs did not work if they were parented to a BaseWindow and not a BrowserWindow. [#&#8203;42326](https://togithub.com/electron/electron/pull/42326) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42327))</span>
-   Fixed an issue where emojis weren't properly handled on Windows. [#&#8203;41673](https://togithub.com/electron/electron/pull/41673) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41680), [30](https://togithub.com/electron/electron/pull/41681))</span>
-   Fixed an issue where showing or focusing a panel window would activate the app on Mac. [#&#8203;41750](https://togithub.com/electron/electron/pull/41750) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41844))</span>
-   Fixed an issue where some calls to WebUSB methods could crash. [#&#8203;42365](https://togithub.com/electron/electron/pull/42365) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42363))</span>
-   Fixed an issue where the `serial-port-added` event improperly respected filters set by `serial.requestPort()`. [#&#8203;41621](https://togithub.com/electron/electron/pull/41621) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41637), [29](https://togithub.com/electron/electron/pull/41636), [30](https://togithub.com/electron/electron/pull/41635))</span>
-   Fixed an issue where the window could be incorrectly centered in some circumstances when calling `BrowserWindow.center()`. [#&#8203;42197](https://togithub.com/electron/electron/pull/42197) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42196))</span>
-   Fixed crash after upgrade on Linux. [#&#8203;42062](https://togithub.com/electron/electron/pull/42062) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42065), [30](https://togithub.com/electron/electron/pull/42064))</span>
-   Fixed crash in Notification::Close() under libnotify 0.8.x with portal environment. [#&#8203;41691](https://togithub.com/electron/electron/pull/41691) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41709), [29](https://togithub.com/electron/electron/pull/41707), [30](https://togithub.com/electron/electron/pull/41708))</span>
-   Fixed crash on window maximize on X11. [#&#8203;42184](https://togithub.com/electron/electron/pull/42184) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42185))</span>
-   Fixed data corruption when protocol.handle() processed incoming data asynchronously. [#&#8203;41932](https://togithub.com/electron/electron/pull/41932) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41933))</span>
-   Fixed missing `<__assertion_handler>` header when compiling with libc++. [#&#8203;41830](https://togithub.com/electron/electron/pull/41830) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41845), [30](https://togithub.com/electron/electron/pull/41846))</span>
-   Fixed nativeImage.createThumbnailFromPath and shell.openExternal not resolving when called in the renderer process. [#&#8203;41908](https://togithub.com/electron/electron/pull/41908) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41909))</span>
-   Fixed the type of `WebviewTag.webpreferences` back to `string`. [#&#8203;42279](https://togithub.com/electron/electron/pull/42279) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42280))</span>
-   Fixed usage of `Storage.{get|set|clear}Cookies` via the Chrome DevTools Protocol. [#&#8203;41718](https://togithub.com/electron/electron/pull/41718) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41738), [29](https://togithub.com/electron/electron/pull/41739), [30](https://togithub.com/electron/electron/pull/41740))</span>
-   Improved appearance of caption buttons on Windows 11 when using Windows Control Overlay. [#&#8203;41561](https://togithub.com/electron/electron/pull/41561) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/41586))</span>
-   `BrowserWindow.focus()` now correctly restore focus to inactive apps on macOS. [#&#8203;42186](https://togithub.com/electron/electron/pull/42186) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42187))</span>
-   Fixed an issue where `BrowserView` `webContents` were getting destroyed even when `preventDefault` was being set on the owning `BrowserWindow`'s `close` event. [#&#8203;42372](https://togithub.com/electron/electron/pull/42372) <span style="font-size:small;">(Also in [30](https://togithub.com/electron/electron/pull/42371))</span>
-   Fixed an issue where `contentWindow.document.fonts.ready` would never resolve in some circumstances. [#&#8203;42385](https://togithub.com/electron/electron/pull/42385)
-   Fixed support for multiple folder/file selection in //shell_dialogs portal implementation. [#&#8203;42424](https://togithub.com/electron/electron/pull/42424)

#### Other Changes

-   Backported fix for [`3366250`](https://togithub.com/electron/electron/commit/336625018). [#&#8203;42316](https://togithub.com/electron/electron/pull/42316)
-   Backported fix for [`3392667`](https://togithub.com/electron/electron/commit/339266700). [#&#8203;42095](https://togithub.com/electron/electron/pull/42095)
-   Backported fix for [`3394581`](https://togithub.com/electron/electron/commit/339458194). [#&#8203;42121](https://togithub.com/electron/electron/pull/42121)
-   Backported fix for [`3402211`](https://togithub.com/electron/electron/commit/340221135). [#&#8203;42173](https://togithub.com/electron/electron/pull/42173)
-   Backported fix for [`3416635`](https://togithub.com/electron/electron/commit/341663589). [#&#8203;42254](https://togithub.com/electron/electron/pull/42254)
-   Fixed partially broken state of `chrome://accessibility`. [#&#8203;41948](https://togithub.com/electron/electron/pull/41948)

#### Documentation

-   Documentation change
    -   [#&#8203;41723](https://togithub.com/electron/electron/pull/41723)
    -   [#&#8203;41882](https://togithub.com/electron/electron/pull/41882)
    -   [#&#8203;42309](https://togithub.com/electron/electron/pull/42309)

#### Notices

##### End of Support for 28.x.y

Electron 28.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron.

### [`v30.1.0`](https://togithub.com/electron/electron/releases/tag/v30.1.0): electron v30.1.0

[Compare Source](https://togithub.com/electron/electron/compare/v30.0.9...v30.1.0)

### Release Notes for v30.1.0

#### Fixes

-   BrowserWindow.show() now correctly restores focus to inactive apps on macOS. [#&#8203;42306](https://togithub.com/electron/electron/pull/42306) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42305))</span>
-   Fixed BrowserWindow vibrancy on macOS. [#&#8203;42263](https://togithub.com/electron/electron/pull/42263)
-   Fixed an issue where `BrowserView` `webContents` were getting destroyed even when `preventDefault` was being set on the owning `BrowserWindow`'s `close` event. [#&#8203;42371](https://togithub.com/electron/electron/pull/42371)
-   Fixed an issue where dialogs did not work if they were parented to a BaseWindow and not a BrowserWindow. [#&#8203;42327](https://togithub.com/electron/electron/pull/42327) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42326))</span>
-   Fixed an issue where some calls to WebUSB methods could crash. [#&#8203;42364](https://togithub.com/electron/electron/pull/42364) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/42363), [31](https://togithub.com/electron/electron/pull/42365))</span>

#### Other Changes

-   Updated Chromium to 124.0.6367.243. [#&#8203;42328](https://togithub.com/electron/electron/pull/42328)
-   Updated Node.js to v20.14.0. [#&#8203;42294](https://togithub.com/electron/electron/pull/42294)

### [`v30.0.9`](https://togithub.com/electron/electron/releases/tag/v30.0.9): electron v30.0.9

[Compare Source](https://togithub.com/electron/electron/compare/v30.0.8...v30.0.9)

### Release Notes for v30.0.9

#### Fixes

-   Fixed the type of `WebviewTag.webpreferences` back to `string`. [#&#8203;42280](https://togithub.com/electron/electron/pull/42280) <span style="font-size:small;">(Also in [31](https://togithub.com/electron/electron/pull/42279))</span>

#### Other Changes

-   Updated Chromium to 124.0.6367.233. [#&#8203;42269](https://togithub.com/electron/electron/pull/42269)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-11 06:04:59 +00:00
donteatfriedrice
cae7c7383b feat: bump blocksuite (#7191)
## Features
- https://github.com/toeverything/BlockSuite/pull/7173 @doouding
- https://github.com/toeverything/BlockSuite/pull/7259 @lawvs

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7262 @donteatfriedrice

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7249 @Flrande
2024-06-11 03:30:55 +00:00
pengx17
a11cb6b0cd fix: peek view modal controls animation (#7180) 2024-06-11 03:18:53 +00:00
renovate
b1eb26507d chore: bump up blocksuite-canary to v0.15.0-canary-202406080726-0515c2d (#7183)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406071542-063825f` -> `0.15.0-canary-202406080726-0515c2d`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406071542-063825f/0.15.0-canary-202406080726-0515c2d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-09 13:48:50 +00:00
renovate
36dcbc1ef7 chore: bump up @testing-library/react version to v16 (#7133)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@testing-library/react](https://togithub.com/testing-library/react-testing-library) | [`^15.0.0` -> `^16.0.0`](https://renovatebot.com/diffs/npm/@testing-library%2freact/15.0.7/16.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2freact/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2freact/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2freact/15.0.7/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2freact/15.0.7/16.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>testing-library/react-testing-library (@&#8203;testing-library/react)</summary>

### [`v16.0.0`](https://togithub.com/testing-library/react-testing-library/releases/tag/v16.0.0)

[Compare Source](https://togithub.com/testing-library/react-testing-library/compare/v15.0.7...v16.0.0)

##### Features

-   Move `@testing-library/dom` and `@types/react-dom`  to peer dependencies ([#&#8203;1305](https://togithub.com/testing-library/react-testing-library/issues/1305)) ([a4744fa](a4744fa904))

##### BREAKING CHANGES

-   `@testing-library/dom` was moved to a peer dependency and needs to be explicitly installed. This reduces the chance of having conflicting versions of `@testing-library/dom` installed that frequently caused bugs when used with `@testing-library/user-event`. We will also be able to allow new versions of `@testing-library/dom` being used without a SemVer major release of `@testing-library/react` by just widening the peer dependency.
    `@types/react-dom` needs to be installed if you're typechecking files using `@testing-library/react`.

Co-authored-by: Matan Borenkraout <matanbobi@gmail.com>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-09 12:53:41 +00:00
EYHN
ef01b6255e fix(core): template image assets missing (#7171)
fix TOV-910
2024-06-08 17:28:24 +00:00
renovate
6147cd30b5 chore: bump up @blocksuite/icons version to v2.1.54 (#7102)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.52` -> `2.1.54`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.52/2.1.54) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.54?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.54?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.52/2.1.54?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.52/2.1.54?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.54`](416c1a0e2c...baef47745e)

[Compare Source](416c1a0e2c...baef47745e)

### [`v2.1.53`](aab53a9544...416c1a0e2c)

[Compare Source](aab53a9544...416c1a0e2c)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-08 17:13:31 +00:00
renovate
5afa3f953f chore: bump up blocksuite-canary to v0.15.0-canary-202406071542-063825f (#7100)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202406070912-a8808e8` -> `0.15.0-canary-202406071542-063825f`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202406070912-a8808e8/0.15.0-canary-202406071542-063825f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-06-08 17:00:23 +00:00
EYHN
b34cfe6c7f feat(core): enable synced doc block by default (#7176)
fix AFF-1244
2024-06-08 16:48:25 +00:00
forehalo
41bc683eed fix(server): should update stripe customer email if changed (#7181) 2024-06-08 15:52:23 +00:00
pengx17
ab26e0f360 fix: render embed linked/synced doc as affine-reference for shared pages (#7179)
fix TOV-779
2024-06-07 11:42:48 +00:00
donteatfriedrice
8dc3fd2a99 feat: bump blocksuite (#7178)
## Bugfix
- https://github.com/toeverything/blocksuite/pull/7244 @donteatfriedrice
- https://github.com/toeverything/blocksuite/pull/7242 @golok727

## Misc
- https://github.com/toeverything/blocksuite/pull/7241 @Saul-Mirone
- https://github.com/toeverything/blocksuite/pull/7240 @Saul-Mirone
- https://github.com/toeverything/blocksuite/pull/7237 @fundon
2024-06-07 10:01:38 +00:00
pengx17
3464e30229 fix: quick search placeholder for docs search (#7175)
fix AFF-1236
2024-06-07 07:42:16 +00:00
darkskygit
ca9a16b728 feat: add workflow resolver (#7123)
fix AFF-1166
2024-06-07 05:53:45 +00:00
darkskygit
44b0ea2b6c feat: no branches workflow support (#7119)
fix AFF-1165 AFF-1164
2024-06-07 05:53:39 +00:00
darkskygit
b75da1f3e0 fix: handle unexpected fal response (#7158) 2024-06-07 05:41:25 +00:00
pengx17
17a5900575 fix: adjust peek view modal container styles (#7173)
fix AFF-1233, AFF-1234
2024-06-07 05:12:15 +00:00
pengx17
e6ec506226 fix: insert link action in quick search callback (#7165) 2024-06-07 04:39:20 +00:00
EYHN
f20b78b824 fix(core): ui flash when open setting modal (#7170)
fix TOV-909
2024-06-07 04:27:13 +00:00
Saul-Mirone
5855f72b5b chore: bump blocksuite to 0.15.0-canary-202406070336-e104622 (#7172)
## Features
- https://github.com/toeverything/BlockSuite/pull/7238 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7236 @Saul-Mirone

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7232 @fundon
- https://github.com/toeverything/BlockSuite/pull/7219 @oliseviche

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7239 @donteatfriedrice

## Misc
- https://github.com/toeverything/BlockSuite/pull/7227 @pengx17
2024-06-07 04:14:59 +00:00
donteatfriedrice
1a509d18a5 feat: add ai entry to code toolbar and image toolbar (#7169) 2024-06-07 03:14:46 +00:00
akumatus
38dde7f5b7 feat: add autofill and onClose params in notification service api (#7162)
This PR add autofill and onClose params in notification service api for better user experiences.

[Related PR in blocksuite](https://github.com/toeverything/blocksuite/pull/7230)
2024-06-07 02:48:36 +00:00
pengx17
79e1e8dd2f fix: close peek view when clicking on reference link (#7137) 2024-06-06 15:40:22 +00:00
L-Sun
51429c957b feat(core): update slash menu entries with quick search (#7167)
Close BS-351

refactor `Link` and `Linked Doc` entry with `quickSearchService`
2024-06-06 15:28:12 +00:00
pengx17
f78416021a chore: bump blocksuite (#7163)
## Features
- https://github.com/toeverything/BlockSuite/pull/7230 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7220 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7228 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7216 @golok727
- https://github.com/toeverything/BlockSuite/pull/7224 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7217 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7144 @Flrande

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7231 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7229 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7222 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7226 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7218 @fundon
- https://github.com/toeverything/BlockSuite/pull/7213 @donteatfriedrice

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7212 @Flrande

## Misc
- https://github.com/toeverything/BlockSuite/pull/7223 @fundon
2024-06-06 12:04:07 +00:00
EYHN
d791ab73ba fix(core): fix active view undefined (#7161) 2024-06-06 07:53:37 +00:00
EYHN
6abb401a2c fix(core): remove extra console log (#7160) 2024-06-06 07:39:59 +00:00
pengx17
b99b964a78 fix: temp fix for showing peek view modal for edgeless (#7155)
workaround for AFF-1200
2024-06-06 07:27:29 +00:00
pengx17
10297766b8 fix: adjust peek view modal container styles (#7153) 2024-06-06 07:27:25 +00:00
pengx17
7095ca1be6 fix: cleanup usePromptModal (#7157) 2024-06-06 06:29:47 +00:00
pengx17
5bd9c7a2a3 feat: allow search for doc without showing modal (#7138)
depends on https://github.com/toeverything/blocksuite/pull/7199#pullrequestreview-2095567573

fix TOV-858, fix AFF-1132
2024-06-06 06:29:41 +00:00
pengx17
1439d00b61 feat: add search doc modal (#7136) 2024-06-06 06:29:36 +00:00
pengx17
de81527e29 refactor: move command registry to frontend/core (#7135)
move command registeration related logic out of infra module.
2024-06-05 14:09:20 +00:00
pengx17
fa4e4c738a chore: bump blocksuite (#7152)
## Features
- https://github.com/toeverything/BlockSuite/pull/7208 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7207 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7206 @regischen
- https://github.com/toeverything/BlockSuite/pull/7194 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7209 @Saul-Mirone

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7205 @fundon
- https://github.com/toeverything/BlockSuite/pull/7211 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7210 @fundon

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7203 @fundon

Also added prompt implementation to fix type change issue

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/2c0efce1-c50f-4a8f-892c-bf8e2d99bef2.png)
2024-06-05 09:33:18 +00:00
darkskygit
928e133655 fix: customer create at (#7132) 2024-06-05 08:01:12 +00:00
darkskygit
a5f9bfdda9 fix: gql result check for clean history (#7154) 2024-06-05 07:49:40 +00:00
L-Sun
ecff441516 chore(core): add padding when ai-panel is opened in page mode (#7151)
Close BS-394
Related PR: https://github.com/toeverything/blocksuite/pull/7211
2024-06-05 06:08:22 +00:00
EYHN
c8242fc066 refactor(core): remove unused trash relate data (#7142)
This parameter seemed to always be undefined, I decided to remove it.
2024-06-05 03:13:15 +00:00
EYHN
84c79f4dcf fix(core): move to trash confirm modal missing (#7143)
move `MoveToTrash.ConfirmModal` from `RootAppSidebar ` to `CurrentWorkspaceModals `
2024-06-05 03:01:14 +00:00
pengx17
616d7073c9 chore: bump bs (#7146)
## Features
- https://github.com/toeverything/BlockSuite/pull/7202 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7200 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7199 @Saul-Mirone

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7201 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7197 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7195 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7179 @fundon
- https://github.com/toeverything/BlockSuite/pull/7191 @fundon
- https://github.com/toeverything/BlockSuite/pull/7190 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7189 @golok727
- https://github.com/toeverything/BlockSuite/pull/7187 @regischen

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7178 @golok727
- https://github.com/toeverything/BlockSuite/pull/7132 @L-Sun

## Misc
- https://github.com/toeverything/BlockSuite/pull/7183 @fourdim
2024-06-04 15:24:11 +00:00
EYHN
f67108c6f7 fix(core): fetch share docs on non-cloud workspace (#7144) 2024-06-04 09:45:35 +00:00
darkskygit
db0837936a feat: fetch fal stream correctly (#7141) 2024-06-04 09:30:11 +00:00
forehalo
01fc1ea835 fix(server): selfhost fixes (#7140)
fixes #6708, fixes #7139
2024-06-04 08:42:25 +00:00
JimmFly
412b919ec6 fix(core): block sharing link cannot be created when selecting inline (#7090) 2024-06-04 02:38:36 +00:00
JimmFly
d43fcdcdd6 fix(core): unexpected autofill style in dark mode (#7130)
before:
<img width="395" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/028a6dcf-2b8f-465a-99e7-5ef147079b5c">

after:
<img width="420" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/1ae1b75d-bb64-4b2c-9021-8fb7bb41460b">
2024-06-04 02:21:28 +00:00
forehalo
06534bbc06 chore(server): register user management resolver (#7118) 2024-06-03 06:52:19 +00:00
regischen
798af4efee chore: bump blocksuite (#7120)
## Features
- https://github.com/toeverything/BlockSuite/pull/7176 @regischen

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7186 @golok727
- https://github.com/toeverything/BlockSuite/pull/7185 @shvixxl
2024-06-03 02:36:25 +00:00
fundon
235882f6f3 chore(core): password input should be focused (#7125) 2024-06-03 02:24:37 +00:00
fundon
5b8b2bbf48 fix(component): banner should not affect the editor layout (#7128)
Same as #6605
2024-06-03 02:13:24 +00:00
pengx17
03be1d66f9 feat: add feature flag for peek view (#7122) 2024-05-31 12:01:27 +00:00
forehalo
c96fb46751 feat(core): adjust admin panel style (#7116) 2024-05-31 10:43:30 +00:00
pengx17
002b9e80f8 feat: e2e tests for peek view (#7112)
fix AFF-1163
2024-05-31 10:28:42 +00:00
pengx17
ea0059fa1b feat: center peek view (#7073)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/7380c06e-880e-424a-9204-8cfb5e924978.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/7380c06e-880e-424a-9204-8cfb5e924978.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7380c06e-880e-424a-9204-8cfb5e924978.mp4">Kapture 2024-05-30 at 19.42.46.mp4</video>
2024-05-31 10:28:37 +00:00
JimmFly
b65c01c5e1 fix(core): listFloatingToolbar does not appear as expected (#7124)
close AFF-1201
2024-05-31 10:16:42 +00:00
pengx17
1b633b5135 chore: update prompt (#7117)
fix AFF-1198
2024-05-31 10:04:42 +00:00
JimmFly
b13151b480 feat(core): add admin panel page (#7115)
The path is `/admin-panel`
2024-05-31 09:42:23 +00:00
regischen
004390f40c feat: add chat onboarding entry (#7109)
Upstream: https://github.com/toeverything/blocksuite/pull/7161
2024-05-31 07:39:37 +00:00
pengx17
fe38a3780f chore: bump blocksuite (#7113)
## Features
- https://github.com/toeverything/BlockSuite/pull/7177 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7174 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7175 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7180 @fundon
2024-05-31 05:42:43 +00:00
pengx17
da3cbc69cf fix: patch service syntax (#7080)
Not sure if there is a better pattern like "macros" that can make this more generic. 🤡

also added notify impl to notification service for bs
https://github.com/toeverything/blocksuite/pull/7160
2024-05-30 11:46:17 +00:00
forehalo
622239fd41 fix(server): runtime config overrides won't affect static startup (#7110) 2024-05-30 09:11:34 +00:00
pengx17
d7ced4a5d9 chore: bump blocksuite (#7107)
## Features
- https://github.com/toeverything/BlockSuite/pull/7161 @regischen
- https://github.com/toeverything/BlockSuite/pull/7142 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7166 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7151 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7164 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7163 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7156 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7160 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7158 @golok727
- https://github.com/toeverything/BlockSuite/pull/7157 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7154 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7106 @fundon
- https://github.com/toeverything/BlockSuite/pull/7136 @fourdim

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7171 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7169 @fundon
- https://github.com/toeverything/BlockSuite/pull/7165 @lawvs

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7162 @regischen
- https://github.com/toeverything/BlockSuite/pull/7153 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7149 @golok727
- https://github.com/toeverything/BlockSuite/pull/7152 @Flrande

## Misc
- https://github.com/toeverything/BlockSuite/pull/7170 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/7155 @fundon
2024-05-30 06:39:17 +00:00
forehalo
d853fc879d fix(server): deal with nested optional modules (#7101) 2024-05-29 08:12:59 +00:00
forehalo
bffbb1ea9f feat(server): add users management api (#7092) 2024-05-29 08:02:26 +00:00
darkskygit
0dfcc97c52 chore: update cleanup history gql (#7103) 2024-05-29 07:34:08 +00:00
forehalo
4b30fbc1e2 feat(server): add copilot prompts management api (#7082) 2024-05-28 13:14:17 +00:00
darkskygit
1a269a4b52 fix: missing quota resolver (#7094) 2024-05-28 12:05:49 +00:00
Tao Chen
e417c4cd44 fix(server): OIDC bug (#7061) 2024-05-28 18:19:37 +08:00
darkskygit
40b35b7bc2 chore: update prompts (#7091) 2024-05-28 08:07:12 +00:00
forehalo
638fc62601 feat(server): runtime setting support (#5602)
---

<details open="true"><summary>Generated summary (powered by <a href="https://app.graphite.dev">Graphite</a>)</summary>

> ## TL;DR
> This pull request adds a new migration file, a new model, and new modules related to runtime settings. It also introduces a new `Runtime` service that allows getting, setting, and updating runtime configurations.
>
> ## What changed
> - Added a new migration file `migration.sql` that creates a table called `application_settings` with columns `key` and `value`.
> - Added a new model `ApplicationSetting` with properties `key` and `value`.
> - Added a new module `RuntimeSettingModule` that exports the `Runtime` service.
> - Added a new service `Runtime` that provides methods for getting, setting, and updating runtime configurations.
> - Modified the `app.module.ts` file to import the `RuntimeSettingModule`.
> - Modified the `index.ts` file in the `fundamentals` directory to export the `Runtime` service.
> - Added a new file `def.ts` in the `runtime` directory that defines the runtime configurations and provides a default implementation.
> - Added a new file `service.ts` in the `runtime` directory that implements the `Runtime` service.
>
> ## How to test
> 1. Run the migration script to create the `application_settings` table.
> 2. Use the `Runtime` service to get, set, and update runtime configurations.
> 3. Verify that the runtime configurations are stored correctly in the database and can be retrieved and modified using the `Runtime` service.
>
> ## Why make this change
> This change introduces a new feature related to runtime settings. The `Runtime` service allows the application to dynamically manage and modify runtime configurations without requiring a restart. This provides flexibility and allows for easier customization and configuration of the application.
</details>
2024-05-28 06:43:53 +00:00
JimmFly
9d296c4b62 chore: adjust find in page modal style (#7087)
![image](https://github.com/toeverything/AFFiNE/assets/102217452/757a4ea3-2101-4610-852c-21be02e9b167)
![image](https://github.com/toeverything/AFFiNE/assets/102217452/c7c2ad1b-f220-4799-926c-6f3777b0daf9)
2024-05-28 06:19:59 +00:00
pengx17
2ca77d9170 refactor: find in page (#7086)
- refactor rxjs data flow
- use canvas text to mitigate searchable search box input text issue
2024-05-28 06:19:53 +00:00
JimmFly
bd9c929d05 feat(core): cmd+f search in doc function (#7040)
You can use the cmd+F shortcut key to trigger the FindInPage function.
2024-05-28 06:19:48 +00:00
renovate
5759c15de3 chore: bump up @blocksuite/icons version to v2.1.52 (#7046)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.51` -> `2.1.52`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.51/2.1.52) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.52?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.52?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.51/2.1.52?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.51/2.1.52?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.1.52`](6390fb2163...aab53a9544)

[Compare Source](6390fb2163...aab53a9544)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-28 06:04:29 +00:00
Brooooooklyn
94e2122703 fix: add DEPLOYMENT_TYPE env to migration job (#7089) 2024-05-28 05:53:37 +00:00
renovate
0b682c01f0 chore: Lock file maintenance (#7074)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-28 05:38:11 +00:00
CatsJuice
f4fdbbe6dd feat(core): expose toggle ai onboarding apis (#7039)
```ts
import { toggleGeneralAIOnboarding } from '@affine/core/components/affine/ai-onboarding/apis';

// show
// toggleGeneralAIOnboarding();
toggleGeneralAIOnboarding(true);

// dismiss
toggleGeneralAIOnboarding(false);
```
2024-05-28 05:27:24 +00:00
renovate
aa4fa44e1a chore: bump up blocksuite-canary to v0.15.0-canary-202405271425-84b069d (#7053)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405261009-6c8ef5b` -> `0.15.0-canary-202405271425-84b069d`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202405261009-6c8ef5b/0.15.0-canary-202405271425-84b069d?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-05-28 05:12:06 +00:00
renovate
8d9a178428 chore: bump up all non-major dependencies (#7084)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.4.0` -> `8.5.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.4.0/8.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.4.0/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.4.0/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`14.11.0` -> `14.11.1`](https://renovatebot.com/diffs/npm/happy-dom/14.11.0/14.11.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/14.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/14.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/14.11.0/14.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/14.11.0/14.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.1` -> `2.8.2`](https://renovatebot.com/diffs/npm/jotai/2.8.1/2.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.1/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.1/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.5.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#850)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.4.0...8.5.0)

##### Important Changes

-   **feat(react): Add React 19 to peer deps ([#&#8203;12207](https://togithub.com/getsentry/sentry-javascript/issues/12207))**

This release adds support for React 19 in the `@sentry/react` SDK package.

-   **feat(node): Add `@sentry/node/preload` hook ([#&#8203;12213](https://togithub.com/getsentry/sentry-javascript/issues/12213))**

This release adds a new way to initialize `@sentry/node`, which allows you to use the SDK with performance
instrumentation even if you cannot call `Sentry.init()` at the very start of your app.

First, run the SDK like this:

```bash
node --require @&#8203;sentry/node/preload ./app.js
```

Now, you can initialize and import the rest of the SDK later or asynchronously:

```js
const express = require('express');
const Sentry = require('@&#8203;sentry/node');

const dsn = await getSentryDsn();
Sentry.init({ dsn });
```

For more details, head over to the
[PR Description of the new feature](https://togithub.com/getsentry/sentry-javascript/pull/12213). Our docs will be updated
soon with a new guide.

##### Other Changes

-   feat(browser): Do not include metrics in base CDN bundle ([#&#8203;12230](https://togithub.com/getsentry/sentry-javascript/issues/12230))
-   feat(core): Add `startNewTrace` API ([#&#8203;12138](https://togithub.com/getsentry/sentry-javascript/issues/12138))
-   feat(core): Allow to pass custom scope to `captureFeedback()` ([#&#8203;12216](https://togithub.com/getsentry/sentry-javascript/issues/12216))
-   feat(core): Only allow `SerializedSession` in session envelope items ([#&#8203;11979](https://togithub.com/getsentry/sentry-javascript/issues/11979))
-   feat(nextjs): Use Vercel's `waitUntil` to defer freezing of Vercel Lambdas ([#&#8203;12133](https://togithub.com/getsentry/sentry-javascript/issues/12133))
-   feat(node): Ensure manual OTEL setup works ([#&#8203;12214](https://togithub.com/getsentry/sentry-javascript/issues/12214))
-   fix(aws-serverless): Avoid minifying `Module._resolveFilename` in Lambda layer bundle ([#&#8203;12232](https://togithub.com/getsentry/sentry-javascript/issues/12232))
-   fix(aws-serverless): Ensure lambda layer uses default export from `ImportInTheMiddle` ([#&#8203;12233](https://togithub.com/getsentry/sentry-javascript/issues/12233))
-   fix(browser): Improve browser extension error message check ([#&#8203;12146](https://togithub.com/getsentry/sentry-javascript/issues/12146))
-   fix(browser): Remove optional chaining in INP code ([#&#8203;12196](https://togithub.com/getsentry/sentry-javascript/issues/12196))
-   fix(nextjs): Don't report React postpone errors ([#&#8203;12194](https://togithub.com/getsentry/sentry-javascript/issues/12194))
-   fix(nextjs): Use global scope for generic event filters ([#&#8203;12205](https://togithub.com/getsentry/sentry-javascript/issues/12205))
-   fix(node): Add origin to redis span ([#&#8203;12201](https://togithub.com/getsentry/sentry-javascript/issues/12201))
-   fix(node): Change import of `@prisma/instrumentation` to use default import ([#&#8203;12185](https://togithub.com/getsentry/sentry-javascript/issues/12185))
-   fix(node): Only import `inspector` asynchronously ([#&#8203;12231](https://togithub.com/getsentry/sentry-javascript/issues/12231))
-   fix(replay): Update matcher for hydration error detection to new React docs ([#&#8203;12209](https://togithub.com/getsentry/sentry-javascript/issues/12209))
-   ref(profiling-node): Add warning when using non-LTS node ([#&#8203;12211](https://togithub.com/getsentry/sentry-javascript/issues/12211))

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v14.11.1`](https://togithub.com/capricorn86/happy-dom/compare/v14.11.0...6ada81698021c35f074e575ec232d1bb7bafb4bc)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v14.11.0...v14.11.1)

</details>

<details>
<summary>pmndrs/jotai (jotai)</summary>

### [`v2.8.2`](https://togithub.com/pmndrs/jotai/compare/v2.8.1...v2.8.2)

[Compare Source](https://togithub.com/pmndrs/jotai/compare/v2.8.1...v2.8.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-05-28 05:00:56 +00:00
doouding
0dd0432531 fix(server): update mind map prompt (#7079) 2024-05-27 12:01:45 +00:00
forehalo
aff166a0ef feat(server): add administrator feature (#6995) 2024-05-27 11:17:21 +00:00
darkskygit
5ba9e2e9b1 fix: choose provider correctly (#7081)
fix no provider error in caption generate action
2024-05-27 09:57:39 +00:00
JimmFly
50dcce891b fix(core): clear input value after selecting a tag in page info (#7076)
close AFF-1140
2024-05-27 08:28:12 +00:00
darkskygit
cf42faa83b fix: helm config typo (#7078) 2024-05-27 08:16:19 +00:00
EYHN
b356ddbe6e fix(core): fix ui flashing (#7056) 2024-05-27 08:05:20 +00:00
EYHN
306cf2ae6f fix(core): unexpected re-render in edgeless (#7077) 2024-05-27 07:52:00 +00:00
JimmFly
2d2a84927d fix(core): unable to create blank lines correctly (#7032)
Close #7022
2024-05-27 07:40:14 +00:00
pengx17
8ed0ceb63e fix: reset doc mode correctly (#7071)
it looks like a typo to me, but no obvious issue has been reported related to it?
2024-05-27 06:26:03 +00:00
renovate
a365acbd87 chore: bump up all non-major dependencies (#7059)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.8` -> `19.1.0`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.8/19.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.8/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.8/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.6.0` -> `v3.6.1` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.6.0/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.6.0/v3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | patch |
| [electron-log](https://togithub.com/megahertz/electron-log) | [`5.1.4` -> `5.1.5`](https://renovatebot.com/diffs/npm/electron-log/5.1.4/5.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.21.3` -> `0.21.4`](https://renovatebot.com/diffs/npm/esbuild/0.21.3/0.21.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.21.3/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.21.3/0.21.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lint-staged](https://togithub.com/okonet/lint-staged) | [`15.2.4` -> `15.2.5`](https://renovatebot.com/diffs/npm/lint-staged/15.2.4/15.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.4/15.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.4/15.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nodemon](https://nodemon.io) ([source](https://togithub.com/remy/nodemon)) | [`3.1.0` -> `3.1.1`](https://renovatebot.com/diffs/npm/nodemon/3.1.0/3.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemon/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemon/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemon/3.1.0/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemon/3.1.0/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.0.8` -> `19.1.0`](https://renovatebot.com/diffs/npm/nx/19.0.8/19.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.0.8/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.0.8/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [parking_lot](https://togithub.com/Amanieu/parking_lot) | `0.12.2` -> `0.12.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/parking_lot/0.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/parking_lot/0.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/parking_lot/0.12.2/0.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/parking_lot/0.12.2/0.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://togithub.com/petyosi/react-virtuoso)) | [`4.7.10` -> `4.7.11`](https://renovatebot.com/diffs/npm/react-virtuoso/4.7.10/4.7.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.7.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.7.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.7.10/4.7.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.7.10/4.7.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | `1.0.202` -> `1.0.203` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.203?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.203?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.202/1.0.203?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.202/1.0.203?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |

---

### Release Notes

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.1.0`](https://togithub.com/nrwl/nx/releases/tag/19.1.0)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.8...19.1.0)

##### 19.1.0 (2024-05-24)

##### 🚀 Features

-   **angular:** support angular 18.0.0 ([#&#8203;22509](https://togithub.com/nrwl/nx/pull/22509))
-   **bundling:** added support for declarations (\*.d.ts) ([#&#8203;21084](https://togithub.com/nrwl/nx/pull/21084))
-   **core:** add an option to seperate the output of show with provide… ([#&#8203;23172](https://togithub.com/nrwl/nx/pull/23172))
-   **core:** support finding matching projects with only negative patterns ([#&#8203;22743](https://togithub.com/nrwl/nx/pull/22743))
-   **core:** default show to web view when in interactive terminal ([#&#8203;23358](https://togithub.com/nrwl/nx/pull/23358))
-   **core:** resolve nx migrate target version against registry ([#&#8203;23450](https://togithub.com/nrwl/nx/pull/23450))
-   **core:** allow executor definition to point to another executor ([#&#8203;23576](https://togithub.com/nrwl/nx/pull/23576))
-   **core:** add bun package manager ([#&#8203;22602](https://togithub.com/nrwl/nx/pull/22602))
-   **graph:** change gradle and nextjs svg ([#&#8203;23201](https://togithub.com/nrwl/nx/pull/23201))
-   **graph:** show script content in header ([#&#8203;23257](https://togithub.com/nrwl/nx/pull/23257))
-   **misc:** improve nx cloud setup prompts and messaging ([#&#8203;23218](https://togithub.com/nrwl/nx/pull/23218))
-   **module-federation:** add remote configuration override ([#&#8203;19694](https://togithub.com/nrwl/nx/pull/19694))
-   **nextjs:** Update Next & Tailwindcss Package ([#&#8203;23313](https://togithub.com/nrwl/nx/pull/23313))
-   **nx-dev:** show banner on documentation pages ([#&#8203;23266](https://togithub.com/nrwl/nx/pull/23266))
-   **nx-dev:** check for missing images ([#&#8203;23248](https://togithub.com/nrwl/nx/pull/23248))
-   **nx-dev:** put banner above menu ([#&#8203;23335](https://togithub.com/nrwl/nx/pull/23335))
-   **nx-dev:** Add more blogs ([#&#8203;25939](https://togithub.com/nrwl/nx/pull/25939))
-   **react:** Add SvgOptions for NxReactWebpackPlugin and WithNx ([#&#8203;23283](https://togithub.com/nrwl/nx/pull/23283))
-   **react-native:** add optional syncDeps param to storybook executor ([#&#8203;22032](https://togithub.com/nrwl/nx/pull/22032))
-   **release:** updateDependents generator option for versioning, support circular dependencies ([#&#8203;23252](https://togithub.com/nrwl/nx/pull/23252))
-   **testing:** updates cypress and [@&#8203;cypress/webpack-dev-server](https://togithub.com/cypress/webpack-dev-server) ([#&#8203;22902](https://togithub.com/nrwl/nx/pull/22902))
-   **testing:** remove --watch=false from inferred vitest targets to keep things inlined with vitest recommendations ([#&#8203;25975](https://togithub.com/nrwl/nx/pull/25975))
-   **vite:** support incremental builds with nxViteTsPaths ([#&#8203;23908](https://togithub.com/nrwl/nx/pull/23908))

##### 🩹 Fixes

-   **angular:** libraries should not contain tslib by default [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023) ([#&#8203;23423](https://togithub.com/nrwl/nx/pull/23423), [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023))
-   **angular:** [@&#8203;angular/core](https://togithub.com/angular/core) should always be provided as a shared package [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121) ([#&#8203;23464](https://togithub.com/nrwl/nx/pull/23464), [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121))
-   **bundling:** rollup does not log build errors ([#&#8203;23141](https://togithub.com/nrwl/nx/pull/23141))
-   **bundling:** resolve index files from ts paths when running esbuild without bundling ([#&#8203;23098](https://togithub.com/nrwl/nx/pull/23098))
-   **core:** set yarn berry nodeLinker correctly in migrate command ([#&#8203;23249](https://togithub.com/nrwl/nx/pull/23249))
-   **core:** show project --web shouldn't error ([#&#8203;23251](https://togithub.com/nrwl/nx/pull/23251))
-   **core:** update getLastValueFromAsyncIterableIterator to support AsyncIterables returned from executors ([#&#8203;23229](https://togithub.com/nrwl/nx/pull/23229))
-   **core:** include more binary extensions ([#&#8203;22788](https://togithub.com/nrwl/nx/pull/22788), [#&#8203;22861](https://togithub.com/nrwl/nx/pull/22861))
-   **core:** workspace remove generator should handle no root jest config ([#&#8203;23328](https://togithub.com/nrwl/nx/pull/23328))
-   **core:** addPlugin should not conflict on project.json targets ([#&#8203;23264](https://togithub.com/nrwl/nx/pull/23264))
-   **core:** throw a specific error for print-affected and affected graph ([#&#8203;23336](https://togithub.com/nrwl/nx/pull/23336))
-   **core:** properly indent command output with mixed line endings ([#&#8203;23321](https://togithub.com/nrwl/nx/pull/23321))
-   **core:** read socket dir on demand & load .env files on client startup ([#&#8203;23348](https://togithub.com/nrwl/nx/pull/23348))
-   **core:** not load env files when NX_LOAD_DOT_ENV_FILES is false ([#&#8203;23231](https://togithub.com/nrwl/nx/pull/23231))
-   **core:** addPlugin should not conflict on project.json targ… ([#&#8203;23391](https://togithub.com/nrwl/nx/pull/23391))
-   **core:** fix affected detection for inputs after named inputs ([#&#8203;23354](https://togithub.com/nrwl/nx/pull/23354))
-   **core:** fix eslint --help command ([#&#8203;23274](https://togithub.com/nrwl/nx/pull/23274))
-   **core:** copy native files to tmp file location instead of .nx/cache ([#&#8203;23375](https://togithub.com/nrwl/nx/pull/23375))
-   **core:** retry interrupted errors when writing to stdout ([#&#8203;23359](https://togithub.com/nrwl/nx/pull/23359))
-   **core:** do not add an ending new line when serializing a json ([#&#8203;23440](https://togithub.com/nrwl/nx/pull/23440))
-   **core:** migrate should warn if package does not exist ([#&#8203;23317](https://togithub.com/nrwl/nx/pull/23317))
-   **core:** azure ci workflow ([#&#8203;23453](https://togithub.com/nrwl/nx/pull/23453))
-   **core:** only check for `err` in `handleWorkspaceChanges` ([#&#8203;23500](https://togithub.com/nrwl/nx/pull/23500))
-   **core:** remove duplicate `js-yaml` packages ([f1ae1bc879](https://togithub.com/nrwl/nx/commit/f1ae1bc879))
-   **core:** fix alias package parsing and pruning for npm ([#&#8203;23474](https://togithub.com/nrwl/nx/pull/23474))
-   **core:** install packages per migration when creating commits ([#&#8203;23820](https://togithub.com/nrwl/nx/pull/23820))
-   **core:** more helpful output for format:check --verbose ([#&#8203;23503](https://togithub.com/nrwl/nx/pull/23503))
-   **core:** fix buildTargetFromScript takes a long time ([#&#8203;25209](https://togithub.com/nrwl/nx/pull/25209))
-   **core:** cache getting the package manager to the module scope ([#&#8203;25992](https://togithub.com/nrwl/nx/pull/25992))
-   **core:** use zkochan/js-yaml directly to avoid false audit errors ([#&#8203;25999](https://togithub.com/nrwl/nx/pull/25999))
-   **core:** use current user when hashing native file & enable setting its directory via env ([#&#8203;24326](https://togithub.com/nrwl/nx/pull/24326))
-   **devkit:** combineAsyncIterable should not be blocking when error occurs [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393) ([#&#8203;23400](https://togithub.com/nrwl/nx/pull/23400), [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393))
-   **gradle:** use local gradlew instead of sdkman ([#&#8203;23205](https://togithub.com/nrwl/nx/pull/23205))
-   **gradle:** run gradle init if no settings.gradle ([#&#8203;23226](https://togithub.com/nrwl/nx/pull/23226))
-   **graph:** properly remove <base> tag when generating static graph file ([#&#8203;23399](https://togithub.com/nrwl/nx/pull/23399))
-   **graph:** reload graph app only when hash changes in watch mode ([#&#8203;23434](https://togithub.com/nrwl/nx/pull/23434))
-   **js:** Adds mjs files to prettierrcNameOptions ([#&#8203;21796](https://togithub.com/nrwl/nx/pull/21796))
-   **js:** copy assets handler should correctly handle assets on windows ([#&#8203;23351](https://togithub.com/nrwl/nx/pull/23351))
-   **js:** Respect loose option provided from config ([#&#8203;23406](https://togithub.com/nrwl/nx/pull/23406))
-   **js:** fix update package.json ([#&#8203;21415](https://togithub.com/nrwl/nx/pull/21415))
-   **js:** print warning when --generateLockfile is used with Bun rather than erroring out ([#&#8203;25158](https://togithub.com/nrwl/nx/pull/25158))
-   **js:** export setup verdaccio generator ([#&#8203;24008](https://togithub.com/nrwl/nx/pull/24008))
-   **js:** handle tsconfig file with no compilerOptions ([#&#8203;25966](https://togithub.com/nrwl/nx/pull/25966))
-   **linter:** ensure config.rules is spread into rules in flat config migration ([#&#8203;23263](https://togithub.com/nrwl/nx/pull/23263))
-   **linter:** ensure all spreads are removed from rules before parsing ([#&#8203;23292](https://togithub.com/nrwl/nx/pull/23292))
-   **linter:** log transpilation errors of workspace rules ([#&#8203;21503](https://togithub.com/nrwl/nx/pull/21503))
-   **linter:** rename languageSettings to languageOptions for flat config migration ([#&#8203;22924](https://togithub.com/nrwl/nx/pull/22924))
-   **linter:** fix migrating projects with the eslint plugin ([#&#8203;23147](https://togithub.com/nrwl/nx/pull/23147))
-   **linter:** support eslint v9 ([#&#8203;24632](https://togithub.com/nrwl/nx/pull/24632))
-   **linter:** only set flat config env for eslint v9+ ([#&#8203;25189](https://togithub.com/nrwl/nx/pull/25189))
-   **linter:** only depend on eslint v8 ([#&#8203;25938](https://togithub.com/nrwl/nx/pull/25938))
-   **linter:** migrate no-extra-semi rules into user config, out of nx extendable configs ([#&#8203;26011](https://togithub.com/nrwl/nx/pull/26011))
-   **linter:** move eslint to peerDependencies and allow eslint 9 ([#&#8203;26013](https://togithub.com/nrwl/nx/pull/26013))
-   **misc:** create workspaces and default app with the name as provided ([#&#8203;23196](https://togithub.com/nrwl/nx/pull/23196))
-   **misc:** adjust deprecation messages to v20 ([#&#8203;23223](https://togithub.com/nrwl/nx/pull/23223))
-   **misc:** move e2e-ci to a separate parallel 1 command ([#&#8203;23305](https://togithub.com/nrwl/nx/pull/23305))
-   **misc:** guard against failure to decode file in migration ([#&#8203;23069](https://togithub.com/nrwl/nx/pull/23069))
-   **misc:** adjust npm keywords ([#&#8203;24743](https://togithub.com/nrwl/nx/pull/24743))
-   **misc:** various inference plugins caching should track changes ([#&#8203;23315](https://togithub.com/nrwl/nx/pull/23315))
-   **module-federation:** nested projects should be ordered first when reading from tsconfig paths [#&#8203;20284](https://togithub.com/nrwl/nx/issues/20284) ([#&#8203;23212](https://togithub.com/nrwl/nx/pull/23212), [#&#8203;20284](https://togithub.com/nrwl/nx/issues/20284))
-   **module-federation:** Throw an error if remote is invalid ([#&#8203;23100](https://togithub.com/nrwl/nx/pull/23100))
-   **nextjs:** Moving a library using [@&#8203;nx/workspace](https://togithub.com/nx/workspace):move should update … ([#&#8203;23311](https://togithub.com/nrwl/nx/pull/23311))
-   **nextjs:** additional experimental HTTPS options ([#&#8203;23334](https://togithub.com/nrwl/nx/pull/23334))
-   **node:** Docker generator should work ([#&#8203;23452](https://togithub.com/nrwl/nx/pull/23452))
-   **nx-cloud:** ensure generated ci workflows use dlx for nx-cloud ([#&#8203;23333](https://togithub.com/nrwl/nx/pull/23333))
-   **nx-dev:** fix home page mobile menu ([#&#8203;23250](https://togithub.com/nrwl/nx/pull/23250))
-   **nx-dev:** move table of contents down ([#&#8203;23350](https://togithub.com/nrwl/nx/pull/23350))
-   **react:** respect unitTestRunner passed to the generator ([#&#8203;23383](https://togithub.com/nrwl/nx/pull/23383))
-   **react:** remote generator should update host's app routes ([#&#8203;23499](https://togithub.com/nrwl/nx/pull/23499))
-   **react:** applications not using plugin usage should set target defaults ([#&#8203;23582](https://togithub.com/nrwl/nx/pull/23582))
-   **react-native:** fix test-setup for react native/expo jest ([#&#8203;23314](https://togithub.com/nrwl/nx/pull/23314))
-   **release:** ensure changelog renderers are resolvable when processing config ([#&#8203;23214](https://togithub.com/nrwl/nx/pull/23214))
-   **release:** invalid tag for fixed groups without changes ([#&#8203;22800](https://togithub.com/nrwl/nx/pull/22800))
-   **release:** npm publish error when file path contains spaces ([#&#8203;24750](https://togithub.com/nrwl/nx/pull/24750))
-   **repo:** hash proper projects when nx ([#&#8203;23506](https://togithub.com/nrwl/nx/pull/23506))
-   **storybook:** should handle inferred cypress when generating cypress project [#&#8203;21770](https://togithub.com/nrwl/nx/issues/21770) ([#&#8203;23327](https://togithub.com/nrwl/nx/pull/23327), [#&#8203;21770](https://togithub.com/nrwl/nx/issues/21770))
-   **testing:** resolve absolute paths for ts path mappings in jest resolver ([#&#8203;23346](https://togithub.com/nrwl/nx/pull/23346))
-   **testing:** ignore jest-sequencer- paths in jest resolver ([#&#8203;23396](https://togithub.com/nrwl/nx/pull/23396))
-   **testing:** check for project eslint config file in cypress and pla… ([#&#8203;23401](https://togithub.com/nrwl/nx/pull/23401))
-   **testing:** handle existing jest preset file correctly ([#&#8203;23437](https://togithub.com/nrwl/nx/pull/23437))
-   **vite:** don't generate tasks for remix projects ([#&#8203;22551](https://togithub.com/nrwl/nx/pull/22551))
-   **vite:** get tsconfig from new path including target ([#&#8203;22775](https://togithub.com/nrwl/nx/pull/22775))
-   **vite:** support passing --watch to inferred vitest commands ([#&#8203;23298](https://togithub.com/nrwl/nx/pull/23298))
-   **vite:** generate vitest cache dir scoped to each project root and normalize vite cache dir ([#&#8203;23330](https://togithub.com/nrwl/nx/pull/23330))
-   **vite:** migration should handle config object correctly [#&#8203;20921](https://togithub.com/nrwl/nx/issues/20921) ([#&#8203;23364](https://togithub.com/nrwl/nx/pull/23364), [#&#8203;20921](https://togithub.com/nrwl/nx/issues/20921))
-   **vite:** add  prop to config to ensure output dir is emptied [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382) ([#&#8203;23466](https://togithub.com/nrwl/nx/pull/23466), [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382))
-   **vue:** ootb unit testing should work with --routing [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921) ([#&#8203;23441](https://togithub.com/nrwl/nx/pull/23441), [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921))
-   **web:** Add strict mode ([#&#8203;23457](https://togithub.com/nrwl/nx/pull/23457))
-   **web:** Add strict mode" ([#&#8203;23472](https://togithub.com/nrwl/nx/pull/23472))
-   **web:** Add strict mode for [@&#8203;nx/web](https://togithub.com/nx/web) ([#&#8203;23497](https://togithub.com/nrwl/nx/pull/23497))
-   **webpack:** fix default compiler option ([#&#8203;22762](https://togithub.com/nrwl/nx/pull/22762))
-   **webpack:** don't overwrite output config ([#&#8203;22116](https://togithub.com/nrwl/nx/pull/22116))
-   **webpack:** publicPath and rebaseRootRelative ([#&#8203;20992](https://togithub.com/nrwl/nx/pull/20992))
-   **webpack:** apply-base-config should initialize options it will set [#&#8203;23296](https://togithub.com/nrwl/nx/issues/23296) ([#&#8203;23368](https://togithub.com/nrwl/nx/pull/23368), [#&#8203;23296](https://togithub.com/nrwl/nx/issues/23296))
-   **webpack:** only add entrypoints if they are intentionally injected [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049) ([#&#8203;23444](https://togithub.com/nrwl/nx/pull/23444), [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049))

##### ❤️  Thank You

-   andriizavoiko [@&#8203;andriizavoiko](https://togithub.com/andriizavoiko)
-   arekkubaczkowski [@&#8203;arekkubaczkowski](https://togithub.com/arekkubaczkowski)
-   castleadmin [@&#8203;castleadmin](https://togithub.com/castleadmin)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Daniel Santiago
-   Denis Bendrikov
-   dmcweeney
-   Dmitry Zakharov [@&#8203;pumano](https://togithub.com/pumano)
-   Edward Wang [@&#8203;wzc0415](https://togithub.com/wzc0415)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Jordan Hall [@&#8203;Jordan-Hall](https://togithub.com/Jordan-Hall)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Krystian Sowiński [@&#8203;plumcoding](https://togithub.com/plumcoding)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Mateo Tibaquirá
-   Matthias Stemmler [@&#8203;ms-tng](https://togithub.com/ms-tng)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Mehrad Rafigh [@&#8203;mehrad-rafigh](https://togithub.com/mehrad-rafigh)
-   Mike Peters
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Patrick P [@&#8203;ppfenning92](https://togithub.com/ppfenning92)
-   Phillip Barta [@&#8203;Phillip9587](https://togithub.com/Phillip9587)
-   Robin Csutorás
-   Sean Sanker
-   Younes Jaaidi

</details>

<details>
<summary>cloudflare/wrangler-action (cloudflare/wrangler-action)</summary>

### [`v3.6.1`](https://togithub.com/cloudflare/wrangler-action/releases/tag/v3.6.1)

[Compare Source](https://togithub.com/cloudflare/wrangler-action/compare/v3.6.0...v3.6.1)

##### Patch Changes

-   [#&#8203;265](https://togithub.com/cloudflare/wrangler-action/pull/265) [`2d275a8f2d279dc91912c1ff8023af109ef3280c`](2d275a8f2d) Thanks [@&#8203;Maximo-Guk](https://togithub.com/Maximo-Guk)! - Reverts [#&#8203;235](https://togithub.com/cloudflare/wrangler-action/issues/235) which may have caused the latest version of wrangler to be installed, if no wrangler version was found

</details>

<details>
<summary>megahertz/electron-log (electron-log)</summary>

### [`v5.1.5`](https://togithub.com/megahertz/electron-log/compare/v5.1.4...v5.1.5)

[Compare Source](https://togithub.com/megahertz/electron-log/compare/v5.1.4...v5.1.5)

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.21.4`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0214)

[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.21.3...v0.21.4)

-   Update support for import assertions and import attributes in node ([#&#8203;3778](https://togithub.com/evanw/esbuild/issues/3778))

    Import assertions (the `assert` keyword) have been removed from node starting in v22.0.0. So esbuild will now strip them and generate a warning with `--target=node22` or above:

        ▲ [WARNING] The "assert" keyword is not supported in the configured target environment ("node22") [assert-to-with]

            example.mjs:1:40:
              1 │ import json from "esbuild/package.json" assert { type: "json" }
                │                                         ~~~~~~
                ╵                                         with

          Did you mean to use "with" instead of "assert"?

    Import attributes (the `with` keyword) have been backported to node 18 starting in v18.20.0. So esbuild will no longer strip them with `--target=node18.N` if `N` is 20 or greater.

-   Fix `for await` transform when a label is present

    This release fixes a bug where the `for await` transform, which wraps the loop in a `try` statement, previously failed to also move the loop's label into the `try` statement. This bug only affects code that uses both of these features in combination. Here's an example of some affected code:

    ```js
    // Original code
    async function test() {
      outer: for await (const x of [Promise.resolve([0, 1])]) {
        for (const y of x) if (y) break outer
        throw 'fail'
      }
    }

    // Old output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        outer: try {
          for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }

    // New output (with --target=es6)
    function test() {
      return __async(this, null, function* () {
        try {
          outer: for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
            const x = temp.value;
            for (const y of x) if (y) break outer;
            throw "fail";
          }
        } catch (temp) {
          error = [temp];
        } finally {
          try {
            more && (temp = iter.return) && (yield temp.call(iter));
          } finally {
            if (error)
              throw error[0];
          }
        }
      });
    }
    ```

-   Do additional constant folding after cross-module enum inlining ([#&#8203;3416](https://togithub.com/evanw/esbuild/issues/3416), [#&#8203;3425](https://togithub.com/evanw/esbuild/issues/3425))

    This release adds a few more cases where esbuild does constant folding after cross-module enum inlining.

    ```ts
    // Original code: enum.ts
    export enum Platform {
      WINDOWS = 'windows',
      MACOS = 'macos',
      LINUX = 'linux',
    }

    // Original code: main.ts
    import { Platform } from './enum';
    declare const PLATFORM: string;
    export function logPlatform() {
      if (PLATFORM == Platform.WINDOWS) console.log('Windows');
      else if (PLATFORM == Platform.MACOS) console.log('macOS');
      else if (PLATFORM == Platform.LINUX) console.log('Linux');
      else console.log('Other');
    }

    // Old output (with --bundle '--define:PLATFORM="macos"' --minify --format=esm)
    function n(){"windows"=="macos"?console.log("Windows"):"macos"=="macos"?console.log("macOS"):"linux"=="macos"?console.log("Linux"):console.log("Other")}export{n as logPlatform};

    // New output (with --bundle '--define:PLATFORM="macos"' --minify --format=esm)
    function n(){console.log("macOS")}export{n as logPlatform};
    ```

-   Pass import attributes to on-resolve plugins ([#&#8203;3384](https://togithub.com/evanw/esbuild/issues/3384), [#&#8203;3639](https://togithub.com/evanw/esbuild/issues/3639), [#&#8203;3646](https://togithub.com/evanw/esbuild/issues/3646))

    With this release, on-resolve plugins will now have access to the import attributes on the import via the `with` property of the arguments object. This mirrors the `with` property of the arguments object that's already passed to on-load plugins. In addition, you can now pass `with` to the `resolve()` API call which will then forward that value on to all relevant plugins. Here's an example of a plugin that can now be written:

    ```js
    const examplePlugin = {
      name: 'Example plugin',
      setup(build) {
        build.onResolve({ filter: /.*/ }, args => {
          if (args.with.type === 'external')
            return { external: true }
        })
      }
    }

    require('esbuild').build({
      stdin: {
        contents: `
          import foo from "./foo" with { type: "external" }
          foo()
        `,
      },
      bundle: true,
      format: 'esm',
      write: false,
      plugins: [examplePlugin],
    }).then(result => {
      console.log(result.outputFiles[0].text)
    })
    ```

-   Formatting support for the `@position-try` rule ([#&#8203;3773](https://togithub.com/evanw/esbuild/issues/3773))

    Chrome shipped this new CSS at-rule in version 125 as part of the [CSS anchor positioning API](https://developer.chrome.com/blog/anchor-positioning-api). With this release, esbuild now knows to expect a declaration list inside of the `@position-try` body block and will format it appropriately.

-   Always allow internal string import and export aliases ([#&#8203;3343](https://togithub.com/evanw/esbuild/issues/3343))

    Import and export names can be string literals in ES2022+. Previously esbuild forbid any usage of these aliases when the target was below ES2022. Starting with this release, esbuild will only forbid such usage when the alias would otherwise end up in output as a string literal. String literal aliases that are only used internally in the bundle and are "compiled away" are no longer errors. This makes it possible to use string literal aliases with esbuild's `inject` feature even when the target is earlier than ES2022.

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

### [`v15.2.5`](https://togithub.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1525)

[Compare Source](https://togithub.com/okonet/lint-staged/compare/v15.2.4...v15.2.5)

##### Patch Changes

-   [#&#8203;1424](https://togithub.com/lint-staged/lint-staged/pull/1424) [`31a1f95`](31a1f9548e) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - Allow approximately equivalent versions of direct dependencies by using the "~" character in the version ranges. This means a more recent patch version of a dependency is allowed if available.

-   [#&#8203;1423](https://togithub.com/lint-staged/lint-staged/pull/1423) [`91abea0`](91abea0d29) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - Improve error logging when failing to read or parse a configuration file

-   [#&#8203;1424](https://togithub.com/lint-staged/lint-staged/pull/1424) [`ee43f15`](ee43f15409) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - Upgrade micromatch@4.0.7

</details>

<details>
<summary>remy/nodemon (nodemon)</summary>

### [`v3.1.1`](https://togithub.com/remy/nodemon/releases/tag/v3.1.1)

[Compare Source](https://togithub.com/remy/nodemon/compare/v3.1.0...v3.1.1)

##### Bug Fixes

-   add types to help with required nodemon usage ([#&#8203;2204](https://togithub.com/remy/nodemon/issues/2204)) ([cd27c0b](cd27c0b505))

</details>

<details>
<summary>Amanieu/parking_lot (parking_lot)</summary>

### [`v0.12.3`](https://togithub.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parkinglot-0123-2024-05-24)

[Compare Source](https://togithub.com/Amanieu/parking_lot/compare/0.12.2...0.12.3)

-   Export types provided by arc_lock feature ([#&#8203;442](https://togithub.com/Amanieu/parking_lot/issues/442))

</details>

<details>
<summary>petyosi/react-virtuoso (react-virtuoso)</summary>

### [`v4.7.11`](https://togithub.com/petyosi/react-virtuoso/releases/tag/v4.7.11)

[Compare Source](https://togithub.com/petyosi/react-virtuoso/compare/v4.7.10...v4.7.11)

##### Bug Fixes

-   update initialTopMostItemIndex type in TableVirtuoso interface ([#&#8203;1091](https://togithub.com/petyosi/react-virtuoso/issues/1091)) ([9a93e93](9a93e93dcb))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.203`](https://togithub.com/serde-rs/serde/compare/v1.0.202...v1.0.203)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.202...v1.0.203)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-27 05:33:12 +00:00
pengx17
13b51c7b22 build: enable new decorator for swc (#7070)
bs now has migrated to stage 3 decorators. to enable running affine locally with debugging blocksuite, we need to [turn this on](https://swc.rs/docs/configuration/compilation#jsctransformdecoratorversion).

Question:
It seems affine core code already uses stage 3 decorators, however we do not have an issue without this flag since we haven't used class field decorators that uses the `accessor` keyword?
2024-05-27 05:22:28 +00:00
EYHN
a440e85ffe chore: bump blocksuite (#7075)
## Features
- toeverything/blocksuite#6937 @Flrande

## Bugfix
- toeverything/blocksuite#7137 @fundon
- toeverything/blocksuite#7126 @golok727
- toeverything/blocksuite#7128 @CatsJuice
- toeverything/blocksuite#7130 @fundon

## Refactor

## Misc
- toeverything/blocksuite#7131 @fundon

## Additional changes

Adjust the awareness provider so that it only obtains awareness instances when connect, and fixes the dependencies between workspace components.
2024-05-27 05:11:12 +00:00
renovate
5552c02e4a chore: bump up all non-major dependencies (#7050)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.582.0` -> `3.583.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.6` -> `19.0.8`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.6/19.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.6/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.6/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.5.0` -> `v3.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.5.0/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.5.0/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.4.0` -> `10.4.1`](https://renovatebot.com/diffs/npm/glob/10.4.0/10.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.4.0/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.4.0/10.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.0.7` -> `19.0.8`](https://renovatebot.com/diffs/npm/nx/19.0.7/19.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.0.7/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.0.7/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.583.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35830-2024-05-23)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.582.0...v3.583.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.8`](https://togithub.com/nrwl/nx/releases/tag/19.0.8)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.7...19.0.8)

##### 19.0.8 (2024-05-24)

##### 🚀 Features

-   **testing:** remove --watch=false from inferred vitest targets to keep things inlined with vitest recommendations ([#&#8203;25975](https://togithub.com/nrwl/nx/pull/25975))

##### 🩹 Fixes

-   **core:** cache getting the package manager to the module scope ([#&#8203;25992](https://togithub.com/nrwl/nx/pull/25992))
-   **core:** use zkochan/js-yaml directly to avoid false audit errors ([#&#8203;25999](https://togithub.com/nrwl/nx/pull/25999))
-   **core:** use current user when hashing native file & enable setting its directory via env ([#&#8203;24326](https://togithub.com/nrwl/nx/pull/24326))
-   **js:** handle tsconfig file with no compilerOptions ([#&#8203;25966](https://togithub.com/nrwl/nx/pull/25966))
-   **misc:** various inference plugins caching should track changes ([#&#8203;23315](https://togithub.com/nrwl/nx/pull/23315))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)

### [`v19.0.7`](https://togithub.com/nrwl/nx/releases/tag/19.0.7)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.6...19.0.7)

#### 19.0.7 (2024-05-23)

##### 🚀 Features

-   **nx-dev:** Add more blogs ([#&#8203;25939](https://togithub.com/nrwl/nx/pull/25939))

##### 🩹 Fixes

-   **core:** more helpful output for format:check --verbose ([#&#8203;23503](https://togithub.com/nrwl/nx/pull/23503))
-   **core:** fix buildTargetFromScript takes a long time ([#&#8203;25209](https://togithub.com/nrwl/nx/pull/25209))
-   **js:** export setup verdaccio generator ([#&#8203;24008](https://togithub.com/nrwl/nx/pull/24008))
-   **linter:** only set flat config env for eslint v9+ ([#&#8203;25189](https://togithub.com/nrwl/nx/pull/25189))
-   **linter:** only depend on eslint v8 ([#&#8203;25938](https://togithub.com/nrwl/nx/pull/25938))
-   **misc:** adjust npm keywords ([#&#8203;24743](https://togithub.com/nrwl/nx/pull/24743))
-   **release:** npm publish error when file path contains spaces ([#&#8203;24750](https://togithub.com/nrwl/nx/pull/24750))

##### ❤️  Thank You

-   dmcweeney
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

</details>

<details>
<summary>cloudflare/wrangler-action (cloudflare/wrangler-action)</summary>

### [`v3.6.0`](https://togithub.com/cloudflare/wrangler-action/releases/tag/v3.6.0)

[Compare Source](https://togithub.com/cloudflare/wrangler-action/compare/v3.5.0...v3.6.0)

##### Minor Changes

-   [#&#8203;235](https://togithub.com/cloudflare/wrangler-action/pull/235) [`0545ad285acaff2b92053d636ee17fb303b4c5f5`](0545ad285a) Thanks [@&#8203;AdiRishi](https://togithub.com/AdiRishi)! - wrangler-action will now re-use existing wrangler installations when available

</details>

<details>
<summary>isaacs/node-glob (glob)</summary>

### [`v10.4.1`](https://togithub.com/isaacs/node-glob/compare/v10.4.0...3cb1ed75b2631a567030131f422b961818bedf76)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.4.0...v10.4.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-24 16:40:18 +00:00
pengx17
88d4351c28 feat: provide notification to bs (#7002)
upstream https://github.com/toeverything/blocksuite/pull/7101
fix AFF-1120
2024-05-24 10:36:50 +00:00
Chen
919e40f28e feat: support more ai image actions (#7027) 2024-05-24 18:35:32 +08:00
donteatfriedrice
950e163314 feat(core): bump blocksuite (#7055)
## Features
- https://github.com/toeverything/BlockSuite/pull/7107 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7129 @fundon

## Refactor
- https://github.com/toeverything/BlockSuite/pull/7134 @zzj3720

## Misc
2024-05-24 09:55:56 +00:00
darkskygit
0302a85585 feat: add customer event (#7029) 2024-05-24 08:40:33 +00:00
darkskygit
937b8bf166 feat: history cleanup (#7007)
fix AFF-1069
2024-05-24 08:00:05 +00:00
renovate
02564a8d8c chore: bump up all non-major dependencies (#7043)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.582.0` -> `3.583.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.582.0` -> `3.583.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.582.0/3.583.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.6` -> `19.0.7`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.6/19.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.6/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.6/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.0` -> `1.44.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.44.0/1.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/esbuild-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.16.1` -> `2.17.0`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.16.1/2.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.16.1/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.16.1/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.3.0` -> `8.4.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.3.0/8.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.3.0/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.3.0/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.3.0` -> `8.4.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.3.0/8.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.3.0/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.3.0/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins)) | [`2.16.1` -> `2.17.0`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.16.1/2.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.16.1/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.16.1/2.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.3.2` -> `18.3.3`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.2/18.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.2/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.2/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.5.0` -> `v3.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.5.0/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.5.0/v3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor |
| [electron](https://togithub.com/electron/electron) | [`30.0.7` -> `30.0.8`](https://renovatebot.com/diffs/npm/electron/30.0.7/30.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.0.7/30.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.0.7/30.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.3.16` -> `10.4.0`](https://renovatebot.com/diffs/npm/glob/10.3.16/10.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.3.16/10.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.3.16/10.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.0.6` -> `19.0.7`](https://renovatebot.com/diffs/npm/nx/19.0.6/19.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.0.6/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.0.6/19.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [playwright](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.0` -> `1.44.1`](https://renovatebot.com/diffs/npm/playwright/1.44.0/1.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [stripe](https://togithub.com/stripe/stripe-node) | [`15.7.0` -> `15.8.0`](https://renovatebot.com/diffs/npm/stripe/15.7.0/15.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/15.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/15.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/15.7.0/15.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/15.7.0/15.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.583.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35830-2024-05-23)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.582.0...v3.583.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.7`](https://togithub.com/nrwl/nx/releases/tag/19.0.7)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.6...19.0.7)

#### 19.0.7 (2024-05-23)

##### 🚀 Features

-   **nx-dev:** Add more blogs ([#&#8203;25939](https://togithub.com/nrwl/nx/pull/25939))

##### 🩹 Fixes

-   **core:** more helpful output for format:check --verbose ([#&#8203;23503](https://togithub.com/nrwl/nx/pull/23503))
-   **core:** fix buildTargetFromScript takes a long time ([#&#8203;25209](https://togithub.com/nrwl/nx/pull/25209))
-   **js:** export setup verdaccio generator ([#&#8203;24008](https://togithub.com/nrwl/nx/pull/24008))
-   **linter:** only set flat config env for eslint v9+ ([#&#8203;25189](https://togithub.com/nrwl/nx/pull/25189))
-   **linter:** only depend on eslint v8 ([#&#8203;25938](https://togithub.com/nrwl/nx/pull/25938))
-   **misc:** adjust npm keywords ([#&#8203;24743](https://togithub.com/nrwl/nx/pull/24743))
-   **release:** npm publish error when file path contains spaces ([#&#8203;24750](https://togithub.com/nrwl/nx/pull/24750))

##### ❤️  Thank You

-   dmcweeney
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1)

##### Highlights

[https://github.com/microsoft/playwright/issues/30779](https://togithub.com/microsoft/playwright/issues/30779) - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[https://github.com/microsoft/playwright/issues/30755](https://togithub.com/microsoft/playwright/issues/30755) - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[https://github.com/microsoft/playwright/issues/30770](https://togithub.com/microsoft/playwright/issues/30770)0 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[https://github.com/microsoft/playwright/issues/30858](https://togithub.com/microsoft/playwright/issues/30858)58 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

</details>

<details>
<summary>getsentry/sentry-javascript-bundler-plugins (@&#8203;sentry/esbuild-plugin)</summary>

### [`v2.17.0`](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#2170)

[Compare Source](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/compare/2.16.1...2.17.0)

-   feat: Deprecate and noop `cleanArtifacts` ([#&#8203;525](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/525))
-   feat: Support Heroku env vars when inferring release name ([#&#8203;517](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/517))
-   fix(docs): Update pnpm install commands ([#&#8203;516](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/516))
-   misc(esbuild): Log warning when attempting to inject debug IDs with esbuild `bundle` option active ([#&#8203;526](https://togithub.com/getsentry/sentry-javascript-bundler-plugins/issues/526))

Work in this release contributed by [@&#8203;et84121](https://togithub.com/et84121), and [@&#8203;duailibe](https://togithub.com/duailibe). Thank you for your contributions!

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.4.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#840)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.3.0...8.4.0)

##### Important Changes

-   **feat(nextjs): Trace pageloads in App Router ([#&#8203;12157](https://togithub.com/getsentry/sentry-javascript/issues/12157))**

If you are using Next.js version `14.3.0-canary.64` or above, the Sentry Next.js SDK will now trace clientside pageloads
with React Server Components. This means, that client-side errors like
`Error: An error occurred in the Server Components render.`, which previously didn't give you much information on how
that error was caused, can now be traced back to a specific error in a server component.

-   **feat(angular): Add Support for Angular 18 ([#&#8203;12183](https://togithub.com/getsentry/sentry-javascript/issues/12183))**

This release guarantees support for Angular 18 with `@sentry/angular`.

##### Other Changes

-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-aws-lambda](https://togithub.com/opentelemetry/instrumentation-aws-lambda) from 0.41.0 to 0.41.1 ([#&#8203;12078](https://togithub.com/getsentry/sentry-javascript/issues/12078))
-   fix(metrics): Ensure string values are interpreted for metrics ([#&#8203;12165](https://togithub.com/getsentry/sentry-javascript/issues/12165))

</details>

<details>
<summary>cloudflare/wrangler-action (cloudflare/wrangler-action)</summary>

### [`v3.6.0`](https://togithub.com/cloudflare/wrangler-action/releases/tag/v3.6.0)

[Compare Source](https://togithub.com/cloudflare/wrangler-action/compare/v3.5.0...v3.6.0)

##### Minor Changes

-   [#&#8203;235](https://togithub.com/cloudflare/wrangler-action/pull/235) [`0545ad285acaff2b92053d636ee17fb303b4c5f5`](0545ad285a) Thanks [@&#8203;AdiRishi](https://togithub.com/AdiRishi)! - wrangler-action will now re-use existing wrangler installations when available

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v30.0.8`](https://togithub.com/electron/electron/compare/v30.0.7...v30.0.8)

[Compare Source](https://togithub.com/electron/electron/compare/v30.0.7...v30.0.8)

</details>

<details>
<summary>isaacs/node-glob (glob)</summary>

### [`v10.4.0`](https://togithub.com/isaacs/node-glob/compare/v10.3.16...f0bd1e848c3c36c094f7613d114fd69fcc880f73)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.3.16...v10.4.0)

</details>

<details>
<summary>stripe/stripe-node (stripe)</summary>

### [`v15.8.0`](https://togithub.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#1580---2024-05-23)

[Compare Source](https://togithub.com/stripe/stripe-node/compare/v15.7.0...v15.8.0)

-   [#&#8203;2092](https://togithub.com/stripe/stripe-node/pull/2092) Update generated code
    -   Add support for `external_account_collection` on `AccountSession.components.balances.features`, `AccountSession.components.payouts.features`, `AccountSessionCreateParams.components.balances.features`, and `AccountSessionCreateParams.components.payouts.features`
    -   Add support for new value `terminal_reader_invalid_location_for_payment` on enums `Invoice.last_finalization_error.code`, `PaymentIntent.last_payment_error.code`, `SetupAttempt.setup_error.code`, `SetupIntent.last_setup_error.code`, and `StripeError.code`
    -   Add support for `payment_method_remove` on `Checkout.Session.saved_payment_method_options`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-24 05:13:26 +00:00
renovate
ae00dfef08 chore: bump up blocksuite-canary to v0.15.0-canary-202405231409-6934e1f (#7047)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405221444-2192806` -> `0.15.0-canary-202405231409-6934e1f`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202405221444-2192806/0.15.0-canary-202405231409-6934e1f?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-24 05:00:08 +00:00
pengx17
5e1528b50b fix: export then add test case (#7024) 2024-05-24 04:49:08 +00:00
DarkSky
7c2f60c441 docs: update SECURITY.md 2024-05-24 00:56:09 +08:00
Tao Chen
22a8a2663e feat(server): add OIDC for AFFiNE (#6991)
Co-authored-by: LongYinan <lynweklm@gmail.com>
Co-authored-by: DarkSky <darksky2048@gmail.com>
2024-05-24 00:35:30 +08:00
darkskygit
0c42849bc3 feat: update i2i model (#7041) 2024-05-23 14:27:12 +00:00
darkskygit
535254fdf6 feat: adapt new fal response (#7042) 2024-05-23 10:43:12 +00:00
darkskygit
f511b02bf9 fix: use flexible year number in mail template (#7033)
close #7010
2024-05-23 07:08:02 +00:00
darkskygit
f8fee55b3d fix: combine message correctly (#7038) 2024-05-23 06:16:31 +00:00
renovate
3eaddd6e42 chore: bump up all non-major dependencies (#7037)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.577.0` -> `3.582.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.5` -> `19.0.6`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.5/19.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.582.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35820-2024-05-22)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.577.0...v3.582.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.6`](https://togithub.com/nrwl/nx/releases/tag/19.0.6)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.5...19.0.6)

#### 19.0.6 (2024-05-22)

##### 🚀 Features

-   **graph:** show script content in header ([#&#8203;23257](https://togithub.com/nrwl/nx/pull/23257))

##### 🩹 Fixes

-   **linter:** support eslint v9 ([#&#8203;24632](https://togithub.com/nrwl/nx/pull/24632))

##### ❤️  Thank You

-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-23 04:47:45 +00:00
renovate
6278523642 chore: bump up blocksuite-canary to v0.15.0-canary-202405221444-2192806 (#7028)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.15.0-canary-202405220826-46746e0` -> `0.15.0-canary-202405221444-2192806`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.15.0-canary-202405220826-46746e0/0.15.0-canary-202405221444-2192806?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-23 04:10:57 +00:00
renovate
1c1c1836d3 chore: bump up all non-major dependencies (#7036)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.577.0` -> `3.582.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.577.0/3.582.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.5` -> `19.0.6`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.5/19.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`8.2.1` -> `8.3.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.2.1/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.2.1/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.2.1/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-plugin-react-swc) | [`3.6.0` -> `3.7.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react-swc/3.6.0/3.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-react-swc/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-react-swc/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-react-swc/3.6.0/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-react-swc/3.6.0/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [css-loader](https://togithub.com/webpack-contrib/css-loader) | [`7.1.1` -> `7.1.2`](https://renovatebot.com/diffs/npm/css-loader/7.1.1/7.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/css-loader/7.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/css-loader/7.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/css-loader/7.1.1/7.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/css-loader/7.1.1/7.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://togithub.com/electron/electron) | [`30.0.6` -> `30.0.7`](https://renovatebot.com/diffs/npm/electron/30.0.6/30.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/30.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/30.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/30.0.6/30.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/30.0.6/30.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.0.5` -> `19.0.6`](https://renovatebot.com/diffs/npm/nx/19.0.5/19.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.0.5/19.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-i18next](https://togithub.com/i18next/react-i18next) | [`14.1.1` -> `14.1.2`](https://renovatebot.com/diffs/npm/react-i18next/14.1.1/14.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/14.1.1/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/14.1.1/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.18.0` -> `6.18.1`](https://renovatebot.com/diffs/npm/undici/6.18.0/6.18.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.18.0/6.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.18.0/6.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.582.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35820-2024-05-22)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.577.0...v3.582.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.6`](https://togithub.com/nrwl/nx/releases/tag/19.0.6)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.5...19.0.6)

#### 19.0.6 (2024-05-22)

##### 🚀 Features

-   **graph:** show script content in header ([#&#8203;23257](https://togithub.com/nrwl/nx/pull/23257))

##### 🩹 Fixes

-   **linter:** support eslint v9 ([#&#8203;24632](https://togithub.com/nrwl/nx/pull/24632))

##### ❤️  Thank You

-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.3.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#830)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.2.1...8.3.0)

##### Important Changes

-   **Better Node Framework Span Data**

This release improves data quality of spans emitted by Express, Fastify, Connect, Koa, Nest.js and Hapi.

-   feat(node): Ensure connect spans have better data ([#&#8203;12130](https://togithub.com/getsentry/sentry-javascript/issues/12130))

-   feat(node): Ensure express spans have better data ([#&#8203;12107](https://togithub.com/getsentry/sentry-javascript/issues/12107))

-   feat(node): Ensure fastify spans have better data ([#&#8203;12106](https://togithub.com/getsentry/sentry-javascript/issues/12106))

-   feat(node): Ensure hapi spans have better data ([#&#8203;12140](https://togithub.com/getsentry/sentry-javascript/issues/12140))

-   feat(node): Ensure koa spans have better data ([#&#8203;12108](https://togithub.com/getsentry/sentry-javascript/issues/12108))

-   feat(node): Ensure Nest.js spans have better data ([#&#8203;12139](https://togithub.com/getsentry/sentry-javascript/issues/12139))

-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-express](https://togithub.com/opentelemetry/instrumentation-express) from 0.38.0 to 0.39.0 ([#&#8203;12079](https://togithub.com/getsentry/sentry-javascript/issues/12079))

-   **feat(node): No-code init via `--import=@&#8203;sentry/node/init` ([#&#8203;11999](https://togithub.com/getsentry/sentry-javascript/issues/11999))**

When using Sentry in ESM mode, you can now use Sentry without manually calling init like this:

```bash
 SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0 node --import=@&#8203;sentry/node/init app.mjs
```

When using CommonJS, you can do:

```bash
 SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0 node --require=@&#8203;sentry/node/init app.js
```

##### Other Changes

-   chore: Align and update MIT license dates ([#&#8203;12143](https://togithub.com/getsentry/sentry-javascript/issues/12143))
-   chore: Resolve or postpone a random assortment of TODOs ([#&#8203;11977](https://togithub.com/getsentry/sentry-javascript/issues/11977))
-   doc(migration): Add entry for runWithAsyncContext ([#&#8203;12153](https://togithub.com/getsentry/sentry-javascript/issues/12153))
-   docs: Add migration docs to point out that default import does not work ([#&#8203;12100](https://togithub.com/getsentry/sentry-javascript/issues/12100))
-   docs(sveltekit): process.env.SENTRY_AUTH_TOKEN ([#&#8203;12118](https://togithub.com/getsentry/sentry-javascript/issues/12118))
-   feat(browser): Ensure `browserProfilingIntegration` is published to CDN ([#&#8203;12158](https://togithub.com/getsentry/sentry-javascript/issues/12158))
-   feat(google-cloud): Expose ESM build ([#&#8203;12149](https://togithub.com/getsentry/sentry-javascript/issues/12149))
-   feat(nextjs): Ignore Prisma critical dependency warnings ([#&#8203;12144](https://togithub.com/getsentry/sentry-javascript/issues/12144))
-   feat(node): Add app.free_memory info to events ([#&#8203;12150](https://togithub.com/getsentry/sentry-javascript/issues/12150))
-   feat(node): Do not create GraphQL resolver spans by default ([#&#8203;12097](https://togithub.com/getsentry/sentry-javascript/issues/12097))
-   feat(node): Use `node:` prefix for node built-ins ([#&#8203;11895](https://togithub.com/getsentry/sentry-javascript/issues/11895))
-   feat(replay): Use unwrapped `setTimeout` to avoid e.g. angular change detection ([#&#8203;11924](https://togithub.com/getsentry/sentry-javascript/issues/11924))
-   fix(core): Add dsn to span envelope header ([#&#8203;12096](https://togithub.com/getsentry/sentry-javascript/issues/12096))
-   fix(feedback): Improve feedback border color in dark-mode, and prevent auto-dark mode when a theme is picked ([#&#8203;12126](https://togithub.com/getsentry/sentry-javascript/issues/12126))
-   fix(feedback): Set optionOverrides to be optional in TS definition ([#&#8203;12125](https://togithub.com/getsentry/sentry-javascript/issues/12125))
-   fix(nextjs): Don't put `undefined` values in props ([#&#8203;12131](https://togithub.com/getsentry/sentry-javascript/issues/12131))
-   fix(nextjs): Fix legacy configuration method detection for emitting warning ([#&#8203;12136](https://togithub.com/getsentry/sentry-javascript/issues/12136))
-   fix(node): Ensure fetch/http breadcrumbs are created correctly ([#&#8203;12137](https://togithub.com/getsentry/sentry-javascript/issues/12137))
-   fix(node): Update `@prisma/instrumentation` from 5.13.0 to 5.14.0 ([#&#8203;12081](https://togithub.com/getsentry/sentry-javascript/issues/12081))
-   ref(node): Add log for running in ESM/CommonJS mode ([#&#8203;12134](https://togithub.com/getsentry/sentry-javascript/issues/12134))
-   ref(node): Handle failing hook registration gracefully ([#&#8203;12135](https://togithub.com/getsentry/sentry-javascript/issues/12135))
-   ref(node): Only show instrumentation warning when tracing is enabled ([#&#8203;12141](https://togithub.com/getsentry/sentry-javascript/issues/12141))

Work in this release contributed by [@&#8203;pboling](https://togithub.com/pboling). Thank you for your contribution!

</details>

<details>
<summary>vitejs/vite-plugin-react-swc (@&#8203;vitejs/plugin-react-swc)</summary>

### [`v3.7.0`](https://togithub.com/vitejs/vite-plugin-react-swc/blob/HEAD/CHANGELOG.md#370)

[Compare Source](https://togithub.com/vitejs/vite-plugin-react-swc/compare/v3.6.0...v3.7.0)

##### Support HMR for class components

This is a long overdue and should fix some issues people had with HMR when migrating from CRA.

</details>

<details>
<summary>webpack-contrib/css-loader (css-loader)</summary>

### [`v7.1.2`](https://togithub.com/webpack-contrib/css-loader/blob/HEAD/CHANGELOG.md#712-2024-05-22)

[Compare Source](https://togithub.com/webpack-contrib/css-loader/compare/v7.1.1...v7.1.2)

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v30.0.7`](https://togithub.com/electron/electron/compare/v30.0.6...v30.0.7)

[Compare Source](https://togithub.com/electron/electron/compare/v30.0.6...v30.0.7)

</details>

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

### [`v14.1.2`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1412)

[Compare Source](https://togithub.com/i18next/react-i18next/compare/v14.1.1...v14.1.2)

-   bring back internal interpolationOverride handling for Trans component (if there are childrens), fixes [1754](https://togithub.com/i18next/react-i18next/issues/1754)

</details>

<details>
<summary>nodejs/undici (undici)</summary>

### [`v6.18.1`](https://togithub.com/nodejs/undici/compare/v6.18.0...eed423a66960d61da56f6185d9b6624e32cd4ff9)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.18.0...v6.18.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-23 03:02:30 +00:00
CatsJuice
d066da3e8a fix(core): right sidebar's content is not centered when clientBorder enabled (#7034)
- before
    ![CleanShot%202024-05-22%20at%2018.18.15@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/4fe8f114-6471-4e28-8788-0d50b39efe7a.png)
    ![CleanShot%202024-05-22%20at%2018.27.18@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/95ff58d7-2f6b-42ae-85f2-6b026ad48c05.png)

- after
    ![CleanShot 2024-05-22 at 19.10.30@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/920fc348-b53f-4e5e-aa85-3329372923b1.png)
2024-05-23 02:42:01 +00:00
Flrande
f3c9593606 feat(core): bump blocksuite to 0.15.0-canary-202405220826-46746e0 (#7026) 2024-05-22 09:22:23 +00:00
zzj3720
7a657b540b feat(core): update blocksuite feature flag (#7025) 2024-05-22 09:03:24 +00:00
Flrande
0f5ae77032 feat(core): bump blocksuite (#7019)
## Features
- https://github.com/toeverything/BlockSuite/pull/7075 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7090 @doouding
- https://github.com/toeverything/BlockSuite/pull/7095
@golok727
## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7108
@fundon

- https://github.com/toeverything/BlockSuite/pull/7110 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7105 @regischen
- https://github.com/toeverything/BlockSuite/pull/7064
@fundon

- https://github.com/toeverything/BlockSuite/pull/7102 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/7091 @zzj3720
## Refactor
- https://github.com/toeverything/BlockSuite/pull/7088
@Mirone
## Misc
- https://github.com/toeverything/BlockSuite/pull/7097
@CatsJuice
2024-05-22 08:48:28 +00:00
pengx17
fdc33bd3ec refactor(electron): always save one update to electron (#7009)
not sure do we still need this one
2024-05-22 05:03:49 +00:00
renovate
f50e240e3d chore: bump up @nx/vite version to v19.0.5 (#7020)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.4` -> `19.0.5`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.4/19.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.5`](https://togithub.com/nrwl/nx/releases/tag/19.0.5)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.4...19.0.5)

#### 19.0.5 (2024-05-21)

##### 🚀 Features

-   **bundling:** added support for declarations (\*.d.ts) ([#&#8203;21084](https://togithub.com/nrwl/nx/pull/21084))
-   **core:** resolve nx migrate target version against registry ([#&#8203;23450](https://togithub.com/nrwl/nx/pull/23450))
-   **core:** allow executor definition to point to another executor ([#&#8203;23576](https://togithub.com/nrwl/nx/pull/23576))
-   **graph:** change gradle and nextjs svg ([#&#8203;23201](https://togithub.com/nrwl/nx/pull/23201))

##### 🩹 Fixes

-   **angular:** libraries should not contain tslib by default [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023) ([#&#8203;23423](https://togithub.com/nrwl/nx/pull/23423), [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023))
-   **angular:** [@&#8203;angular/core](https://togithub.com/angular/core) should always be provided as a shared package [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121) ([#&#8203;23464](https://togithub.com/nrwl/nx/pull/23464), [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121))
-   **core:** do not add an ending new line when serializing a json ([#&#8203;23440](https://togithub.com/nrwl/nx/pull/23440))
-   **core:** migrate should warn if package does not exist ([#&#8203;23317](https://togithub.com/nrwl/nx/pull/23317))
-   **core:** azure ci workflow ([#&#8203;23453](https://togithub.com/nrwl/nx/pull/23453))
-   **core:** only check for `err` in `handleWorkspaceChanges` ([#&#8203;23500](https://togithub.com/nrwl/nx/pull/23500))
-   **core:** remove duplicate `js-yaml` packages ([2eaf79b65](https://togithub.com/nrwl/nx/commit/2eaf79b65))
-   **core:** fix alias package parsing and pruning for npm ([#&#8203;23474](https://togithub.com/nrwl/nx/pull/23474))
-   **core:** install packages per migration when creating commits ([#&#8203;23820](https://togithub.com/nrwl/nx/pull/23820))
-   **devkit:** combineAsyncIterable should not be blocking when error occurs [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393) ([#&#8203;23400](https://togithub.com/nrwl/nx/pull/23400), [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393))
-   **graph:** reload graph app only when hash changes in watch mode ([#&#8203;23434](https://togithub.com/nrwl/nx/pull/23434))
-   **js:** Respect loose option provided from config ([#&#8203;23406](https://togithub.com/nrwl/nx/pull/23406))
-   **js:** fix update package.json ([#&#8203;21415](https://togithub.com/nrwl/nx/pull/21415))
-   **nextjs:** additional experimental HTTPS options ([#&#8203;23334](https://togithub.com/nrwl/nx/pull/23334))
-   **node:** Docker generator should work ([#&#8203;23452](https://togithub.com/nrwl/nx/pull/23452))
-   **react:** respect unitTestRunner passed to the generator ([#&#8203;23383](https://togithub.com/nrwl/nx/pull/23383))
-   **react:** remote generator should update host's app routes ([#&#8203;23499](https://togithub.com/nrwl/nx/pull/23499))
-   **react:** applications not using plugin usage should set target defaults ([#&#8203;23582](https://togithub.com/nrwl/nx/pull/23582))
-   **react-native:** fix test-setup for react native/expo jest ([#&#8203;23314](https://togithub.com/nrwl/nx/pull/23314))
-   **release:** invalid tag for fixed groups without changes ([#&#8203;22800](https://togithub.com/nrwl/nx/pull/22800))
-   **repo:** hash proper projects when nx ([#&#8203;23506](https://togithub.com/nrwl/nx/pull/23506))
-   **testing:** handle existing jest preset file correctly ([#&#8203;23437](https://togithub.com/nrwl/nx/pull/23437))
-   **vite:** add  prop to config to ensure output dir is emptied [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382) ([#&#8203;23466](https://togithub.com/nrwl/nx/pull/23466), [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382))
-   **vue:** ootb unit testing should work with --routing [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921) ([#&#8203;23441](https://togithub.com/nrwl/nx/pull/23441), [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921))
-   **web:** Add strict mode ([#&#8203;23457](https://togithub.com/nrwl/nx/pull/23457))
-   **web:** Add strict mode" ([#&#8203;23472](https://togithub.com/nrwl/nx/pull/23472))
-   **web:** Add strict mode for [@&#8203;nx/web](https://togithub.com/nx/web) ([#&#8203;23497](https://togithub.com/nrwl/nx/pull/23497))
-   **webpack:** only add entrypoints if they are intentionally injected [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049) ([#&#8203;23444](https://togithub.com/nrwl/nx/pull/23444), [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049))

##### ❤️  Thank You

-   castleadmin [@&#8203;castleadmin](https://togithub.com/castleadmin)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Phillip Barta [@&#8203;Phillip9587](https://togithub.com/Phillip9587)
-   Younes Jaaidi

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-05-22 04:20:31 +00:00
JimmFly
609766d898 refactor(core): replace history to ViewService.history (#6972)
upstream: #6966
2024-05-22 04:01:33 +00:00
renovate
3b8345ea5a chore: bump up all non-major dependencies (#6968)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`19.0.4` -> `19.0.5`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.0.4/19.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/css](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css)) | [`1.15.1` -> `1.15.2`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fcss/1.15.1/1.15.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fcss/1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fcss/1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fcss/1.15.1/1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fcss/1.15.1/1.15.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/dynamic](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/dynamic)) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fdynamic/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fdynamic/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fdynamic/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fdynamic/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fdynamic/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.9` -> `4.0.10`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.9/4.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.9/4.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.9/4.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/webpack-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.8` -> `2.3.9`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.8/2.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.8/2.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.8/2.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [glob](https://togithub.com/isaacs/node-glob) | [`10.3.15` -> `10.3.16`](https://renovatebot.com/diffs/npm/glob/10.3.15/10.3.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/glob/10.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/glob/10.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/glob/10.3.15/10.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/10.3.15/10.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai](https://togithub.com/pmndrs/jotai) | [`2.8.0` -> `2.8.1`](https://renovatebot.com/diffs/npm/jotai/2.8.0/2.8.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.8.0/2.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.8.0/2.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://togithub.com/okonet/lint-staged) | [`15.2.2` -> `15.2.4`](https://renovatebot.com/diffs/npm/lint-staged/15.2.2/15.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.2/15.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.2/15.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.0.4` -> `19.0.5`](https://renovatebot.com/diffs/npm/nx/19.0.4/19.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [wrangler](https://togithub.com/cloudflare/workers-sdk) ([source](https://togithub.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.57.0` -> `3.57.1`](https://renovatebot.com/diffs/npm/wrangler/3.57.0/3.57.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.57.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.57.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.57.0/3.57.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.57.0/3.57.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v19.0.5`](https://togithub.com/nrwl/nx/releases/tag/19.0.5)

[Compare Source](https://togithub.com/nrwl/nx/compare/19.0.4...19.0.5)

#### 19.0.5 (2024-05-21)

##### 🚀 Features

-   **bundling:** added support for declarations (\*.d.ts) ([#&#8203;21084](https://togithub.com/nrwl/nx/pull/21084))
-   **core:** resolve nx migrate target version against registry ([#&#8203;23450](https://togithub.com/nrwl/nx/pull/23450))
-   **core:** allow executor definition to point to another executor ([#&#8203;23576](https://togithub.com/nrwl/nx/pull/23576))
-   **graph:** change gradle and nextjs svg ([#&#8203;23201](https://togithub.com/nrwl/nx/pull/23201))

##### 🩹 Fixes

-   **angular:** libraries should not contain tslib by default [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023) ([#&#8203;23423](https://togithub.com/nrwl/nx/pull/23423), [#&#8203;21023](https://togithub.com/nrwl/nx/issues/21023))
-   **angular:** [@&#8203;angular/core](https://togithub.com/angular/core) should always be provided as a shared package [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121) ([#&#8203;23464](https://togithub.com/nrwl/nx/pull/23464), [#&#8203;19121](https://togithub.com/nrwl/nx/issues/19121))
-   **core:** do not add an ending new line when serializing a json ([#&#8203;23440](https://togithub.com/nrwl/nx/pull/23440))
-   **core:** migrate should warn if package does not exist ([#&#8203;23317](https://togithub.com/nrwl/nx/pull/23317))
-   **core:** azure ci workflow ([#&#8203;23453](https://togithub.com/nrwl/nx/pull/23453))
-   **core:** only check for `err` in `handleWorkspaceChanges` ([#&#8203;23500](https://togithub.com/nrwl/nx/pull/23500))
-   **core:** remove duplicate `js-yaml` packages ([2eaf79b65](https://togithub.com/nrwl/nx/commit/2eaf79b65))
-   **core:** fix alias package parsing and pruning for npm ([#&#8203;23474](https://togithub.com/nrwl/nx/pull/23474))
-   **core:** install packages per migration when creating commits ([#&#8203;23820](https://togithub.com/nrwl/nx/pull/23820))
-   **devkit:** combineAsyncIterable should not be blocking when error occurs [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393) ([#&#8203;23400](https://togithub.com/nrwl/nx/pull/23400), [#&#8203;21393](https://togithub.com/nrwl/nx/issues/21393))
-   **graph:** reload graph app only when hash changes in watch mode ([#&#8203;23434](https://togithub.com/nrwl/nx/pull/23434))
-   **js:** Respect loose option provided from config ([#&#8203;23406](https://togithub.com/nrwl/nx/pull/23406))
-   **js:** fix update package.json ([#&#8203;21415](https://togithub.com/nrwl/nx/pull/21415))
-   **nextjs:** additional experimental HTTPS options ([#&#8203;23334](https://togithub.com/nrwl/nx/pull/23334))
-   **node:** Docker generator should work ([#&#8203;23452](https://togithub.com/nrwl/nx/pull/23452))
-   **react:** respect unitTestRunner passed to the generator ([#&#8203;23383](https://togithub.com/nrwl/nx/pull/23383))
-   **react:** remote generator should update host's app routes ([#&#8203;23499](https://togithub.com/nrwl/nx/pull/23499))
-   **react:** applications not using plugin usage should set target defaults ([#&#8203;23582](https://togithub.com/nrwl/nx/pull/23582))
-   **react-native:** fix test-setup for react native/expo jest ([#&#8203;23314](https://togithub.com/nrwl/nx/pull/23314))
-   **release:** invalid tag for fixed groups without changes ([#&#8203;22800](https://togithub.com/nrwl/nx/pull/22800))
-   **repo:** hash proper projects when nx ([#&#8203;23506](https://togithub.com/nrwl/nx/pull/23506))
-   **testing:** handle existing jest preset file correctly ([#&#8203;23437](https://togithub.com/nrwl/nx/pull/23437))
-   **vite:** add  prop to config to ensure output dir is emptied [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382) ([#&#8203;23466](https://togithub.com/nrwl/nx/pull/23466), [#&#8203;23382](https://togithub.com/nrwl/nx/issues/23382))
-   **vue:** ootb unit testing should work with --routing [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921) ([#&#8203;23441](https://togithub.com/nrwl/nx/pull/23441), [#&#8203;19921](https://togithub.com/nrwl/nx/issues/19921))
-   **web:** Add strict mode ([#&#8203;23457](https://togithub.com/nrwl/nx/pull/23457))
-   **web:** Add strict mode" ([#&#8203;23472](https://togithub.com/nrwl/nx/pull/23472))
-   **web:** Add strict mode for [@&#8203;nx/web](https://togithub.com/nx/web) ([#&#8203;23497](https://togithub.com/nrwl/nx/pull/23497))
-   **webpack:** only add entrypoints if they are intentionally injected [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049) ([#&#8203;23444](https://togithub.com/nrwl/nx/pull/23444), [#&#8203;20049](https://togithub.com/nrwl/nx/issues/20049))

##### ❤️  Thank You

-   castleadmin [@&#8203;castleadmin](https://togithub.com/castleadmin)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Phillip Barta [@&#8203;Phillip9587](https://togithub.com/Phillip9587)
-   Younes Jaaidi

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/css)</summary>

### [`v1.15.2`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/css/CHANGELOG.md#1152)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/css@1.15.1...@vanilla-extract/css@1.15.2)

##### Patch Changes

-   [#&#8203;1335](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1335) [`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980) Thanks [@&#8203;askoufis](https://togithub.com/askoufis)! - Add `types` field to `package.json`

-   Updated dependencies \[[`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980)]:
    -   [@&#8203;vanilla-extract/private](https://togithub.com/vanilla-extract/private)[@&#8203;1](https://togithub.com/1).0.5

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/dynamic)</summary>

### [`v2.1.1`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/dynamic/CHANGELOG.md#211)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/dynamic@2.1.0...@vanilla-extract/dynamic@2.1.1)

##### Patch Changes

-   [#&#8203;1335](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1335) [`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980) Thanks [@&#8203;askoufis](https://togithub.com/askoufis)! - Add `types` field to `package.json`

-   Updated dependencies \[[`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980)]:
    -   [@&#8203;vanilla-extract/private](https://togithub.com/vanilla-extract/private)[@&#8203;1](https://togithub.com/1).0.5

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/vite-plugin)</summary>

### [`v4.0.10`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/vite-plugin/CHANGELOG.md#4010)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/vite-plugin@4.0.9...@vanilla-extract/vite-plugin@4.0.10)

##### Patch Changes

-   [#&#8203;1335](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1335) [`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980) Thanks [@&#8203;askoufis](https://togithub.com/askoufis)! - Add `types` field to `package.json`

-   Updated dependencies \[[`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;7](https://togithub.com/7).1.5

</details>

<details>
<summary>vanilla-extract-css/vanilla-extract (@&#8203;vanilla-extract/webpack-plugin)</summary>

### [`v2.3.9`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/webpack-plugin/CHANGELOG.md#239)

[Compare Source](https://togithub.com/vanilla-extract-css/vanilla-extract/compare/@vanilla-extract/webpack-plugin@2.3.8...@vanilla-extract/webpack-plugin@2.3.9)

##### Patch Changes

-   [#&#8203;1335](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1335) [`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980) Thanks [@&#8203;askoufis](https://togithub.com/askoufis)! - Add `types` field to `package.json`

-   Updated dependencies \[[`b8a99e4980710a34692034d5da43e584edbc3d17`](b8a99e4980)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;7](https://togithub.com/7).1.5

</details>

<details>
<summary>isaacs/node-glob (glob)</summary>

### [`v10.3.16`](https://togithub.com/isaacs/node-glob/compare/v10.3.15...b27429849a6e8bc11a042811a939d02cbf5b100d)

[Compare Source](https://togithub.com/isaacs/node-glob/compare/v10.3.15...v10.3.16)

</details>

<details>
<summary>pmndrs/jotai (jotai)</summary>

### [`v2.8.1`](https://togithub.com/pmndrs/jotai/compare/v2.8.0...a4dc98502c6541a86dc3961d614f1f9767ae0c7a)

[Compare Source](https://togithub.com/pmndrs/jotai/compare/v2.8.0...v2.8.1)

</details>

<details>
<summary>okonet/lint-staged (lint-staged)</summary>

### [`v15.2.4`](https://togithub.com/okonet/lint-staged/blob/HEAD/CHANGELOG.md#1524)

[Compare Source](https://togithub.com/okonet/lint-staged/compare/v15.2.2...v15.2.4)

##### Patch Changes

-   [`4f4537a`](4f4537a75e) Thanks [@&#8203;iiroj](https://togithub.com/iiroj)! - Fix release issue with previous version; update dependencies

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v3.57.1`](https://togithub.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3571)

[Compare Source](https://togithub.com/cloudflare/workers-sdk/compare/wrangler@3.57.0...wrangler@3.57.1)

##### Patch Changes

-   [#&#8203;5859](https://togithub.com/cloudflare/workers-sdk/pull/5859) [`f2ceb3a`](f2ceb3a5b9) Thanks [@&#8203;w-kuhn](https://togithub.com/w-kuhn)! - fix: queue consumer max_batch_timeout should accept a 0 value

-   [#&#8203;5862](https://togithub.com/cloudflare/workers-sdk/pull/5862) [`441a05f`](441a05f4df) Thanks [@&#8203;CarmenPopoviciu](https://togithub.com/CarmenPopoviciu)! - fix: `wrangler pages deploy` should fail if deployment was unsuccessful

    If a Pages project fails to deploy, `wrangler pages deploy` will log
    an error message, but exit successfully. It should instead throw a
    `FatalError`.

-   [#&#8203;5812](https://togithub.com/cloudflare/workers-sdk/pull/5812) [`d5e00e4`](d5e00e4a61) Thanks [@&#8203;thomasgauvin](https://togithub.com/thomasgauvin)! - fix: remove Hyperdrive warning for local development.

    Hyperdrive bindings are now supported when developing locally with Hyperdrive. We should update our logs to reflect this.

-   [#&#8203;5626](https://togithub.com/cloudflare/workers-sdk/pull/5626) [`a12b031`](a12b031e41) Thanks [@&#8203;RamIdeas](https://togithub.com/RamIdeas)! - chore: ignore workerd output (error: CODE_MOVED) not intended for end-user devs

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2OC4xMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-05-22 03:44:45 +00:00
forehalo
29e7fa1371 chore(server): cleanup expired sessions (#7018) 2024-05-22 03:31:41 +00:00
Brooooooklyn
278336168f fix(web): add Promise.withResolvers polyfill (#7003)
- Fix https://github.com/toeverything/blocksuite/issues/7098
2024-05-22 01:08:18 +00:00
pengx17
96cdb041c6 fix(electron): incorrect db rows docId when doing trim (#7008) 2024-05-21 13:53:16 +00:00
renovate
f05b51ab49 chore: Lock file maintenance (#6987)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2My41IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-05-21 05:08:34 +00:00
Brooooooklyn
41c7215ef1 chore(electron): temporary remove @sentry/electron due to version mismatch (#7001) 2024-05-21 04:30:22 +00:00
renovate
d898dae280 chore: bump up fake-indexeddb version to v6 (#6998)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fake-indexeddb](https://togithub.com/dumbmatter/fakeIndexedDB) | [`^5.0.2` -> `^6.0.0`](https://renovatebot.com/diffs/npm/fake-indexeddb/5.0.2/6.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fake-indexeddb/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fake-indexeddb/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fake-indexeddb/5.0.2/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fake-indexeddb/5.0.2/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [fake-indexeddb](https://togithub.com/dumbmatter/fakeIndexedDB) | [`5.0.2` -> `6.0.0`](https://renovatebot.com/diffs/npm/fake-indexeddb/5.0.2/6.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fake-indexeddb/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fake-indexeddb/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fake-indexeddb/5.0.2/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fake-indexeddb/5.0.2/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>dumbmatter/fakeIndexedDB (fake-indexeddb)</summary>

### [`v6.0.0`](https://togithub.com/dumbmatter/fakeIndexedDB/blob/HEAD/CHANGELOG.md#600-2024-05-20)

[Compare Source](https://togithub.com/dumbmatter/fakeIndexedDB/compare/v5.0.2...v6.0.0)

I made this a new major version because it includes a few changes that could in theory break something in some weird situations. But I think the vast majority of users (possibly all users?) won't have any issue upgrading.

-   [#&#8203;48](https://togithub.com/dumbmatter/fakeIndexedDB/issues/48) - Switched to using `DOMException` errors rather than normal errors, since that's what the IndexedDB spec says to use, and Node.js now has a built-in DOMException in all supported versions.

-   [#&#8203;93](https://togithub.com/dumbmatter/fakeIndexedDB/issues/93) - [@&#8203;bryan-codaio](https://togithub.com/bryan-codaio) made the latest tweak to event scheduling, this time improving how `setImmediate` is used in some situations where people are mocking timers.

-   [#&#8203;99](https://togithub.com/dumbmatter/fakeIndexedDB/issues/99) - [@&#8203;sjnho](https://togithub.com/sjnho) fixed handling of `Date` objects to account for some edge cases, including jsdom overriding the native `Date` constructor.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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 these updates 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/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2My41IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-05-21 03:53:30 +00:00
EYHN
d5c93f10ac fix(core): cant leave workspace (#6999) 2024-05-21 03:41:03 +00:00
EYHN
7fddd14f72 fix(core): fix active view with mouse (#6994) 2024-05-20 08:19:53 +00:00
2323 changed files with 128455 additions and 39764 deletions

View File

@@ -1,14 +1,8 @@
ENABLE_PLUGIN=
ENABLE_TEST_PROPERTIES=
ENABLE_BC_PROVIDER=
CHANGELOG_URL=
ENABLE_PRELOADING=
ENABLE_NEW_SETTING_MODAL=
ENABLE_SQLITE_PROVIDER=
ENABLE_NEW_SETTING_UNSTABLE_API=
ENABLE_NOTIFICATION_CENTER=
ENABLE_CLOUD=
ENABLE_MOVE_DATABASE=
SHOULD_REPORT_TRACE=
TRACE_REPORT_ENDPOINT=
CAPTCHA_SITE_KEY=
ENABLE_CAPTCHA=
CAPTCHA_SITE_KEY=
ENABLE_ENHANCE_SHARE_MODE=
ALLOW_LOCAL_WORKSPACE=
DEBUG_JOTAI=

View File

@@ -34,8 +34,8 @@ const createPattern = packageName => [
{
group: ['@affine/env/constant'],
message:
'Do not import from @affine/env/constant. Use `environment.isDesktop` instead',
importNames: ['isDesktop'],
'Do not import from @affine/env/constant. Use `environment.isElectron` instead',
importNames: ['isElectron'],
},
];
@@ -157,11 +157,6 @@ const config = {
message: "Import from '@blocksuite/global/utils'",
importNames: ['assertExists', 'assertEquals'],
},
{
group: ['react-router-dom'],
message: 'Use `useNavigateHelper` instead',
importNames: ['useNavigate'],
},
],
},
],
@@ -252,7 +247,8 @@ const config = {
'react-hooks/exhaustive-deps': [
'warn',
{
additionalHooks: 'useAsyncCallback',
additionalHooks:
'(useAsyncCallback|useCatchEventCallback|useDraggable|useDropTarget|useRefEffect)',
},
],
},

36
.github/actions/cluster-auth/action.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: 'Auth to Cluster'
description: 'Auth to the GCP Cluster'
inputs:
gcp-project-number:
description: 'GCP project number'
required: true
gcp-project-id:
description: 'GCP project id'
required: true
service-account:
description: 'Service account'
cluster-name:
description: 'Cluster name'
cluster-location:
description: 'Cluster location'
runs:
using: 'composite'
steps:
- id: auth
uses: google-github-actions/auth@v2
with:
workload_identity_provider: 'projects/${{ inputs.gcp-project-number }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions-helm-deploy'
service_account: '${{ inputs.service-account }}'
token_format: 'access_token'
project_id: '${{ inputs.gcp-project-id }}'
- name: 'Setup gcloud cli'
uses: 'google-github-actions/setup-gcloud@v2'
with:
install_components: 'gke-gcloud-auth-plugin'
- id: get-gke-credentials
shell: bash
run: |
gcloud container clusters get-credentials ${{ inputs.cluster-name }} --region ${{ inputs.cluster-location }} --project ${{ inputs.gcp-project-id }}

View File

@@ -24,24 +24,14 @@ runs:
shell: bash
run: |
echo "GIT_SHORT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"
- uses: azure/setup-helm@v4
- id: auth
uses: google-github-actions/auth@v2
- name: 'Auth to cluster'
uses: './.github/actions/cluster-auth'
with:
workload_identity_provider: 'projects/${{ inputs.gcp-project-number }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions-helm-deploy'
service_account: '${{ inputs.service-account }}'
token_format: 'access_token'
project_id: '${{ inputs.gcp-project-id }}'
- name: 'Setup gcloud cli'
uses: 'google-github-actions/setup-gcloud@v2'
with:
install_components: 'gke-gcloud-auth-plugin'
- id: get-gke-credentials
shell: bash
run: |
gcloud container clusters get-credentials ${{ inputs.cluster-name }} --region ${{ inputs.cluster-location }} --project ${{ inputs.gcp-project-id }}
gcp-project-number: '${{ inputs.gcp-project-number }}'
gcp-project-id: '${{ inputs.gcp-project-id }}'
service-account: '${{ inputs.service-account }}'
cluster-name: '${{ inputs.cluster-name }}'
cluster-location: '${{ inputs.cluster-location }}'
- name: Deploy
shell: bash

View File

@@ -14,6 +14,7 @@ const {
R2_ACCESS_KEY_ID,
R2_SECRET_ACCESS_KEY,
CAPTCHA_TURNSTILE_SECRET,
METRICS_CUSTOMER_IO_TOKEN,
COPILOT_OPENAI_API_KEY,
COPILOT_FAL_API_KEY,
COPILOT_UNSPLASH_API_KEY,
@@ -117,6 +118,8 @@ const createHelmCommand = ({ isDryRun }) => {
`--set-string graphql.app.oauth.google.clientSecret="${AFFINE_GOOGLE_CLIENT_SECRET}"`,
`--set-string graphql.app.payment.stripe.apiKey="${STRIPE_API_KEY}"`,
`--set-string graphql.app.payment.stripe.webhookKey="${STRIPE_WEBHOOK_KEY}"`,
`--set graphql.app.metrics.enabled=true`,
`--set-string graphql.app.metrics.customerIo.token="${METRICS_CUSTOMER_IO_TOKEN}"`,
`--set graphql.app.experimental.enableJwstCodec=${namespace === 'dev'}`,
`--set graphql.app.features.earlyAccessPreview=false`,
`--set graphql.app.features.syncClientVersionCheck=true`,

View File

@@ -156,7 +156,7 @@ runs:
- name: Install Playwright's dependencies
shell: bash
if: inputs.playwright-install == 'true'
run: yarn playwright install --with-deps chromium
run: yarn playwright install --with-deps chromium webkit
env:
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/node_modules/.cache/ms-playwright

View File

@@ -17,7 +17,7 @@ runs:
PACKAGE_VERSION=$(node -p "require('./package.json').version")
TIME_VERSION=$(date +%Y%m%d%H%M)
GIT_SHORT_HASH=$(git rev-parse --short HEAD)
APP_VERSION=$PACKAGE_VERSION-nightly-$TIME_VERSION-$GIT_SHORT_HASH
APP_VERSION=$PACKAGE_VERSION-nightly-$GIT_SHORT_HASH
fi
echo $APP_VERSION
echo "APP_VERSION=$APP_VERSION" >> "$GITHUB_OUTPUT"

View File

@@ -1,6 +1,8 @@
FROM openresty/openresty:1.25.3.1-0-buster
FROM openresty/openresty:1.25.3.2-0-buster
WORKDIR /app
COPY ./packages/frontend/web/dist ./dist
COPY ./packages/frontend/admin/dist ./admin
COPY ./packages/frontend/mobile/dist ./mobile
COPY ./.github/deployment/front/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY ./.github/deployment/front/affine.nginx.conf /etc/nginx/conf.d/affine.nginx.conf

View File

@@ -1,13 +1,42 @@
server {
listen 8080;
root /app/dist;
listen 8080;
location /admin {
root /app/;
index index.html;
try_files $uri/index.html $uri/ $uri /admin/index.html;
}
location / {
try_files $uri $uri/ /index.html;
}
location ~ ^/(_plugin|assets|imgs|js|plugins|static)/ {
root /app/dist/;
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
set $app_root_path /app/dist/;
set $mobile_root /app/dist/;
set_by_lua $affine_env 'return os.getenv("AFFINE_ENV")';
if ($affine_env = "dev") {
set $mobile_root /app/mobile/;
}
# https://gist.github.com/mariusom/6683dc52b1cad1a1f372e908bdb209d0
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {
set $app_root_path $mobile_root;
}
if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
set $app_root_path $mobile_root;
}
location / {
root $app_root_path;
index index.html;
try_files $uri $uri/ /index.html;
add_header Cache-Control "private, no-cache, no-store, max-age=0, must-revalidate";
}
error_page 404 /404.html;
location = /404.html {
internal;
}
}

View File

@@ -1,14 +1,15 @@
worker_processes 4;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pcre_jit on;
env AFFINE_ENV;
events {
worker_connections 1024;
worker_connections 1024;
}
http {
include mime.types;
log_format main '$remote_addr [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
include /etc/nginx/conf.d/*.conf;
include mime.types;
log_format main '$remote_addr [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
include /etc/nginx/conf.d/*.conf;
}

View File

@@ -2,6 +2,7 @@ FROM node:20-bookworm-slim
COPY ./packages/backend/server /app
COPY ./packages/frontend/web/dist /app/static
COPY ./packages/frontend/admin/dist /app/static/admin
WORKDIR /app
RUN apt-get update && \

View File

@@ -3,4 +3,4 @@ name: affine
description: AFFiNE cloud chart
type: application
version: 0.0.0
appVersion: "0.14.0"
appVersion: "0.16.0"

View File

@@ -3,7 +3,7 @@ name: graphql
description: AFFiNE GraphQL server
type: application
version: 0.0.0
appVersion: "0.14.0"
appVersion: "0.16.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -77,8 +77,6 @@ spec:
value: "{{ .Values.app.https }}"
- name: ENABLE_R2_OBJECT_STORAGE
value: "{{ .Values.app.objectStorage.r2.enabled }}"
- name: ENABLE_CAPTCHA
value: "{{ .Values.app.captcha.enabled }}"
- name: FEATURES_EARLY_ACCESS_PREVIEW
value: "{{ .Values.app.features.earlyAccessPreview }}"
- name: FEATURES_SYNC_CLIENT_VERSION_CHECK
@@ -191,18 +189,25 @@ spec:
name: "{{ .Values.app.oauth.github.secretName }}"
key: clientSecret
{{ end }}
{{ if .Values.app.metrics.enabled }}
- name: METRICS_CUSTOMER_IO_TOKEN
valueFrom:
secretKeyRef:
name: "{{ .Values.app.metrics.secretName }}"
key: customerIoSecret
{{ end }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /
path: /info
port: http
initialDelaySeconds: {{ .Values.probe.initialDelaySeconds }}
readinessProbe:
httpGet:
path: /
path: /info
port: http
initialDelaySeconds: {{ .Values.probe.initialDelaySeconds }}
resources:

View File

@@ -0,0 +1,9 @@
{{- if .Values.app.metrics.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.metrics.secretName }}"
type: Opaque
data:
customerIoSecret: {{ .Values.app.metrics.customerIo.token | b64enc }}
{{- end }}

View File

@@ -22,6 +22,8 @@ spec:
value: "{{ .Values.env }}"
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
- name: DEPLOYMENT_TYPE
value: "affine"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:

View File

@@ -4,6 +4,10 @@ metadata:
name: {{ include "graphql.fullname" . }}
labels:
{{- include "graphql.labels" . | nindent 4 }}
{{- with .Values.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
ports:

View File

@@ -20,12 +20,12 @@ app:
doc:
mergeInterval: "3000"
captcha:
enable: false
enabled: false
secretName: captcha
turnstile:
secret: ''
copilot:
enable: false
enabled: false
secretName: copilot
openai:
key: ''
@@ -54,6 +54,11 @@ app:
user: ''
password: ''
sender: 'noreply@toeverything.info'
metrics:
enabled: false
secretName: 'metrics'
customerIo:
token: ''
payment:
stripe:
secretName: 'stripe'

View File

@@ -3,7 +3,7 @@ name: sync
description: AFFiNE Sync Server
type: application
version: 0.0.0
appVersion: "0.14.0"
appVersion: "0.16.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -27,6 +27,9 @@ spec:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
ports:
- name: http
containerPort: {{ .Values.service.port }}

View File

@@ -60,13 +60,6 @@ spec:
name: affine-graphql
port:
number: {{ .Values.graphql.service.port }}
- path: /oauth
pathType: Prefix
backend:
service:
name: affine-graphql
port:
number: {{ .Values.graphql.service.port }}
- path: /
pathType: Prefix
backend:
@@ -74,4 +67,11 @@ spec:
name: affine-web
port:
number: {{ .Values.web.service.port }}
- path: /js/worker.(.+).js
pathType: ImplementationSpecific
backend:
service:
name: affine-web
port:
number: {{ .Values.web.service.port }}
{{- end }}

View File

@@ -36,14 +36,14 @@ graphql:
type: ClusterIP
port: 3000
annotations:
cloud.google.com/backend-config: '{"default": "affine-backendconfig"}'
cloud.google.com/backend-config: '{"default": "affine-api-backendconfig"}'
sync:
service:
type: ClusterIP
port: 3010
annotations:
cloud.google.com/backend-config: '{"default": "affine-backendconfig"}'
cloud.google.com/backend-config: '{"default": "affine-api-backendconfig"}'
web:
service:

View File

@@ -0,0 +1,10 @@
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: "affine-api-backendconfig"
spec:
healthCheck:
timeoutSec: 1
type: HTTP
requestPath: /info

View File

@@ -27,7 +27,8 @@
"matchPackagePatterns": ["^@blocksuite"],
"excludePackageNames": ["@blocksuite/icons"],
"rangeStrategy": "replace",
"followTag": "canary"
"followTag": "canary",
"enabled": false
},
{
"groupName": "all non-major dependencies",

View File

@@ -6,6 +6,11 @@ on:
flavor:
type: string
required: true
workflow_dispatch:
inputs:
flavor:
type: string
required: false
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
@@ -53,7 +58,6 @@ jobs:
run: yarn nx build @affine/web --skip-nx-cache
env:
BUILD_TYPE: ${{ github.event.inputs.flavor }}
SHOULD_REPORT_TRACE: false
PUBLIC_PATH: '/'
SELF_HOSTED: true
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
@@ -66,6 +70,31 @@ jobs:
path: ./packages/frontend/web/dist
if-no-files-found: error
build-admin-selfhost:
name: Build @affine/admin selfhost
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Core
run: yarn nx build @affine/admin --skip-nx-cache
env:
BUILD_TYPE: ${{ github.event.inputs.flavor }}
PUBLIC_PATH: '/admin/'
SELF_HOSTED: true
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
- name: Upload admin artifact
uses: actions/upload-artifact@v4
with:
name: selfhost-admin
path: ./packages/frontend/admin/dist
if-no-files-found: error
build-server-native:
name: Build Server native - ${{ matrix.targets.name }}
runs-on: ubuntu-latest
@@ -108,6 +137,7 @@ jobs:
needs:
- build-server
- build-web-selfhost
- build-admin-selfhost
- build-server-native
steps:
- uses: actions/checkout@v4
@@ -171,6 +201,12 @@ jobs:
name: selfhost-web
path: ./packages/frontend/web/dist
- name: Download selfhost admin artifact
uses: actions/download-artifact@v4
with:
name: selfhost-admin
path: ./packages/frontend/admin/dist
- name: Install Node.js dependencies
run: |
yarn config set --json supportedArchitectures.cpu '["x64", "arm64", "arm"]'
@@ -185,7 +221,7 @@ jobs:
uses: ./.github/actions/setup-version
- name: Build graphql Dockerfile
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
context: .
push: true

View File

@@ -143,6 +143,36 @@ jobs:
path: ./test-results
if-no-files-found: ignore
e2e-mobile-test:
name: E2E Mobile Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: mobile
IN_CI_TEST: true
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4, 5]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
playwright-install: true
electron-install: false
full-cache: true
- name: Run playwright tests
run: yarn workspace @affine-test/affine-mobile e2e --forbid-only --shard=${{ matrix.shard }}/${{ strategy.job-total }}
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-mobile-${{ matrix.shard }}
path: ./test-results
if-no-files-found: ignore
e2e-migration-test:
name: E2E Migration Test
runs-on: ubuntu-latest
@@ -165,7 +195,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-migration
path: ./tests/affine-migration/test-results
path: ./test-results
if-no-files-found: ignore
unit-test:
@@ -180,7 +210,7 @@ jobs:
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
electron-install: true
full-cache: true
- name: Download affine.linux-x64-gnu.node
@@ -351,7 +381,7 @@ jobs:
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_OPENAI_API_KEY: 'use_fake_openai_api_key'
- name: Upload server test coverage results
uses: codecov/codecov-action@v4
@@ -443,13 +473,15 @@ jobs:
${{ matrix.tests.script }}
env:
DEV_SERVER_URL: http://localhost:8080
COPILOT_OPENAI_API_KEY: 1
COPILOT_FAL_API_KEY: 1
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-server
path: ./tests/affine-cloud/test-results
path: ./test-results
if-no-files-found: ignore
desktop-test:
@@ -569,6 +601,7 @@ jobs:
- lint
- check-yarn-binary
- e2e-test
- e2e-mobile-test
- e2e-migration-test
- unit-test
- server-test

View File

@@ -21,6 +21,47 @@ permissions:
packages: 'write'
jobs:
output-prev-version:
name: Output previous version
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
outputs:
prev: ${{ steps.print.outputs.version }}
namespace: ${{ steps.print.outputs.namespace }}
steps:
- uses: actions/checkout@v4
- name: Auth to Cluster
uses: './.github/actions/cluster-auth'
with:
gcp-project-number: ${{ secrets.GCP_PROJECT_NUMBER }}
gcp-project-id: ${{ secrets.GCP_PROJECT_ID }}
service-account: ${{ secrets.GCP_HELM_DEPLOY_SERVICE_ACCOUNT }}
cluster-name: ${{ secrets.GCP_CLUSTER_NAME }}
cluster-location: ${{ secrets.GCP_CLUSTER_LOCATION }}
- name: Output previous version
id: print
run: |
namespace=""
if [ "${{ github.event.inputs.flavor }}" = "canary" ]; then
namespace="dev"
elif [ "${{ github.event.inputs.flavor }}" = "beta" ]; then
namespace="beta"
elif [ "${{ github.event.inputs.flavor }}" = "stable" ]; then
namespace="production"
else
echo "Invalid flavor: ${{ github.event.inputs.flavor }}"
exit 1
fi
echo "Namespace set to: $namespace"
# Get the previous version from the deployment
prev_version=$(kubectl get deployment -n $namespace affine-graphql -o=jsonpath='{.spec.template.spec.containers[0].image}' | awk -F '-' '{print $3}')
echo "Previous version: $prev_version"
echo "version=$prev_version" >> $GITHUB_OUTPUT
echo "namesapce=$namespace" >> $GITHUB_OUTPUT
build-server-image:
name: Build Server Image
uses: ./.github/workflows/build-server-image.yml
@@ -45,11 +86,10 @@ jobs:
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
BUILD_TYPE: ${{ github.event.inputs.flavor }}
SHOULD_REPORT_TRACE: true
TRACE_REPORT_ENDPOINT: ${{ secrets.TRACE_REPORT_ENDPOINT }}
CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: 'affine-web'
SENTRY_RELEASE: ${{ steps.version.outputs.APP_VERSION }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
PERFSEE_TOKEN: ${{ secrets.PERFSEE_TOKEN }}
@@ -61,11 +101,77 @@ jobs:
path: ./packages/frontend/web/dist
if-no-files-found: error
build-admin:
name: Build @affine/admin
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Admin
run: yarn nx build @affine/admin --skip-nx-cache
env:
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
BUILD_TYPE: ${{ github.event.inputs.flavor }}
CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: 'affine-admin'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
PERFSEE_TOKEN: ${{ secrets.PERFSEE_TOKEN }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
- name: Upload admin artifact
uses: actions/upload-artifact@v4
with:
name: admin
path: ./packages/frontend/admin/dist
if-no-files-found: error
build-mobile:
name: Build @affine/mobile
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Mobile
run: yarn nx build @affine/mobile --skip-nx-cache
env:
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
BUILD_TYPE: ${{ github.event.inputs.flavor }}
CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: 'affine-mobile'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
PERFSEE_TOKEN: ${{ secrets.PERFSEE_TOKEN }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
- name: Upload mobile artifact
uses: actions/upload-artifact@v4
with:
name: mobile
path: ./packages/frontend/mobile/dist
if-no-files-found: error
build-frontend-image:
name: Build Frontend Image
runs-on: ubuntu-latest
needs:
- build-web
- build-admin
- build-mobile
steps:
- uses: actions/checkout@v4
- name: Download web artifact
@@ -73,6 +179,16 @@ jobs:
with:
name: web
path: ./packages/frontend/web/dist
- name: Download admin artifact
uses: actions/download-artifact@v4
with:
name: admin
path: ./packages/frontend/admin/dist
- name: Download mobile artifact
uses: actions/download-artifact@v4
with:
name: mobile
path: ./packages/frontend/mobile/dist
- name: Setup env
run: |
echo "GIT_SHORT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"
@@ -94,7 +210,7 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build front Dockerfile
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
context: .
push: true
@@ -137,6 +253,7 @@ jobs:
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_UNSPLASH_API_KEY: ${{ secrets.COPILOT_UNSPLASH_API_KEY }}
METRICS_CUSTOMER_IO_TOKEN: ${{ secrets.METRICS_CUSTOMER_IO_TOKEN }}
MAILER_SENDER: ${{ secrets.OAUTH_EMAIL_SENDER }}
MAILER_USER: ${{ secrets.OAUTH_EMAIL_LOGIN }}
MAILER_PASSWORD: ${{ secrets.OAUTH_EMAIL_PASSWORD }}
@@ -155,3 +272,98 @@ jobs:
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
STRIPE_WEBHOOK_KEY: ${{ secrets.STRIPE_WEBHOOK_KEY }}
STATIC_IP_NAME: ${{ secrets.STATIC_IP_NAME }}
deploy-done:
needs:
- output-prev-version
- build-web
- build-admin
- build-mobile
- build-frontend-image
- build-server-image
- deploy
if: always()
runs-on: ubuntu-latest
name: Post deploy message
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/checkout@v4
with:
repository: toeverything/blocksuite
path: blocksuite
fetch-depth: 0
fetch-tags: true
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: 'workspaces focus @affine/changelog'
electron-install: false
- name: Output deployed info
if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
id: set_info
run: |
if [ "${{ github.event.inputs.flavor }}" = "canary" ]; then
echo "deployed_url=https://affine.fail" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.flavor }}" = "beta" ]; then
echo "deployed_url=https://insider.affine.pro" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.flavor }}" = "stable" ]; then
echo "deployed_url=https://app.affine.pro" >> $GITHUB_OUTPUT
else
exit 1
fi
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Post Success event to a Slack channel
if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
run: node ./tools/changelog/index.js
env:
CHANNEL_ID: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
DEPLOYED_URL: ${{ steps.set_info.outputs.deployed_url }}
PREV_VERSION: ${{ needs.output-prev-version.outputs.prev }}
NAMESPACE: ${{ needs.output-prev-version.outputs.namespace }}
DEPLOYMENT: 'SERVER'
FLAVOR: ${{ github.event.inputs.flavor }}
BLOCKSUITE_REPO_PATH: ${{ github.workspace }}/blocksuite
- name: Post Failed event to a Slack channel
id: failed-slack
uses: slackapi/slack-github-action@v1.27.0
if: ${{ always() && contains(needs.*.result, 'failure') }}
with:
channel-id: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"text": "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy failed `${{ github.event.inputs.flavor }}`>",
"type": "mrkdwn"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
- name: Post Cancel event to a Slack channel
id: cancel-slack
uses: slackapi/slack-github-action@v1.27.0
if: ${{ always() && contains(needs.*.result, 'cancelled') && !contains(needs.*.result, 'failure') }}
with:
channel-id: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"text": "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy cancelled `${{ github.event.inputs.flavor }}`>",
"type": "mrkdwn"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}

View File

@@ -27,6 +27,8 @@ permissions:
actions: write
contents: write
security-events: write
id-token: write
attestations: write
env:
BUILD_TYPE: ${{ github.event.inputs.build-type }}
@@ -56,6 +58,7 @@ jobs:
SENTRY_PROJECT: 'affine'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_RELEASE: ${{ steps.version.outputs.APP_VERSION }}
RELEASE_VERSION: ${{ steps.version.outputs.APP_VERSION }}
SKIP_NX_CACHE: 'true'
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
@@ -158,6 +161,20 @@ jobs:
mv packages/frontend/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.zip
mv packages/frontend/electron/out/*/make/*.AppImage ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.appimage
- uses: actions/attest-build-provenance@v1
if: ${{ matrix.spec.platform == 'darwin' }}
with:
subject-path: |
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
- uses: actions/attest-build-provenance@v1
if: ${{ matrix.spec.platform == 'linux' }}
with:
subject-path: |
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.zip
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.appimage
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
@@ -254,6 +271,9 @@ jobs:
FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
timeout-minutes: 10
uses: ./.github/actions/setup-node
@@ -324,6 +344,13 @@ jobs:
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.exe
mv packages/frontend/electron/out/*/make/nsis.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.nsis.exe
- uses: actions/attest-build-provenance@v1
with:
subject-path: |
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.zip
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.exe
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.nsis.exe
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
@@ -364,7 +391,7 @@ jobs:
path: ./
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
- name: Generate Release yml
run: |
node ./packages/frontend/electron/scripts/generate-yml.js

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Publish
uses: cloudflare/wrangler-action@v3.5.0
uses: cloudflare/wrangler-action@v3.7.0
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}

2
.nvmrc
View File

@@ -1 +1 @@
20.13.1
20.17.0

View File

@@ -12,6 +12,7 @@ storybook-static
web-static
public
packages/backend/server/src/schema.gql
packages/backend/server/src/fundamentals/error/errors.gen.ts
packages/frontend/i18n/src/i18n-generated.ts
packages/frontend/graphql/src/graphql/index.ts
tests/affine-legacy/**/static

View File

@@ -0,0 +1,39 @@
diff --git a/dist/yjs.cjs b/dist/yjs.cjs
index d2dc06ae11a6eb44f8c8445d4298c0e89c3e4da2..a30ab04fa9f3b77666939caa88335c68c40f194c 100644
--- a/dist/yjs.cjs
+++ b/dist/yjs.cjs
@@ -414,7 +414,7 @@ const equalDeleteSets = (ds1, ds2) => {
*/
-const generateNewClientId = random__namespace.uint32;
+const generateNewClientId = random__namespace.uint53;
/**
* @typedef {Object} DocOpts
diff --git a/dist/yjs.mjs b/dist/yjs.mjs
index 20c9e58c32bcb6bc714200a2561fd1f542c49523..14267e5e36d9781ca3810d5b70ff8c051dac779e 100644
--- a/dist/yjs.mjs
+++ b/dist/yjs.mjs
@@ -378,7 +378,7 @@ const equalDeleteSets = (ds1, ds2) => {
*/
-const generateNewClientId = random.uint32;
+const generateNewClientId = random.uint53;
/**
* @typedef {Object} DocOpts
diff --git a/src/utils/Doc.js b/src/utils/Doc.js
index 62643617c86e57c64dd9babdb792fa8888357ec0..4df5048ab12af1ae0f1154da67f06dce1fda7b49 100644
--- a/src/utils/Doc.js
+++ b/src/utils/Doc.js
@@ -20,7 +20,7 @@ import * as map from 'lib0/map'
import * as array from 'lib0/array'
import * as promise from 'lib0/promise'
-export const generateNewClientId = random.uint32
+export const generateNewClientId = random.uint53
/**
* @typedef {Object} DocOpts

File diff suppressed because one or more lines are too long

925
.yarn/releases/yarn-4.4.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -12,4 +12,4 @@ npmPublishAccess: public
npmPublishRegistry: "https://registry.npmjs.org"
yarnPath: .yarn/releases/yarn-4.2.2.cjs
yarnPath: .yarn/releases/yarn-4.4.1.cjs

746
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -18,7 +18,7 @@ rand = "0.8"
serde = "1"
serde_json = "1"
sha3 = "0.10"
sqlx = { version = "0.7", default-features = false, features = ["chrono", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls"] }
sqlx = { version = "0.8", default-features = false, features = ["chrono", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls"] }
tiktoken-rs = "0.5"
tokio = "1.37"
uuid = "1.8"

View File

@@ -23,7 +23,7 @@
<div align="center">
<a href="https://affine.pro">Home Page</a> |
<a href="https://discord.com/invite/yz6tGVsf5p">Discord</a> |
<a href="https://discord.gg/whd5mjYqVw">Discord</a> |
<a href="https://app.affine.pro">Live Demo</a> |
<a href="https://affine.pro/blog/">Blog</a> |
<a href="https://docs.affine.pro/docs/">Documentation</a>
@@ -176,6 +176,12 @@ Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testi
## License
### Editions
- AFFiNE Community Edition (CE) is the current available version, it's free for self-host under the MIT license.
- AFFiNE Enterprise Edition (EE) is yet to be published, it will have more advanced features and enterprise-oriented offerings, including but not exclusive to rebranding and SSO, advanced admin and audit, etc., you may refer to https://affine.pro/pricing for more information
See [LICENSE] for details.
[all-contributors-badge]: https://img.shields.io/github/contributors/toeverything/AFFiNE
@@ -185,7 +191,7 @@ See [LICENSE] for details.
[jobs available]: ./docs/jobs.md
[latest packages]: https://github.com/toeverything/AFFiNE/pkgs/container/affine-self-hosted
[contributor license agreement]: https://github.com/toeverything/affine/edit/canary/.github/CLA.md
[rust-version-icon]: https://img.shields.io/badge/Rust-1.77.2-dea584
[rust-version-icon]: https://img.shields.io/badge/Rust-1.79.0-dea584
[stars-icon]: https://img.shields.io/github/stars/toeverything/AFFiNE.svg?style=flat&logo=github&colorB=red&label=stars
[codecov]: https://codecov.io/gh/toeverything/affine/branch/canary/graphs/badge.svg?branch=canary
[node-version-icon]: https://img.shields.io/badge/node-%3E=18.16.1-success

View File

@@ -6,8 +6,8 @@ We recommend users to always use the latest major version. Security updates will
| Version | Supported |
| --------------- | ------------------ |
| 0.13.x (stable) | :white_check_mark: |
| < 0.13.x | :x: |
| 0.15.x (stable) | :white_check_mark: |
| < 0.15.x | :x: |
## Reporting a Vulnerability

View File

@@ -9,7 +9,7 @@
"devDependencies": {
"nodemon": "^3.1.0",
"serve": "^14.2.1",
"typedoc": "^0.25.13"
"typedoc": "^0.26.0"
},
"nodemonConfig": {
"watch": [
@@ -19,5 +19,5 @@
],
"ext": "ts,md,json"
},
"version": "0.14.0"
"version": "0.16.0"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/monorepo",
"version": "0.14.0",
"version": "0.16.0",
"private": true,
"author": "toeverything",
"license": "MIT",
@@ -56,26 +56,26 @@
"@affine/cli": "workspace:*",
"@commitlint/cli": "^19.2.1",
"@commitlint/config-conventional": "^19.1.0",
"@faker-js/faker": "^8.4.1",
"@faker-js/faker": "^9.0.0",
"@istanbuljs/schema": "^0.1.3",
"@magic-works/i18n-codegen": "^0.6.0",
"@nx/vite": "19.0.4",
"@playwright/test": "^1.44.0",
"@nx/vite": "^19.5.3",
"@playwright/test": "=1.46.1",
"@taplo/cli": "^0.7.0",
"@testing-library/react": "^15.0.0",
"@testing-library/react": "^16.0.0",
"@toeverything/infra": "workspace:*",
"@types/affine__env": "workspace:*",
"@types/eslint": "^8.56.7",
"@types/eslint": "^9.0.0",
"@types/node": "^20.12.7",
"@typescript-eslint/eslint-plugin": "^7.6.0",
"@typescript-eslint/parser": "^7.6.0",
"@vanilla-extract/vite-plugin": "^4.0.7",
"@vanilla-extract/webpack-plugin": "^2.3.7",
"@vitejs/plugin-react-swc": "^3.6.0",
"@vitest/coverage-istanbul": "1.6.0",
"@vitest/ui": "1.6.0",
"@vitest/coverage-istanbul": "2.0.5",
"@vitest/ui": "2.0.5",
"cross-env": "^7.0.3",
"electron": "^30.0.0",
"electron": "^31.0.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import-x": "^0.5.0",
@@ -87,29 +87,30 @@
"eslint-plugin-unicorn": "^52.0.0",
"eslint-plugin-unused-imports": "^3.1.0",
"eslint-plugin-vue": "^9.24.1",
"fake-indexeddb": "5.0.2",
"happy-dom": "^14.7.1",
"fake-indexeddb": "6.0.0",
"happy-dom": "^15.0.0",
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
"msw": "^2.3.0",
"nanoid": "^5.0.7",
"nx": "^19.0.0",
"nyc": "^15.1.0",
"oxlint": "0.3.5",
"prettier": "^3.2.5",
"nyc": "^17.0.0",
"oxlint": "0.9.2",
"prettier": "^3.3.3",
"semver": "^7.6.0",
"serve": "^14.2.1",
"string-width": "^7.1.0",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
"unplugin-swc": "^1.4.5",
"vite": "^5.2.8",
"vite-plugin-istanbul": "^6.0.0",
"vite-plugin-static-copy": "^1.0.2",
"vitest": "1.6.0",
"vitest-fetch-mock": "^0.2.2",
"vitest-mock-extended": "^1.3.1"
"vitest": "2.0.5",
"vitest-fetch-mock": "^0.3.0",
"vitest-mock-extended": "^2.0.0"
},
"packageManager": "yarn@4.2.2",
"packageManager": "yarn@4.4.1",
"resolutions": {
"array-buffer-byte-length": "npm:@nolyfill/array-buffer-byte-length@latest",
"array-includes": "npm:@nolyfill/array-includes@latest",
@@ -168,7 +169,6 @@
"which-typed-array": "npm:@nolyfill/which-typed-array@latest",
"@reforged/maker-appimage/@electron-forge/maker-base": "7.4.0",
"macos-alias": "npm:@napi-rs/macos-alias@0.0.4",
"fs-xattr": "npm:@napi-rs/xattr@latest",
"@radix-ui/react-dialog": "npm:@radix-ui/react-dialog@latest"
"fs-xattr": "npm:@napi-rs/xattr@latest"
}
}

View File

@@ -1,20 +1,20 @@
/* auto-generated by NAPI-RS */
/* eslint-disable */
export class Tokenizer {
export declare class Tokenizer {
count(content: string, allowedSpecial?: Array<string> | undefined | null): number
}
export function fromModelName(modelName: string): Tokenizer | null
export declare function fromModelName(modelName: string): Tokenizer | null
export function getMime(input: Uint8Array): string
export declare function getMime(input: Uint8Array): string
/**
* Merge updates in form like `Y.applyUpdate(doc, update)` way and return the
* result binary.
*/
export function mergeUpdatesInApplyWay(updates: Array<Buffer>): Buffer
export declare function mergeUpdatesInApplyWay(updates: Array<Buffer>): Buffer
export function mintChallengeResponse(resource: string, bits?: number | undefined | null): Promise<string>
export declare function mintChallengeResponse(resource: string, bits?: number | undefined | null): Promise<string>
export function verifyChallengeResponse(response: string, bits: number, resource: string): Promise<boolean>
export declare function verifyChallengeResponse(response: string, bits: number, resource: string): Promise<boolean>

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/server-native",
"version": "0.14.0",
"version": "0.16.0",
"engines": {
"node": ">= 10.16.0 < 11 || >= 11.8.0"
},
@@ -33,12 +33,12 @@
"build:debug": "napi build"
},
"devDependencies": {
"@napi-rs/cli": "3.0.0-alpha.55",
"@napi-rs/cli": "3.0.0-alpha.62",
"lib0": "^0.2.93",
"nx": "^19.0.0",
"nx-cloud": "^19.0.0",
"tiktoken": "^1.0.15",
"tinybench": "^2.8.0",
"yjs": "^13.6.14"
"yjs": "patch:yjs@npm%3A13.6.18#~/.yarn/patches/yjs-npm-13.6.18-ad0d5f7c43.patch"
}
}

View File

@@ -1 +1,2 @@
.env
static/

View File

@@ -0,0 +1,3 @@
-- AlterTable
ALTER TABLE "user_subscriptions" ALTER COLUMN "stripe_subscription_id" DROP NOT NULL,
ALTER COLUMN "end" DROP NOT NULL;

View File

@@ -0,0 +1,23 @@
-- CreateEnum
CREATE TYPE "RuntimeConfigType" AS ENUM ('String', 'Number', 'Boolean', 'Object', 'Array');
-- CreateTable
CREATE TABLE "app_runtime_settings" (
"id" VARCHAR NOT NULL,
"type" "RuntimeConfigType" NOT NULL,
"module" VARCHAR NOT NULL,
"key" VARCHAR NOT NULL,
"value" JSON NOT NULL,
"description" TEXT NOT NULL,
"updated_at" TIMESTAMPTZ(6) NOT NULL,
"deleted_at" TIMESTAMPTZ(6),
"last_updated_by" VARCHAR(36),
CONSTRAINT "app_runtime_settings_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "app_runtime_settings_module_key_key" ON "app_runtime_settings"("module", "key");
-- AddForeignKey
ALTER TABLE "app_runtime_settings" ADD CONSTRAINT "app_runtime_settings_last_updated_by_fkey" FOREIGN KEY ("last_updated_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;

View File

@@ -0,0 +1,4 @@
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ADD COLUMN "deleted_at" TIMESTAMPTZ(6),
ADD COLUMN "messageCost" INTEGER NOT NULL DEFAULT 0,
ADD COLUMN "tokenCost" INTEGER NOT NULL DEFAULT 0;

View File

@@ -0,0 +1,8 @@
/*
Warnings:
- Made the column `model` on table `ai_prompts_metadata` required. This step will fail if there are existing NULL values in that column.
*/
-- AlterTable
ALTER TABLE "ai_prompts_metadata" ALTER COLUMN "model" SET NOT NULL;

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ADD COLUMN "parent_session_id" VARCHAR(36);

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "ai_prompts_metadata" ADD COLUMN "config" JSON;

View File

@@ -0,0 +1,146 @@
-- AlterTable
ALTER TABLE "_data_migrations" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "started_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "finished_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "ai_prompts_messages" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "ai_prompts_metadata" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "ai_sessions_messages" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "session_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "doc_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "deleted_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "parent_session_id" SET DATA TYPE VARCHAR;
-- AlterTable
ALTER TABLE "app_runtime_settings" ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "deleted_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "last_updated_by" SET DATA TYPE VARCHAR;
-- AlterTable
ALTER TABLE "features" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "multiple_users_sessions" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "snapshot_histories"
ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "guid" SET DATA TYPE VARCHAR,
ALTER COLUMN "timestamp" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "snapshots" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "updates" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_connected_accounts" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_features" ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_invoices" ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_sessions" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "session_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_stripe_customers" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "user_subscriptions" ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "start" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "end" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "next_bill_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "canceled_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "trial_start" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "trial_end" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "users" ALTER COLUMN "name" SET DATA TYPE VARCHAR,
ALTER COLUMN "email" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "verification_tokens" ALTER COLUMN "token" SET DATA TYPE VARCHAR,
ALTER COLUMN "expiresAt" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "workspace_features" ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "workspace_page_user_permissions"
ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "page_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "workspace_pages" ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "page_id" SET DATA TYPE VARCHAR;
-- AlterTable
ALTER TABLE "workspace_user_permissions" ALTER COLUMN "id" SET DATA TYPE VARCHAR,
ALTER COLUMN "workspace_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "user_id" SET DATA TYPE VARCHAR,
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- AlterTable
ALTER TABLE "workspaces" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMP(3);
-- DropTable
DROP TABLE "accounts";
-- DropTable
DROP TABLE "blobs";
-- DropTable
DROP TABLE "new_features_waiting_list";
-- DropTable
DROP TABLE "optimized_blobs";
-- DropTable
DROP TABLE "sessions";
-- DropTable
DROP TABLE "user_workspace_permissions";
-- DropTable
DROP TABLE "verificationtokens";

View File

@@ -0,0 +1,95 @@
/*
Warnings:
- The primary key for the `snapshot_histories` table will be changed. If it partially fails, the table could be left without primary key constraint.
*/
-- AlterTable
ALTER TABLE "_data_migrations" ALTER COLUMN "started_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "finished_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "ai_prompts_messages" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "ai_prompts_metadata" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "ai_sessions_messages" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "deleted_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "app_runtime_settings" ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "deleted_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "features" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "multiple_users_sessions" ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "snapshot_histories" ALTER COLUMN "timestamp" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "snapshots" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "updates" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_connected_accounts" ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_features" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_invoices" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_sessions" ALTER COLUMN "expires_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_stripe_customers" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "user_subscriptions" ALTER COLUMN "start" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "end" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "next_bill_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "canceled_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "trial_start" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "trial_end" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "updated_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "users" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "email_verified" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "verification_tokens" ALTER COLUMN "expiresAt" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "workspace_features" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3),
ALTER COLUMN "expired_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "workspace_page_user_permissions" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "workspace_user_permissions" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);
-- AlterTable
ALTER TABLE "workspaces" ALTER COLUMN "created_at" SET DATA TYPE TIMESTAMPTZ(3);

View File

@@ -0,0 +1,3 @@
-- AlterTable
ALTER TABLE "ai_prompts_metadata" ADD COLUMN "modified" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "updated_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

View File

@@ -0,0 +1,13 @@
-- CreateTable
CREATE TABLE "user_snapshots" (
"user_id" VARCHAR NOT NULL,
"id" VARCHAR NOT NULL,
"blob" BYTEA NOT NULL,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(3) NOT NULL,
CONSTRAINT "user_snapshots_pkey" PRIMARY KEY ("user_id","id")
);
-- AddForeignKey
ALTER TABLE "user_snapshots" ADD CONSTRAINT "user_snapshots_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -0,0 +1,14 @@
/*
Warnings:
- The primary key for the `updates` table will be changed. If it partially fails, the table could be left without primary key constraint.
*/
-- AlterTable
ALTER TABLE "snapshots" ALTER COLUMN "seq" DROP NOT NULL;
-- AlterTable
ALTER TABLE "updates" DROP CONSTRAINT "updates_pkey",
ALTER COLUMN "created_at" DROP DEFAULT,
ALTER COLUMN "seq" DROP NOT NULL,
ADD CONSTRAINT "updates_pkey" PRIMARY KEY ("workspace_id", "guid", "created_at");

View File

@@ -0,0 +1,21 @@
-- AlterTable
ALTER TABLE "snapshot_histories" ADD COLUMN "created_by" VARCHAR;
-- AlterTable
ALTER TABLE "snapshots" ADD COLUMN "created_by" VARCHAR,
ADD COLUMN "updated_by" VARCHAR;
-- AlterTable
ALTER TABLE "updates" ADD COLUMN "created_by" VARCHAR;
-- AddForeignKey
ALTER TABLE "snapshots" ADD CONSTRAINT "snapshots_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "snapshots" ADD CONSTRAINT "snapshots_updated_by_fkey" FOREIGN KEY ("updated_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "updates" ADD CONSTRAINT "updates_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "snapshot_histories" ADD CONSTRAINT "snapshot_histories_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;

View File

@@ -1,3 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "postgresql"
provider = "postgresql"

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/server",
"private": true,
"version": "0.14.0",
"version": "0.16.0",
"description": "Affine Node.js server",
"type": "module",
"bin": {
@@ -15,15 +15,17 @@
"test:coverage": "c8 ava --concurrency 1 --serial",
"postinstall": "prisma generate",
"data-migration": "node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts",
"predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run"
"predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run",
"predeploy:ts": "yarn prisma migrate deploy && node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts run"
},
"dependencies": {
"@apollo/server": "^4.10.2",
"@aws-sdk/client-s3": "^3.552.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.18.0",
"@aws-sdk/client-s3": "^3.620.0",
"@fal-ai/serverless-client": "^0.14.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.19.0",
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.2.0",
"@google-cloud/opentelemetry-resource-util": "^2.2.0",
"@keyv/redis": "^2.8.4",
"@keyv/redis": "^3.0.0",
"@nestjs/apollo": "^12.1.0",
"@nestjs/common": "^10.3.7",
"@nestjs/core": "^10.3.7",
@@ -32,64 +34,67 @@
"@nestjs/platform-express": "^10.3.7",
"@nestjs/platform-socket.io": "^10.3.7",
"@nestjs/schedule": "^4.0.1",
"@nestjs/serve-static": "^4.0.2",
"@nestjs/throttler": "5.1.2",
"@nestjs/throttler": "6.2.1",
"@nestjs/websockets": "^10.3.7",
"@node-rs/argon2": "^1.8.0",
"@node-rs/crc32": "^1.10.0",
"@node-rs/jsonwebtoken": "^0.5.2",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/core": "^1.24.1",
"@opentelemetry/exporter-prometheus": "^0.51.1",
"@opentelemetry/exporter-zipkin": "^1.24.1",
"@opentelemetry/host-metrics": "^0.35.1",
"@opentelemetry/instrumentation": "^0.51.1",
"@opentelemetry/instrumentation-graphql": "^0.40.0",
"@opentelemetry/instrumentation-http": "^0.51.1",
"@opentelemetry/instrumentation-ioredis": "^0.40.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.37.1",
"@opentelemetry/instrumentation-socket.io": "^0.39.0",
"@opentelemetry/resources": "^1.24.1",
"@opentelemetry/sdk-metrics": "^1.24.1",
"@opentelemetry/sdk-node": "^0.51.1",
"@opentelemetry/sdk-trace-node": "^1.24.1",
"@opentelemetry/semantic-conventions": "^1.24.1",
"@prisma/client": "^5.12.1",
"@prisma/instrumentation": "^5.12.1",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/core": "^1.25.0",
"@opentelemetry/exporter-prometheus": "^0.53.0",
"@opentelemetry/exporter-zipkin": "^1.25.0",
"@opentelemetry/host-metrics": "^0.35.2",
"@opentelemetry/instrumentation": "^0.53.0",
"@opentelemetry/instrumentation-graphql": "^0.43.0",
"@opentelemetry/instrumentation-http": "^0.53.0",
"@opentelemetry/instrumentation-ioredis": "^0.43.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.40.0",
"@opentelemetry/instrumentation-socket.io": "^0.42.0",
"@opentelemetry/resources": "^1.25.0",
"@opentelemetry/sdk-metrics": "^1.25.0",
"@opentelemetry/sdk-node": "^0.53.0",
"@opentelemetry/sdk-trace-node": "^1.25.0",
"@opentelemetry/semantic-conventions": "^1.25.0",
"@prisma/client": "^5.15.0",
"@prisma/instrumentation": "^5.15.0",
"@socket.io/redis-adapter": "^8.3.0",
"cookie-parser": "^1.4.6",
"dotenv": "^16.4.5",
"dotenv-cli": "^7.4.1",
"express": "^4.19.2",
"fast-xml-parser": "^4.4.0",
"get-stream": "^9.0.1",
"graphql": "^16.8.1",
"graphql-scalars": "^1.23.0",
"graphql-type-json": "^0.3.2",
"graphql-upload": "^16.0.2",
"html-validate": "^8.20.1",
"ioredis": "^5.3.2",
"keyv": "^4.5.4",
"keyv": "^5.0.0",
"lodash-es": "^4.17.21",
"mixpanel": "^0.18.0",
"mustache": "^4.2.0",
"nanoid": "^5.0.7",
"nest-commander": "^3.12.5",
"nestjs-throttler-storage-redis": "^0.4.1",
"nestjs-throttler-storage-redis": "^0.5.0",
"nodemailer": "^6.9.13",
"on-headers": "^1.0.2",
"openai": "^4.33.0",
"parse-duration": "^1.1.0",
"piscina": "^4.5.1",
"pretty-time": "^1.1.0",
"prisma": "^5.12.1",
"prom-client": "^15.1.1",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1",
"semver": "^7.6.0",
"ses": "^1.4.1",
"socket.io": "^4.7.5",
"stripe": "^15.0.0",
"stripe": "^16.0.0",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
"ws": "^8.16.0",
"yjs": "^13.6.14",
"yjs": "patch:yjs@npm%3A13.6.18#~/.yarn/patches/yjs-npm-13.6.18-ad0d5f7c43.patch",
"zod": "^3.22.4"
},
"devDependencies": {
@@ -113,7 +118,7 @@
"@types/supertest": "^6.0.2",
"@types/ws": "^8.5.10",
"ava": "^6.1.2",
"c8": "^9.1.0",
"c8": "^10.0.0",
"nodemon": "^3.1.0",
"sinon": "^18.0.0",
"supertest": "^7.0.0"
@@ -130,7 +135,14 @@
"ts-node/esm/transpile-only.mjs",
"--es-module-specifier-resolution=node"
],
"watchMode": {
"ignoreChanges": [
"static/**",
"**/*.gen.*"
]
},
"files": [
"**/__tests__/**/*.spec.ts",
"tests/**/*.spec.ts",
"tests/**/*.e2e.ts"
],
@@ -159,9 +171,11 @@
],
"ignore": [
"**/__tests__/**",
"**/dist/**"
"**/dist/**",
"*.gen.*"
],
"env": {
"AFFINE_SERVER_EXTERNAL_URL": "http://localhost:8080",
"TS_NODE_TRANSPILE_ONLY": true,
"TS_NODE_PROJECT": "./tsconfig.json",
"DEBUG": "affine:*",
@@ -179,7 +193,8 @@
"exclude": [
"scripts",
"node_modules",
"**/*.spec.ts"
"**/*.spec.ts",
"**/*.e2e.ts"
]
},
"stableVersion": "0.5.3",

View File

@@ -11,42 +11,48 @@ datasource db {
model User {
id String @id @default(uuid()) @db.VarChar
name String
email String @unique
emailVerifiedAt DateTime? @map("email_verified")
name String @db.VarChar
email String @unique @db.VarChar
emailVerifiedAt DateTime? @map("email_verified") @db.Timestamptz(3)
avatarUrl String? @map("avatar_url") @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
/// Not available if user signed up through OAuth providers
password String? @db.VarChar
/// Indicate whether the user finished the signup progress.
/// for example, the value will be false if user never registered and invited into a workspace by others.
registered Boolean @default(true)
features UserFeatures[]
customer UserStripeCustomer?
subscriptions UserSubscription[]
invoices UserInvoice[]
workspacePermissions WorkspaceUserPermission[]
pagePermissions WorkspacePageUserPermission[]
connectedAccounts ConnectedAccount[]
sessions UserSession[]
aiSessions AiSession[]
features UserFeature[]
customer UserStripeCustomer?
subscriptions UserSubscription[]
invoices UserInvoice[]
workspacePermissions WorkspaceUserPermission[]
pagePermissions WorkspacePageUserPermission[]
connectedAccounts ConnectedAccount[]
sessions UserSession[]
aiSessions AiSession[]
updatedRuntimeConfigs RuntimeConfig[]
userSnapshots UserSnapshot[]
createdSnapshot Snapshot[] @relation("createdSnapshot")
updatedSnapshot Snapshot[] @relation("updatedSnapshot")
createdUpdate Update[] @relation("createdUpdate")
createdHistory SnapshotHistory[] @relation("createdHistory")
@@index([email])
@@map("users")
}
model ConnectedAccount {
id String @id @default(uuid()) @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
id String @id @default(uuid()) @db.VarChar
userId String @map("user_id") @db.VarChar
provider String @db.VarChar
providerAccountId String @map("provider_account_id") @db.VarChar
scope String? @db.Text
accessToken String? @map("access_token") @db.Text
refreshToken String? @map("refresh_token") @db.Text
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
expiresAt DateTime? @map("expires_at") @db.Timestamptz(3)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@ -56,21 +62,22 @@ model ConnectedAccount {
}
model Session {
id String @id @default(uuid()) @db.VarChar(36)
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
id String @id @default(uuid()) @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
userSessions UserSession[]
// @deprecated use [UserSession.expiresAt]
deprecated_expiresAt DateTime? @map("expires_at") @db.Timestamptz(3)
@@map("multiple_users_sessions")
}
model UserSession {
id String @id @default(uuid()) @db.VarChar(36)
sessionId String @map("session_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
id String @id @default(uuid()) @db.VarChar
sessionId String @map("session_id") @db.VarChar
userId String @map("user_id") @db.VarChar
expiresAt DateTime? @map("expires_at") @db.Timestamptz(3)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@ -80,10 +87,10 @@ model UserSession {
}
model VerificationToken {
token String @db.VarChar(36)
token String @db.VarChar
type Int @db.SmallInt
credential String? @db.Text
expiresAt DateTime @db.Timestamptz(6)
expiresAt DateTime @db.Timestamptz(3)
@@unique([type, token])
@@map("verification_tokens")
@@ -92,12 +99,12 @@ model VerificationToken {
model Workspace {
id String @id @default(uuid()) @db.VarChar
public Boolean
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
pages WorkspacePage[]
permissions WorkspaceUserPermission[]
pagePermissions WorkspacePageUserPermission[]
features WorkspaceFeatures[]
features WorkspaceFeature[]
@@map("workspaces")
}
@@ -108,8 +115,8 @@ model Workspace {
// Only the ones that have ever changed will have records here,
// and for others we will make sure it's has a default value return in our bussiness logic.
model WorkspacePage {
workspaceId String @map("workspace_id") @db.VarChar(36)
pageId String @map("page_id") @db.VarChar(36)
workspaceId String @map("workspace_id") @db.VarChar
pageId String @map("page_id") @db.VarChar
public Boolean @default(false)
// Page/Edgeless
mode Int @default(0) @db.SmallInt
@@ -120,31 +127,15 @@ model WorkspacePage {
@@map("workspace_pages")
}
// @deprecated, use WorkspaceUserPermission
model DeprecatedUserWorkspacePermission {
model WorkspaceUserPermission {
id String @id @default(uuid()) @db.VarChar
workspaceId String @map("workspace_id") @db.VarChar
subPageId String? @map("sub_page_id") @db.VarChar
userId String? @map("entity_id") @db.VarChar
/// Read/Write/Admin/Owner
type Int @db.SmallInt
/// Whether the permission invitation is accepted by the user
accepted Boolean @default(false)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
@@unique([workspaceId, subPageId, userId])
@@map("user_workspace_permissions")
}
model WorkspaceUserPermission {
id String @id @default(uuid()) @db.VarChar(36)
workspaceId String @map("workspace_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar
// Read/Write
type Int @db.SmallInt
/// Whether the permission invitation is accepted by the user
accepted Boolean @default(false)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
@@ -154,15 +145,15 @@ model WorkspaceUserPermission {
}
model WorkspacePageUserPermission {
id String @id @default(uuid()) @db.VarChar(36)
workspaceId String @map("workspace_id") @db.VarChar(36)
pageId String @map("page_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
id String @id @default(uuid()) @db.VarChar
workspaceId String @map("workspace_id") @db.VarChar
pageId String @map("page_id") @db.VarChar
userId String @map("user_id") @db.VarChar
// Read/Write
type Int @db.SmallInt
/// Whether the permission invitation is accepted by the user
accepted Boolean @default(false)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
@@ -175,9 +166,9 @@ model WorkspacePageUserPermission {
// for example:
// - early access is a feature that allow some users to access the insider version
// - pro plan is a quota that allow some users access to more resources after they pay
model UserFeatures {
model UserFeature {
id Int @id @default(autoincrement())
userId String @map("user_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar
featureId Int @map("feature_id") @db.Integer
// we will record the reason why the feature is enabled/disabled
@@ -185,16 +176,16 @@ model UserFeatures {
// - pro_plan_v1: "user buy the pro plan"
reason String @db.VarChar
// record the quota enabled time
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
// record the quota expired time, pay plan is a subscription, so it will expired
expiredAt DateTime? @map("expired_at") @db.Timestamptz(6)
expiredAt DateTime? @map("expired_at") @db.Timestamptz(3)
// whether the feature is activated
// for example:
// - if we switch the user to another plan, we will set the old plan to deactivated, but dont delete it
activated Boolean @default(false)
feature Features @relation(fields: [featureId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
feature Feature @relation(fields: [featureId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([userId])
@@map("user_features")
@@ -203,9 +194,9 @@ model UserFeatures {
// feature gates is a way to enable/disable features for a workspace
// for example:
// - copilet is a feature that allow some users in a workspace to access the copilet feature
model WorkspaceFeatures {
model WorkspaceFeature {
id Int @id @default(autoincrement())
workspaceId String @map("workspace_id") @db.VarChar(36)
workspaceId String @map("workspace_id") @db.VarChar
featureId Int @map("feature_id") @db.Integer
// we will record the reason why the feature is enabled/disabled
@@ -213,21 +204,21 @@ model WorkspaceFeatures {
// - copilet_v1: "owner buy the copilet feature package"
reason String @db.VarChar
// record the feature enabled time
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
// record the quota expired time, pay plan is a subscription, so it will expired
expiredAt DateTime? @map("expired_at") @db.Timestamptz(6)
expiredAt DateTime? @map("expired_at") @db.Timestamptz(3)
// whether the feature is activated
// for example:
// - if owner unsubscribe a feature package, we will set the feature to deactivated, but dont delete it
activated Boolean @default(false)
feature Features @relation(fields: [featureId], references: [id], onDelete: Cascade)
feature Feature @relation(fields: [featureId], references: [id], onDelete: Cascade)
workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
@@map("workspace_features")
}
model Features {
model Feature {
id Int @id @default(autoincrement())
feature String @db.VarChar
version Int @default(0) @db.Integer
@@ -235,135 +226,98 @@ model Features {
type Int @db.Integer
// configs, define by feature conntroller
configs Json @db.Json
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
UserFeatureGates UserFeatures[]
WorkspaceFeatures WorkspaceFeatures[]
UserFeatureGates UserFeature[]
WorkspaceFeatures WorkspaceFeature[]
@@unique([feature, version])
@@map("features")
}
model DeprecatedNextAuthAccount {
id String @id @default(cuid())
userId String @map("user_id")
type String
provider String
providerAccountId String @map("provider_account_id")
refresh_token String? @db.Text
access_token String? @db.Text
expires_at Int?
token_type String?
scope String?
id_token String? @db.Text
session_state String?
@@unique([provider, providerAccountId])
@@map("accounts")
}
model DeprecatedNextAuthSession {
id String @id @default(cuid())
sessionToken String @unique @map("session_token")
userId String @map("user_id")
expires DateTime
@@map("sessions")
}
model DeprecatedNextAuthVerificationToken {
identifier String
token String @unique
expires DateTime
@@unique([identifier, token])
@@map("verificationtokens")
}
// deprecated, use [ObjectStorage]
model Blob {
id Int @id @default(autoincrement()) @db.Integer
hash String @db.VarChar
workspaceId String @map("workspace_id") @db.VarChar
blob Bytes @db.ByteA
length BigInt
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
// not for keeping, but for snapshot history
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(6)
@@unique([workspaceId, hash])
@@map("blobs")
}
// deprecated, use [ObjectStorage]
model OptimizedBlob {
id Int @id @default(autoincrement()) @db.Integer
hash String @db.VarChar
workspaceId String @map("workspace_id") @db.VarChar
params String @db.VarChar
blob Bytes @db.ByteA
length BigInt
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
// not for keeping, but for snapshot history
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(6)
@@unique([workspaceId, hash, params])
@@map("optimized_blobs")
}
// the latest snapshot of each doc that we've seen
// Snapshot + Updates are the latest state of the doc
model Snapshot {
workspaceId String @map("workspace_id") @db.VarChar
id String @default(uuid()) @map("guid") @db.VarChar
blob Bytes @db.ByteA
seq Int @default(0) @db.Integer
state Bytes? @db.ByteA
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
// the `updated_at` field will not record the time of record changed,
// but the created time of last seen update that has been merged into snapshot.
updatedAt DateTime @map("updated_at") @db.Timestamptz(6)
updatedAt DateTime @map("updated_at") @db.Timestamptz(3)
createdBy String? @map("created_by") @db.VarChar
updatedBy String? @map("updated_by") @db.VarChar
// should not delete origin snapshot even if user is deleted
// we only delete the snapshot if the workspace is deleted
createdByUser User? @relation(name: "createdSnapshot", fields: [createdBy], references: [id], onDelete: SetNull)
updatedByUser User? @relation(name: "updatedSnapshot", fields: [updatedBy], references: [id], onDelete: SetNull)
// @deprecated use updatedAt only
seq Int? @default(0) @db.Integer
// we need to clear all hanging updates and snapshots before enable the foreign key on workspaceId
// workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
@@id([id, workspaceId])
@@map("snapshots")
}
// user snapshots are special snapshots for user storage like personal app settings, distinguished from workspace snapshots
// basically they share the same structure with workspace snapshots
// but for convenience, we don't fork the updates queue and hisotry for user snapshots, until we have to
// which means all operation on user snapshot will happen in-pace
model UserSnapshot {
userId String @map("user_id") @db.VarChar
id String @map("id") @db.VarChar
blob Bytes @db.ByteA
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@id([userId, id])
@@map("user_snapshots")
}
model Update {
workspaceId String @map("workspace_id") @db.VarChar
id String @map("guid") @db.VarChar
seq Int @db.Integer
blob Bytes @db.ByteA
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @map("created_at") @db.Timestamptz(3)
createdBy String? @map("created_by") @db.VarChar
@@id([workspaceId, id, seq])
// will delete createor record if createor's account is deleted
createdByUser User? @relation(name: "createdUpdate", fields: [createdBy], references: [id], onDelete: SetNull)
// @deprecated use createdAt only
seq Int? @db.Integer
@@id([workspaceId, id, createdAt])
@@map("updates")
}
model SnapshotHistory {
workspaceId String @map("workspace_id") @db.VarChar(36)
id String @map("guid") @db.VarChar(36)
timestamp DateTime @db.Timestamptz(6)
workspaceId String @map("workspace_id") @db.VarChar
id String @map("guid") @db.VarChar
timestamp DateTime @db.Timestamptz(3)
blob Bytes @db.ByteA
state Bytes? @db.ByteA
expiredAt DateTime @map("expired_at") @db.Timestamptz(6)
expiredAt DateTime @map("expired_at") @db.Timestamptz(3)
createdBy String? @map("created_by") @db.VarChar
// will delete createor record if creator's account is deleted
createdByUser User? @relation(name: "createdHistory", fields: [createdBy], references: [id], onDelete: SetNull)
@@id([workspaceId, id, timestamp])
@@map("snapshot_histories")
}
model NewFeaturesWaitingList {
id String @id @default(uuid()) @db.VarChar
email String @unique
type Int @db.SmallInt
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
@@map("new_features_waiting_list")
}
model UserStripeCustomer {
userId String @id @map("user_id") @db.VarChar
stripeCustomerId String @unique @map("stripe_customer_id") @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@ -372,30 +326,30 @@ model UserStripeCustomer {
model UserSubscription {
id Int @id @default(autoincrement()) @db.Integer
userId String @map("user_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar
plan String @db.VarChar(20)
// yearly/monthly
recurring String @db.VarChar(20)
// subscription.id
stripeSubscriptionId String @unique @map("stripe_subscription_id")
// subscription.id, null for linefetime payment
stripeSubscriptionId String? @unique @map("stripe_subscription_id")
// subscription.status, active/past_due/canceled/unpaid...
status String @db.VarChar(20)
// subscription.current_period_start
start DateTime @map("start") @db.Timestamptz(6)
// subscription.current_period_end
end DateTime @map("end") @db.Timestamptz(6)
start DateTime @map("start") @db.Timestamptz(3)
// subscription.current_period_end, null for lifetime payment
end DateTime? @map("end") @db.Timestamptz(3)
// subscription.billing_cycle_anchor
nextBillAt DateTime? @map("next_bill_at") @db.Timestamptz(6)
nextBillAt DateTime? @map("next_bill_at") @db.Timestamptz(3)
// subscription.canceled_at
canceledAt DateTime? @map("canceled_at") @db.Timestamptz(6)
canceledAt DateTime? @map("canceled_at") @db.Timestamptz(3)
// subscription.trial_start
trialStart DateTime? @map("trial_start") @db.Timestamptz(6)
trialStart DateTime? @map("trial_start") @db.Timestamptz(3)
// subscription.trial_end
trialEnd DateTime? @map("trial_end") @db.Timestamptz(6)
trialEnd DateTime? @map("trial_end") @db.Timestamptz(3)
stripeScheduleId String? @map("stripe_schedule_id") @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([userId, plan])
@@ -404,7 +358,7 @@ model UserSubscription {
model UserInvoice {
id Int @id @default(autoincrement()) @db.Integer
userId String @map("user_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar
stripeInvoiceId String @unique @map("stripe_invoice_id")
currency String @db.VarChar(3)
// CNY 12.50 stored as 1250
@@ -412,8 +366,8 @@ model UserInvoice {
status String @db.VarChar(20)
plan String @db.VarChar(20)
recurring String @db.VarChar(20)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
// billing reason
reason String @db.VarChar
lastPaymentError String? @map("last_payment_error") @db.Text
@@ -441,7 +395,7 @@ model AiPromptMessage {
content String @db.Text
attachments Json? @db.Json
params Json? @db.Json
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
prompt AiPrompt @relation(fields: [promptId], references: [id], onDelete: Cascade)
@@ -455,8 +409,12 @@ model AiPrompt {
// an mark identifying which view to use to display the session
// it is only used in the frontend and does not affect the backend
action String? @db.VarChar
model String? @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
model String @db.VarChar
config Json? @db.Json
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(3)
// whether the prompt is modified by the admin panel
modified Boolean @default(false)
messages AiPromptMessage[]
sessions AiSession[]
@@ -465,14 +423,14 @@ model AiPrompt {
}
model AiSessionMessage {
id String @id @default(uuid()) @db.VarChar(36)
sessionId String @map("session_id") @db.VarChar(36)
id String @id @default(uuid()) @db.VarChar
sessionId String @map("session_id") @db.VarChar
role AiPromptRole
content String @db.Text
attachments Json? @db.Json
params Json? @db.Json
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
session AiSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
@@ -480,12 +438,17 @@ model AiSessionMessage {
}
model AiSession {
id String @id @default(uuid()) @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
workspaceId String @map("workspace_id") @db.VarChar(36)
docId String @map("doc_id") @db.VarChar(36)
promptName String @map("prompt_name") @db.VarChar(32)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
id String @id @default(uuid()) @db.VarChar
userId String @map("user_id") @db.VarChar
workspaceId String @map("workspace_id") @db.VarChar
docId String @map("doc_id") @db.VarChar
promptName String @map("prompt_name") @db.VarChar(32)
// the session id of the parent session if this session is a forked session
parentSessionId String? @map("parent_session_id") @db.VarChar
messageCost Int @default(0)
tokenCost Int @default(0)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(3)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
prompt AiPrompt @relation(fields: [promptName], references: [name], onDelete: Cascade)
@@ -495,10 +458,35 @@ model AiSession {
}
model DataMigration {
id String @id @default(uuid()) @db.VarChar(36)
id String @id @default(uuid()) @db.VarChar
name String @db.VarChar
startedAt DateTime @default(now()) @map("started_at") @db.Timestamptz(6)
finishedAt DateTime? @map("finished_at") @db.Timestamptz(6)
startedAt DateTime @default(now()) @map("started_at") @db.Timestamptz(3)
finishedAt DateTime? @map("finished_at") @db.Timestamptz(3)
@@map("_data_migrations")
}
enum RuntimeConfigType {
String
Number
Boolean
Object
Array
}
model RuntimeConfig {
id String @id @db.VarChar
type RuntimeConfigType
module String @db.VarChar
key String @db.VarChar
value Json @db.Json
description String @db.Text
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(3)
lastUpdatedBy String? @map("last_updated_by") @db.VarChar
lastUpdatedByUser User? @relation(fields: [lastUpdatedBy], references: [id])
@@unique([module, key])
@@map("app_runtime_settings")
}

View File

@@ -3,7 +3,7 @@ import { Controller, Get } from '@nestjs/common';
import { Public } from './core/auth';
import { Config, SkipThrottle } from './fundamentals';
@Controller('/')
@Controller('/info')
export class AppController {
constructor(private readonly config: Config) {}
@@ -15,7 +15,7 @@ export class AppController {
compatibility: this.config.version,
message: `AFFiNE ${this.config.version} Server`,
type: this.config.type,
flavor: this.config.flavor,
flavor: this.config.flavor.type,
};
}
}

View File

@@ -1,24 +1,32 @@
import { join } from 'node:path';
import { Logger, Module } from '@nestjs/common';
import {
DynamicModule,
ForwardReference,
Logger,
Module,
} from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
import { ServeStaticModule } from '@nestjs/serve-static';
import { get } from 'lodash-es';
import { AppController } from './app.controller';
import { AuthModule } from './core/auth';
import { ADD_ENABLED_FEATURES, ServerConfigModule } from './core/config';
import { DocModule } from './core/doc';
import { DocStorageModule } from './core/doc';
import { FeatureModule } from './core/features';
import { PermissionModule } from './core/permission';
import { QuotaModule } from './core/quota';
import { SelfhostModule } from './core/selfhost';
import { StorageModule } from './core/storage';
import { SyncModule } from './core/sync';
import { UserModule } from './core/user';
import { WorkspaceModule } from './core/workspaces';
import { getOptionalModuleMetadata } from './fundamentals';
import { CacheModule } from './fundamentals/cache';
import type { AvailablePlugins } from './fundamentals/config';
import { Config, ConfigModule } from './fundamentals/config';
import {
AFFiNEConfig,
ConfigModule,
mergeConfigOverride,
} from './fundamentals/config';
import { ErrorModule } from './fundamentals/error';
import { EventModule } from './fundamentals/event';
import { GqlModule } from './fundamentals/graphql';
import { HelpersModule } from './fundamentals/helpers';
@@ -30,6 +38,7 @@ import { StorageProviderModule } from './fundamentals/storage';
import { RateLimiterModule } from './fundamentals/throttler';
import { WebSocketModule } from './fundamentals/websocket';
import { REGISTERED_PLUGINS } from './plugins';
import { ENABLED_PLUGINS } from './plugins/registry';
export const FunctionalityModules = [
ConfigModule.forRoot(),
@@ -43,54 +52,77 @@ export const FunctionalityModules = [
MailModule,
StorageProviderModule,
HelpersModule,
ErrorModule,
];
function filterOptionalModule(
config: AFFiNEConfig,
module: AFFiNEModule | Promise<DynamicModule> | ForwardReference<any>
) {
// can't deal with promise or forward reference
if (module instanceof Promise || 'forwardRef' in module) {
return module;
}
const requirements = getOptionalModuleMetadata(module, 'requires');
// if condition not set or condition met, include the module
if (requirements?.length) {
const nonMetRequirements = requirements.filter(c => {
const value = get(config, c);
return (
value === undefined ||
value === null ||
(typeof value === 'string' && value.trim().length === 0)
);
});
if (nonMetRequirements.length) {
const name = 'module' in module ? module.module.name : module.name;
new Logger(name).warn(
`${name} is not enabled because of the required configuration is not satisfied.`,
'Unsatisfied configuration:',
...nonMetRequirements.map(config => ` AFFiNE.${config}`)
);
return null;
}
}
const predicator = getOptionalModuleMetadata(module, 'if');
if (predicator && !predicator(config)) {
return null;
}
const contribution = getOptionalModuleMetadata(module, 'contributesTo');
if (contribution) {
ADD_ENABLED_FEATURES(contribution);
}
const subModules = getOptionalModuleMetadata(module, 'imports');
const filteredSubModules = subModules
?.map(subModule => filterOptionalModule(config, subModule))
.filter(Boolean);
Reflect.defineMetadata('imports', filteredSubModules, module);
return module;
}
export class AppModuleBuilder {
private readonly modules: AFFiNEModule[] = [];
constructor(private readonly config: Config) {}
constructor(private readonly config: AFFiNEConfig) {}
use(...modules: AFFiNEModule[]): this {
modules.forEach(m => {
const requirements = getOptionalModuleMetadata(m, 'requires');
// if condition not set or condition met, include the module
if (requirements?.length) {
const nonMetRequirements = requirements.filter(c => {
const value = get(this.config, c);
return (
value === undefined ||
value === null ||
(typeof value === 'string' && value.trim().length === 0)
);
});
if (nonMetRequirements.length) {
const name = 'module' in m ? m.module.name : m.name;
new Logger(name).warn(
`${name} is not enabled because of the required configuration is not satisfied.`,
'Unsatisfied configuration:',
...nonMetRequirements.map(config => ` AFFiNE.${config}`)
);
return;
}
const result = filterOptionalModule(this.config, m);
if (result) {
this.modules.push(m);
}
const predicator = getOptionalModuleMetadata(m, 'if');
if (predicator && !predicator(this.config)) {
return;
}
const contribution = getOptionalModuleMetadata(m, 'contributesTo');
if (contribution) {
ADD_ENABLED_FEATURES(contribution);
}
this.modules.push(m);
});
return this;
}
useIf(
predicator: (config: Config) => boolean,
predicator: (config: AFFiNEConfig) => boolean,
...modules: AFFiNEModule[]
): this {
if (predicator(this.config)) {
@@ -103,7 +135,7 @@ export class AppModuleBuilder {
compile() {
@Module({
imports: this.modules,
controllers: this.config.isSelfhosted ? [] : [AppController],
controllers: [AppController],
})
class AppModule {}
@@ -111,44 +143,41 @@ export class AppModuleBuilder {
}
}
function buildAppModule() {
export function buildAppModule() {
AFFiNE = mergeConfigOverride(AFFiNE);
const factor = new AppModuleBuilder(AFFiNE);
factor
// common fundamental modules
// basic
.use(...FunctionalityModules)
.useIf(config => config.flavor.sync, WebSocketModule)
// auth
.use(AuthModule)
.use(UserModule, AuthModule, PermissionModule)
// business modules
.use(DocModule)
.use(DocStorageModule)
// sync server only
.useIf(config => config.flavor.sync, WebSocketModule, SyncModule)
.useIf(config => config.flavor.sync, SyncModule)
// graphql server only
.useIf(
config => config.flavor.graphql,
ServerConfigModule,
GqlModule,
StorageModule,
UserModule,
ServerConfigModule,
WorkspaceModule,
FeatureModule,
QuotaModule
)
// self hosted server only
.useIf(
config => config.isSelfhosted,
ServeStaticModule.forRoot({
rootPath: join('/app', 'static'),
})
);
.useIf(config => config.isSelfhosted, SelfhostModule);
// plugin modules
AFFiNE.plugins.enabled.forEach(name => {
const plugin = REGISTERED_PLUGINS.get(name as AvailablePlugins);
ENABLED_PLUGINS.forEach(name => {
const plugin = REGISTERED_PLUGINS.get(name);
if (!plugin) {
throw new Error(`Unknown plugin ${name}`);
}

View File

@@ -27,9 +27,9 @@ export async function createApp() {
app.use(
graphqlUploadExpress({
// TODO: dynamic limit by quota
// TODO(@darkskygit): dynamic limit by quota maybe?
maxFileSize: 100 * 1024 * 1024,
maxFiles: 5,
maxFiles: 32,
})
);
@@ -50,11 +50,13 @@ export async function createApp() {
app.useWebSocketAdapter(adapter);
}
if (AFFiNE.isSelfhosted && AFFiNE.telemetry.enabled) {
if (AFFiNE.isSelfhosted && AFFiNE.metrics.telemetry.enabled) {
const mixpanel = await import('mixpanel');
mixpanel.init(AFFiNE.telemetry.token).track('selfhost-server-started', {
version: AFFiNE.version,
});
mixpanel
.init(AFFiNE.metrics.telemetry.token)
.track('selfhost-server-started', {
version: AFFiNE.version,
});
}
return app;

View File

@@ -1,24 +1,31 @@
// Convenient way to map environment variables to config values.
AFFiNE.ENV_MAP = {
AFFINE_SERVER_PORT: ['port', 'int'],
AFFINE_SERVER_HOST: 'host',
AFFINE_SERVER_SUB_PATH: 'path',
AFFINE_SERVER_HTTPS: ['https', 'boolean'],
DATABASE_URL: 'db.url',
ENABLE_CAPTCHA: ['auth.captcha.enable', 'boolean'],
CAPTCHA_TURNSTILE_SECRET: ['auth.captcha.turnstile.secret', 'string'],
OAUTH_GOOGLE_CLIENT_ID: 'plugins.oauth.providers.google.clientId',
OAUTH_GOOGLE_CLIENT_SECRET: 'plugins.oauth.providers.google.clientSecret',
OAUTH_GITHUB_CLIENT_ID: 'plugins.oauth.providers.github.clientId',
OAUTH_GITHUB_CLIENT_SECRET: 'plugins.oauth.providers.github.clientSecret',
AFFINE_SERVER_EXTERNAL_URL: ['server.externalUrl'],
AFFINE_SERVER_PORT: ['server.port', 'int'],
AFFINE_SERVER_HOST: 'server.host',
AFFINE_SERVER_SUB_PATH: 'server.path',
AFFINE_SERVER_HTTPS: ['server.https', 'boolean'],
ENABLE_TELEMETRY: ['metrics.telemetry.enabled', 'boolean'],
MAILER_HOST: 'mailer.host',
MAILER_PORT: ['mailer.port', 'int'],
MAILER_USER: 'mailer.auth.user',
MAILER_PASSWORD: 'mailer.auth.pass',
MAILER_SENDER: 'mailer.from.address',
MAILER_SECURE: ['mailer.secure', 'boolean'],
THROTTLE_TTL: ['rateLimiter.ttl', 'int'],
THROTTLE_LIMIT: ['rateLimiter.limit', 'int'],
DATABASE_URL: 'database.datasourceUrl',
OAUTH_GOOGLE_CLIENT_ID: 'plugins.oauth.providers.google.clientId',
OAUTH_GOOGLE_CLIENT_SECRET: 'plugins.oauth.providers.google.clientSecret',
OAUTH_GITHUB_CLIENT_ID: 'plugins.oauth.providers.github.clientId',
OAUTH_GITHUB_CLIENT_SECRET: 'plugins.oauth.providers.github.clientSecret',
OAUTH_OIDC_ISSUER: 'plugins.oauth.providers.oidc.issuer',
OAUTH_OIDC_CLIENT_ID: 'plugins.oauth.providers.oidc.clientId',
OAUTH_OIDC_CLIENT_SECRET: 'plugins.oauth.providers.oidc.clientSecret',
OAUTH_OIDC_SCOPE: 'plugins.oauth.providers.oidc.args.scope',
OAUTH_OIDC_CLAIM_MAP_USERNAME: 'plugins.oauth.providers.oidc.args.claim_id',
OAUTH_OIDC_CLAIM_MAP_EMAIL: 'plugins.oauth.providers.oidc.args.claim_email',
OAUTH_OIDC_CLAIM_MAP_NAME: 'plugins.oauth.providers.oidc.args.claim_name',
METRICS_CUSTOMER_IO_TOKEN: ['metrics.customerIo.token', 'string'],
CAPTCHA_TURNSTILE_SECRET: ['plugins.captcha.turnstile.secret', 'string'],
COPILOT_OPENAI_API_KEY: 'plugins.copilot.openai.apiKey',
COPILOT_FAL_API_KEY: 'plugins.copilot.fal.apiKey',
COPILOT_UNSPLASH_API_KEY: 'plugins.copilot.unsplashKey',
@@ -28,16 +35,6 @@ AFFiNE.ENV_MAP = {
REDIS_SERVER_PASSWORD: 'plugins.redis.password',
REDIS_SERVER_DATABASE: ['plugins.redis.db', 'int'],
DOC_MERGE_INTERVAL: ['doc.manager.updatePollInterval', 'int'],
DOC_MERGE_USE_JWST_CODEC: [
'doc.manager.experimentalMergeWithYOcto',
'boolean',
],
STRIPE_API_KEY: 'plugins.payment.stripe.keys.APIKey',
STRIPE_WEBHOOK_KEY: 'plugins.payment.stripe.keys.webhookKey',
FEATURES_EARLY_ACCESS_PREVIEW: ['featureFlags.earlyAccessPreview', 'boolean'],
FEATURES_SYNC_CLIENT_VERSION_CHECK: [
'featureFlags.syncClientVersionCheck',
'boolean',
],
TELEMETRY_ENABLE: ['telemetry.enabled', 'boolean'],
};

View File

@@ -20,35 +20,47 @@ const env = process.env;
AFFiNE.metrics.enabled = !AFFiNE.node.test;
if (env.R2_OBJECT_STORAGE_ACCOUNT_ID) {
AFFiNE.plugins.use('cloudflare-r2', {
AFFiNE.use('cloudflare-r2', {
accountId: env.R2_OBJECT_STORAGE_ACCOUNT_ID,
credentials: {
accessKeyId: env.R2_OBJECT_STORAGE_ACCESS_KEY_ID!,
secretAccessKey: env.R2_OBJECT_STORAGE_SECRET_ACCESS_KEY!,
},
});
AFFiNE.storage.storages.avatar.provider = 'cloudflare-r2';
AFFiNE.storage.storages.avatar.bucket = 'account-avatar';
AFFiNE.storage.storages.avatar.publicLinkFactory = key =>
AFFiNE.storages.avatar.provider = 'cloudflare-r2';
AFFiNE.storages.avatar.bucket = 'account-avatar';
AFFiNE.storages.avatar.publicLinkFactory = key =>
`https://avatar.affineassets.com/${key}`;
AFFiNE.storage.storages.blob.provider = 'cloudflare-r2';
AFFiNE.storage.storages.blob.bucket = `workspace-blobs-${
AFFiNE.storages.blob.provider = 'cloudflare-r2';
AFFiNE.storages.blob.bucket = `workspace-blobs-${
AFFiNE.affine.canary ? 'canary' : 'prod'
}`;
AFFiNE.storage.storages.copilot.provider = 'cloudflare-r2';
AFFiNE.storage.storages.copilot.bucket = `workspace-copilot-${
AFFiNE.affine.canary ? 'canary' : 'prod'
}`;
AFFiNE.use('copilot', {
storage: {
provider: 'cloudflare-r2',
bucket: `workspace-copilot-${AFFiNE.affine.canary ? 'canary' : 'prod'}`,
},
});
}
AFFiNE.plugins.use('copilot', {
openai: {},
fal: {},
AFFiNE.use('copilot', {
openai: {
apiKey: '',
},
fal: {
apiKey: '',
},
});
AFFiNE.plugins.use('redis');
AFFiNE.plugins.use('payment', {
AFFiNE.use('redis', {
host: env.REDIS_SERVER_HOST,
db: 0,
port: 6379,
username: env.REDIS_SERVER_USER,
password: env.REDIS_SERVER_PASSWORD,
});
AFFiNE.use('payment', {
stripe: {
keys: {
// fake the key to ensure the server generate full GraphQL Schema even env vars are not set
@@ -57,7 +69,15 @@ AFFiNE.plugins.use('payment', {
},
},
});
AFFiNE.plugins.use('oauth');
AFFiNE.use('oauth');
/* Captcha Plugin Default Config */
AFFiNE.use('captcha', {
turnstile: {},
challenge: {
bits: 20,
},
});
if (AFFiNE.deploy) {
AFFiNE.mailer = {
@@ -68,5 +88,5 @@ if (AFFiNE.deploy) {
},
};
AFFiNE.plugins.use('gcloud');
AFFiNE.use('gcloud');
}

View File

@@ -26,22 +26,17 @@
// AFFiNE.serverName = 'Your Cool AFFiNE Selfhosted Cloud';
//
// /* Whether the server is deployed behind a HTTPS proxied environment */
AFFiNE.https = false;
AFFiNE.server.https = false;
// /* Domain of your server that your server will be available at */
AFFiNE.host = 'localhost';
AFFiNE.server.host = 'localhost';
// /* The local port of your server that will listen on */
AFFiNE.port = 3010;
AFFiNE.server.port = 3010;
// /* The sub path of your server */
// /* For example, if you set `AFFiNE.path = '/affine'`, then the server will be available at `${domain}/affine` */
// AFFiNE.path = '/affine';
//
//
// ###############################################################
// ## Database settings ##
// ###############################################################
//
// /* The URL of the database where most of AFFiNE server data will be stored in */
// AFFiNE.db.url = 'postgres://user:passsword@localhost:5432/affine';
// /* For example, if you set `AFFiNE.server.path = '/affine'`, then the server will be available at `${domain}/affine` */
// AFFiNE.server.path = '/affine';
// /* The external URL of your server, will be consist of protocol + host + port by default */
// /* Useful when you want to customize the link to server resources for example the doc share link or email link */
// AFFiNE.server.externalUrl = 'http://affine.local:8080'
//
//
// ###############################################################
@@ -52,19 +47,12 @@ AFFiNE.port = 3010;
// /* The metrics will be available at `http://localhost:9464/metrics` with [Prometheus] format exported */
// AFFiNE.metrics.enabled = true;
//
// /* Authentication Settings */
// /* Whether allow anyone signup */
// AFFiNE.auth.allowSignup = true;
//
// /* User Signup password limitation */
// AFFiNE.auth.password = {
// minLength: 8,
// maxLength: 32,
// };
//
// /* How long the login session would last by default */
// AFFiNE.auth.session = {
// /* How long the login session would last by default */
// ttl: 15 * 24 * 60 * 60, // 15 days
// /* How long we should refresh the token before it getting expired */
// ttr: 7 * 24 * 60 * 60, // 7 days
// };
//
// /* GraphQL configurations that control the behavior of the Apollo Server behind */
@@ -85,9 +73,6 @@ AFFiNE.port = 3010;
// /* How long the buffer time of creating a new history snapshot when doc get updated */
// AFFiNE.doc.history.interval = 1000 * 60 * 10; // 10 minutes
//
// /* Use `y-octo` to merge updates at the same time when merging using Yjs */
// AFFiNE.doc.manager.experimentalMergeWithYOcto = true;
//
// /* How often the manager will start a new turn of merging pending updates into doc snapshot */
// AFFiNE.doc.manager.updatePollInterval = 1000 * 3;
//
@@ -99,20 +84,29 @@ AFFiNE.port = 3010;
// /* Redis Plugin */
// /* Provide caching and session storing backed by Redis. */
// /* Useful when you deploy AFFiNE server in a cluster. */
// AFFiNE.plugins.use('redis', {
// AFFiNE.use('redis', {
// /* override options */
// });
//
//
// /* Payment Plugin */
// AFFiNE.plugins.use('payment', {
// AFFiNE.use('payment', {
// stripe: { keys: {}, apiVersion: '2023-10-16' },
// });
//
//
// /* Captcha Plugin Default Config */
// AFFiNE.plugins.use('captcha', {
// turnstile: {},
// challenge: {
// bits: 20,
// },
// });
//
//
// /* Cloudflare R2 Plugin */
// /* Enable if you choose to store workspace blobs or user avatars in Cloudflare R2 Storage Service */
// AFFiNE.plugins.use('cloudflare-r2', {
// AFFiNE.use('cloudflare-r2', {
// accountId: '',
// credentials: {
// accessKeyId: '',
@@ -122,17 +116,17 @@ AFFiNE.port = 3010;
//
// /* AWS S3 Plugin */
// /* Enable if you choose to store workspace blobs or user avatars in AWS S3 Storage Service */
// AFFiNE.plugins.use('aws-s3', {
// AFFiNE.use('aws-s3', {
// credentials: {
// accessKeyId: '',
// secretAccessKey: '',
// })
// /* Update the provider of storages */
// AFFiNE.storage.storages.blob.provider = 'r2';
// AFFiNE.storage.storages.avatar.provider = 'r2';
// AFFiNE.storages.blob.provider = 'cloudflare-r2';
// AFFiNE.storages.avatar.provider = 'cloudflare-r2';
//
// /* OAuth Plugin */
// AFFiNE.plugins.use('oauth', {
// AFFiNE.use('oauth', {
// providers: {
// github: {
// clientId: '',
@@ -152,5 +146,32 @@ AFFiNE.port = 3010;
// access_type: 'offline',
// },
// },
// oidc: {
// // OpenID Connect
// issuer: '',
// clientId: '',
// clientSecret: '',
// args: {
// scope: 'openid email profile',
// claim_id: 'preferred_username',
// claim_email: 'email',
// claim_name: 'name',
// },
// },
// },
// });
//
// /* Copilot Plugin */
// AFFiNE.use('copilot', {
// openai: {
// apiKey: 'your-key',
// },
// fal: {
// apiKey: 'your-key',
// },
// unsplashKey: 'your-key',
// storage: {
// provider: 'cloudflare-r2',
// bucket: 'copilot',
// }
// })

View File

@@ -0,0 +1,91 @@
import {
defineRuntimeConfig,
defineStartupConfig,
ModuleConfig,
} from '../../fundamentals/config';
export interface AuthStartupConfigurations {
/**
* auth session config
*/
session: {
/**
* Application auth expiration time in seconds
*/
ttl: number;
/**
* Application auth time to refresh in seconds
*/
ttr: number;
};
/**
* Application access token config
*/
accessToken: {
/**
* Application access token expiration time in seconds
*/
ttl: number;
/**
* Application refresh token expiration time in seconds
*/
refreshTokenTtl: number;
};
}
export interface AuthRuntimeConfigurations {
/**
* Whether allow anonymous users to sign up
*/
allowSignup: boolean;
/**
* Whether require email verification before access restricted resources
*/
requireEmailVerification: boolean;
/**
* The minimum and maximum length of the password when registering new users
*/
password: {
min: number;
max: number;
};
}
declare module '../../fundamentals/config' {
interface AppConfig {
auth: ModuleConfig<AuthStartupConfigurations, AuthRuntimeConfigurations>;
}
}
defineStartupConfig('auth', {
session: {
ttl: 60 * 60 * 24 * 15, // 15 days
ttr: 60 * 60 * 24 * 7, // 7 days
},
accessToken: {
ttl: 60 * 60 * 24 * 7, // 7 days
refreshTokenTtl: 60 * 60 * 24 * 30, // 30 days
},
});
defineRuntimeConfig('auth', {
allowSignup: {
desc: 'Whether allow new registrations',
default: true,
},
requireEmailVerification: {
desc: 'Whether require email verification before accessing restricted resources',
default: true,
},
'password.min': {
desc: 'The minimum length of user password',
default: 8,
},
'password.max': {
desc: 'The maximum length of user password',
default: 32,
},
});

View File

@@ -1,7 +1,4 @@
import { randomUUID } from 'node:crypto';
import {
BadRequestException,
Body,
Controller,
Get,
@@ -16,25 +13,37 @@ import type { Request, Response } from 'express';
import {
Config,
PaymentRequiredException,
EarlyAccessRequired,
EmailTokenNotFound,
InternalServerError,
InvalidEmail,
InvalidEmailToken,
SignUpForbidden,
Throttle,
URLHelper,
UseNamedGuard,
} from '../../fundamentals';
import { UserService } from '../user';
import { validators } from '../utils/validators';
import { CurrentUser } from './current-user';
import { Public } from './guard';
import { AuthService, parseAuthUserSeqNum } from './service';
import { AuthService } from './service';
import { CurrentUser, Session } from './session';
import { TokenService, TokenType } from './token';
class SignInCredential {
email!: string;
password?: string;
interface PreflightResponse {
registered: boolean;
hasPassword: boolean;
}
class MagicLinkCredential {
email!: string;
token!: string;
interface SignInCredential {
email: string;
password?: string;
callbackUrl?: string;
}
interface MagicLinkCredential {
email: string;
token: string;
}
@Throttle('strict')
@@ -49,94 +58,132 @@ export class AuthController {
) {}
@Public()
@Post('/preflight')
async preflight(
@Body() params?: { email: string }
): Promise<PreflightResponse> {
if (!params?.email) {
throw new InvalidEmail();
}
validators.assertValidEmail(params.email);
const user = await this.user.findUserWithHashedPasswordByEmail(
params.email
);
if (!user) {
return {
registered: false,
hasPassword: false,
};
}
return {
registered: user.registered,
hasPassword: !!user.password,
};
}
@Public()
@UseNamedGuard('captcha')
@Post('/sign-in')
@Header('content-type', 'application/json')
async signIn(
@Req() req: Request,
@Res() res: Response,
@Body() credential: SignInCredential,
@Query('redirect_uri') redirectUri = this.url.home
/**
* @deprecated
*/
@Query('redirect_uri') redirectUri?: string
) {
validators.assertValidEmail(credential.email);
const canSignIn = await this.auth.canSignIn(credential.email);
if (!canSignIn) {
throw new PaymentRequiredException(
`You don't have early access permission\nVisit https://community.affine.pro/c/insider-general/ for more information`
);
throw new EarlyAccessRequired();
}
if (credential.password) {
const user = await this.auth.signIn(
await this.passwordSignIn(
req,
res,
credential.email,
credential.password
);
await this.auth.setCookie(req, res, user);
res.status(HttpStatus.OK).send(user);
} else {
// send email magic link
const user = await this.user.findUserByEmail(credential.email);
if (!user && !this.config.auth.allowSignup) {
throw new BadRequestException('You are not allows to sign up.');
}
const result = await this.sendSignInEmail(
{ email: credential.email, signUp: !user },
await this.sendMagicLink(
req,
res,
credential.email,
credential.callbackUrl,
redirectUri
);
if (result.rejected.length) {
throw new Error('Failed to send sign-in email.');
}
res.status(HttpStatus.OK).send({
email: credential.email,
});
}
}
async sendSignInEmail(
{ email, signUp }: { email: string; signUp: boolean },
redirectUri: string
async passwordSignIn(
req: Request,
res: Response,
email: string,
password: string
) {
const user = await this.auth.signIn(email, password);
await this.auth.setCookies(req, res, user.id);
res.status(HttpStatus.OK).send(user);
}
async sendMagicLink(
_req: Request,
res: Response,
email: string,
callbackUrl = '/magic-link',
redirectUrl?: string
) {
// send email magic link
const user = await this.user.findUserByEmail(email);
if (!user) {
const allowSignup = await this.config.runtime.fetch('auth/allowSignup');
if (!allowSignup) {
throw new SignUpForbidden();
}
}
const token = await this.token.createToken(TokenType.SignIn, email);
const magicLink = this.url.link('/magic-link', {
const magicLink = this.url.link(callbackUrl, {
token,
email,
redirect_uri: redirectUri,
...(redirectUrl
? {
redirect_uri: redirectUrl,
}
: {}),
});
const result = await this.auth.sendSignInEmail(email, magicLink, signUp);
const result = await this.auth.sendSignInEmail(email, magicLink, !user);
return result;
if (result.rejected.length) {
throw new InternalServerError('Failed to send sign-in email.');
}
res.status(HttpStatus.OK).send({
email: email,
});
}
@Get('/sign-out')
async signOut(
@Req() req: Request,
@Res() res: Response,
@Query('redirect_uri') redirectUri?: string
@Session() session: Session,
@Body() { all }: { all: boolean }
) {
const session = await this.auth.signOut(
req.cookies[AuthService.sessionCookieName],
parseAuthUserSeqNum(req.headers[AuthService.authUserSeqHeaderName])
await this.auth.signOut(
session.sessionId,
all ? undefined : session.userId
);
if (session) {
res.cookie(AuthService.sessionCookieName, session.id, {
expires: session.expiresAt ?? void 0, // expiredAt is `string | null`
...this.auth.cookieOptions,
});
} else {
res.clearCookie(AuthService.sessionCookieName);
}
if (redirectUri) {
return this.url.safeRedirect(res, redirectUri);
} else {
return res.send(null);
}
res.status(HttpStatus.OK).send({});
}
@Public()
@@ -147,17 +194,17 @@ export class AuthController {
@Body() { email, token }: MagicLinkCredential
) {
if (!token || !email) {
throw new BadRequestException('Missing sign-in mail token');
throw new EmailTokenNotFound();
}
validators.assertValidEmail(email);
const valid = await this.token.verifyToken(TokenType.SignIn, token, {
const tokenRecord = await this.token.verifyToken(TokenType.SignIn, token, {
credential: email,
});
if (!valid) {
throw new BadRequestException('Invalid sign-in mail token');
if (!tokenRecord) {
throw new InvalidEmailToken();
}
const user = await this.user.fulfillUser(email, {
@@ -165,9 +212,8 @@ export class AuthController {
registered: true,
});
await this.auth.setCookie(req, res, user);
res.send({ id: user.id, email: user.email, name: user.name });
await this.auth.setCookies(req, res, user.id);
res.send({ id: user.id });
}
@Throttle('default', { limit: 1200 })
@@ -194,14 +240,4 @@ export class AuthController {
users: await this.auth.getUserList(token),
};
}
@Public()
@Get('/challenge')
async challenge() {
// TODO: impl in following PR
return {
challenge: randomUUID(),
resource: randomUUID(),
};
}
}

View File

@@ -1,26 +1,25 @@
import type {
CanActivate,
ExecutionContext,
FactoryProvider,
OnModuleInit,
} from '@nestjs/common';
import {
Injectable,
SetMetadata,
UnauthorizedException,
UseGuards,
} from '@nestjs/common';
import { Injectable, SetMetadata } from '@nestjs/common';
import { ModuleRef, Reflector } from '@nestjs/core';
import type { Request } from 'express';
import { getRequestResponseFromContext } from '../../fundamentals';
import { AuthService, parseAuthUserSeqNum } from './service';
import {
AuthenticationRequired,
Config,
getRequestResponseFromContext,
mapAnyError,
parseCookies,
} from '../../fundamentals';
import { WEBSOCKET_OPTIONS } from '../../fundamentals/websocket';
import { AuthService } from './service';
import { Session } from './session';
function extractTokenFromHeader(authorization: string) {
if (!/^Bearer\s/i.test(authorization)) {
return;
}
return authorization.substring(7);
}
const PUBLIC_ENTRYPOINT_SYMBOL = Symbol('public');
@Injectable()
export class AuthGuard implements CanActivate, OnModuleInit {
@@ -38,76 +37,85 @@ export class AuthGuard implements CanActivate, OnModuleInit {
async canActivate(context: ExecutionContext) {
const { req, res } = getRequestResponseFromContext(context);
// check cookie
let sessionToken: string | undefined =
req.cookies[AuthService.sessionCookieName];
if (!sessionToken && req.headers.authorization) {
sessionToken = extractTokenFromHeader(req.headers.authorization);
}
if (sessionToken) {
const userSeq = parseAuthUserSeqNum(
req.headers[AuthService.authUserSeqHeaderName]
);
const { user, expiresAt } = await this.auth.getUser(
sessionToken,
userSeq
);
if (res && user && expiresAt) {
await this.auth.refreshUserSessionIfNeeded(
req,
res,
sessionToken,
user.id,
expiresAt
);
}
if (user) {
req.sid = sessionToken;
req.user = user;
}
const userSession = await this.signIn(req);
if (res && userSession && userSession.expiresAt) {
await this.auth.refreshUserSessionIfNeeded(res, userSession);
}
// api is public
const isPublic = this.reflector.get<boolean>(
'isPublic',
context.getHandler()
const isPublic = this.reflector.getAllAndOverride<boolean>(
PUBLIC_ENTRYPOINT_SYMBOL,
[context.getClass(), context.getHandler()]
);
if (isPublic) {
return true;
}
if (!req.user) {
throw new UnauthorizedException('You are not signed in.');
if (!userSession) {
throw new AuthenticationRequired();
}
return true;
}
async signIn(req: Request): Promise<Session | null> {
if (req.session) {
return req.session;
}
// compatibility with websocket request
parseCookies(req);
// TODO(@forehalo): a cache for user session
const userSession = await this.auth.getUserSessionFromRequest(req);
if (userSession) {
req.session = {
...userSession.session,
user: userSession.user,
};
return req.session;
}
return null;
}
}
/**
* This guard is used to protect routes/queries/mutations that require a user to be logged in.
*
* The `@CurrentUser()` parameter decorator used in a `Auth` guarded queries would always give us the user because the `Auth` guard will
* fast throw if user is not logged in.
*
* @example
*
* ```typescript
* \@Auth()
* \@Query(() => UserType)
* user(@CurrentUser() user: CurrentUser) {
* return user;
* }
* ```
* Mark api to be public accessible
*/
export const Auth = () => {
return UseGuards(AuthGuard);
};
export const Public = () => SetMetadata(PUBLIC_ENTRYPOINT_SYMBOL, true);
// api is public accessible
export const Public = () => SetMetadata('isPublic', true);
export const AuthWebsocketOptionsProvider: FactoryProvider = {
provide: WEBSOCKET_OPTIONS,
useFactory: (config: Config, guard: AuthGuard) => {
return {
...config.websocket,
allowRequest: async (
req: any,
pass: (err: string | null | undefined, success: boolean) => void
) => {
if (!config.websocket.requireAuthentication) {
return pass(null, true);
}
try {
const authentication = await guard.signIn(req);
if (authentication) {
return pass(null, true);
} else {
return pass('unauthenticated', false);
}
} catch (e) {
const error = mapAnyError(e);
error.log('Websocket');
return pass('unauthenticated', false);
}
},
};
},
inject: [Config, AuthGuard],
};

View File

@@ -1,18 +1,26 @@
import './config';
import { Module } from '@nestjs/common';
import { FeatureModule } from '../features';
import { QuotaModule } from '../quota';
import { UserModule } from '../user';
import { AuthController } from './controller';
import { AuthGuard } from './guard';
import { AuthGuard, AuthWebsocketOptionsProvider } from './guard';
import { AuthResolver } from './resolver';
import { AuthService } from './service';
import { TokenService, TokenType } from './token';
@Module({
imports: [FeatureModule, UserModule, QuotaModule],
providers: [AuthService, AuthResolver, TokenService, AuthGuard],
exports: [AuthService, AuthGuard],
providers: [
AuthService,
AuthResolver,
TokenService,
AuthGuard,
AuthWebsocketOptionsProvider,
],
exports: [AuthService, AuthGuard, AuthWebsocketOptionsProvider, TokenService],
controllers: [AuthController],
})
export class AuthModule {}
@@ -20,4 +28,4 @@ export class AuthModule {}
export * from './guard';
export { ClientTokenType } from './resolver';
export { AuthService, TokenService, TokenType };
export * from './current-user';
export * from './session';

View File

@@ -1,4 +1,3 @@
import { BadRequestException, ForbiddenException } from '@nestjs/common';
import {
Args,
Field,
@@ -10,13 +9,25 @@ import {
Resolver,
} from '@nestjs/graphql';
import { Config, SkipThrottle, Throttle } from '../../fundamentals';
import {
ActionForbidden,
EmailAlreadyUsed,
EmailTokenNotFound,
EmailVerificationRequired,
InvalidEmailToken,
LinkExpired,
SameEmailProvided,
SkipThrottle,
Throttle,
URLHelper,
} from '../../fundamentals';
import { Admin } from '../common';
import { UserService } from '../user';
import { UserType } from '../user/types';
import { validators } from '../utils/validators';
import { CurrentUser } from './current-user';
import { Public } from './guard';
import { AuthService } from './service';
import { CurrentUser } from './session';
import { TokenService, TokenType } from './token';
@ObjectType('tokenType')
@@ -35,7 +46,7 @@ export class ClientTokenType {
@Resolver(() => UserType)
export class AuthResolver {
constructor(
private readonly config: Config,
private readonly url: URLHelper,
private readonly auth: AuthService,
private readonly user: UserService,
private readonly token: TokenService
@@ -54,53 +65,53 @@ export class AuthResolver {
@ResolveField(() => ClientTokenType, {
name: 'token',
deprecationReason: 'use [/api/auth/authorize]',
deprecationReason: 'use [/api/auth/sign-in?native=true] instead',
})
async clientToken(
@CurrentUser() currentUser: CurrentUser,
@Parent() user: UserType
): Promise<ClientTokenType> {
if (user.id !== currentUser.id) {
throw new ForbiddenException('Invalid user');
throw new ActionForbidden();
}
const session = await this.auth.createUserSession(
user,
undefined,
this.config.auth.accessToken.ttl
);
const userSession = await this.auth.createUserSession(user.id);
return {
sessionToken: session.sessionId,
token: session.sessionId,
sessionToken: userSession.sessionId,
token: userSession.sessionId,
refresh: '',
};
}
@Mutation(() => UserType)
@Public()
@Mutation(() => Boolean)
async changePassword(
@CurrentUser() user: CurrentUser,
@Args('token') token: string,
@Args('newPassword') newPassword: string
@Args('newPassword') newPassword: string,
@Args('userId', { type: () => String, nullable: true }) userId?: string
) {
validators.assertValidPassword(newPassword);
if (!userId) {
throw new LinkExpired();
}
// NOTE: Set & Change password are using the same token type.
const valid = await this.token.verifyToken(
TokenType.ChangePassword,
token,
{
credential: user.id,
credential: userId,
}
);
if (!valid) {
throw new ForbiddenException('Invalid token');
throw new InvalidEmailToken();
}
await this.auth.changePassword(user.id, newPassword);
await this.auth.revokeUserSessions(user.id);
await this.auth.changePassword(userId, newPassword);
await this.auth.revokeUserSessions(userId);
return user;
return true;
}
@Mutation(() => UserType)
@@ -109,14 +120,13 @@ export class AuthResolver {
@Args('token') token: string,
@Args('email') email: string
) {
validators.assertValidEmail(email);
// @see [sendChangeEmail]
const valid = await this.token.verifyToken(TokenType.VerifyEmail, token, {
credential: user.id,
});
if (!valid) {
throw new ForbiddenException('Invalid token');
throw new InvalidEmailToken();
}
email = decodeURIComponent(email);
@@ -132,11 +142,14 @@ export class AuthResolver {
async sendChangePasswordEmail(
@CurrentUser() user: CurrentUser,
@Args('callbackUrl') callbackUrl: string,
// @deprecated
@Args('email', { nullable: true }) _email?: string
@Args('email', {
nullable: true,
deprecationReason: 'fetched from signed in user',
})
_email?: string
) {
if (!user.emailVerified) {
throw new ForbiddenException('Please verify your email first.');
throw new EmailVerificationRequired();
}
const token = await this.token.createToken(
@@ -144,13 +157,9 @@ export class AuthResolver {
user.id
);
const url = new URL(callbackUrl, this.config.baseUrl);
url.searchParams.set('token', token);
const url = this.url.link(callbackUrl, { userId: user.id, token });
const res = await this.auth.sendChangePasswordEmail(
user.email,
url.toString()
);
const res = await this.auth.sendChangePasswordEmail(user.email, url);
return !res.rejected.length;
}
@@ -159,25 +168,13 @@ export class AuthResolver {
async sendSetPasswordEmail(
@CurrentUser() user: CurrentUser,
@Args('callbackUrl') callbackUrl: string,
@Args('email', { nullable: true }) _email?: string
@Args('email', {
nullable: true,
deprecationReason: 'fetched from signed in user',
})
_email?: string
) {
if (!user.emailVerified) {
throw new ForbiddenException('Please verify your email first.');
}
const token = await this.token.createToken(
TokenType.ChangePassword,
user.id
);
const url = new URL(callbackUrl, this.config.baseUrl);
url.searchParams.set('token', token);
const res = await this.auth.sendSetPasswordEmail(
user.email,
url.toString()
);
return !res.rejected.length;
return this.sendChangePasswordEmail(user, callbackUrl);
}
// The change email step is:
@@ -195,15 +192,14 @@ export class AuthResolver {
@Args('email', { nullable: true }) _email?: string
) {
if (!user.emailVerified) {
throw new ForbiddenException('Please verify your email first.');
throw new EmailVerificationRequired();
}
const token = await this.token.createToken(TokenType.ChangeEmail, user.id);
const url = new URL(callbackUrl, this.config.baseUrl);
url.searchParams.set('token', token);
const url = this.url.link(callbackUrl, { token });
const res = await this.auth.sendChangeEmail(user.email, url.toString());
const res = await this.auth.sendChangeEmail(user.email, url);
return !res.rejected.length;
}
@@ -214,24 +210,26 @@ export class AuthResolver {
@Args('email') email: string,
@Args('callbackUrl') callbackUrl: string
) {
if (!token) {
throw new EmailTokenNotFound();
}
validators.assertValidEmail(email);
const valid = await this.token.verifyToken(TokenType.ChangeEmail, token, {
credential: user.id,
});
if (!valid) {
throw new ForbiddenException('Invalid token');
throw new InvalidEmailToken();
}
const hasRegistered = await this.user.findUserByEmail(email);
if (hasRegistered) {
if (hasRegistered.id !== user.id) {
throw new BadRequestException(`The email provided has been taken.`);
throw new EmailAlreadyUsed();
} else {
throw new BadRequestException(
`The email provided is the same as the current email.`
);
throw new SameEmailProvided();
}
}
@@ -240,11 +238,8 @@ export class AuthResolver {
user.id
);
const url = new URL(callbackUrl, this.config.baseUrl);
url.searchParams.set('token', verifyEmailToken);
url.searchParams.set('email', email);
const res = await this.auth.sendVerifyChangeEmail(email, url.toString());
const url = this.url.link(callbackUrl, { token: verifyEmailToken, email });
const res = await this.auth.sendVerifyChangeEmail(email, url);
return !res.rejected.length;
}
@@ -256,10 +251,9 @@ export class AuthResolver {
) {
const token = await this.token.createToken(TokenType.VerifyEmail, user.id);
const url = new URL(callbackUrl, this.config.baseUrl);
url.searchParams.set('token', token);
const url = this.url.link(callbackUrl, { token });
const res = await this.auth.sendVerifyEmail(user.email, url.toString());
const res = await this.auth.sendVerifyEmail(user.email, url);
return !res.rejected.length;
}
@@ -269,7 +263,7 @@ export class AuthResolver {
@Args('token') token: string
) {
if (!token) {
throw new BadRequestException('Invalid token');
throw new EmailTokenNotFound();
}
const valid = await this.token.verifyToken(TokenType.VerifyEmail, token, {
@@ -277,11 +271,27 @@ export class AuthResolver {
});
if (!valid) {
throw new ForbiddenException('Invalid token');
throw new InvalidEmailToken();
}
const { emailVerifiedAt } = await this.auth.setEmailVerified(user.id);
return emailVerifiedAt !== null;
}
@Admin()
@Mutation(() => String, {
description: 'Create change password url',
})
async createChangePasswordUrl(
@Args('userId') userId: string,
@Args('callbackUrl') callbackUrl: string
): Promise<string> {
const token = await this.token.createToken(
TokenType.ChangePassword,
userId
);
return this.url.link(callbackUrl, { userId, token });
}
}

View File

@@ -1,43 +1,16 @@
import {
BadRequestException,
Injectable,
NotAcceptableException,
OnApplicationBootstrap,
} from '@nestjs/common';
import type { User } from '@prisma/client';
import { Injectable, OnApplicationBootstrap } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
import type { User, UserSession } from '@prisma/client';
import { PrismaClient } from '@prisma/client';
import type { CookieOptions, Request, Response } from 'express';
import { assign, omit } from 'lodash-es';
import { assign, pick } from 'lodash-es';
import { Config, CryptoHelper, MailService } from '../../fundamentals';
import { Config, MailService, SignUpForbidden } from '../../fundamentals';
import { FeatureManagementService } from '../features/management';
import { QuotaService } from '../quota/service';
import { QuotaType } from '../quota/types';
import { UserService } from '../user/service';
import type { CurrentUser } from './current-user';
export function parseAuthUserSeqNum(value: any) {
let seq: number = 0;
switch (typeof value) {
case 'number': {
seq = value;
break;
}
case 'string': {
const result = value.match(/^([\d{0, 10}])$/);
if (result?.[1]) {
seq = Number(result[1]);
}
break;
}
default: {
seq = 0;
}
}
return Math.max(0, seq);
}
import type { CurrentUser } from './session';
export function sessionUser(
user: Pick<
@@ -45,13 +18,19 @@ export function sessionUser(
'id' | 'email' | 'avatarUrl' | 'name' | 'emailVerifiedAt'
> & { password?: string | null }
): CurrentUser {
return assign(
omit(user, 'password', 'registered', 'emailVerifiedAt', 'createdAt'),
{
hasPassword: user.password !== null,
emailVerified: user.emailVerifiedAt !== null,
}
);
// use pick to avoid unexpected fields
return assign(pick(user, 'id', 'email', 'avatarUrl', 'name'), {
hasPassword: user.password !== null,
emailVerified: user.emailVerifiedAt !== null,
});
}
function extractTokenFromHeader(authorization: string) {
if (!/^Bearer\s/i.test(authorization)) {
return;
}
return authorization.substring(7);
}
@Injectable()
@@ -60,10 +39,10 @@ export class AuthService implements OnApplicationBootstrap {
sameSite: 'lax',
httpOnly: true,
path: '/',
secure: this.config.https,
secure: this.config.server.https,
};
static readonly sessionCookieName = 'affine_session';
static readonly authUserSeqHeaderName = 'x-auth-user';
static readonly userCookieName = 'affine_user_id';
constructor(
private readonly config: Config,
@@ -71,25 +50,25 @@ export class AuthService implements OnApplicationBootstrap {
private readonly mailer: MailService,
private readonly feature: FeatureManagementService,
private readonly quota: QuotaService,
private readonly user: UserService,
private readonly crypto: CryptoHelper
private readonly user: UserService
) {}
async onApplicationBootstrap() {
if (this.config.node.dev) {
try {
const [email, name, pwd] = ['dev@affine.pro', 'Dev User', 'dev'];
const [email, name, password] = ['dev@affine.pro', 'Dev User', 'dev'];
let devUser = await this.user.findUserByEmail(email);
if (!devUser) {
devUser = await this.user.createUser({
devUser = await this.user.createUser_without_verification({
email,
name,
password: await this.crypto.encryptPassword(pwd),
password,
});
}
await this.quota.switchUserQuota(devUser.id, QuotaType.ProPlanV1);
await this.feature.addAdmin(devUser.id);
await this.feature.addCopilot(devUser.id);
} catch (e) {
} catch {
// ignore
}
}
@@ -99,189 +78,173 @@ export class AuthService implements OnApplicationBootstrap {
return this.feature.canEarlyAccess(email);
}
async signUp(
name: string,
email: string,
password: string
): Promise<CurrentUser> {
const user = await this.user.findUserByEmail(email);
if (user) {
throw new BadRequestException('Email was taken');
/**
* This is a test only helper to quickly signup a user, do not use in production
*/
async signUp(email: string, password: string): Promise<CurrentUser> {
if (!this.config.node.test) {
throw new SignUpForbidden(
'sign up helper is forbidden for non-test environment'
);
}
const hashedPassword = await this.crypto.encryptPassword(password);
return this.user
.createUser({
name,
.createUser_without_verification({
email,
password: hashedPassword,
password,
})
.then(sessionUser);
}
async signIn(email: string, password: string) {
const user = await this.user.findUserWithHashedPasswordByEmail(email);
if (!user) {
throw new NotAcceptableException('Invalid sign in credentials');
}
if (!user.password) {
throw new NotAcceptableException(
'User Password is not set. Should login through email link.'
);
}
const passwordMatches = await this.crypto.verifyPassword(
password,
user.password
);
if (!passwordMatches) {
throw new NotAcceptableException('Invalid sign in credentials');
}
return sessionUser(user);
async signIn(email: string, password: string): Promise<CurrentUser> {
return this.user.signIn(email, password).then(sessionUser);
}
async getUser(
token: string,
seq = 0
): Promise<{ user: CurrentUser | null; expiresAt: Date | null }> {
const session = await this.getSession(token);
async signOut(sessionId: string, userId?: string) {
// sign out all users in the session
if (!userId) {
await this.db.session.deleteMany({
where: {
id: sessionId,
},
});
} else {
await this.db.userSession.deleteMany({
where: {
sessionId,
userId,
},
});
}
}
async getUserSession(
sessionId: string,
userId?: string
): Promise<{ user: CurrentUser; session: UserSession } | null> {
const userSession = await this.db.userSession.findFirst({
where: {
sessionId,
userId,
},
select: {
id: true,
sessionId: true,
userId: true,
createdAt: true,
expiresAt: true,
user: true,
},
orderBy: {
createdAt: 'asc',
},
});
// no such session
if (!session) {
return { user: null, expiresAt: null };
}
const userSession = session.userSessions.at(seq);
// no such user session
if (!userSession) {
return { user: null, expiresAt: null };
return null;
}
// user session expired
if (userSession.expiresAt && userSession.expiresAt <= new Date()) {
return { user: null, expiresAt: null };
}
const user = await this.db.user.findUnique({
where: { id: userSession.userId },
});
if (!user) {
return { user: null, expiresAt: null };
}
return { user: sessionUser(user), expiresAt: userSession.expiresAt };
}
async getUserList(token: string) {
const session = await this.getSession(token);
if (!session || !session.userSessions.length) {
return [];
}
const users = await this.db.user.findMany({
where: {
id: {
in: session.userSessions.map(({ userId }) => userId),
},
},
});
// TODO(@forehalo): need to separate expired session, same for [getUser]
// Session
// | { user: LimitedUser { email, avatarUrl }, expired: true }
// | { user: User, expired: false }
return session.userSessions
.map(userSession => {
// keep users in the same order as userSessions
const user = users.find(({ id }) => id === userSession.userId);
if (!user) {
return null;
}
return sessionUser(user);
})
.filter(Boolean) as CurrentUser[];
}
async signOut(token: string, seq = 0) {
const session = await this.getSession(token);
if (session) {
// overflow the logged in user
if (session.userSessions.length <= seq) {
return session;
}
await this.db.userSession.deleteMany({
where: { id: session.userSessions[seq].id },
});
// no more user session active, delete the whole session
if (session.userSessions.length === 1) {
await this.db.session.delete({ where: { id: session.id } });
return null;
}
return session;
}
return null;
}
async getSession(token: string) {
if (!token) {
return null;
}
return this.db.$transaction(async tx => {
const session = await tx.session.findUnique({
return { user: sessionUser(userSession.user), session: userSession };
}
async createUserSession(
userId: string,
sessionId?: string,
ttl = this.config.auth.session.ttl
) {
// check whether given session is valid
if (sessionId) {
const session = await this.db.session.findFirst({
where: {
id: token,
},
include: {
userSessions: {
orderBy: {
createdAt: 'asc',
},
},
id: sessionId,
},
});
if (!session) {
return null;
sessionId = undefined;
}
}
if (session.expiresAt && session.expiresAt <= new Date()) {
await tx.session.delete({
where: {
id: session.id,
if (!sessionId) {
const session = await this.createSession();
sessionId = session.id;
}
const expiresAt = new Date(Date.now() + ttl * 1000);
return this.db.userSession.upsert({
where: {
sessionId_userId: {
sessionId,
userId,
},
},
update: {
expiresAt,
},
create: {
sessionId,
userId,
expiresAt,
},
});
}
async getUserList(sessionId: string) {
const sessions = await this.db.userSession.findMany({
where: {
sessionId,
OR: [
{
expiresAt: null,
},
});
{
expiresAt: {
gt: new Date(),
},
},
],
},
include: {
user: true,
},
orderBy: {
createdAt: 'asc',
},
});
return null;
}
return sessions.map(({ user }) => sessionUser(user));
}
return session;
async createSession() {
return this.db.session.create({
data: {},
});
}
async getSession(sessionId: string) {
return this.db.session.findFirst({
where: {
id: sessionId,
},
});
}
async refreshUserSessionIfNeeded(
_req: Request,
res: Response,
sessionId: string,
userId: string,
expiresAt: Date,
session: UserSession,
ttr = this.config.auth.session.ttr
): Promise<boolean> {
if (expiresAt && expiresAt.getTime() - Date.now() > ttr * 1000) {
if (
session.expiresAt &&
session.expiresAt.getTime() - Date.now() > ttr * 1000
) {
// no need to refresh
return false;
}
@@ -292,17 +255,14 @@ export class AuthService implements OnApplicationBootstrap {
await this.db.userSession.update({
where: {
sessionId_userId: {
sessionId,
userId,
},
id: session.id,
},
data: {
expiresAt: newExpiresAt,
},
});
res.cookie(AuthService.sessionCookieName, sessionId, {
res.cookie(AuthService.sessionCookieName, session.sessionId, {
expires: newExpiresAt,
...this.cookieOptions,
});
@@ -310,121 +270,88 @@ export class AuthService implements OnApplicationBootstrap {
return true;
}
async createUserSession(
user: { id: string },
existingSession?: string,
ttl = this.config.auth.session.ttl
) {
const session = existingSession
? await this.getSession(existingSession)
: null;
const expiresAt = new Date(Date.now() + ttl * 1000);
if (session) {
return this.db.userSession.upsert({
where: {
sessionId_userId: {
sessionId: session.id,
userId: user.id,
},
},
update: {
expiresAt,
},
create: {
sessionId: session.id,
userId: user.id,
expiresAt,
},
});
} else {
return this.db.userSession.create({
data: {
expiresAt,
session: {
create: {},
},
user: {
connect: {
id: user.id,
},
},
},
});
}
}
async revokeUserSessions(userId: string, sessionId?: string) {
async revokeUserSessions(userId: string) {
return this.db.userSession.deleteMany({
where: {
userId,
sessionId,
},
});
}
async setCookie(_req: Request, res: Response, user: { id: string }) {
const session = await this.createUserSession(
user
// TODO(@forehalo): enable multi user session
// req.cookies[AuthService.sessionCookieName]
);
getSessionOptionsFromRequest(req: Request) {
let sessionId: string | undefined =
req.cookies[AuthService.sessionCookieName];
res.cookie(AuthService.sessionCookieName, session.sessionId, {
expires: session.expiresAt ?? void 0,
if (!sessionId && req.headers.authorization) {
sessionId = extractTokenFromHeader(req.headers.authorization);
}
const userId: string | undefined =
req.cookies[AuthService.userCookieName] ||
req.headers[AuthService.userCookieName];
return {
sessionId,
userId,
};
}
async setCookies(req: Request, res: Response, userId: string) {
const { sessionId } = this.getSessionOptionsFromRequest(req);
const userSession = await this.createUserSession(userId, sessionId);
res.cookie(AuthService.sessionCookieName, userSession.sessionId, {
...this.cookieOptions,
expires: userSession.expiresAt ?? void 0,
});
this.setUserCookie(res, userId);
}
setUserCookie(res: Response, userId: string) {
res.cookie(AuthService.userCookieName, userId, {
...this.cookieOptions,
// user cookie is client readable & writable for fast user switch if there are multiple users in one session
// it safe to be non-secure & non-httpOnly because server will validate it by `cookie[AuthService.sessionCookieName]`
httpOnly: false,
secure: false,
});
}
async changePassword(id: string, newPassword: string): Promise<User> {
const user = await this.user.findUserById(id);
async getUserSessionFromRequest(req: Request) {
const { sessionId, userId } = this.getSessionOptionsFromRequest(req);
if (!user) {
throw new BadRequestException('Invalid email');
if (!sessionId) {
return null;
}
const hashedPassword = await this.crypto.encryptPassword(newPassword);
return this.db.user.update({
where: {
id: user.id,
},
data: {
password: hashedPassword,
},
});
return this.getUserSession(sessionId, userId);
}
async changeEmail(id: string, newEmail: string): Promise<User> {
const user = await this.user.findUserById(id);
async changePassword(
id: string,
newPassword: string
): Promise<Omit<User, 'password'>> {
return this.user.updateUser(id, { password: newPassword });
}
if (!user) {
throw new BadRequestException('Invalid email');
}
return this.db.user.update({
where: {
id,
},
data: {
email: newEmail,
emailVerifiedAt: new Date(),
},
async changeEmail(
id: string,
newEmail: string
): Promise<Omit<User, 'password'>> {
return this.user.updateUser(id, {
email: newEmail,
emailVerifiedAt: new Date(),
});
}
async setEmailVerified(id: string) {
return await this.db.user.update({
where: {
id,
},
data: {
emailVerifiedAt: new Date(),
},
select: {
emailVerifiedAt: true,
},
});
return await this.user.updateUser(
id,
{ emailVerifiedAt: new Date() },
{ emailVerifiedAt: true }
);
}
async sendChangePasswordEmail(email: string, callbackUrl: string) {
@@ -448,11 +375,22 @@ export class AuthService implements OnApplicationBootstrap {
async sendSignInEmail(email: string, link: string, signUp: boolean) {
return signUp
? await this.mailer.sendSignUpMail(link.toString(), {
? await this.mailer.sendSignUpMail(link, {
to: email,
})
: await this.mailer.sendSignInMail(link.toString(), {
: await this.mailer.sendSignInMail(link, {
to: email,
});
}
@Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT)
async cleanExpiredSessions() {
await this.db.userSession.deleteMany({
where: {
expiresAt: {
lte: new Date(),
},
},
});
}
}

View File

@@ -1,13 +1,9 @@
import type { ExecutionContext } from '@nestjs/common';
import { createParamDecorator } from '@nestjs/common';
import { User } from '@prisma/client';
import { User, UserSession } from '@prisma/client';
import { getRequestResponseFromContext } from '../../fundamentals';
function getUserFromContext(context: ExecutionContext) {
return getRequestResponseFromContext(context).req.user;
}
/**
* Used to fetch current user from the request context.
*
@@ -44,7 +40,7 @@ function getUserFromContext(context: ExecutionContext) {
// eslint-disable-next-line no-redeclare
export const CurrentUser = createParamDecorator(
(_: unknown, context: ExecutionContext) => {
return getUserFromContext(context);
return getRequestResponseFromContext(context).req.session?.user;
}
);
@@ -53,3 +49,15 @@ export interface CurrentUser
hasPassword: boolean | null;
emailVerified: boolean;
}
// interface and variable don't conflict
// eslint-disable-next-line no-redeclare
export const Session = createParamDecorator(
(_: unknown, context: ExecutionContext) => {
return getRequestResponseFromContext(context).req.session;
}
);
export type Session = UserSession & {
user: CurrentUser;
};

View File

@@ -69,13 +69,9 @@ export class TokenService {
const valid =
!expired && (!record.credential || record.credential === credential);
if ((expired || valid) && !keep) {
const deleted = await this.db.verificationToken.deleteMany({
where: {
token,
type,
},
});
// always revoke expired token
if (expired || (valid && !keep)) {
const deleted = await this.revokeToken(type, token);
// already deleted, means token has been used
if (!deleted.count) {
@@ -86,9 +82,18 @@ export class TokenService {
return valid ? record : null;
}
async revokeToken(type: TokenType, token: string) {
return await this.db.verificationToken.deleteMany({
where: {
token,
type,
},
});
}
@Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT)
cleanExpiredTokens() {
return this.db.verificationToken.deleteMany({
async cleanExpiredTokens() {
await this.db.verificationToken.deleteMany({
where: {
expiresAt: {
lte: new Date(),

View File

@@ -0,0 +1,55 @@
import type {
CanActivate,
ExecutionContext,
OnModuleInit,
} from '@nestjs/common';
import { Injectable, UseGuards } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import {
ActionForbidden,
getRequestResponseFromContext,
} from '../../fundamentals';
import { FeatureManagementService } from '../features';
@Injectable()
export class AdminGuard implements CanActivate, OnModuleInit {
private feature!: FeatureManagementService;
constructor(private readonly ref: ModuleRef) {}
onModuleInit() {
this.feature = this.ref.get(FeatureManagementService, { strict: false });
}
async canActivate(context: ExecutionContext) {
const { req } = getRequestResponseFromContext(context);
let allow = false;
if (req.session) {
allow = await this.feature.isAdmin(req.session.user.id);
}
if (!allow) {
throw new ActionForbidden();
}
return true;
}
}
/**
* This guard is used to protect routes/queries/mutations that require a user to be administrator.
*
* @example
*
* ```typescript
* \@Admin()
* \@Mutation(() => UserType)
* createAccount(userInput: UserInput) {
* // ...
* }
* ```
*/
export const Admin = () => {
return UseGuards(AdminGuard);
};

View File

@@ -0,0 +1 @@
export * from './admin-guard';

View File

@@ -1,102 +0,0 @@
import { Module } from '@nestjs/common';
import { Field, ObjectType, Query, registerEnumType } from '@nestjs/graphql';
import { DeploymentType } from '../fundamentals';
import { Public } from './auth';
export enum ServerFeature {
Copilot = 'copilot',
Payment = 'payment',
OAuth = 'oauth',
}
registerEnumType(ServerFeature, {
name: 'ServerFeature',
});
registerEnumType(DeploymentType, {
name: 'ServerDeploymentType',
});
const ENABLED_FEATURES: Set<ServerFeature> = new Set();
export function ADD_ENABLED_FEATURES(feature: ServerFeature) {
ENABLED_FEATURES.add(feature);
}
@ObjectType()
export class PasswordLimitsType {
@Field()
minLength!: number;
@Field()
maxLength!: number;
}
@ObjectType()
export class CredentialsRequirementType {
@Field()
password!: PasswordLimitsType;
}
@ObjectType()
export class ServerConfigType {
@Field({
description:
'server identical name could be shown as badge on user interface',
})
name!: string;
@Field({ description: 'server version' })
version!: string;
@Field({ description: 'server base url' })
baseUrl!: string;
@Field(() => DeploymentType, { description: 'server type' })
type!: DeploymentType;
/**
* @deprecated
*/
@Field({ description: 'server flavor', deprecationReason: 'use `features`' })
flavor!: string;
@Field(() => [ServerFeature], { description: 'enabled server features' })
features!: ServerFeature[];
@Field(() => CredentialsRequirementType, {
description: 'credentials requirement',
})
credentialsRequirement!: CredentialsRequirementType;
@Field({ description: 'enable telemetry' })
enableTelemetry!: boolean;
}
export class ServerConfigResolver {
@Public()
@Query(() => ServerConfigType, {
description: 'server config',
})
serverConfig(): ServerConfigType {
return {
name: AFFiNE.serverName,
version: AFFiNE.version,
baseUrl: AFFiNE.baseUrl,
type: AFFiNE.type,
// BACKWARD COMPATIBILITY
// the old flavors contains `selfhosted` but it actually not flavor but deployment type
// this field should be removed after frontend feature flags implemented
flavor: AFFiNE.type,
features: Array.from(ENABLED_FEATURES),
credentialsRequirement: {
password: AFFiNE.auth.password,
},
enableTelemetry: AFFiNE.telemetry.enabled,
};
}
}
@Module({
providers: [ServerConfigResolver],
})
export class ServerConfigModule {}

View File

@@ -0,0 +1,23 @@
import { defineRuntimeConfig, ModuleConfig } from '../../fundamentals/config';
export interface ServerFlags {
earlyAccessControl: boolean;
syncClientVersionCheck: boolean;
}
declare module '../../fundamentals/config' {
interface AppConfig {
flags: ModuleConfig<never, ServerFlags>;
}
}
defineRuntimeConfig('flags', {
earlyAccessControl: {
desc: 'Only allow users with early access features to access the app',
default: false,
},
syncClientVersionCheck: {
desc: 'Only allow client with exact the same version with server to establish sync connections',
default: false,
},
});

View File

@@ -0,0 +1,26 @@
import './config';
import { Module } from '@nestjs/common';
import {
ServerConfigResolver,
ServerFeatureConfigResolver,
ServerRuntimeConfigResolver,
ServerServiceConfigResolver,
} from './resolver';
import { ServerService } from './service';
@Module({
providers: [
ServerService,
ServerConfigResolver,
ServerFeatureConfigResolver,
ServerRuntimeConfigResolver,
ServerServiceConfigResolver,
],
exports: [ServerService],
})
export class ServerConfigModule {}
export { ServerService };
export { ADD_ENABLED_FEATURES } from './server-feature';
export { ServerFeature } from './types';

View File

@@ -0,0 +1,273 @@
import {
Args,
Field,
GraphQLISODateTime,
Mutation,
ObjectType,
Query,
registerEnumType,
ResolveField,
Resolver,
} from '@nestjs/graphql';
import { RuntimeConfig, RuntimeConfigType } from '@prisma/client';
import { GraphQLJSON, GraphQLJSONObject } from 'graphql-scalars';
import { Config, URLHelper } from '../../fundamentals';
import { Public } from '../auth';
import { Admin } from '../common';
import { FeatureType } from '../features';
import { AvailableUserFeatureConfig } from '../features/resolver';
import { ServerFlags } from './config';
import { ENABLED_FEATURES } from './server-feature';
import { ServerService } from './service';
import { ServerConfigType } from './types';
@ObjectType()
export class PasswordLimitsType {
@Field()
minLength!: number;
@Field()
maxLength!: number;
}
@ObjectType()
export class CredentialsRequirementType {
@Field()
password!: PasswordLimitsType;
}
registerEnumType(RuntimeConfigType, {
name: 'RuntimeConfigType',
});
@ObjectType()
export class ServerRuntimeConfigType implements Partial<RuntimeConfig> {
@Field()
id!: string;
@Field()
module!: string;
@Field()
key!: string;
@Field()
description!: string;
@Field(() => GraphQLJSON)
value!: any;
@Field(() => RuntimeConfigType)
type!: RuntimeConfigType;
@Field(() => GraphQLISODateTime)
updatedAt!: Date;
}
@ObjectType()
export class ServerFlagsType implements ServerFlags {
@Field()
earlyAccessControl!: boolean;
@Field()
syncClientVersionCheck!: boolean;
}
@Resolver(() => ServerConfigType)
export class ServerConfigResolver {
constructor(
private readonly config: Config,
private readonly url: URLHelper,
private readonly server: ServerService
) {}
@Public()
@Query(() => ServerConfigType, {
description: 'server config',
})
serverConfig(): ServerConfigType {
return {
name: this.config.serverName,
version: this.config.version,
baseUrl: this.url.home,
type: this.config.type,
// BACKWARD COMPATIBILITY
// the old flavors contains `selfhosted` but it actually not flavor but deployment type
// this field should be removed after frontend feature flags implemented
flavor: this.config.type,
features: Array.from(ENABLED_FEATURES),
enableTelemetry: this.config.metrics.telemetry.enabled,
};
}
@ResolveField(() => CredentialsRequirementType, {
description: 'credentials requirement',
})
async credentialsRequirement() {
const config = await this.config.runtime.fetchAll({
'auth/password.max': true,
'auth/password.min': true,
});
return {
password: {
minLength: config['auth/password.min'],
maxLength: config['auth/password.max'],
},
};
}
@ResolveField(() => ServerFlagsType, {
description: 'server flags',
})
async flags(): Promise<ServerFlagsType> {
const records = await this.config.runtime.list('flags');
return records.reduce((flags, record) => {
flags[record.key as keyof ServerFlagsType] = record.value as any;
return flags;
}, {} as ServerFlagsType);
}
@ResolveField(() => Boolean, {
description: 'whether server has been initialized',
})
async initialized() {
return this.server.initialized();
}
}
@Resolver(() => ServerConfigType)
export class ServerFeatureConfigResolver extends AvailableUserFeatureConfig {
constructor(config: Config) {
super(config);
}
@ResolveField(() => [FeatureType], {
description: 'Features for user that can be configured',
})
override availableUserFeatures() {
return super.availableUserFeatures();
}
}
@ObjectType()
class ServerServiceConfig {
@Field()
name!: string;
@Field(() => GraphQLJSONObject)
config!: any;
}
interface ServerServeConfig {
https: boolean;
host: string;
port: number;
externalUrl: string;
}
interface ServerMailerConfig {
host?: string | null;
port?: number | null;
secure?: boolean | null;
service?: string | null;
sender?: string | null;
}
interface ServerDatabaseConfig {
host: string;
port: number;
user?: string | null;
database: string;
}
@Admin()
@Resolver(() => ServerRuntimeConfigType)
export class ServerRuntimeConfigResolver {
constructor(private readonly config: Config) {}
@Query(() => [ServerRuntimeConfigType], {
description: 'get all server runtime configurable settings',
})
serverRuntimeConfig(): Promise<ServerRuntimeConfigType[]> {
return this.config.runtime.list();
}
@Mutation(() => ServerRuntimeConfigType, {
description: 'update server runtime configurable setting',
})
async updateRuntimeConfig(
@Args('id') id: string,
@Args({ type: () => GraphQLJSON, name: 'value' }) value: any
): Promise<ServerRuntimeConfigType> {
return await this.config.runtime.set(id as any, value);
}
@Mutation(() => [ServerRuntimeConfigType], {
description: 'update multiple server runtime configurable settings',
})
async updateRuntimeConfigs(
@Args({ type: () => GraphQLJSONObject, name: 'updates' }) updates: any
): Promise<ServerRuntimeConfigType[]> {
const keys = Object.keys(updates);
const results = await Promise.all(
keys.map(key => this.config.runtime.set(key as any, updates[key]))
);
return results;
}
}
@Admin()
@Resolver(() => ServerServiceConfig)
export class ServerServiceConfigResolver {
constructor(private readonly config: Config) {}
@Query(() => [ServerServiceConfig])
serverServiceConfigs() {
return [
{
name: 'server',
config: this.serve(),
},
{
name: 'mailer',
config: this.mail(),
},
{
name: 'database',
config: this.database(),
},
];
}
serve(): ServerServeConfig {
return this.config.server;
}
mail(): ServerMailerConfig {
const sender =
typeof this.config.mailer.from === 'string'
? this.config.mailer.from
: this.config.mailer.from?.address;
return {
host: this.config.mailer.host,
port: this.config.mailer.port,
secure: this.config.mailer.secure,
service: this.config.mailer.service,
sender,
};
}
database(): ServerDatabaseConfig {
const url = new URL(this.config.database.datasourceUrl);
return {
host: url.hostname,
port: Number(url.port),
user: url.username,
database: url.pathname.slice(1) ?? url.username,
};
}
}

View File

@@ -0,0 +1,7 @@
import { ServerFeature } from './types';
export const ENABLED_FEATURES: Set<ServerFeature> = new Set();
export function ADD_ENABLED_FEATURES(feature: ServerFeature) {
ENABLED_FEATURES.add(feature);
}
export { ServerFeature };

View File

@@ -0,0 +1,17 @@
import { Injectable } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
@Injectable()
export class ServerService {
private _initialized: boolean | null = null;
constructor(private readonly db: PrismaClient) {}
async initialized() {
if (!this._initialized) {
const userCount = await this.db.user.count();
this._initialized = userCount > 0;
}
return this._initialized;
}
}

View File

@@ -0,0 +1,48 @@
import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
import { DeploymentType } from '../../fundamentals';
export enum ServerFeature {
Captcha = 'captcha',
Copilot = 'copilot',
Payment = 'payment',
OAuth = 'oauth',
}
registerEnumType(ServerFeature, {
name: 'ServerFeature',
});
registerEnumType(DeploymentType, {
name: 'ServerDeploymentType',
});
@ObjectType()
export class ServerConfigType {
@Field({
description:
'server identical name could be shown as badge on user interface',
})
name!: string;
@Field({ description: 'server version' })
version!: string;
@Field({ description: 'server base url' })
baseUrl!: string;
@Field(() => DeploymentType, { description: 'server type' })
type!: DeploymentType;
/**
* @deprecated
*/
@Field({ description: 'server flavor', deprecationReason: 'use `features`' })
flavor!: string;
@Field(() => [ServerFeature], { description: 'enabled server features' })
features!: ServerFeature[];
@Field({ description: 'enable telemetry' })
enableTelemetry!: boolean;
}

View File

@@ -0,0 +1,186 @@
import { Injectable } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
import { Mutex } from '../../../fundamentals';
import { DocStorageOptions } from '../options';
import { DocRecord, DocStorageAdapter } from '../storage';
@Injectable()
export class PgUserspaceDocStorageAdapter extends DocStorageAdapter {
constructor(
private readonly db: PrismaClient,
private readonly mutex: Mutex,
options: DocStorageOptions
) {
super(options);
}
// no updates queue for userspace, directly merge them inplace
// no history record for userspace
protected async getDocUpdates() {
return [];
}
protected async markUpdatesMerged() {
return 0;
}
async listDocHistories() {
return [];
}
async getDocHistory() {
return null;
}
protected async createDocHistory() {
return false;
}
override async rollbackDoc() {
return;
}
override async getDoc(spaceId: string, docId: string) {
return this.getDocSnapshot(spaceId, docId);
}
async pushDocUpdates(
userId: string,
docId: string,
updates: Uint8Array[],
editorId?: string
) {
if (!updates.length) {
return 0;
}
await using _lock = await this.lockDocForUpdate(userId, docId);
const snapshot = await this.getDocSnapshot(userId, docId);
const now = Date.now();
const pendings = updates.map((update, i) => ({
bin: update,
timestamp: now + i,
}));
const { timestamp, bin } = await this.squash(
snapshot ? [snapshot, ...pendings] : pendings
);
await this.setDocSnapshot({
spaceId: userId,
docId,
bin,
timestamp,
editor: editorId,
});
return timestamp;
}
async deleteDoc(userId: string, docId: string) {
await this.db.userSnapshot.deleteMany({
where: {
userId,
id: docId,
},
});
}
async deleteSpace(userId: string) {
await this.db.userSnapshot.deleteMany({
where: {
userId,
},
});
}
async getSpaceDocTimestamps(userId: string, after?: number) {
const snapshots = await this.db.userSnapshot.findMany({
select: {
id: true,
updatedAt: true,
},
where: {
userId,
...(after
? {
updatedAt: {
gt: new Date(after),
},
}
: {}),
},
});
const result: Record<string, number> = {};
snapshots.forEach(s => {
result[s.id] = s.updatedAt.getTime();
});
return result;
}
protected async getDocSnapshot(userId: string, docId: string) {
const snapshot = await this.db.userSnapshot.findUnique({
where: {
userId_id: {
userId,
id: docId,
},
},
});
if (!snapshot) {
return null;
}
return {
spaceId: userId,
docId,
bin: snapshot.blob,
timestamp: snapshot.updatedAt.getTime(),
editor: snapshot.userId,
};
}
protected async setDocSnapshot(snapshot: DocRecord) {
// we always get lock before writing to user snapshot table,
// so a simple upsert without testing on updatedAt is safe
await this.db.userSnapshot.upsert({
where: {
userId_id: {
userId: snapshot.spaceId,
id: snapshot.docId,
},
},
update: {
blob: Buffer.from(snapshot.bin),
updatedAt: new Date(snapshot.timestamp),
},
create: {
userId: snapshot.spaceId,
id: snapshot.docId,
blob: Buffer.from(snapshot.bin),
createdAt: new Date(snapshot.timestamp),
updatedAt: new Date(snapshot.timestamp),
},
});
return true;
}
protected override async lockDocForUpdate(
workspaceId: string,
docId: string
) {
const lock = await this.mutex.lock(`userspace:${workspaceId}:${docId}`);
if (!lock) {
throw new Error('Too many concurrent writings');
}
return lock;
}
}

View File

@@ -0,0 +1,618 @@
import { Injectable, Logger } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
import { chunk } from 'lodash-es';
import {
Cache,
DocHistoryNotFound,
DocNotFound,
FailedToSaveUpdates,
FailedToUpsertSnapshot,
metrics,
Mutex,
} from '../../../fundamentals';
import { retryable } from '../../../fundamentals/utils/promise';
import { DocStorageOptions } from '../options';
import {
DocRecord,
DocStorageAdapter,
DocUpdate,
HistoryFilter,
} from '../storage';
const UPDATES_QUEUE_CACHE_KEY = 'doc:manager:updates';
@Injectable()
export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
private readonly logger = new Logger(PgWorkspaceDocStorageAdapter.name);
constructor(
private readonly db: PrismaClient,
private readonly mutex: Mutex,
private readonly cache: Cache,
protected override readonly options: DocStorageOptions
) {
super(options);
}
async pushDocUpdates(
workspaceId: string,
docId: string,
updates: Uint8Array[],
editorId?: string
) {
if (!updates.length) {
return 0;
}
let pendings = updates;
let done = 0;
let timestamp = Date.now();
try {
await retryable(async () => {
if (done !== 0) {
pendings = pendings.slice(done);
}
// TODO(@forehalo): remove in next release
const lastSeq = await this.getUpdateSeq(
workspaceId,
docId,
updates.length
);
let turn = 0;
const batchCount = 10;
for (const batch of chunk(pendings, batchCount)) {
const now = Date.now();
await this.db.update.createMany({
data: batch.map((update, i) => {
const subSeq = turn * batchCount + i + 1;
// `seq` is the last seq num of the batch
// example for 11 batched updates, start from seq num 20
// seq for first update in the batch should be:
// 31 - 11 + subSeq(0 * 10 + 0 + 1) = 21
// ^ last seq num ^ updates.length ^ turn ^ batchCount ^i
const seq = lastSeq - updates.length + subSeq;
const createdAt = now + subSeq;
timestamp = Math.max(timestamp, createdAt);
return {
workspaceId,
id: docId,
blob: Buffer.from(update),
seq,
createdAt: new Date(createdAt),
createdBy: editorId || null,
};
}),
});
turn++;
done += batch.length;
await this.updateCachedUpdatesCount(workspaceId, docId, batch.length);
}
});
} catch (e) {
this.logger.error('Failed to insert doc updates', e);
metrics.doc.counter('doc_update_insert_failed').add(1);
throw new FailedToSaveUpdates();
}
return timestamp;
}
protected async getDocUpdates(workspaceId: string, docId: string) {
const rows = await this.db.update.findMany({
where: {
workspaceId,
id: docId,
},
orderBy: {
createdAt: 'asc',
},
});
return rows.map(row => ({
bin: row.blob,
timestamp: row.createdAt.getTime(),
editor: row.createdBy || undefined,
}));
}
async deleteDoc(workspaceId: string, docId: string) {
const ident = { where: { workspaceId, id: docId } };
await this.db.$transaction([
this.db.snapshot.deleteMany(ident),
this.db.update.deleteMany(ident),
this.db.snapshotHistory.deleteMany(ident),
]);
}
async deleteSpace(workspaceId: string) {
const ident = { where: { workspaceId } };
await this.db.$transaction([
this.db.workspace.deleteMany({
where: {
id: workspaceId,
},
}),
this.db.snapshot.deleteMany(ident),
this.db.update.deleteMany(ident),
this.db.snapshotHistory.deleteMany(ident),
]);
}
async getSpaceDocTimestamps(workspaceId: string, after?: number) {
const snapshots = await this.db.snapshot.findMany({
select: {
id: true,
updatedAt: true,
},
where: {
workspaceId,
...(after
? {
updatedAt: {
gt: new Date(after),
},
}
: {}),
},
});
const updates = await this.db.update.groupBy({
where: {
workspaceId,
...(after
? {
createdAt: {
gt: new Date(after),
},
}
: {}),
},
by: ['id'],
_max: {
createdAt: true,
},
});
const result: Record<string, number> = {};
snapshots.forEach(s => {
result[s.id] = s.updatedAt.getTime();
});
updates.forEach(u => {
if (u._max.createdAt) {
result[u.id] = u._max.createdAt.getTime();
}
});
return result;
}
protected async markUpdatesMerged(
workspaceId: string,
docId: string,
updates: DocUpdate[]
) {
const result = await this.db.update.deleteMany({
where: {
workspaceId,
id: docId,
createdAt: {
in: updates.map(u => new Date(u.timestamp)),
},
},
});
await this.updateCachedUpdatesCount(workspaceId, docId, -result.count);
return result.count;
}
async listDocHistories(
workspaceId: string,
docId: string,
query: HistoryFilter
) {
const histories = await this.db.snapshotHistory.findMany({
select: {
timestamp: true,
createdByUser: {
select: {
name: true,
avatarUrl: true,
},
},
},
where: {
workspaceId,
id: docId,
timestamp: {
lt: query.before ? new Date(query.before) : new Date(),
},
},
orderBy: {
timestamp: 'desc',
},
take: query.limit,
});
return histories.map(h => ({
timestamp: h.timestamp.getTime(),
editor: h.createdByUser,
}));
}
async getDocHistory(workspaceId: string, docId: string, timestamp: number) {
const history = await this.db.snapshotHistory.findUnique({
where: {
workspaceId_id_timestamp: {
workspaceId,
id: docId,
timestamp: new Date(timestamp),
},
},
});
if (!history) {
return null;
}
return {
spaceId: workspaceId,
docId,
bin: history.blob,
timestamp,
editor: history.createdBy || undefined,
};
}
override async rollbackDoc(
spaceId: string,
docId: string,
timestamp: number,
editorId?: string
): Promise<void> {
await using _lock = await this.lockDocForUpdate(spaceId, docId);
const toSnapshot = await this.getDocHistory(spaceId, docId, timestamp);
if (!toSnapshot) {
throw new DocHistoryNotFound({ spaceId, docId, timestamp });
}
const fromSnapshot = await this.getDocSnapshot(spaceId, docId);
if (!fromSnapshot) {
throw new DocNotFound({ spaceId, docId });
}
// force create a new history record after rollback
await this.createDocHistory(
{
...fromSnapshot,
// override the editor to the one who requested the rollback
editor: editorId,
},
true
);
// WARN:
// we should never do the snapshot updating in recovering,
// which is not the solution in CRDT.
// let user revert in client and update the data in sync system
// const change = this.generateChangeUpdate(fromSnapshot.bin, toSnapshot.bin);
// await this.pushDocUpdates(spaceId, docId, [change]);
metrics.doc
.counter('history_recovered_counter', {
description: 'How many times history recovered request happened',
})
.add(1);
}
protected async createDocHistory(snapshot: DocRecord, force = false) {
const last = await this.lastDocHistory(snapshot.spaceId, snapshot.docId);
let shouldCreateHistory = false;
if (!last) {
// never created
shouldCreateHistory = true;
} else {
const lastHistoryTimestamp = last.timestamp.getTime();
if (lastHistoryTimestamp === snapshot.timestamp) {
// no change
shouldCreateHistory = false;
} else if (
// force
force ||
// last history created before interval in configs
lastHistoryTimestamp <
snapshot.timestamp - this.options.historyMinInterval(snapshot.spaceId)
) {
shouldCreateHistory = true;
}
}
if (shouldCreateHistory) {
if (this.isEmptyBin(snapshot.bin)) {
this.logger.debug(
`Doc is empty, skip creating history record for ${snapshot.docId} in workspace ${snapshot.spaceId}`
);
return false;
}
await this.db.snapshotHistory
.create({
select: {
timestamp: true,
},
data: {
workspaceId: snapshot.spaceId,
id: snapshot.docId,
timestamp: new Date(snapshot.timestamp),
blob: Buffer.from(snapshot.bin),
createdBy: snapshot.editor,
expiredAt: new Date(
Date.now() + (await this.options.historyMaxAge(snapshot.spaceId))
),
},
})
.catch(() => {
// safe to ignore
// only happens when duplicated history record created in multi processes
});
metrics.doc
.counter('history_created_counter', {
description: 'How many times the snapshot history created',
})
.add(1);
this.logger.debug(
`History created for ${snapshot.docId} in workspace ${snapshot.spaceId}.`
);
return true;
}
return false;
}
protected async getDocSnapshot(workspaceId: string, docId: string) {
const snapshot = await this.db.snapshot.findUnique({
where: {
id_workspaceId: {
workspaceId,
id: docId,
},
},
});
if (!snapshot) {
return null;
}
return {
spaceId: workspaceId,
docId,
bin: snapshot.blob,
timestamp: snapshot.updatedAt.getTime(),
// creator and editor may null if their account is deleted
editor: snapshot.updatedBy || snapshot.createdBy || undefined,
};
}
protected async setDocSnapshot(snapshot: DocRecord) {
const { spaceId, docId, bin, timestamp } = snapshot;
if (this.isEmptyBin(bin)) {
return false;
}
const updatedAt = new Date(timestamp);
// CONCERNS:
// i. Because we save the real user's last seen action time as `updatedAt`,
// it's possible to simply compare the `updatedAt` to determine if the snapshot is older than the one we are going to save.
//
// ii. Prisma doesn't support `upsert` with additional `where` condition along side unique constraint.
// In our case, we need to manually check the `updatedAt` to avoid overriding the newer snapshot.
// where: { id_workspaceId: {}, updatedAt: { lt: updatedAt } }
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
try {
const result: { updatedAt: Date }[] = await this.db.$queryRaw`
INSERT INTO "snapshots" ("workspace_id", "guid", "blob", "created_at", "updated_at", "created_by", "updated_by")
VALUES (${spaceId}, ${docId}, ${bin}, DEFAULT, ${updatedAt}, ${snapshot.editor}, ${snapshot.editor})
ON CONFLICT ("workspace_id", "guid")
DO UPDATE SET "blob" = ${bin}, "updated_at" = ${updatedAt}, "updated_by" = ${snapshot.editor}
WHERE "snapshots"."workspace_id" = ${spaceId} AND "snapshots"."guid" = ${docId} AND "snapshots"."updated_at" <= ${updatedAt}
RETURNING "snapshots"."workspace_id" as "workspaceId", "snapshots"."guid" as "id", "snapshots"."updated_at" as "updatedAt"
`;
// const result = await this.db.snapshot.upsert({
// select: {
// updatedAt: true,
// seq: true,
// },
// where: {
// id_workspaceId: {
// workspaceId,
// id: guid,
// },
// ⬇️ NOT SUPPORTED BY PRISMA YET
// updatedAt: {
// lt: updatedAt,
// },
// },
// update: {
// blob,
// state,
// updatedAt,
// },
// create: {
// workspaceId,
// id: guid,
// blob,
// state,
// updatedAt,
// seq,
// },
// });
// if the condition `snapshot.updatedAt > updatedAt` is true, by which means the snapshot has already been updated by other process,
// the updates has been applied to current `doc` must have been seen by the other process as well.
// The `updatedSnapshot` will be `undefined` in this case.
const updatedSnapshot = result.at(0);
return !!updatedSnapshot;
} catch (e) {
metrics.doc.counter('snapshot_upsert_failed').add(1);
this.logger.error('Failed to upsert snapshot', e);
throw new FailedToUpsertSnapshot();
}
}
protected override async lockDocForUpdate(
workspaceId: string,
docId: string
) {
const lock = await this.mutex.lock(`doc:update:${workspaceId}:${docId}`);
if (!lock) {
throw new Error('Too many concurrent writings');
}
return lock;
}
protected async lastDocHistory(workspaceId: string, id: string) {
return this.db.snapshotHistory.findFirst({
where: {
workspaceId,
id,
},
select: {
timestamp: true,
state: true,
},
orderBy: {
timestamp: 'desc',
},
});
}
// for auto merging
async randomDoc() {
const key = await this.cache.mapRandomKey(UPDATES_QUEUE_CACHE_KEY);
if (key) {
const cachedCount = await this.cache.mapIncrease(
UPDATES_QUEUE_CACHE_KEY,
key,
0
);
if (cachedCount > 0) {
const [workspaceId, id] = key.split('::');
const count = await this.db.update.count({
where: {
workspaceId,
id,
},
});
// FIXME(@forehalo): somehow the update count in cache is not accurate
if (count === 0) {
metrics.doc
.counter('doc_update_count_inconsistent_with_cache')
.add(1);
await this.cache.mapDelete(UPDATES_QUEUE_CACHE_KEY, key);
return null;
}
return { workspaceId, docId: id };
}
}
return null;
}
private async updateCachedUpdatesCount(
workspaceId: string,
guid: string,
count: number
) {
const result = await this.cache.mapIncrease(
UPDATES_QUEUE_CACHE_KEY,
`${workspaceId}::${guid}`,
count
);
if (result <= 0) {
await this.cache.mapDelete(
UPDATES_QUEUE_CACHE_KEY,
`${workspaceId}::${guid}`
);
}
}
/**
* @deprecated
*/
private readonly seqMap = new Map<string, number>();
/**
*
* @deprecated updates do not rely on seq number anymore
*
* keep in next release to avoid downtime when upgrading instances
*/
private async getUpdateSeq(workspaceId: string, guid: string, batch = 1) {
const MAX_SEQ_NUM = 0x3fffffff; // u31
try {
const { seq } = await this.db.snapshot.update({
select: {
seq: true,
},
where: {
id_workspaceId: {
workspaceId,
id: guid,
},
},
data: {
seq: {
increment: batch,
},
},
});
if (!seq) {
return batch;
}
// reset
if (seq >= MAX_SEQ_NUM) {
await this.db.snapshot.update({
select: {
seq: true,
},
where: {
id_workspaceId: {
workspaceId,
id: guid,
},
},
data: {
seq: 0,
},
});
}
return seq;
} catch {
// not existing snapshot just count it from 1
const last = this.seqMap.get(workspaceId + guid) ?? 0;
this.seqMap.set(workspaceId + guid, last + batch);
return last + batch;
}
}
}

View File

@@ -0,0 +1,71 @@
import {
defineRuntimeConfig,
defineStartupConfig,
ModuleConfig,
} from '../../fundamentals/config';
interface DocStartupConfigurations {
manager: {
/**
* Whether auto merge updates into doc snapshot.
*/
enableUpdateAutoMerging: boolean;
/**
* How often the [DocManager] will start a new turn of merging pending updates into doc snapshot.
*
* This is not the latency a new joint client will take to see the latest doc,
* but the buffer time we introduced to reduce the load of our service.
*
* in {ms}
*/
updatePollInterval: number;
/**
* The maximum number of updates that will be pulled from the server at once.
* Existing for avoiding the server to be overloaded when there are too many updates for one doc.
*/
maxUpdatesPullCount: number;
};
history: {
/**
* How long the buffer time of creating a new history snapshot when doc get updated.
*
* in {ms}
*/
interval: number;
};
}
interface DocRuntimeConfigurations {
/**
* Use `y-octo` to merge updates at the same time when merging using Yjs.
*
* This is an experimental feature, and aimed to check the correctness of JwstCodec.
*/
experimentalMergeWithYOcto: boolean;
}
declare module '../../fundamentals/config' {
interface AppConfig {
doc: ModuleConfig<DocStartupConfigurations, DocRuntimeConfigurations>;
}
}
defineStartupConfig('doc', {
manager: {
enableUpdateAutoMerging: true,
updatePollInterval: 3000,
maxUpdatesPullCount: 500,
},
history: {
interval: 1000 * 60 * 10 /* 10 mins */,
},
});
defineRuntimeConfig('doc', {
experimentalMergeWithYOcto: {
desc: 'Use `y-octo` to merge updates at the same time when merging using Yjs.',
default: false,
},
});

View File

@@ -1,257 +0,0 @@
import { isDeepStrictEqual } from 'node:util';
import { Injectable, Logger } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
import { PrismaClient } from '@prisma/client';
import type { EventPayload } from '../../fundamentals';
import { Config, metrics, OnEvent } from '../../fundamentals';
import { QuotaService } from '../quota';
import { Permission } from '../workspaces/types';
import { isEmptyBuffer } from './manager';
@Injectable()
export class DocHistoryManager {
private readonly logger = new Logger(DocHistoryManager.name);
constructor(
private readonly config: Config,
private readonly db: PrismaClient,
private readonly quota: QuotaService
) {}
@OnEvent('workspace.deleted')
onWorkspaceDeleted(workspaceId: EventPayload<'workspace.deleted'>) {
return this.db.snapshotHistory.deleteMany({
where: {
workspaceId,
},
});
}
@OnEvent('snapshot.deleted')
onSnapshotDeleted({ workspaceId, id }: EventPayload<'snapshot.deleted'>) {
return this.db.snapshotHistory.deleteMany({
where: {
workspaceId,
id,
},
});
}
@OnEvent('snapshot.updated')
async onDocUpdated(
{ workspaceId, id, previous }: EventPayload<'snapshot.updated'>,
forceCreate = false
) {
const last = await this.last(workspaceId, id);
let shouldCreateHistory = false;
if (!last) {
// never created
shouldCreateHistory = true;
} else if (last.timestamp === previous.updatedAt) {
// no change
shouldCreateHistory = false;
} else if (
// force
forceCreate ||
// last history created before interval in configs
last.timestamp.getTime() <
previous.updatedAt.getTime() - this.config.doc.history.interval
) {
shouldCreateHistory = true;
}
if (shouldCreateHistory) {
// skip the history recording when no actual update on snapshot happended
if (last && isDeepStrictEqual(last.state, previous.state)) {
this.logger.debug(
`State matches, skip creating history record for ${id} in workspace ${workspaceId}`
);
return;
}
if (isEmptyBuffer(previous.blob)) {
this.logger.debug(
`Doc is empty, skip creating history record for ${id} in workspace ${workspaceId}`
);
return;
}
await this.db.snapshotHistory
.create({
select: {
timestamp: true,
},
data: {
workspaceId,
id,
timestamp: previous.updatedAt,
blob: previous.blob,
state: previous.state,
expiredAt: await this.getExpiredDateFromNow(workspaceId),
},
})
.catch(() => {
// safe to ignore
// only happens when duplicated history record created in multi processes
});
metrics.doc
.counter('history_created_counter', {
description: 'How many times the snapshot history created',
})
.add(1);
this.logger.debug(
`History created for ${id} in workspace ${workspaceId}.`
);
}
}
async list(
workspaceId: string,
id: string,
before: Date = new Date(),
take: number = 10
) {
return this.db.snapshotHistory.findMany({
select: {
timestamp: true,
},
where: {
workspaceId,
id,
timestamp: {
lt: before,
},
// only include the ones has not expired
expiredAt: {
gt: new Date(),
},
},
orderBy: {
timestamp: 'desc',
},
take,
});
}
async count(workspaceId: string, id: string) {
return this.db.snapshotHistory.count({
where: {
workspaceId,
id,
expiredAt: {
gt: new Date(),
},
},
});
}
async get(workspaceId: string, id: string, timestamp: Date) {
return this.db.snapshotHistory.findUnique({
where: {
workspaceId_id_timestamp: {
workspaceId,
id,
timestamp,
},
expiredAt: {
gt: new Date(),
},
},
});
}
async last(workspaceId: string, id: string) {
return this.db.snapshotHistory.findFirst({
where: {
workspaceId,
id,
},
select: {
timestamp: true,
state: true,
},
orderBy: {
timestamp: 'desc',
},
});
}
async recover(workspaceId: string, id: string, timestamp: Date) {
const history = await this.db.snapshotHistory.findUnique({
where: {
workspaceId_id_timestamp: {
workspaceId,
id,
timestamp,
},
},
});
if (!history) {
throw new Error('Given history not found');
}
const oldSnapshot = await this.db.snapshot.findUnique({
where: {
id_workspaceId: {
id,
workspaceId,
},
},
});
if (!oldSnapshot) {
// unreachable actually
throw new Error('Given Doc not found');
}
// save old snapshot as one history record
await this.onDocUpdated({ workspaceId, id, previous: oldSnapshot }, true);
// WARN:
// we should never do the snapshot updating in recovering,
// which is not the solution in CRDT.
// let user revert in client and update the data in sync system
// `await this.db.snapshot.update();`
metrics.doc
.counter('history_recovered_counter', {
description: 'How many times history recovered request happened',
})
.add(1);
return history.timestamp;
}
async getExpiredDateFromNow(workspaceId: string) {
const permission = await this.db.workspaceUserPermission.findFirst({
select: {
userId: true,
},
where: {
workspaceId,
type: Permission.Owner,
},
});
if (!permission) {
// unreachable actually
throw new Error('Workspace owner not found');
}
const quota = await this.quota.getUserQuota(permission.userId);
return quota.feature.historyPeriodFromNow;
}
@Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT /* everyday at 12am */)
async cleanupExpiredHistory() {
await this.db.snapshotHistory.deleteMany({
where: {
expiredAt: {
lte: new Date(),
},
},
});
}
}

View File

@@ -1,14 +1,25 @@
import './config';
import { Module } from '@nestjs/common';
import { PermissionModule } from '../permission';
import { QuotaModule } from '../quota';
import { DocHistoryManager } from './history';
import { DocManager } from './manager';
import { PgUserspaceDocStorageAdapter } from './adapters/userspace';
import { PgWorkspaceDocStorageAdapter } from './adapters/workspace';
import { DocStorageCronJob } from './job';
import { DocStorageOptions } from './options';
@Module({
imports: [QuotaModule],
providers: [DocManager, DocHistoryManager],
exports: [DocManager, DocHistoryManager],
imports: [QuotaModule, PermissionModule],
providers: [
DocStorageOptions,
PgWorkspaceDocStorageAdapter,
PgUserspaceDocStorageAdapter,
DocStorageCronJob,
],
exports: [PgWorkspaceDocStorageAdapter, PgUserspaceDocStorageAdapter],
})
export class DocModule {}
export class DocStorageModule {}
export { PgUserspaceDocStorageAdapter, PgWorkspaceDocStorageAdapter };
export { DocHistoryManager, DocManager };
export { DocStorageAdapter, type Editor } from './storage';

View File

@@ -0,0 +1,76 @@
import { Injectable, Logger, OnModuleInit } from '@nestjs/common';
import { Cron, CronExpression, SchedulerRegistry } from '@nestjs/schedule';
import { PrismaClient } from '@prisma/client';
import { CallTimer, Config, metrics } from '../../fundamentals';
import { PgWorkspaceDocStorageAdapter } from './adapters/workspace';
@Injectable()
export class DocStorageCronJob implements OnModuleInit {
private readonly logger = new Logger(DocStorageCronJob.name);
private busy = false;
constructor(
private readonly registry: SchedulerRegistry,
private readonly config: Config,
private readonly db: PrismaClient,
private readonly workspace: PgWorkspaceDocStorageAdapter
) {}
onModuleInit() {
if (this.config.doc.manager.enableUpdateAutoMerging) {
this.registry.addInterval(
this.autoMergePendingDocUpdates.name,
// scheduler registry will clean up the interval when the app is stopped
setInterval(() => {
if (this.busy) {
return;
}
this.busy = true;
this.autoMergePendingDocUpdates()
.catch(() => {
/* never fail */
})
.finally(() => {
this.busy = false;
});
}, this.config.doc.manager.updatePollInterval)
);
this.logger.log('Updates pending queue auto merging cron started');
}
}
@CallTimer('doc', 'auto_merge_pending_doc_updates')
async autoMergePendingDocUpdates() {
try {
const randomDoc = await this.workspace.randomDoc();
if (!randomDoc) {
return;
}
await this.workspace.getDoc(randomDoc.workspaceId, randomDoc.docId);
} catch (e) {
metrics.doc.counter('auto_merge_pending_doc_updates_error').add(1);
this.logger.error('Failed to auto merge pending doc updates', e);
}
}
@Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT /* everyday at 12am */)
async cleanupExpiredHistory() {
await this.db.snapshotHistory.deleteMany({
where: {
expiredAt: {
lte: new Date(),
},
},
});
}
@Cron(CronExpression.EVERY_MINUTE)
async reportUpdatesQueueCount() {
metrics.doc
.gauge('updates_queue_count')
.record(await this.db.update.count());
}
}

View File

@@ -1,855 +0,0 @@
import {
Injectable,
Logger,
OnModuleDestroy,
OnModuleInit,
} from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
import { PrismaClient, Snapshot, Update } from '@prisma/client';
import { chunk } from 'lodash-es';
import { defer, retry } from 'rxjs';
import {
applyUpdate,
Doc,
encodeStateAsUpdate,
encodeStateVector,
transact,
} from 'yjs';
import type { EventPayload } from '../../fundamentals';
import {
Cache,
CallTimer,
Config,
EventEmitter,
mergeUpdatesInApplyWay as jwstMergeUpdates,
metrics,
OnEvent,
} from '../../fundamentals';
function compare(yBinary: Buffer, jwstBinary: Buffer, strict = false): boolean {
if (yBinary.equals(jwstBinary)) {
return true;
}
if (strict) {
return false;
}
const doc = new Doc();
applyUpdate(doc, jwstBinary);
const yBinary2 = Buffer.from(encodeStateAsUpdate(doc));
return compare(yBinary, yBinary2, true);
}
export function isEmptyBuffer(buf: Buffer): boolean {
return (
buf.length === 0 ||
// 0x0000
(buf.length === 2 && buf[0] === 0 && buf[1] === 0)
);
}
const MAX_SEQ_NUM = 0x3fffffff; // u31
const UPDATES_QUEUE_CACHE_KEY = 'doc:manager:updates';
interface DocResponse {
doc: Doc;
timestamp: number;
}
interface BinaryResponse {
binary: Buffer;
timestamp: number;
}
/**
* Since we can't directly save all client updates into database, in which way the database will overload,
* we need to buffer the updates and merge them to reduce db write.
*
* And also, if a new client join, it would be nice to see the latest doc asap,
* so we need to at least store a snapshot of the doc and return quickly,
* along side all the updates that have not been applies to that snapshot(timestamp).
*/
@Injectable()
export class DocManager implements OnModuleInit, OnModuleDestroy {
private readonly logger = new Logger(DocManager.name);
private job: NodeJS.Timeout | null = null;
private readonly seqMap = new Map<string, number>();
private busy = false;
constructor(
private readonly db: PrismaClient,
private readonly config: Config,
private readonly cache: Cache,
private readonly event: EventEmitter
) {}
onModuleInit() {
if (this.config.doc.manager.enableUpdateAutoMerging) {
this.logger.log('Use Database');
this.setup();
}
}
onModuleDestroy() {
this.destroy();
}
@CallTimer('doc', 'yjs_recover_updates_to_doc')
private recoverDoc(...updates: Buffer[]): Promise<Doc> {
const doc = new Doc();
const chunks = chunk(updates, 10);
return new Promise(resolve => {
const next = () => {
const updates = chunks.shift();
if (updates?.length) {
transact(doc, () => {
updates.forEach(u => {
try {
applyUpdate(doc, u);
} catch (e) {
this.logger.error('Failed to apply update', e);
}
});
});
// avoid applying too many updates in single round which will take the whole cpu time like dead lock
setImmediate(() => {
next();
});
} else {
resolve(doc);
}
};
next();
});
}
private async applyUpdates(guid: string, ...updates: Buffer[]): Promise<Doc> {
const doc = await this.recoverDoc(...updates);
// test jwst codec
if (this.config.doc.manager.experimentalMergeWithYOcto) {
metrics.jwst.counter('codec_merge_counter').add(1);
const yjsResult = Buffer.from(encodeStateAsUpdate(doc));
let log = false;
try {
const jwstResult = jwstMergeUpdates(updates);
if (!compare(yjsResult, jwstResult)) {
metrics.jwst.counter('codec_not_match').add(1);
this.logger.warn(
`jwst codec result doesn't match yjs codec result for: ${guid}`
);
log = true;
if (this.config.node.dev) {
this.logger.warn(`Expected:\n ${yjsResult.toString('hex')}`);
this.logger.warn(`Result:\n ${jwstResult.toString('hex')}`);
}
}
} catch (e) {
metrics.jwst.counter('codec_fails_counter').add(1);
this.logger.warn(`jwst apply update failed for ${guid}: ${e}`);
log = true;
} finally {
if (log && this.config.node.dev) {
this.logger.warn(
`Updates: ${updates.map(u => u.toString('hex')).join('\n')}`
);
}
}
}
return doc;
}
/**
* setup pending update processing loop
*/
setup() {
this.job = setInterval(() => {
if (!this.busy) {
this.busy = true;
this.autoSquash()
.catch(() => {
/* we handle all errors in work itself */
})
.finally(() => {
this.busy = false;
});
}
}, this.config.doc.manager.updatePollInterval);
this.logger.log('Automation started');
if (this.config.doc.manager.experimentalMergeWithYOcto) {
this.logger.warn(
'Experimental feature enabled: merge updates with jwst codec is enabled'
);
}
}
/**
* stop pending update processing loop
*/
destroy() {
if (this.job) {
clearInterval(this.job);
this.job = null;
this.logger.log('Automation stopped');
}
}
@OnEvent('workspace.deleted')
async onWorkspaceDeleted(workspaceId: string) {
await this.db.snapshot.deleteMany({
where: {
workspaceId,
},
});
await this.db.update.deleteMany({
where: {
workspaceId,
},
});
}
@OnEvent('snapshot.deleted')
async onSnapshotDeleted({
id,
workspaceId,
}: EventPayload<'snapshot.deleted'>) {
await this.db.update.deleteMany({
where: {
id,
workspaceId,
},
});
}
/**
* add update to manager for later processing.
*/
async push(
workspaceId: string,
guid: string,
update: Buffer,
retryTimes = 10
) {
const timestamp = await new Promise<number>((resolve, reject) => {
defer(async () => {
const seq = await this.getUpdateSeq(workspaceId, guid);
const { createdAt } = await this.db.update.create({
select: {
createdAt: true,
},
data: {
workspaceId,
id: guid,
seq,
blob: update,
},
});
return createdAt.getTime();
})
.pipe(retry(retryTimes)) // retry until seq num not conflict
.subscribe({
next: timestamp => {
this.logger.debug(
`pushed 1 update for ${guid} in workspace ${workspaceId}`
);
resolve(timestamp);
},
error: e => {
this.logger.error('Failed to push updates', e);
reject(new Error('Failed to push update'));
},
});
});
await this.updateCachedUpdatesCount(workspaceId, guid, 1);
return timestamp;
}
async batchPush(
workspaceId: string,
guid: string,
updates: Buffer[],
retryTimes = 10
) {
const timestamp = await new Promise<number>((resolve, reject) => {
defer(async () => {
const lastSeq = await this.getUpdateSeq(
workspaceId,
guid,
updates.length
);
const now = Date.now();
let timestamp = now;
let turn = 0;
const batchCount = 10;
for (const batch of chunk(updates, batchCount)) {
await this.db.update.createMany({
data: batch.map((update, i) => {
const subSeq = turn * batchCount + i + 1;
// `seq` is the last seq num of the batch
// example for 11 batched updates, start from seq num 20
// seq for first update in the batch should be:
// 31 - 11 + subSeq(0 * 10 + 0 + 1) = 21
// ^ last seq num ^ updates.length ^ turn ^ batchCount ^i
const seq = lastSeq - updates.length + subSeq;
const createdAt = now + subSeq;
timestamp = Math.max(timestamp, createdAt);
return {
workspaceId,
id: guid,
blob: update,
seq,
createdAt: new Date(createdAt), // make sure the updates can be ordered by create time
};
}),
});
turn++;
}
return timestamp;
})
.pipe(retry(retryTimes)) // retry until seq num not conflict
.subscribe({
next: timestamp => {
this.logger.debug(
`pushed ${updates.length} updates for ${guid} in workspace ${workspaceId}`
);
resolve(timestamp);
},
error: e => {
this.logger.error('Failed to push updates', e);
reject(new Error('Failed to push update'));
},
});
});
await this.updateCachedUpdatesCount(workspaceId, guid, updates.length);
return timestamp;
}
/**
* Get latest timestamp of all docs in the workspace.
*/
@CallTimer('doc', 'get_doc_timestamps')
async getDocTimestamps(workspaceId: string, after: number | undefined = 0) {
const snapshots = await this.db.snapshot.findMany({
where: {
workspaceId,
updatedAt: {
gt: new Date(after),
},
},
select: {
id: true,
updatedAt: true,
},
});
const updates = await this.db.update.groupBy({
where: {
workspaceId,
createdAt: {
gt: new Date(after),
},
},
by: ['id'],
_max: {
createdAt: true,
},
});
const result: Record<string, number> = {};
snapshots.forEach(s => {
result[s.id] = s.updatedAt.getTime();
});
updates.forEach(u => {
if (u._max.createdAt) {
result[u.id] = u._max.createdAt.getTime();
}
});
return result;
}
/**
* get the latest doc with all update applied.
*/
async get(workspaceId: string, guid: string): Promise<DocResponse | null> {
const result = await this._get(workspaceId, guid);
if (result) {
if ('doc' in result) {
return result;
} else {
const doc = await this.recoverDoc(result.binary);
return {
doc,
timestamp: result.timestamp,
};
}
}
return null;
}
/**
* get the latest doc binary with all update applied.
*/
async getBinary(
workspaceId: string,
guid: string
): Promise<BinaryResponse | null> {
const result = await this._get(workspaceId, guid);
if (result) {
if ('doc' in result) {
return {
binary: Buffer.from(encodeStateAsUpdate(result.doc)),
timestamp: result.timestamp,
};
} else {
return result;
}
}
return null;
}
/**
* get the latest doc state vector with all update applied.
*/
async getDocState(
workspaceId: string,
guid: string
): Promise<BinaryResponse | null> {
const snapshot = await this.getSnapshot(workspaceId, guid);
const updates = await this.getUpdates(workspaceId, guid);
if (updates.length) {
const { doc, timestamp } = await this.squash(snapshot, updates);
return {
binary: Buffer.from(encodeStateVector(doc)),
timestamp,
};
}
return snapshot?.state
? {
binary: snapshot.state,
timestamp: snapshot.updatedAt.getTime(),
}
: null;
}
/**
* get the snapshot of the doc we've seen.
*/
async getSnapshot(workspaceId: string, guid: string) {
return this.db.snapshot.findUnique({
where: {
id_workspaceId: {
workspaceId,
id: guid,
},
},
});
}
/**
* get pending updates
*/
async getUpdates(workspaceId: string, guid: string) {
const updates = await this.db.update.findMany({
where: {
workspaceId,
id: guid,
},
// take it ease, we don't want to overload db and or cpu
// if we limit the taken number here,
// user will never see the latest doc if there are too many updates pending to be merged.
take: this.config.doc.manager.maxUpdatesPullCount,
});
// perf(memory): avoid sorting in db
return updates.sort((a, b) => (a.createdAt < b.createdAt ? -1 : 1));
}
/**
* apply pending updates to snapshot
*/
private async autoSquash() {
// find the first update and batch process updates with same id
const candidate = await this.getAutoSquashCandidate();
// no pending updates
if (!candidate) {
return;
}
const { id, workspaceId } = candidate;
await this.lockUpdatesForAutoSquash(workspaceId, id, async () => {
try {
await this._get(workspaceId, id);
} catch (e) {
this.logger.error(
`Failed to apply updates for workspace: ${workspaceId}, guid: ${id}`
);
this.logger.error(e);
}
});
}
private async getAutoSquashCandidate() {
const cache = await this.getAutoSquashCandidateFromCache();
if (cache) {
return cache;
}
return this.db.update.findFirst({
select: {
id: true,
workspaceId: true,
},
});
}
/**
* @returns whether the snapshot is updated to the latest, `undefined` means the doc to be upserted is outdated.
*/
@CallTimer('doc', 'upsert')
private async upsert(
workspaceId: string,
guid: string,
doc: Doc,
// we always delay the snapshot update to avoid db overload,
// so the value of auto updated `updatedAt` by db will never be accurate to user's real action time
updatedAt: Date,
seq: number
) {
const blob = Buffer.from(encodeStateAsUpdate(doc));
if (isEmptyBuffer(blob)) {
return undefined;
}
const state = Buffer.from(encodeStateVector(doc));
// CONCERNS:
// i. Because we save the real user's last seen action time as `updatedAt`,
// it's possible to simply compare the `updatedAt` to determine if the snapshot is older than the one we are going to save.
//
// ii. Prisma doesn't support `upsert` with additional `where` condition along side unique constraint.
// In our case, we need to manually check the `updatedAt` to avoid overriding the newer snapshot.
// where: { id_workspaceId: {}, updatedAt: { lt: updatedAt } }
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// iii. Only set the seq number when creating the snapshot.
// For updating scenario, the seq number will be updated when updates pushed to db.
try {
const result: { updatedAt: Date }[] = await this.db.$queryRaw`
INSERT INTO "snapshots" ("workspace_id", "guid", "blob", "state", "seq", "created_at", "updated_at")
VALUES (${workspaceId}, ${guid}, ${blob}, ${state}, ${seq}, DEFAULT, ${updatedAt})
ON CONFLICT ("workspace_id", "guid")
DO UPDATE SET "blob" = ${blob}, "state" = ${state}, "updated_at" = ${updatedAt}, "seq" = ${seq}
WHERE "snapshots"."workspace_id" = ${workspaceId} AND "snapshots"."guid" = ${guid} AND "snapshots"."updated_at" <= ${updatedAt}
RETURNING "snapshots"."workspace_id" as "workspaceId", "snapshots"."guid" as "id", "snapshots"."updated_at" as "updatedAt"
`;
// const result = await this.db.snapshot.upsert({
// select: {
// updatedAt: true,
// seq: true,
// },
// where: {
// id_workspaceId: {
// workspaceId,
// id: guid,
// },
// ⬇️ NOT SUPPORTED BY PRISMA YET
// updatedAt: {
// lt: updatedAt,
// },
// },
// update: {
// blob,
// state,
// updatedAt,
// },
// create: {
// workspaceId,
// id: guid,
// blob,
// state,
// updatedAt,
// seq,
// },
// });
// if the condition `snapshot.updatedAt > updatedAt` is true, by which means the snapshot has already been updated by other process,
// the updates has been applied to current `doc` must have been seen by the other process as well.
// The `updatedSnapshot` will be `undefined` in this case.
const updatedSnapshot = result.at(0);
if (!updatedSnapshot) {
return undefined;
}
return true;
} catch (e) {
this.logger.error('Failed to upsert snapshot', e);
return false;
}
}
private async _get(
workspaceId: string,
guid: string
): Promise<DocResponse | BinaryResponse | null> {
const snapshot = await this.getSnapshot(workspaceId, guid);
const updates = await this.getUpdates(workspaceId, guid);
if (updates.length) {
return this.squash(snapshot, updates);
}
return snapshot
? { binary: snapshot.blob, timestamp: snapshot.updatedAt.getTime() }
: null;
}
/**
* Squash updates into a single update and save it as snapshot,
* and delete the updates records at the same time.
*/
@CallTimer('doc', 'squash')
private async squash(
snapshot: Snapshot | null,
updates: Update[]
): Promise<DocResponse> {
if (!updates.length) {
throw new Error('No updates to squash');
}
const last = updates[updates.length - 1];
const { id, workspaceId } = last;
const doc = await this.applyUpdates(
id,
snapshot ? snapshot.blob : Buffer.from([0, 0]),
...updates.map(u => u.blob)
);
const done = await this.upsert(
workspaceId,
id,
doc,
last.createdAt,
last.seq
);
if (done) {
if (snapshot) {
this.event.emit('snapshot.updated', {
id,
workspaceId,
previous: {
blob: snapshot.blob,
state: snapshot.state,
updatedAt: snapshot.updatedAt,
},
});
}
this.logger.debug(
`Squashed ${updates.length} updates for ${id} in workspace ${workspaceId}`
);
}
// we will keep the updates only if the upsert failed on unknown reason
// `done === undefined` means the updates is outdated(have already been merged by other process), safe to be deleted
// `done === true` means the upsert is successful, safe to be deleted
if (done !== false) {
// always delete updates
// the upsert will return false if the state is not newer, so we don't need to worry about it
const { count } = await this.db.update.deleteMany({
where: {
id,
workspaceId,
seq: {
in: updates.map(u => u.seq),
},
},
});
await this.updateCachedUpdatesCount(workspaceId, id, -count);
}
return { doc, timestamp: last.createdAt.getTime() };
}
private async getUpdateSeq(workspaceId: string, guid: string, batch = 1) {
try {
const { seq } = await this.db.snapshot.update({
select: {
seq: true,
},
where: {
id_workspaceId: {
workspaceId,
id: guid,
},
},
data: {
seq: {
increment: batch,
},
},
});
// reset
if (seq >= MAX_SEQ_NUM) {
await this.db.snapshot.update({
select: {
seq: true,
},
where: {
id_workspaceId: {
workspaceId,
id: guid,
},
},
data: {
seq: 0,
},
});
}
return seq;
} catch {
// not existing snapshot just count it from 1
const last = this.seqMap.get(workspaceId + guid) ?? 0;
this.seqMap.set(workspaceId + guid, last + batch);
return last + batch;
}
}
private async updateCachedUpdatesCount(
workspaceId: string,
guid: string,
count: number
) {
const result = await this.cache.mapIncrease(
UPDATES_QUEUE_CACHE_KEY,
`${workspaceId}::${guid}`,
count
);
if (result <= 0) {
await this.cache.mapDelete(
UPDATES_QUEUE_CACHE_KEY,
`${workspaceId}::${guid}`
);
}
}
private async getAutoSquashCandidateFromCache() {
const key = await this.cache.mapRandomKey(UPDATES_QUEUE_CACHE_KEY);
if (key) {
const cachedCount = await this.cache.mapIncrease(
UPDATES_QUEUE_CACHE_KEY,
key,
0
);
if (cachedCount > 0) {
const [workspaceId, id] = key.split('::');
const count = await this.db.update.count({
where: {
workspaceId,
id,
},
});
// FIXME(@forehalo): somehow the update count in cache is not accurate
if (count === 0) {
await this.cache.mapDelete(UPDATES_QUEUE_CACHE_KEY, key);
return null;
}
return { id, workspaceId };
}
}
return null;
}
private async doWithLock<T>(
lockScope: string,
lockResource: string,
job: () => Promise<T>
) {
const lock = `lock:${lockScope}:${lockResource}`;
const acquired = await this.cache.setnx(lock, 1, {
ttl: 60 * 1000,
});
metrics.doc.counter('lock').add(1, { scope: lockScope });
if (!acquired) {
metrics.doc.counter('lock_failed').add(1, { scope: lockScope });
return;
}
metrics.doc.counter('lock_required').add(1, { scope: lockScope });
try {
return await job();
} finally {
await this.cache
.delete(lock)
.then(() => {
metrics.doc.counter('lock_released').add(1, { scope: lockScope });
})
.catch(e => {
metrics.doc
.counter('lock_release_failed')
.add(1, { scope: lockScope });
// safe, the lock will be expired when ttl ends
this.logger.error(`Failed to release lock ${lock}`, e);
});
}
}
private async lockUpdatesForAutoSquash<T>(
workspaceId: string,
guid: string,
job: () => Promise<T>
) {
return this.doWithLock(
'doc:manager:updates',
`${workspaceId}::${guid}`,
job
);
}
@Cron(CronExpression.EVERY_MINUTE)
async reportUpdatesQueueCount() {
metrics.doc
.gauge('updates_queue_count')
.record(await this.db.update.count());
}
}

View File

@@ -0,0 +1,130 @@
import { Injectable, Logger } from '@nestjs/common';
import { chunk } from 'lodash-es';
import * as Y from 'yjs';
import {
CallTimer,
Config,
mergeUpdatesInApplyWay as yotcoMergeUpdates,
metrics,
} from '../../fundamentals';
import { PermissionService } from '../permission';
import { QuotaService } from '../quota';
import { DocStorageOptions as IDocStorageOptions } from './storage';
function compare(yBinary: Buffer, jwstBinary: Buffer, strict = false): boolean {
if (yBinary.equals(jwstBinary)) {
return true;
}
if (strict) {
return false;
}
const doc = new Y.Doc();
Y.applyUpdate(doc, jwstBinary);
const yBinary2 = Buffer.from(Y.encodeStateAsUpdate(doc));
return compare(yBinary, yBinary2, true);
}
@Injectable()
export class DocStorageOptions implements IDocStorageOptions {
private readonly logger = new Logger('DocStorageOptions');
constructor(
private readonly config: Config,
private readonly permission: PermissionService,
private readonly quota: QuotaService
) {}
mergeUpdates = async (updates: Uint8Array[]) => {
const useYocto = await this.config.runtime.fetch(
'doc/experimentalMergeWithYOcto'
);
if (useYocto) {
const doc = await this.recoverDoc(updates);
metrics.jwst.counter('codec_merge_counter').add(1);
const yjsResult = Buffer.from(Y.encodeStateAsUpdate(doc));
let log = false;
try {
const yocto = yotcoMergeUpdates(updates.map(Buffer.from));
if (!compare(yjsResult, yocto)) {
metrics.jwst.counter('codec_not_match').add(1);
this.logger.warn(`yocto codec result doesn't match yjs codec result`);
log = true;
if (this.config.node.dev) {
this.logger.warn(`Expected:\n ${yjsResult.toString('hex')}`);
this.logger.warn(`Result:\n ${yocto.toString('hex')}`);
}
}
} catch (e) {
metrics.jwst.counter('codec_fails_counter').add(1);
this.logger.warn(`jwst apply update failed: ${e}`);
log = true;
}
if (log && this.config.node.dev) {
this.logger.warn(
`Updates: ${updates.map(u => Buffer.from(u).toString('hex')).join('\n')}`
);
}
return yjsResult;
} else {
return this.simpleMergeUpdates(updates);
}
};
historyMaxAge = async (spaceId: string) => {
const owner = await this.permission.getWorkspaceOwner(spaceId);
const quota = await this.quota.getUserQuota(owner.id);
return quota.feature.historyPeriod;
};
historyMinInterval = (_spaceId: string) => {
return this.config.doc.history.interval;
};
@CallTimer('doc', 'yjs_merge_updates')
private simpleMergeUpdates(updates: Uint8Array[]) {
return Y.mergeUpdates(updates);
}
@CallTimer('doc', 'yjs_recover_updates_to_doc')
private recoverDoc(updates: Uint8Array[]): Promise<Y.Doc> {
const doc = new Y.Doc();
const chunks = chunk(updates, 10);
let i = 0;
return new Promise(resolve => {
Y.transact(doc, () => {
const next = () => {
const updates = chunks.at(i++);
if (updates?.length) {
updates.forEach(u => {
try {
Y.applyUpdate(doc, u);
} catch (e) {
this.logger.error('Failed to apply update', e);
}
});
// avoid applying too many updates in single round which will take the whole cpu time like dead lock
setImmediate(() => {
next();
});
} else {
resolve(doc);
}
};
next();
});
});
}
}

View File

@@ -0,0 +1,16 @@
import { Connection } from './connection';
export interface BlobStorageOptions {}
export interface Blob {
key: string;
bin: Uint8Array;
mimeType: string;
}
export abstract class BlobStorageAdapter extends Connection {
abstract getBlob(spaceId: string, key: string): Promise<Blob | null>;
abstract setBlob(spaceId: string, blob: Blob): Promise<string>;
abstract deleteBlob(spaceId: string, key: string): Promise<boolean>;
abstract listBlobs(spaceId: string): Promise<Blob>;
}

View File

@@ -0,0 +1,11 @@
export class Connection {
protected connected: boolean = false;
connect(): Promise<void> {
this.connected = true;
return Promise.resolve();
}
disconnect(): Promise<void> {
this.connected = false;
return Promise.resolve();
}
}

View File

@@ -0,0 +1,216 @@
import {
applyUpdate,
Doc,
encodeStateAsUpdate,
encodeStateVector,
mergeUpdates,
UndoManager,
} from 'yjs';
import { CallTimer } from '../../../fundamentals';
import { Connection } from './connection';
import { SingletonLocker } from './lock';
export interface DocRecord {
spaceId: string;
docId: string;
bin: Uint8Array;
timestamp: number;
editor?: string;
}
export interface DocUpdate {
bin: Uint8Array;
timestamp: number;
editor?: string;
}
export interface HistoryFilter {
before?: number;
limit?: number;
}
export interface Editor {
name: string;
avatarUrl: string | null;
}
export interface DocStorageOptions {
mergeUpdates?: (updates: Uint8Array[]) => Promise<Uint8Array> | Uint8Array;
}
export abstract class DocStorageAdapter extends Connection {
private readonly locker = new SingletonLocker();
constructor(
protected readonly options: DocStorageOptions = {
mergeUpdates,
}
) {
super();
}
// open apis
isEmptyBin(bin: Uint8Array): boolean {
return (
bin.length === 0 ||
// 0x0 for state vector
(bin.length === 1 && bin[0] === 0) ||
// 0x00 for update
(bin.length === 2 && bin[0] === 0 && bin[1] === 0)
);
}
async getDoc(spaceId: string, docId: string): Promise<DocRecord | null> {
await using _lock = await this.lockDocForUpdate(spaceId, docId);
const snapshot = await this.getDocSnapshot(spaceId, docId);
const updates = await this.getDocUpdates(spaceId, docId);
if (updates.length) {
const { timestamp, bin, editor } = await this.squash(
snapshot ? [snapshot, ...updates] : updates
);
const newSnapshot = {
spaceId: spaceId,
docId,
bin,
timestamp,
editor,
};
const success = await this.setDocSnapshot(newSnapshot);
// if there is old snapshot, create a new history record
if (success && snapshot) {
await this.createDocHistory(snapshot);
}
// always mark updates as merged unless throws
await this.markUpdatesMerged(spaceId, docId, updates);
return newSnapshot;
}
return snapshot;
}
abstract pushDocUpdates(
spaceId: string,
docId: string,
updates: Uint8Array[],
editorId?: string
): Promise<number>;
abstract deleteDoc(spaceId: string, docId: string): Promise<void>;
abstract deleteSpace(spaceId: string): Promise<void>;
async rollbackDoc(
spaceId: string,
docId: string,
timestamp: number,
editorId?: string
): Promise<void> {
await using _lock = await this.lockDocForUpdate(spaceId, docId);
const toSnapshot = await this.getDocHistory(spaceId, docId, timestamp);
if (!toSnapshot) {
throw new Error('Can not find the version to rollback to.');
}
const fromSnapshot = await this.getDocSnapshot(spaceId, docId);
if (!fromSnapshot) {
throw new Error('Can not find the current version of the doc.');
}
const change = this.generateChangeUpdate(fromSnapshot.bin, toSnapshot.bin);
await this.pushDocUpdates(spaceId, docId, [change], editorId);
// force create a new history record after rollback
await this.createDocHistory(fromSnapshot, true);
}
abstract getSpaceDocTimestamps(
spaceId: string,
after?: number
): Promise<Record<string, number> | null>;
abstract listDocHistories(
spaceId: string,
docId: string,
query: { skip?: number; limit?: number }
): Promise<{ timestamp: number; editor: Editor | null }[]>;
abstract getDocHistory(
spaceId: string,
docId: string,
timestamp: number
): Promise<DocRecord | null>;
// api for internal usage
protected abstract getDocSnapshot(
spaceId: string,
docId: string
): Promise<DocRecord | null>;
protected abstract setDocSnapshot(snapshot: DocRecord): Promise<boolean>;
protected abstract getDocUpdates(
spaceId: string,
docId: string
): Promise<DocUpdate[]>;
protected abstract markUpdatesMerged(
spaceId: string,
docId: string,
updates: DocUpdate[]
): Promise<number>;
protected abstract createDocHistory(
snapshot: DocRecord,
force?: boolean
): Promise<boolean>;
@CallTimer('doc', 'squash')
protected async squash(updates: DocUpdate[]): Promise<DocUpdate> {
const merge = this.options?.mergeUpdates ?? mergeUpdates;
const lastUpdate = updates.at(-1);
if (!lastUpdate) {
throw new Error('No updates to be squashed.');
}
// fast return
if (updates.length === 1) {
return lastUpdate;
}
const finalUpdate = await merge(updates.map(u => u.bin));
return {
bin: finalUpdate,
timestamp: lastUpdate.timestamp,
editor: lastUpdate.editor,
};
}
protected async lockDocForUpdate(
spaceId: string,
docId: string
): Promise<AsyncDisposable> {
return this.locker.lock(`workspace:${spaceId}:update`, docId);
}
protected generateChangeUpdate(newerBin: Uint8Array, olderBin: Uint8Array) {
const newerDoc = new Doc();
applyUpdate(newerDoc, newerBin);
const olderDoc = new Doc();
applyUpdate(olderDoc, olderBin);
const newerState = encodeStateVector(newerDoc);
const olderState = encodeStateVector(olderDoc);
const diff = encodeStateAsUpdate(newerDoc, olderState);
const undoManager = new UndoManager(Array.from(newerDoc.share.values()));
applyUpdate(olderDoc, diff);
undoManager.undo();
return encodeStateAsUpdate(olderDoc, newerState);
}
}

View File

@@ -0,0 +1,33 @@
// TODO(@forehalo): share with frontend
import type { BlobStorageAdapter } from './blob';
import { Connection } from './connection';
import type { DocStorageAdapter } from './doc';
export class SpaceStorage extends Connection {
constructor(
public readonly doc: DocStorageAdapter,
public readonly blob: BlobStorageAdapter
) {
super();
}
override async connect() {
await this.doc.connect();
await this.blob.connect();
}
override async disconnect() {
await this.doc.disconnect();
await this.blob.disconnect();
}
}
export { BlobStorageAdapter, type BlobStorageOptions } from './blob';
export {
type DocRecord,
DocStorageAdapter,
type DocStorageOptions,
type DocUpdate,
type Editor,
type HistoryFilter,
} from './doc';

View File

@@ -0,0 +1,42 @@
export interface Locker {
lock(domain: string, resource: string): Promise<Lock>;
}
export class SingletonLocker implements Locker {
lockedResource = new Map<string, Lock>();
constructor() {}
async lock(domain: string, resource: string) {
let lock = this.lockedResource.get(`${domain}:${resource}`);
if (!lock) {
lock = new Lock();
}
await lock.acquire();
return lock;
}
}
export class Lock {
private inner: Promise<void> = Promise.resolve();
private release: () => void = () => {};
async acquire() {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
let release: () => void = null!;
const nextLock = new Promise<void>(resolve => {
release = resolve;
});
await this.inner;
this.inner = nextLock;
this.release = release;
}
[Symbol.asyncDispose]() {
this.release();
return Promise.resolve();
}
}

View File

@@ -1,12 +1,14 @@
import { PrismaTransaction } from '../../fundamentals';
import { Feature, FeatureSchema, FeatureType } from './types';
class FeatureConfig {
readonly config: Feature;
class FeatureConfig<T extends FeatureType> {
readonly config: Feature & { feature: T };
constructor(data: any) {
const config = FeatureSchema.safeParse(data);
if (config.success) {
// @ts-expect-error allow
this.config = config.data;
} else {
throw new Error(`Invalid quota config: ${config.error.message}`);
@@ -19,86 +21,18 @@ class FeatureConfig {
}
}
export class CopilotFeatureConfig extends FeatureConfig {
override config!: Feature & { feature: FeatureType.Copilot };
constructor(data: any) {
super(data);
if (this.config.feature !== FeatureType.Copilot) {
throw new Error('Invalid feature config: type is not Copilot');
}
}
}
export class EarlyAccessFeatureConfig extends FeatureConfig {
override config!: Feature & { feature: FeatureType.EarlyAccess };
constructor(data: any) {
super(data);
if (this.config.feature !== FeatureType.EarlyAccess) {
throw new Error('Invalid feature config: type is not EarlyAccess');
}
}
}
export class UnlimitedWorkspaceFeatureConfig extends FeatureConfig {
override config!: Feature & { feature: FeatureType.UnlimitedWorkspace };
constructor(data: any) {
super(data);
if (this.config.feature !== FeatureType.UnlimitedWorkspace) {
throw new Error('Invalid feature config: type is not UnlimitedWorkspace');
}
}
}
export class UnlimitedCopilotFeatureConfig extends FeatureConfig {
override config!: Feature & { feature: FeatureType.UnlimitedCopilot };
constructor(data: any) {
super(data);
if (this.config.feature !== FeatureType.UnlimitedCopilot) {
throw new Error('Invalid feature config: type is not AIEarlyAccess');
}
}
}
export class AIEarlyAccessFeatureConfig extends FeatureConfig {
override config!: Feature & { feature: FeatureType.AIEarlyAccess };
constructor(data: any) {
super(data);
if (this.config.feature !== FeatureType.AIEarlyAccess) {
throw new Error('Invalid feature config: type is not AIEarlyAccess');
}
}
}
const FeatureConfigMap = {
[FeatureType.Copilot]: CopilotFeatureConfig,
[FeatureType.EarlyAccess]: EarlyAccessFeatureConfig,
[FeatureType.AIEarlyAccess]: AIEarlyAccessFeatureConfig,
[FeatureType.UnlimitedWorkspace]: UnlimitedWorkspaceFeatureConfig,
[FeatureType.UnlimitedCopilot]: UnlimitedCopilotFeatureConfig,
};
export type FeatureConfigType<F extends FeatureType> = InstanceType<
(typeof FeatureConfigMap)[F]
>;
export type FeatureConfigType<F extends FeatureType> = FeatureConfig<F>;
const FeatureCache = new Map<number, FeatureConfigType<FeatureType>>();
export async function getFeature(prisma: PrismaTransaction, featureId: number) {
const cachedQuota = FeatureCache.get(featureId);
const cachedFeature = FeatureCache.get(featureId);
if (cachedQuota) {
return cachedQuota;
if (cachedFeature) {
return cachedFeature;
}
const feature = await prisma.features.findFirst({
const feature = await prisma.feature.findFirst({
where: {
id: featureId,
},
@@ -107,13 +41,8 @@ export async function getFeature(prisma: PrismaTransaction, featureId: number) {
// this should unreachable
throw new Error(`Quota config ${featureId} not found`);
}
const ConfigClass = FeatureConfigMap[feature.feature as FeatureType];
if (!ConfigClass) {
throw new Error(`Feature config ${featureId} not found`);
}
const config = new ConfigClass(feature);
const config = new FeatureConfig(feature);
// we always edit quota config as a new quota config
// so we can cache it by featureId
FeatureCache.set(featureId, config);

View File

@@ -1,6 +1,11 @@
import { Module } from '@nestjs/common';
import { UserModule } from '../user';
import { EarlyAccessType, FeatureManagementService } from './management';
import {
AdminFeatureManagementResolver,
FeatureManagementResolver,
} from './resolver';
import { FeatureService } from './service';
/**
@@ -10,7 +15,13 @@ import { FeatureService } from './service';
* - feature statistics
*/
@Module({
providers: [FeatureService, FeatureManagementService],
imports: [UserModule],
providers: [
FeatureService,
FeatureManagementService,
FeatureManagementResolver,
AdminFeatureManagementResolver,
],
exports: [FeatureService, FeatureManagementService],
})
export class FeatureModule {}

View File

@@ -1,11 +1,11 @@
import { Injectable, Logger } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
import { Config } from '../../fundamentals';
import { Config, type EventPayload, OnEvent } from '../../fundamentals';
import { UserService } from '../user/service';
import { FeatureService } from './service';
import { FeatureType } from './types';
const STAFF = ['@toeverything.info'];
const STAFF = ['@toeverything.info', '@affine.pro'];
export enum EarlyAccessType {
App = 'app',
@@ -18,22 +18,30 @@ export class FeatureManagementService {
constructor(
private readonly feature: FeatureService,
private readonly prisma: PrismaClient,
private readonly user: UserService,
private readonly config: Config
) {}
// ======== Admin ========
// todo(@darkskygit): replace this with abac
isStaff(email: string) {
for (const domain of STAFF) {
if (email.endsWith(domain)) {
return true;
}
}
return false;
}
isAdmin(userId: string) {
return this.feature.hasUserFeature(userId, FeatureType.Admin);
}
addAdmin(userId: string) {
return this.feature.addUserFeature(userId, FeatureType.Admin, 'Admin user');
}
// ======== Early Access ========
async addEarlyAccess(
userId: string,
@@ -69,31 +77,17 @@ export class FeatureManagementService {
}
async isEarlyAccessUser(
email: string,
userId: string,
type: EarlyAccessType = EarlyAccessType.App
) {
const user = await this.prisma.user.findFirst({
where: {
email: {
equals: email,
mode: 'insensitive',
},
},
});
if (user) {
const canEarlyAccess = await this.feature
.hasUserFeature(
user.id,
type === EarlyAccessType.App
? FeatureType.EarlyAccess
: FeatureType.AIEarlyAccess
)
.catch(() => false);
return canEarlyAccess;
}
return false;
return await this.feature
.hasUserFeature(
userId,
type === EarlyAccessType.App
? FeatureType.EarlyAccess
: FeatureType.AIEarlyAccess
)
.catch(() => false);
}
/// check early access by email
@@ -101,8 +95,16 @@ export class FeatureManagementService {
email: string,
type: EarlyAccessType = EarlyAccessType.App
) {
if (this.config.featureFlags.earlyAccessPreview && !this.isStaff(email)) {
return this.isEarlyAccessUser(email, type);
const earlyAccessControlEnabled = await this.config.runtime.fetch(
'flags/earlyAccessControl'
);
if (earlyAccessControlEnabled && !this.isStaff(email)) {
const user = await this.user.findUserByEmail(email);
if (!user) {
return false;
}
return this.isEarlyAccessUser(user.id, type);
} else {
return true;
}
@@ -165,4 +167,9 @@ export class FeatureManagementService {
async listFeatureWorkspaces(feature: FeatureType) {
return this.feature.listFeatureWorkspaces(feature);
}
@OnEvent('user.admin.created')
async onAdminUserCreated({ id }: EventPayload<'user.admin.created'>) {
await this.addAdmin(id);
}
}

View File

@@ -0,0 +1,77 @@
import {
Args,
Mutation,
Parent,
registerEnumType,
ResolveField,
Resolver,
} from '@nestjs/graphql';
import { difference } from 'lodash-es';
import { Config } from '../../fundamentals';
import { Admin } from '../common';
import { UserType } from '../user/types';
import { EarlyAccessType, FeatureManagementService } from './management';
import { FeatureService } from './service';
import { FeatureType } from './types';
registerEnumType(EarlyAccessType, {
name: 'EarlyAccessType',
});
@Resolver(() => UserType)
export class FeatureManagementResolver {
constructor(private readonly feature: FeatureManagementService) {}
@ResolveField(() => [FeatureType], {
name: 'features',
description: 'Enabled features of a user',
})
async userFeatures(@Parent() user: UserType) {
return this.feature.getActivatedUserFeatures(user.id);
}
}
export class AvailableUserFeatureConfig {
constructor(private readonly config: Config) {}
async availableUserFeatures() {
return this.config.isSelfhosted
? [FeatureType.Admin]
: [FeatureType.EarlyAccess, FeatureType.AIEarlyAccess, FeatureType.Admin];
}
}
@Admin()
@Resolver(() => Boolean)
export class AdminFeatureManagementResolver extends AvailableUserFeatureConfig {
constructor(
config: Config,
private readonly feature: FeatureService
) {
super(config);
}
@Mutation(() => [FeatureType], {
description: 'update user enabled feature',
})
async updateUserFeatures(
@Args('id') id: string,
@Args({ name: 'features', type: () => [FeatureType] })
features: FeatureType[]
) {
const configurableFeatures = await this.availableUserFeatures();
const removed = difference(configurableFeatures, features);
await Promise.all(
features.map(feature =>
this.feature.addUserFeature(id, feature, 'admin panel')
)
);
await Promise.all(
removed.map(feature => this.feature.removeUserFeature(id, feature))
);
return features;
}
}

View File

@@ -1,6 +1,7 @@
import { Injectable } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
import { CannotDeleteAllAdminAccount } from '../../fundamentals';
import { WorkspaceType } from '../workspaces/types';
import { FeatureConfigType, getFeature } from './feature';
import { FeatureKind, FeatureType } from './types';
@@ -8,10 +9,9 @@ import { FeatureKind, FeatureType } from './types';
@Injectable()
export class FeatureService {
constructor(private readonly prisma: PrismaClient) {}
async getFeature<F extends FeatureType>(
feature: F
): Promise<FeatureConfigType<F> | undefined> {
const data = await this.prisma.features.findFirst({
async getFeature<F extends FeatureType>(feature: F) {
const data = await this.prisma.feature.findFirst({
where: {
feature,
type: FeatureKind.Feature,
@@ -21,8 +21,9 @@ export class FeatureService {
version: 'desc',
},
});
if (data) {
return getFeature(this.prisma, data.id) as FeatureConfigType<F>;
return getFeature(this.prisma, data.id) as Promise<FeatureConfigType<F>>;
}
return undefined;
}
@@ -36,7 +37,7 @@ export class FeatureService {
expiredAt?: Date | string
) {
return this.prisma.$transaction(async tx => {
const latestFlag = await tx.userFeatures.findFirst({
const latestFlag = await tx.userFeature.findFirst({
where: {
userId,
feature: {
@@ -53,7 +54,7 @@ export class FeatureService {
if (latestFlag) {
return latestFlag.id;
} else {
const featureId = await tx.features
const featureId = await tx.feature
.findFirst({
where: { feature, type: FeatureKind.Feature },
orderBy: { version: 'desc' },
@@ -65,7 +66,7 @@ export class FeatureService {
throw new Error(`Feature ${feature} not found`);
}
return tx.userFeatures
return tx.userFeature
.create({
data: {
reason,
@@ -81,7 +82,10 @@ export class FeatureService {
}
async removeUserFeature(userId: string, feature: FeatureType) {
return this.prisma.userFeatures
if (feature === FeatureType.Admin) {
await this.ensureNotLastAdmin(userId);
}
return this.prisma.userFeature
.updateMany({
where: {
userId,
@@ -98,13 +102,27 @@ export class FeatureService {
.then(r => r.count);
}
async ensureNotLastAdmin(userId: string) {
const count = await this.prisma.userFeature.count({
where: {
userId: { not: userId },
feature: { feature: FeatureType.Admin, type: FeatureKind.Feature },
activated: true,
},
});
if (count === 0) {
throw new CannotDeleteAllAdminAccount();
}
}
/**
* get user's features, will included inactivated features
* @param userId user id
* @returns list of features
*/
async getUserFeatures(userId: string) {
const features = await this.prisma.userFeatures.findMany({
const features = await this.prisma.userFeature.findMany({
where: {
userId,
feature: { type: FeatureKind.Feature },
@@ -129,7 +147,7 @@ export class FeatureService {
}
async getActivatedUserFeatures(userId: string) {
const features = await this.prisma.userFeatures.findMany({
const features = await this.prisma.userFeature.findMany({
where: {
userId,
feature: { type: FeatureKind.Feature },
@@ -156,7 +174,7 @@ export class FeatureService {
}
async listFeatureUsers(feature: FeatureType) {
return this.prisma.userFeatures
return this.prisma.userFeature
.findMany({
where: {
activated: true,
@@ -182,7 +200,7 @@ export class FeatureService {
}
async hasUserFeature(userId: string, feature: FeatureType) {
return this.prisma.userFeatures
return this.prisma.userFeature
.count({
where: {
userId,
@@ -206,7 +224,7 @@ export class FeatureService {
expiredAt?: Date | string
) {
return this.prisma.$transaction(async tx => {
const latestFlag = await tx.workspaceFeatures.findFirst({
const latestFlag = await tx.workspaceFeature.findFirst({
where: {
workspaceId,
feature: {
@@ -223,7 +241,7 @@ export class FeatureService {
return latestFlag.id;
} else {
// use latest version of feature
const featureId = await tx.features
const featureId = await tx.feature
.findFirst({
where: { feature, type: FeatureKind.Feature },
select: { id: true },
@@ -235,7 +253,7 @@ export class FeatureService {
throw new Error(`Feature ${feature} not found`);
}
return tx.workspaceFeatures
return tx.workspaceFeature
.create({
data: {
reason,
@@ -251,7 +269,7 @@ export class FeatureService {
}
async removeWorkspaceFeature(workspaceId: string, feature: FeatureType) {
return this.prisma.workspaceFeatures
return this.prisma.workspaceFeature
.updateMany({
where: {
workspaceId,
@@ -274,7 +292,7 @@ export class FeatureService {
* @returns list of features
*/
async getWorkspaceFeatures(workspaceId: string) {
const features = await this.prisma.workspaceFeatures.findMany({
const features = await this.prisma.workspaceFeature.findMany({
where: {
workspace: { id: workspaceId },
feature: {
@@ -301,7 +319,7 @@ export class FeatureService {
}
async listFeatureWorkspaces(feature: FeatureType): Promise<WorkspaceType[]> {
return this.prisma.workspaceFeatures
return this.prisma.workspaceFeature
.findMany({
where: {
activated: true,
@@ -324,7 +342,7 @@ export class FeatureService {
}
async hasWorkspaceFeature(workspaceId: string, feature: FeatureType) {
return this.prisma.workspaceFeatures
return this.prisma.workspaceFeature
.count({
where: {
workspaceId,

Some files were not shown because too many files have changed in this diff Show More