Compare commits

...

500 Commits

Author SHA1 Message Date
CatsJuice
1623f5d82f fix(core): cannot view pricing page if not logged in (#8907)
Due to lifetime plan card show `Upgrade` button that require accout, should show `Login` instead
2024-11-27 15:01:31 +08:00
JimmFly
2abf40b465 fix(core): image block size limits were not enforced as expected (#8908) 2024-11-27 15:00:06 +08:00
EYHN
dea0574a89 fix(core): improve doc meta performance (#8913) 2024-11-27 14:59:53 +08:00
liuyi
a73c08ff24 fix(core): wrong app scheme fallback (#8914) 2024-11-25 16:50:09 +08:00
liuyi
c4410751e4 fix(server): ignore invalid subscription variant for subscriptinos query as well (#8894) 2024-11-22 13:51:03 +08:00
liuyi
47899a7eaf fix(server): ignore invalid subscription variant (#8892) 2024-11-22 12:37:15 +08:00
liuyi
8b066a4b39 fix(core): auth events are not continuous (#8874) 2024-11-20 16:25:37 +08:00
renovate[bot]
cc0462e7fe chore: bump up @blocksuite/affine version to v0.17.33 (#8873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 07:26:43 +00:00
Chen
b87c3840f3 chore(core): remove snapshot import export feature flag (#8865) 2024-11-20 07:06:20 +00:00
pengx17
47243247b9 fix(electron): respect locale for spellchecker (#8844)
may fix #8837.
fix AF-1712

MacOS automatically do spellcheck based on given text. This only works for Win/Linux.
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/25058395-d70a-42a4-b869-c69fa71bc418.png)
2024-11-20 06:44:36 +00:00
Peng Xiao
8689465e00 fix(electron): potential crash on quit (#8855) 2024-11-20 14:44:06 +08:00
akumatus
b0ca3c6d58 fix(core): linked doc named input box has excessive desire to select all (#8861)
Fix issue [AF-1706](https://linear.app/affine-design/issue/AF-1706).
2024-11-20 06:25:36 +00:00
renovate[bot]
2857568f03 chore: bump up @blocksuite/icons version to v2.1.70 (#8866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 14:24:31 +08:00
Cats Juice
2e94944d2b fix(core): ai subscribe button is not show in ai usage page (#8869) 2024-11-20 14:23:30 +08:00
Peng Xiao
afa0e31ecd feat(core): open in app cmd (#8870) 2024-11-20 14:23:18 +08:00
CatsJuice
3390fbc5db feat(mobile): hide tab when virtual-keyboard show up (#8862) 2024-11-20 01:33:19 +00:00
CatsJuice
cd2c2b7fdb feat(ios): live reload script and docs (#8863) 2024-11-20 01:33:18 +00:00
pengx17
3f5dadb4f5 fix(core): doc info event tracking issues (#8868)
fix AF-1769
2024-11-20 01:15:51 +00:00
Peng Xiao
401106203c fix(core): info modal style issue (#8842) 2024-11-18 23:36:31 +08:00
Peng Xiao
e200e0a1a0 fix(core): peek view animation (#8858) 2024-11-18 23:31:10 +08:00
Peng Xiao
56a3f054f9 fix(core): emoji doc name rendering on windows (#8857) 2024-11-18 23:28:54 +08:00
Cats Juice
abaea9e605 fix(core): cloud pricing plan cards can not scroll (#8851) 2024-11-18 23:28:39 +08:00
darkskygit
1c2b23b160 feat(native): split package (#8853) 2024-11-18 13:18:16 +00:00
CatsJuice
9642566086 fix(core): make right-sidebar scrollable (#8830) 2024-11-18 08:47:12 +00:00
CatsJuice
bd7c422c46 feat(mobile): impl masonry docs with flex and predict card height (#8849)
previous `columns` implementation has some limitation:
- the card order is not as expected
- there may be strange shadow on top
2024-11-18 08:30:08 +00:00
renovate
bf093710b7 chore: bump up nestjs to v10.4.8 (#8843)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.4.7` -> `10.4.8`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.4.7/10.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.4.7/10.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v10.4.8`](https://redirect.github.com/nestjs/nest/releases/tag/v10.4.8)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.7...v10.4.8)

##### v10.4.8 (2024-11-15)

##### Bug fixes

-   `microservices`
    -   [#&#8203;14059](https://redirect.github.com/nestjs/nest/pull/14059) fix(microservices): include discarded rmq client options ([@&#8203;v-sum](https://redirect.github.com/v-sum))
    -   [#&#8203;14132](https://redirect.github.com/nestjs/nest/pull/14132) fix(microservices): no messages emitted with mqtt when qos set ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
-   `core`
    -   [#&#8203;14133](https://redirect.github.com/nestjs/nest/pull/14133) fix(core): flaky durable provider, remove instance on error  ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))

##### Enhancements

-   `core`
    -   [#&#8203;14143](https://redirect.github.com/nestjs/nest/pull/14143) feat(core): expose listening stream from http adapter host ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
    -   [#&#8203;14139](https://redirect.github.com/nestjs/nest/pull/14139) chore(core): defer application shutdown until init finishes ([@&#8203;mksony](https://redirect.github.com/mksony))

##### Committers: 3

-   Kamil Mysliwiec ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
-   Max ([@&#8203;mksony](https://redirect.github.com/mksony))
-   Vasile Sumanschi ([@&#8203;v-sum](https://redirect.github.com/v-sum))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-11-18 05:14:06 +00:00
CatsJuice
ffa4d5422d fix(mobile): use mobile app-fallback in app-container (#8804)
close AF-1633
2024-11-18 02:31:16 +00:00
Brooooooklyn
a97ee60502 test(server): fix fakerjs deprecated warning (#8834) 2024-11-15 14:11:57 +00:00
liuyi
84cfcb193f fix(server): should not enable experimental mobile version in selfhost (#8840) 2024-11-15 17:47:34 +08:00
CatsJuice
1f71e87460 fix(mobile): correct search & home-header bg color (#8835) 2024-11-15 08:19:15 +00:00
forehalo
54c51225ed fix(core): wrong title field from editor container proxy (#8826)
fix AF-1689
2024-11-15 06:02:41 +00:00
CatsJuice
5fade7aaf5 fix(mobile): correct doc card title display (#8836) 2024-11-15 04:36:24 +00:00
pengx17
df99e2ca97 fix(electron): potential crash on quit (#8829)
fix AF-1696

Related log:
```
Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0   Electron Framework            	       0x10c3bb09c electron::MessagePort::Close()
1   Electron Framework            	       0x10c3bcb78 gin::internal::Dispatcher<void (electron::MessagePort*)>::DispatchToCallbackImpl(gin::Arguments*)
2   Electron Framework            	       0x10c3bc984 gin::internal::Dispatcher<void (electron::MessagePort*)>::DispatchToCallback(v8::FunctionCallbackInfo<v8::Value> const&)
3   ???                           	       0x147e0f58c ???
4   ???                           	       0x147e0d45c ???
5   ???                           	       0x147e0d45c ???
6   ???                           	       0x147e0d45c ???
7   ???                           	       0x1401743b8 ???
8   ???                           	       0x147e0b088 ???
9   ???                           	       0x147e0acd4 ???
10  Electron Framework            	       0x10d657578 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*)
11  Electron Framework            	       0x10d53e478 v8::Function::Call(v8::Isolate*, v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)
12  Electron Framework            	       0x11337ad34 node::InternalMakeCallback(node::Environment*, v8::Local<v8::Object>, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context)
13  Electron Framework            	       0x11337b0b0 node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context)
14  Electron Framework            	       0x10c46d9dc gin_helper::internal::CallMethodWithArgs(v8::Isolate*, v8::Local<v8::Object>, char const*, base::span<v8::Local<v8::Value>, 18446744073709551615ul, v8::Local<v8::Value>*>)
15  Electron Framework            	       0x10c3833b0 bool gin_helper::EventEmitterMixin<electron::api::WebContents>::Emit<>(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>)
16  Electron Framework            	       0x10c38324c electron::api::WebContents::WebContentsDestroyed()
17  Electron Framework            	       0x10ebc2ee8 void content::WebContentsImpl::WebContentsObserverList::NotifyObservers<void (content::WebContentsObserver::*)()>(void (content::WebContentsObserver::*)())
18  Electron Framework            	       0x10ebc229c content::WebContentsImpl::~WebContentsImpl()
19  Electron Framework            	       0x10ebc32b0 content::WebContentsImpl::~WebContentsImpl()
20  Electron Framework            	       0x10c4212dc electron::InspectableWebContents::~InspectableWebContents()
21  Electron Framework            	       0x10c4213ac electron::InspectableWebContents::~InspectableWebContents()
22  Electron Framework            	       0x10c382ffc electron::api::WebContents::~WebContents()
23  Electron Framework            	       0x10c383498 non-virtual thunk to electron::api::WebContents::~WebContents()
24  Electron Framework            	       0x10c46cb80 gin_helper::CleanedUpAtExit::DoCleanup()
25  Electron Framework            	       0x10c3ec994 electron::JavascriptEnvironment::DestroyMicrotasksRunner()
26  Electron Framework            	       0x10c3d2828 electron::ElectronBrowserMainParts::PostMainMessageLoopRun()
27  Electron Framework            	       0x10e663458 content::BrowserMainLoop::ShutdownThreadsAndCleanUp()
28  Electron Framework            	       0x10e664a80 content::BrowserMainRunnerImpl::Shutdown()
29  Electron Framework            	       0x10e661098 content::BrowserMain(content::MainFunctionParams)
30  Electron Framework            	       0x10c6339a4 content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*)
31  Electron Framework            	       0x10c634968 content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool)
32  Electron Framework            	       0x10c6347e8 content::ContentMainRunnerImpl::Run()
33  Electron Framework            	       0x10c633208 content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*)
34  Electron Framework            	       0x10c6332f0 content::ContentMain(content::ContentMainParams)
35  Electron Framework            	       0x10c2e98c0 ElectronMain
36  dyld                          	       0x18b5a8274 start
```
2024-11-15 02:58:19 +00:00
renovate
4610f1e934 chore: bump up slackapi/slack-github-action action to v2 (#8833)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [slackapi/slack-github-action](https://redirect.github.com/slackapi/slack-github-action) | action | major | `v1.27.0` -> `v2.0.0` |

---

### Release Notes

<details>
<summary>slackapi/slack-github-action (slackapi/slack-github-action)</summary>

### [`v2.0.0`](https://redirect.github.com/slackapi/slack-github-action/compare/v1.27.1...v2.0.0)

[Compare Source](https://redirect.github.com/slackapi/slack-github-action/compare/v1.27.1...v2.0.0)

### [`v1.27.1`](https://redirect.github.com/slackapi/slack-github-action/releases/tag/v1.27.1): Slack Send V1.27.1

[Compare Source](https://redirect.github.com/slackapi/slack-github-action/compare/v1.27.0...v1.27.1)

##### What's changed

This release tags multiple updates to dependencies and a clarification in documentation 📚

No changes are needed to update from `slackapi/slack-github-action@v1.27.0` - other than bumping the version - but ongoing development is now happening on version `@v2` and `@v1` is no longer planning to receive significant updates after this.

Please stay tuned for upcoming changes, and may all of your workflows run well ❤️

##### 📚 Documentation

-   docs(fix): reference octokit context and github event webhook payloads in variables in [https://github.com/slackapi/slack-github-action/pull/348](https://redirect.github.com/slackapi/slack-github-action/pull/348) - thanks [@&#8203;zimeg](https://redirect.github.com/zimeg)!

##### 🧪 Maintenance

-   ci: include the slack health score as part of ci tests in [https://github.com/slackapi/slack-github-action/pull/346](https://redirect.github.com/slackapi/slack-github-action/pull/346) - thanks [@&#8203;zimeg](https://redirect.github.com/zimeg)!

##### 📦 Dependencies

-   build(deps): bump axios from 1.7.5 to 1.7.7 in [https://github.com/slackapi/slack-github-action/pull/334](https://redirect.github.com/slackapi/slack-github-action/pull/334) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump mocha from 10.7.0 to 10.7.3 in [https://github.com/slackapi/slack-github-action/pull/335](https://redirect.github.com/slackapi/slack-github-action/pull/335) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump eslint-plugin-jsdoc from 48.10.2 to 50.2.2 in [https://github.com/slackapi/slack-github-action/pull/336](https://redirect.github.com/slackapi/slack-github-action/pull/336) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps): bump [@&#8203;slack/web-api](https://redirect.github.com/slack/web-api) from 7.3.4 to 7.5.0 in [https://github.com/slackapi/slack-github-action/pull/339](https://redirect.github.com/slackapi/slack-github-action/pull/339) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump eslint-plugin-import from 2.29.1 to 2.30.0 in [https://github.com/slackapi/slack-github-action/pull/341](https://redirect.github.com/slackapi/slack-github-action/pull/341) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump eslint-plugin-jsdoc from 50.2.2 to 50.3.1 in [https://github.com/slackapi/slack-github-action/pull/344](https://redirect.github.com/slackapi/slack-github-action/pull/344) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump nyc from 17.0.0 to 17.1.0 in [https://github.com/slackapi/slack-github-action/pull/342](https://redirect.github.com/slackapi/slack-github-action/pull/342) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump sinon from 18.0.0 to 19.0.2 in [https://github.com/slackapi/slack-github-action/pull/343](https://redirect.github.com/slackapi/slack-github-action/pull/343) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump mocha from 10.7.3 to 10.8.2 in [https://github.com/slackapi/slack-github-action/pull/350](https://redirect.github.com/slackapi/slack-github-action/pull/350) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps): bump [@&#8203;slack/web-api](https://redirect.github.com/slack/web-api) from 7.5.0 to 7.7.0 in [https://github.com/slackapi/slack-github-action/pull/351](https://redirect.github.com/slackapi/slack-github-action/pull/351) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump eslint-plugin-import from 2.30.0 to 2.31.0 in [https://github.com/slackapi/slack-github-action/pull/352](https://redirect.github.com/slackapi/slack-github-action/pull/352) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps-dev): bump eslint-plugin-jsdoc from 50.3.1 to 50.4.3 in [https://github.com/slackapi/slack-github-action/pull/353](https://redirect.github.com/slackapi/slack-github-action/pull/353) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps): bump [@&#8203;actions/core](https://redirect.github.com/actions/core) from 1.10.1 to 1.11.1 in [https://github.com/slackapi/slack-github-action/pull/354](https://redirect.github.com/slackapi/slack-github-action/pull/354) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!
-   build(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 in [https://github.com/slackapi/slack-github-action/pull/355](https://redirect.github.com/slackapi/slack-github-action/pull/355) - thanks [@&#8203;dependabot](https://redirect.github.com/dependabot)!

**Full Changelog**: https://github.com/slackapi/slack-github-action/compare/v1.27.0...v1.27.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-11-15 02:38:19 +00:00
renovate
78ef9fee34 chore: bump up codecov/codecov-action action to v5 (#8832)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codecov/codecov-action](https://redirect.github.com/codecov/codecov-action) | action | major | `v4` -> `v5` |

---

### Release Notes

<details>
<summary>codecov/codecov-action (codecov/codecov-action)</summary>

### [`v5`](https://redirect.github.com/codecov/codecov-action/compare/v4...v5)

[Compare Source](https://redirect.github.com/codecov/codecov-action/compare/v4...v5)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-11-15 00:49:48 +00:00
forehalo
18089c7369 chore(i18n): update completenesses 2024-11-14 20:16:16 +08:00
darkskygit
991e0b9b63 feat: improve challenge test case (#8825) 2024-11-14 10:22:38 +00:00
DarkSky
129cceade9 feat: add compatible for captcha request with challenge (#8827) 2024-11-14 10:22:02 +00:00
forehalo
055fa0a8b4 fix(core): polyfill iterator helper for safari (#8824)
fix AF-1691
2024-11-14 09:59:01 +00:00
forehalo
9f3dceb220 feat(server): add captcha runtime flag (#8823)
fix AF-1702
2024-11-14 09:41:37 +00:00
forehalo
6a64055886 fix(core): auth fail reason should be error.name (#8822)
fix AF-1701
2024-11-14 09:24:01 +00:00
EYHN
c712e87114 fix(core): warning when open center peek (#8819) 2024-11-14 09:04:38 +00:00
CatsJuice
343152e162 fix(core): center peek zoomIn animation not work in firefox (#8817) 2024-11-14 08:30:07 +00:00
JimmFly
97d6f53932 chore: remove community link from header (#8818)
close AF-1695
2024-11-14 08:15:01 +00:00
Brooooooklyn
44e00f67c4 ci: fix release notes generation (#8815) 2024-11-14 07:13:02 +00:00
CatsJuice
39cb1b7714 chore: bump theme, update mobile home background color (#8799) 2024-11-14 06:57:08 +00:00
donteatfriedrice
6f5c61b8b6 feat(core): update import entry in all page and page list (#8814) 2024-11-14 06:41:01 +00:00
CatsJuice
87520e9bf9 fix(core): center peek can't open in firefox and safari (#8816)
close AF-1690
2024-11-14 06:23:34 +00:00
github-actions[bot]
181b213a3e chore(i18n): sync translations (#8785)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-11-14 06:22:20 +00:00
L-Sun
a8938ab403 chore(mobile): disable reference popup on mobile (#8743)
This PR disable reference node popup on mobile. Close [BS-1730](https://linear.app/affine-design/issue/BS-1730/%E7%A6%81%E7%94%A8-block-yuan%E7%B4%A0%E7%9A%84-toolbar)
2024-11-14 04:47:31 +00:00
darkskygit
ca8bb6dc90 feat(server): make copilot test faster (#8806) 2024-11-14 04:24:28 +00:00
forehalo
21c7d1810d chore: bump base version to 0.18.0 2024-11-14 11:41:51 +08:00
forehalo
2fa843b960 ci: wrong replica config for stable 2024-11-14 11:37:23 +08:00
renovate[bot]
9469b135c5 chore: bump up @blocksuite/affine version to v0.17.32 (#8805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 12:01:28 +00:00
Brooooooklyn
c0f6a60a66 fix: migrate to standard import attributes (#8803) 2024-11-13 08:52:05 +00:00
CatsJuice
c32b29a293 fix(core): onboading performance improvement (#8790)
- compress images
- remove noise assets (700kb)
- remove lottie animations
- remove `perspective` after paper animation to reduce layers
2024-11-13 08:25:05 +00:00
fundon
f85dfae63b chore: enchance copy link action (#8797)
What's Changed

* enhance copy link action
* detect compatibility
* fall back to `document.execCommand`
2024-11-13 08:07:08 +00:00
forehalo
b3b1ea2f33 fix(electron): make sure updater receive correct installer files (#8798)
fix AF-1680
2024-11-13 07:48:37 +00:00
pengx17
01d1631fe8 fix(core): peek view animation use zoom when possible (#8793)
fix AF-1667
2024-11-13 02:40:01 +00:00
fundon
b5fa8472d9 chore: improves scrolling performance and loading component for dark theme (#8795)
What's Changed

* improve scrolling performance
* loading component for dark theme
2024-11-13 02:25:03 +00:00
EYHN
17c247af53 fix(core): speed up navigation performance (#8794)
add some memo...
2024-11-12 13:22:59 +00:00
Fangdun Tsai
f4abe39689 feat(core): pdf preview (#8569)
Co-authored-by: forehalo <forehalo@gmail.com>
2024-11-12 19:12:31 +08:00
renovate[bot]
73283df3e1 chore: bump up @blocksuite/affine version to v0.17.30 (#8792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: L-Sun <zover.v@gmail.com>
2024-11-12 19:09:30 +08:00
fundon
a5bcfb0b14 fix: reference parameters and add test cases (#8740)
Upstreams: https://github.com/toeverything/blocksuite/pull/8689
Closes: AF-1650
2024-11-12 09:23:57 +00:00
JimmFly
68573aa35e chore: fix typos (#8789) 2024-11-12 08:36:19 +00:00
CatsJuice
a8d664a03e fix(core): avoid shaking when center-peek opened (#8780)
close AF-1668;

We calculate the final width through modalContent at the start of the animation, so the calculated width is unexpected when there is a `padding`.
2024-11-12 08:19:10 +00:00
akumatus
e2b221a451 fix: color of canvas element under embed whiteboard is wrong (#8712)
Fix issue [BS-1762](https://linear.app/affine-design/issue/BS-1762). Related [PR](https://github.com/toeverything/blocksuite/pull/8677) in Blocksuite.

`light` whiteboard with embedded `dark` whiteboard:
![截屏2024-11-05 22.39.18.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/42319032-0940-4a67-b12b-64aeec9c49a6.png)

`dark` whiteboard with embedded `light` whiteboard:
![截屏2024-11-05 22.43.36.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/63c5c747-73dc-4d4b-89c7-281d4bf20fcc.png)

`light` doc with `dark` frame:
![截屏2024-11-05 22.40.01.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/b1eae95f-41aa-4093-8fa1-5641578e8f4e.png)
2024-11-12 08:03:05 +00:00
CatsJuice
98bdf25844 feat(mobile): optimize home header animation (#8707)
close AF-1420

![CleanShot 2024-11-05 at 17.17.29.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/a74ead2d-30ef-4bb1-8714-fdc77dd93335.gif)
2024-11-12 07:28:11 +00:00
pengx17
fa82842cd7 fix(mobile): doc property styles (#8760)
fix AF-1582
fix AF-1671

- mobile doc info dialog styles
- added ConfigModal for editing property values in modal, including:
  - workspace properties: text, number, tags
  - db properties: text, number, label, link
2024-11-12 07:11:00 +00:00
JimmFly
2ee2cbfe36 feat(core): add i18n to descriptions of experimental feature (#8788)
close AF-1554 AF-1556 OPE-185
2024-11-12 06:53:46 +00:00
EYHN
51b00c476c fix(core): remember scroll position switch mode (#8771) 2024-11-12 06:05:51 +00:00
Brooooooklyn
e6a4fc7210 build(native): static link vc runtime on WOA (#8787) 2024-11-12 05:32:23 +00:00
forehalo
bfc8b93a96 fix(core): add missing confirm button variants (#8786)
fix AF-1628
2024-11-12 04:11:12 +00:00
darkskygit
5cde590a4f feat: improve metrics naming (#8770)
fix CLOUD-83
2024-11-12 03:52:52 +00:00
pengx17
cc9a23e424 fix(core): revise open app card text (#8783)
fix AF-1669
2024-11-12 03:16:10 +00:00
JimmFly
6fe2e42490 feat(core): add page width property (#8775)
close AF-1655
2024-11-12 02:58:14 +00:00
donteatfriedrice
713551fbf1 feat: add import snapshot option to import dialog (#8778) 2024-11-12 02:40:57 +00:00
L-Sun
81fc9e1aa1 fix(mobile): typo of identifier when override config (#8773)
Fixed a typo in the mobile patches where the wrong identifier was being used to override `affine:page` configs.
2024-11-12 02:24:14 +00:00
pengx17
35f3fc7b5d feat(electron): spellcheck setting (#8730)
fix AF-1647
2024-11-11 13:03:33 +00:00
pengx17
b3749246f6 fix(core): do not delete tag on cancel (#8776) 2024-11-11 12:10:57 +00:00
Brooooooklyn
64674a539f feat(electron): support WOA native (#8741) 2024-11-11 11:33:58 +00:00
renovate
5605185a00 chore: bump up oxlint version to v0.11.1 (#8759)
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.11.0` -> `0.11.1`](https://renovatebot.com/diffs/npm/oxlint/0.11.0/0.11.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.11.0/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.11.0/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

#### \[0.11.1] - 2024-11-09

##### Features

-   [`4dd9b60`](https://redirect.github.com/oxc-project/oxc/commit/4dd9b60) editor/vscode: Replace existing output channel and trace output channel with a single LogOutputChannel ([#&#8203;7196](https://redirect.github.com/oxc-project/oxc/issues/7196)) (Nicholas Rayburn)
-   [`1fcd709`](https://redirect.github.com/oxc-project/oxc/commit/1fcd709) linter: Add jsx support for only-used-in-recursion ([#&#8203;7120](https://redirect.github.com/oxc-project/oxc/issues/7120)) (no-yan)
-   [`4d577cf`](https://redirect.github.com/oxc-project/oxc/commit/4d577cf) linter: Add `import/first` rule ([#&#8203;7180](https://redirect.github.com/oxc-project/oxc/issues/7180)) (Dmitry Zakharov)
-   [`9b8973f`](https://redirect.github.com/oxc-project/oxc/commit/9b8973f) linter: Add `import/unambiguous` rule ([#&#8203;7187](https://redirect.github.com/oxc-project/oxc/issues/7187)) (Dmitry Zakharov)
-   [`5ab1ff6`](https://redirect.github.com/oxc-project/oxc/commit/5ab1ff6) linter: Implement [@&#8203;typescript-eslint/no-unsafe-function-type](https://redirect.github.com/typescript-eslint/no-unsafe-function-type) ([#&#8203;6989](https://redirect.github.com/oxc-project/oxc/issues/6989)) (Orenbek)

##### Bug Fixes

-   [`eea8879`](https://redirect.github.com/oxc-project/oxc/commit/eea8879) editor/vscode: Update language client id to fix the resolution of the oxc.trace.server setting ([#&#8203;7181](https://redirect.github.com/oxc-project/oxc/issues/7181)) (Nicholas Rayburn)
-   [`b73cfd9`](https://redirect.github.com/oxc-project/oxc/commit/b73cfd9) linter: Fix `is_method_call` with parentheses and chain expression ([#&#8203;7095](https://redirect.github.com/oxc-project/oxc/issues/7095)) (tbashiyy)

##### Refactor

-   [`8c0a362`](https://redirect.github.com/oxc-project/oxc/commit/8c0a362) linter: Use `ctx.source_range(comment.content_span())` API ([#&#8203;7155](https://redirect.github.com/oxc-project/oxc/issues/7155)) (Boshen)
-   [`c5485ae`](https://redirect.github.com/oxc-project/oxc/commit/c5485ae) semantic: Add `ancestor_kinds` iterator function ([#&#8203;7217](https://redirect.github.com/oxc-project/oxc/issues/7217)) (camchenry)
-   [`abf1602`](https://redirect.github.com/oxc-project/oxc/commit/abf1602) semantic: Rename `iter_parents` to `ancestors` ([#&#8203;7216](https://redirect.github.com/oxc-project/oxc/issues/7216)) (camchenry)
-   [`42171eb`](https://redirect.github.com/oxc-project/oxc/commit/42171eb) semantic: Rename `ancestors` to `ancestor_ids` ([#&#8203;7215](https://redirect.github.com/oxc-project/oxc/issues/7215)) (camchenry)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS43LjEiLCJ1cGRhdGVkSW5WZXIiOiIzOS43LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-11-11 10:40:30 +00:00
renovate
846544d887 chore: bump up all non-major dependencies (#8725)
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.686.0` -> `3.688.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.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.686.0` -> `3.688.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.686.0/3.688.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.54.1` -> `0.54.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.54.1/0.54.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@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.54.1` -> `0.54.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.54.1/0.54.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@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.54.1` -> `0.54.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.54.1/0.54.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@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.54.1` -> `0.54.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.54.1/0.54.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.54.1/0.54.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.9.1` -> `1.9.2`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.9.1/1.9.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [cloudflare/wrangler-action](https://redirect.github.com/cloudflare/wrangler-action) | `v3.12.0` -> `v3.12.1` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.12.0/v3.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.12.0/v3.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | patch |
| [electron](https://redirect.github.com/electron/electron) | [`33.1.0` -> `33.2.0`](https://renovatebot.com/diffs/npm/electron/33.1.0/33.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/33.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/33.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/33.1.0/33.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/33.1.0/33.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [electron-log](https://redirect.github.com/megahertz/electron-log) | [`5.2.0` -> `5.2.2`](https://renovatebot.com/diffs/npm/electron-log/5.2.0/5.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.2.0/5.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.2.0/5.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [file-format](https://redirect.github.com/mmalecot/file-format) | `0.25` -> `0.26` | [![age](https://developer.mend.io/api/mc/badges/age/crate/file-format/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/file-format/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/file-format/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/file-format/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.24.2` -> `8.25.0`](https://renovatebot.com/diffs/npm/html-validate/8.24.2/8.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.24.2/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.24.2/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`23.16.4` -> `23.16.5`](https://renovatebot.com/diffs/npm/i18next/23.16.4/23.16.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.16.4/23.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.16.4/23.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [keyv](https://redirect.github.com/jaredwray/keyv) | [`5.1.3` -> `5.2.1`](https://renovatebot.com/diffs/npm/keyv/5.1.3/5.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/5.1.3/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/5.1.3/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.454.0` -> `^0.456.0`](https://renovatebot.com/diffs/npm/lucide-react/0.454.0/0.456.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.456.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.456.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.454.0/0.456.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.454.0/0.456.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.55.1` -> `2.56.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.55.1/2.56.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.55.1/2.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.55.1/2.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.6.1` -> `2.6.4`](https://renovatebot.com/diffs/npm/msw/2.6.1/2.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.6.1/2.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.6.1/2.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.17` -> `3.0.0-alpha.18` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.17/3.0.0-alpha.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.17/3.0.0-alpha.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`20.0.10` -> `20.0.12`](https://renovatebot.com/diffs/npm/nx/20.0.10/20.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/20.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/20.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/20.0.10/20.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/20.0.10/20.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.47` -> `8.4.48`](https://renovatebot.com/diffs/npm/postcss/8.4.47/8.4.48) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.48?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.48?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.47/8.4.48?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.47/8.4.48?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-hook-form](https://www.react-hook-form.com) ([source](https://redirect.github.com/react-hook-form/react-hook-form)) | [`7.53.1` -> `7.53.2`](https://renovatebot.com/diffs/npm/react-hook-form/7.53.1/7.53.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.53.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.53.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.53.1/7.53.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.53.1/7.53.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-i18next](https://redirect.github.com/i18next/react-i18next) | [`15.1.0` -> `15.1.1`](https://renovatebot.com/diffs/npm/react-i18next/15.1.0/15.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/15.1.0/15.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.1.0/15.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.41.0` -> `1.41.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.41.0/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.41.0/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev-dependencies | patch |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.41.0` -> `1.41.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.41.0/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.41.0/1.41.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [uuid](https://redirect.github.com/uuidjs/uuid) | [`11.0.2` -> `11.0.3`](https://renovatebot.com/diffs/npm/uuid/11.0.2/11.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/uuid/11.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/uuid/11.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/uuid/11.0.2/11.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/uuid/11.0.2/11.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.10` -> `5.4.11`](https://renovatebot.com/diffs/npm/vite/5.4.10/5.4.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.10/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.10/5.4.11?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.85.0` -> `3.86.0`](https://renovatebot.com/diffs/npm/wrangler/3.85.0/3.86.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.86.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.86.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.85.0/3.86.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.85.0/3.86.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.688.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36880-2024-11-08)

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

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

### [`v3.687.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36870-2024-11-07)

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

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

</details>

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

### [`v0.54.2`](6f4f3fcefd...72c9af9198)

[Compare Source](6f4f3fcefd...72c9af9198)

</details>

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

### [`v1.9.2`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#192---2024-11-11)

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

##### Bug Fixes

-   **(es)** Fix typo in feature name ([#&#8203;9721](https://redirect.github.com/swc-project/swc/issues/9721)) ([aff9de5](aff9de5ea3))

##### Features

-   **(es/codegen)** Implement proper `inline_script` support ([#&#8203;9729](https://redirect.github.com/swc-project/swc/issues/9729)) ([e732a36](e732a36373))

</details>

<details>
<summary>cloudflare/wrangler-action (cloudflare/wrangler-action)</summary>

### [`v3.12.1`](https://redirect.github.com/cloudflare/wrangler-action/releases/tag/v3.12.1)

[Compare Source](https://redirect.github.com/cloudflare/wrangler-action/compare/v3.12.0...v3.12.1)

##### Patch Changes

-   [#&#8203;319](https://redirect.github.com/cloudflare/wrangler-action/pull/319) [`59c04629408d58978884fadd18755f1a15f96157`](59c0462940) Thanks [@&#8203;Maximo-Guk](https://redirect.github.com/Maximo-Guk)! - Fixes [#&#8203;317](https://redirect.github.com/cloudflare/wrangler-action/issues/317): Generate a new output directory with a randomUUID in the tmpDir, so that when the action is executed multiple times, we use the artifacts from that run, opposed to the artifacts from a previous run.

</details>

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

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

[Compare Source](https://redirect.github.com/electron/electron/compare/v33.1.0...v33.2.0)

### Release Notes for v33.2.0

#### Features

-   Added GPU accelerated shared texture offscreen rendering. [#&#8203;44511](https://redirect.github.com/electron/electron/pull/44511)

#### Other Changes

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

</details>

<details>
<summary>megahertz/electron-log (electron-log)</summary>

### [`v5.2.2`](https://redirect.github.com/megahertz/electron-log/compare/v5.2.0...v5.2.2)

[Compare Source](https://redirect.github.com/megahertz/electron-log/compare/v5.2.0...v5.2.2)

</details>

<details>
<summary>mmalecot/file-format (file-format)</summary>

### [`v0.26.0`](https://redirect.github.com/mmalecot/file-format/blob/HEAD/CHANGELOG.md#Version-0260-2024-11-07)

[Compare Source](https://redirect.github.com/mmalecot/file-format/compare/v0.25.0...v0.26.0)

#### API

-   Add `reader-id3v2` feature

#### Improvements

-   Improve Free Lossless Audio Codec (FLAC) detection when it contains ID3v2 metadata
-   Improve MPEG-1/2 Audio Layer 3 (MP3) detection

#### New formats support

-   ID3v2 (ID3)

</details>

<details>
<summary>html-validate/html-validate (html-validate)</summary>

### [`v8.25.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#8250-2024-11-11)

[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v8.24.2...v8.25.0)

##### Features

-   **cli:** add `--preset` to set preset when using cli ([2ec038f](2ec038fea2)), closes [#&#8203;269](https://gitlab.com/html-validate/html-validate/issues/269)

##### Bug Fixes

-   properly close elements with optional end tag when implicit document element is used ([bbe2a99](bbe2a99421)), closes [#&#8203;268](https://gitlab.com/html-validate/html-validate/issues/268)
-   **types:** narrow numeric rule severity to only 0, 1 and 2 ([88cf8a2](88cf8a2aaa))

</details>

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

### [`v23.16.5`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23165)

[Compare Source](https://redirect.github.com/i18next/i18next/compare/v23.16.4...v23.16.5)

-   fix extractFromKey for use cases like [this](https://redirect.github.com/i18next/react-i18next/issues/1810)

</details>

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

### [`v0.456.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.456.0): Choosing import name style 0.456.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.455.0...0.456.0)

#### What's Changed

-   ci(pull-request): Fix generate comments for empty changes by [@&#8203;ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/2593](https://redirect.github.com/lucide-icons/lucide/pull/2593)
-   feat(lucide-react, lucide-preact, lucide-react-native, lucide-solid, lucide-vue-next): Adjustable icon naming imports by [@&#8203;ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/2328](https://redirect.github.com/lucide-icons/lucide/pull/2328)
-   fix(icons): changed `glass-water` icon by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/2579](https://redirect.github.com/lucide-icons/lucide/pull/2579)

### Adjustable icon naming imports

Customize import name styles for `lucide-react`, `lucide-vue`, `lucide-react-native`, `lucide-preact`, to manage autocompletion in your IDE.

1.  **Turn off autocomplete in your IDE**:
    Add the following to your `settings.json`

```json
{
  "typescript.preferences.autoImportFileExcludePatterns": [
    "lucide-react",
    "lucide-preact",
    "lucide-react-native",
    "lucide-vue-next"
  ]
}
```

2.  **Create a custom module declaration file**:

It allows you to choose the import name style.

For React:

```ts
declare module "lucide-react" {
  // Prefixed import names
  export * from "lucide-react/dist/lucide-react.prefixed";
  // or
  // Suffixed import names
  export * from "lucide-react/dist/lucide-react.suffixed";
}
```

For Vue:

```ts
declare module "lucide-vue-next" {
  // Prefixed import names
  export * from "lucide-vue-next/dist/lucide-vue-next.prefixed";
  // or
  // Suffixed import names
  export * from "lucide-vue-next/dist/lucide-vue-next.suffixed";
}
```

### [`v0.455.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.455.0): New icons 0.455.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.454.0...0.455.0)

#### New icons 🎨

-   `wind-arrow-down` ([#&#8203;2554](https://redirect.github.com/lucide-icons/lucide/issues/2554)) by [@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw)

#### Modified Icons 🔨

-   `file-music` ([#&#8203;2536](https://redirect.github.com/lucide-icons/lucide/issues/2536)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)
-   `slice` ([#&#8203;2500](https://redirect.github.com/lucide-icons/lucide/issues/2500)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)
-   `undo-dot` ([#&#8203;2557](https://redirect.github.com/lucide-icons/lucide/issues/2557)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)
-   `wind` ([#&#8203;2554](https://redirect.github.com/lucide-icons/lucide/issues/2554)) by [@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw)

</details>

<details>
<summary>mixpanel/mixpanel-js (mixpanel-browser)</summary>

### [`v2.56.0`](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.55.1...v2.56.0)

[Compare Source](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.55.1...v2.56.0)

</details>

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

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

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

#### v2.6.4 (2024-11-10)

##### Bug Fixes

-   prevent infinite loop when bypassing `sendBeacon()` requests ([#&#8203;2353](https://redirect.github.com/mswjs/msw/issues/2353)) ([`2fa98c3`](2fa98c327a)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)
-   remove the internal bypass request header before performing the request as-is in Node.js ([#&#8203;2353](https://redirect.github.com/mswjs/msw/issues/2353)) ([`2fa98c3`](2fa98c327a)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

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

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

#### v2.6.3 (2024-11-10)

##### Bug Fixes

-   **handleRequest:** remove `transformResponse` option ([#&#8203;2351](https://redirect.github.com/mswjs/msw/issues/2351)) ([`74c4a3a`](74c4a3a899)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

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

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

##### v2.6.2 (2024-11-07)

##### Bug Fixes

-   update `@bundled-es-modules/cookie` to 2.0.1 ([#&#8203;2312](https://redirect.github.com/mswjs/msw/issues/2312)) ([`c134352`](c134352e82)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</details>

<details>
<summary>napi-rs/napi-rs (napi-derive)</summary>

### [`v3.0.0-alpha.18`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi-derive%403.0.0-alpha.18)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi-derive@3.0.0-alpha.17...napi-derive@3.0.0-alpha.18)

#### What's Changed

-   chore(napi-derive): remove unused dependency `regex` from `napi-derive-backend` by [@&#8203;Adjective-Object](https://redirect.github.com/Adjective-Object) in [https://github.com/napi-rs/napi-rs/pull/2344](https://redirect.github.com/napi-rs/napi-rs/pull/2344)

#### New Contributors

-   [@&#8203;Adjective-Object](https://redirect.github.com/Adjective-Object) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/2344](https://redirect.github.com/napi-rs/napi-rs/pull/2344)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@3.0.0-alpha.17...napi-derive@3.0.0-alpha.18

</details>

<details>
<summary>nrwl/nx (nx)</summary>

### [`v20.0.12`](https://redirect.github.com/nrwl/nx/releases/tag/20.0.12)

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

##### 20.0.12 (2024-11-08)

##### 🩹 Fixes

-   **core:** create different dummy tasks for different targets ([#&#8203;28837](https://redirect.github.com/nrwl/nx/pull/28837))
-   **core:** do not depend on ci info crate ([#&#8203;28850](https://redirect.github.com/nrwl/nx/pull/28850))

##### ❤️  Thank You

-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)

### [`v20.0.11`](https://redirect.github.com/nrwl/nx/releases/tag/20.0.11)

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

##### 20.0.11 (2024-11-07)

##### 🚀 Features

-   **nx-cloud:** configure import paths for light client when running … ([#&#8203;28735](https://redirect.github.com/nrwl/nx/pull/28735))
-   **nx-dev:** add video course page ([#&#8203;28736](https://redirect.github.com/nrwl/nx/pull/28736))

##### 🩹 Fixes

-   **core:** fix cannot read properties of undefined (reading 'split') ([#&#8203;28761](https://redirect.github.com/nrwl/nx/pull/28761))
-   **core:** task graph needs to handle multiple cycles ([#&#8203;28793](https://redirect.github.com/nrwl/nx/pull/28793))
-   **core:** empty external deps should work properly ([#&#8203;28727](https://redirect.github.com/nrwl/nx/pull/28727))
-   **core:** ensure that the database connection is closed when nx exits ([#&#8203;28821](https://redirect.github.com/nrwl/nx/pull/28821))
-   **graph:** add better pdv empty states when no targets exist ([#&#8203;28797](https://redirect.github.com/nrwl/nx/pull/28797))
-   **nx-dev:** SEO tags ([#&#8203;28823](https://redirect.github.com/nrwl/nx/pull/28823))
-   **repo:** update version of actions/github-script in nightly script ([#&#8203;28784](https://redirect.github.com/nrwl/nx/pull/28784))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://redirect.github.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Jonathan Cammisuli
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)
-   Louie Weng [@&#8203;lourw](https://redirect.github.com/lourw)
-   MaxKless [@&#8203;MaxKless](https://redirect.github.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://redirect.github.com/meeroslav)

</details>

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

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

[Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.47...8.4.48)

-   Fixed position calculation in error/warnings methods (by [@&#8203;romainmenke](https://redirect.github.com/romainmenke)).

</details>

<details>
<summary>react-hook-form/react-hook-form (react-hook-form)</summary>

### [`v7.53.2`](https://redirect.github.com/react-hook-form/react-hook-form/releases/tag/v7.53.2): Version 7.53.2

[Compare Source](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.53.1...v7.53.2)

🐞 fix [#&#8203;12398](https://redirect.github.com/react-hook-form/react-hook-form/issues/12398) staled disabled issue with resubmit form ([#&#8203;12403](https://redirect.github.com/react-hook-form/react-hook-form/issues/12403))
🐞 fix: add type guard to fieldRef.select ([#&#8203;12390](https://redirect.github.com/react-hook-form/react-hook-form/issues/12390))
Revert "🏺 watch reference update on formState update ([#&#8203;12326](https://redirect.github.com/react-hook-form/react-hook-form/issues/12326))" ([#&#8203;12391](https://redirect.github.com/react-hook-form/react-hook-form/issues/12391))

thanks to [@&#8203;developer-bandi](https://redirect.github.com/developer-bandi)

</details>

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

### [`v15.1.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1511)

[Compare Source](https://redirect.github.com/i18next/react-i18next/compare/v15.1.0...v15.1.1)

-   fix: Not all namespaces are loaded when passing the lng option to useTranslate [1809](https://redirect.github.com/i18next/next-i18next/issues/1809)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

### [`v1.41.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.41.1): Tokio v1.41.1

[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1)

### 1.41.1 (Nov 7th, 2024)

##### Fixed

-   metrics: fix bug with wrong number of buckets for the histogram ([#&#8203;6957])
-   net: display `net` requirement for `net::UdpSocket` in docs ([#&#8203;6938])
-   net: fix typo in `TcpStream` internal comment ([#&#8203;6944])

[#&#8203;6957]: https://redirect.github.com/tokio-rs/tokio/pull/6957

[#&#8203;6938]: https://redirect.github.com/tokio-rs/tokio/pull/6938

[#&#8203;6944]: https://redirect.github.com/tokio-rs/tokio/pull/6944

</details>

<details>
<summary>uuidjs/uuid (uuid)</summary>

### [`v11.0.3`](https://redirect.github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#1103-2024-11-04)

[Compare Source](https://redirect.github.com/uuidjs/uuid/compare/v11.0.2...v11.0.3)

##### Bug Fixes

-   apply stricter typing to the v\* signatures ([#&#8203;831](https://redirect.github.com/uuidjs/uuid/issues/831)) ([c2d3fed](c2d3fed22c))
-   export internal uuid types ([#&#8203;833](https://redirect.github.com/uuidjs/uuid/issues/833)) ([341edf4](341edf444c))
-   remove sourcemaps ([#&#8203;827](https://redirect.github.com/uuidjs/uuid/issues/827)) ([b93ea10](b93ea101af))
-   revert "simplify type for v3 and v5" ([#&#8203;835](https://redirect.github.com/uuidjs/uuid/issues/835)) ([e2dee69](e2dee691e9))

</details>

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

### [`v5.4.11`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.11)

Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.11/packages/vite/CHANGELOG.md) for details.

</details>

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

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

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

##### Minor Changes

-   [#&#8203;7154](https://redirect.github.com/cloudflare/workers-sdk/pull/7154) [`ef7c0b3`](ef7c0b3641) Thanks [@&#8203;jonesphillip](https://redirect.github.com/jonesphillip)! - Added the ability to enable, disable, and get r2.dev public access URLs for R2 buckets.

##### Patch Changes

-   [#&#8203;7169](https://redirect.github.com/cloudflare/workers-sdk/pull/7169) [`9098a3b`](9098a3b03f) Thanks [@&#8203;penalosa](https://redirect.github.com/penalosa)! - Ensure `workerd` processes are cleaned up after address-in-use errors

-   [#&#8203;7172](https://redirect.github.com/cloudflare/workers-sdk/pull/7172) [`3dce388`](3dce3881bd) Thanks [@&#8203;penalosa](https://redirect.github.com/penalosa)! - Clarify dev registry messaging around locally connected services. The connection status of local service bindings & durable object bindings is now indicated by `connected` or `not connected` next to their entry in the bindings summary. For more details, refer to https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/#local-development

-   [#&#8203;7193](https://redirect.github.com/cloudflare/workers-sdk/pull/7193) [`ad51d1d`](ad51d1d774) Thanks [@&#8203;sdnts](https://redirect.github.com/sdnts)! - Output suggested wrangler.toml changes after creating an R2 bucket

-   [#&#8203;7191](https://redirect.github.com/cloudflare/workers-sdk/pull/7191) [`1d5bc6d`](1d5bc6d353) Thanks [@&#8203;sdnts](https://redirect.github.com/sdnts)! - Output suggested wrangler.toml changes after creating a Queue

-   Updated dependencies \[[`1db7846`](1db7846ec5), [`08c6580`](08c6580494)]:
    -   miniflare@3.20241106.0
    -   [@&#8203;cloudflare/workers-shared](https://redirect.github.com/cloudflare/workers-shared)[@&#8203;0](https://redirect.github.com/0).7.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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM5LjcuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-11-11 10:23:26 +00:00
CatsJuice
c4e65c754e feat(mobile): jouranl daily activity and conflict operations (#8779)
close AF-1662
2024-11-11 09:31:31 +00:00
CatsJuice
50a04f6443 feat(mobile): new journal date-picker (#8757)
close AF-1649

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/a83ca41a-75ac-4d12-959a-23f06740a76d.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/a83ca41a-75ac-4d12-959a-23f06740a76d.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/a83ca41a-75ac-4d12-959a-23f06740a76d.mp4">CleanShot 2024-11-09 at 12.54.41.mp4</video>
2024-11-11 09:31:30 +00:00
EYHN
9239eed6a7 fix(core): fix delete doc property description (#8772) 2024-11-11 06:48:04 +00:00
CatsJuice
7bdad2dc4b feat(mobile): new journal tab, show App tab for journal page (#8738)
close AF-1648
2024-11-11 04:26:02 +00:00
L-Sun
1284f33a4b chore(mobile): disable some toolbar widgets for mobile (#8742)
This PR disable some toolbar widgets on mobile. Close [BS-1730](https://linear.app/affine-design/issue/BS-1730/%E7%A6%81%E7%94%A8-block-yuan%E7%B4%A0%E7%9A%84-toolbar)
2024-11-11 03:55:28 +00:00
forehalo
39c65051ac fix(infra): export op module (#8769) 2024-11-11 03:24:28 +00:00
pengx17
e6ef1dea51 fix(core): deleted tags property cannot be added back (#8761)
fix AF-1661
2024-11-11 02:48:04 +00:00
EYHN
2aceed8824 fix(infra): retry search and aggregate on indexeddb (#8767) 2024-11-11 02:32:29 +00:00
js os
e2f281ac18 fix(server): make scope field optional in access token response (#8753)
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2024-11-09 20:01:33 +08:00
liuyi
d6618b6891 feat(infra): introduce op pattern (#8734) 2024-11-09 15:23:38 +08:00
renovate
571e25a7a1 chore: bump up marked version to v15 (#8756)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`^14.0.0` -> `^15.0.0`](https://renovatebot.com/diffs/npm/marked/14.1.3/15.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/marked/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/marked/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/marked/14.1.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked/14.1.3/15.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v15.0.0`](https://redirect.github.com/markedjs/marked/releases/tag/v15.0.0)

[Compare Source](https://redirect.github.com/markedjs/marked/compare/v14.1.4...v15.0.0)

##### Bug Fixes

-   escape html in renderer ([#&#8203;3495](https://redirect.github.com/markedjs/marked/issues/3495)) ([58d66e5](58d66e59d1))
-   Move all regexps to rules ([#&#8203;3519](https://redirect.github.com/markedjs/marked/issues/3519)) ([1f88deb](1f88deb58a))

##### BREAKING CHANGES

-   escape html in renderers instead of tokenizers for all tokens.

### [`v14.1.4`](https://redirect.github.com/markedjs/marked/releases/tag/v14.1.4)

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

##### Bug Fixes

-   fix del with escaped tilde ([#&#8203;3517](https://redirect.github.com/markedjs/marked/issues/3517)) ([0afe87d](0afe87d7fb))
-   fix html comment after list ([#&#8203;3518](https://redirect.github.com/markedjs/marked/issues/3518)) ([a612576](a612576ff6))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS43LjEiLCJ1cGRhdGVkSW5WZXIiOiIzOS43LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-11-09 03:56:11 +00:00
renovate
1cdc7d5592 chore: Lock file maintenance (#8488)
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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMTUuMSIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-11-09 03:39:12 +00:00
L-Sun
5f40fbc69c feat(mobile): mobile at menu (#8727)
Close [BS-1608](https://linear.app/affine-design/issue/BS-1608/mobile-menu), related PR: https://github.com/toeverything/blocksuite/pull/8681
2024-11-08 11:06:12 +00:00
pengx17
c1ece15560 fix(core): close setting when workspace is deleted (#8747)
fix AF-1618
2024-11-08 10:50:13 +00:00
forehalo
1a1041712f feat(core): track signin failed reason (#8746)
fix AF-1568
2024-11-08 10:34:15 +00:00
forehalo
02dbe135d4 chore(infra): remove useless flags (#8748)
fix AF-1611
2024-11-08 10:17:45 +00:00
EYHN
73d0e64c20 fix(core): fix infinite retry when workspace not found (#8679) 2024-11-08 09:34:15 +00:00
EYHN
14d2214248 chore(infra): remove unused code (#8736) 2024-11-08 09:17:48 +00:00
renovate
099b5d5aa0 chore: bump up @blocksuite/affine version to v0.17.28 (#8647)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/affine](https://redirect.github.com/toeverything/blocksuite) ([source](https://redirect.github.com/toeverything/blocksuite/tree/HEAD/packages/affine/all), [changelog](https://redirect.github.com/toeverything/blocksuite/blob/master/packages/blocks/CHANGELOG.md)) | [`0.17.26` -> `0.17.28`](https://renovatebot.com/diffs/npm/@blocksuite%2faffine/0.17.26/0.17.28) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2faffine/0.17.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2faffine/0.17.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2faffine/0.17.26/0.17.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2faffine/0.17.26/0.17.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v0.17.28`](https://redirect.github.com/toeverything/blocksuite/blob/HEAD/packages/affine/all/CHANGELOG.md#01728)

[Compare Source](https://redirect.github.com/toeverything/blocksuite/compare/v0.17.27...v0.17.28)

##### Patch Changes

-   [`5ef420d`](https://redirect.github.com/toeverything/blocksuite/commit/5ef420d): ## Feat

    -   feat(blocks): mobile at menu ([#&#8203;8681](https://redirect.github.com/toeverything/blocksuite/issues/8681))
    -   feat: unify the reference data structure of inline, card and embed ([#&#8203;8689](https://redirect.github.com/toeverything/blocksuite/issues/8689))
    -   feat(database): add placeholder for filter ([#&#8203;8701](https://redirect.github.com/toeverything/blocksuite/issues/8701))
    -   feat(database): support for sorting event tracking ([#&#8203;8691](https://redirect.github.com/toeverything/blocksuite/issues/8691))

### [`v0.17.27`](https://redirect.github.com/toeverything/blocksuite/blob/HEAD/packages/affine/all/CHANGELOG.md#01727)

[Compare Source](https://redirect.github.com/toeverything/blocksuite/compare/v0.17.26...v0.17.27)

##### Patch Changes

-   [`f70b950`](https://redirect.github.com/toeverything/blocksuite/commit/f70b950): fix: color of canvas element under embed dark theme whiteboard is wrong ([#&#8203;8677](https://redirect.github.com/toeverything/blocksuite/issues/8677))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMzUuMiIsInVwZGF0ZWRJblZlciI6IjM5LjcuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-11-08 08:55:15 +00:00
akumatus
5823353733 fix: edgeless note preview on the editor settings is editable (#8735)
Fix issue [BS-1779](https://linear.app/affine-design/issue/BS-1779).

The attribute `contenteditable` will be `true` if the document is not read-only. In this case, the note preview can be focused on and users can edit the note content.

But we can not simply make the document read-only. If the user changes the editor settings, we also need to update the document model, which requires that the document is not read-only.

Thus following code sets the document editable before the model updates and resets the document to read-only after the model is updated.
2024-11-08 08:39:09 +00:00
donteatfriedrice
e988be2f86 fix: reduce min height of chat peek view new message container (#8739) 2024-11-08 08:23:38 +00:00
darkskygit
2a3e81de3e fix: also check online model list if model not defined (#8726) 2024-11-08 05:07:45 +00:00
donteatfriedrice
c323e5ae93 feat: use custom @ import dialog (#8723)
[BS-1747](https://linear.app/affine-design/issue/BS-1747/[ui]-通过导入的ui还是旧的,需要更新)
2024-11-08 01:53:29 +00:00
CatsJuice
d8eda5e42d refactor(mobile): impl all-docs masonry with css grid, close AF-1598 (#8731)
- responsive layout support
   ![CleanShot 2024-11-07 at 11.51.21.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/38b3f11f-59a6-42cc-9a41-8b72ce0998ea.gif)
2024-11-08 00:48:33 +00:00
CatsJuice
06591db8d9 fix(mobile): adjust mobile UI (#8719)
- fix(mobile): add close button for login, close AF-1581
- fix(mobile): adjust explorer title font, close AF-1575
- fix(mobile): disable user-select globally, close AF-1626
- fix(mobile): usage loading ui in setting, close AF-1422
- fix(mobile): adjust header height, close AF-1574
2024-11-08 00:48:31 +00:00
CatsJuice
add8c56c69 chore(core): adjust billing payment methods copywriting, close AF-1638 (#8733) 2024-11-07 07:37:05 +00:00
renovate
483a6d8034 chore: bump up nestjs to v10.4.7 (#8709)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.4.6` -> `10.4.7`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.4.6/10.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.4.6` -> `10.4.7`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.4.6/10.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.4.6` -> `10.4.7`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.4.6/10.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.4.6/10.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v10.4.7`](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-socket.io)</summary>

### [`v10.4.7`](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/websockets)</summary>

### [`v10.4.7`](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.6...v10.4.7)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-11-07 05:34:07 +00:00
pengx17
727130ec97 fix(core): add open in app hint text (#8728)
fix AF-1625
2024-11-07 04:10:34 +00:00
renovate
c79b93bc01 chore: bump up happy-dom version to v15.10.2 [SECURITY] (#8724)
This PR contains the following updates:

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

### GitHub Vulnerability Alerts

#### [CVE-2024-51757](https://redirect.github.com/capricorn86/happy-dom/security/advisories/GHSA-96g7-g7g9-jxw8)

### Impact
Consumers of the NPM package `happy-dom`

### Patches
The security vulnerability has been patched in v15.10.2

### Workarounds
No easy workarounds to my knowledge

### References
[#&#8203;1585](https://redirect.github.com/capricorn86/happy-dom/issues/1585)

---

### Release Notes

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

### [`v15.10.2`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.1...d23834c232f1cf5519c9418b073f1dcec6b2f0fd)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.1...v15.10.2)

</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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-11-07 01:59:58 +00:00
renovate
50891ad9eb chore: bump up all non-major dependencies (#8714)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@apollo/server](https://redirect.github.com/apollographql/apollo-server) ([source](https://redirect.github.com/apollographql/apollo-server/tree/HEAD/packages/server)) | [`4.11.0` -> `4.11.2`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.11.0/4.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fserver/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fserver/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fserver/4.11.0/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fserver/4.11.0/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@atlaskit/pragmatic-drag-and-drop](https://atlassian.design/components/pragmatic-drag-and-drop/) ([source](https://redirect.github.com/atlassian/pragmatic-drag-and-drop)) | [`1.3.1` -> `1.4.0`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.1/1.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop/1.4.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.4.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.3.1/1.4.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.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.658.1` -> `3.685.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`3.0.0` -> `3.2.2`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.0.3` -> `9.2.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.0.3/9.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.0.3/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.0.3/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.11` -> `1.6.12`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.11/1.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.11/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.11/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@node-rs/crc32](https://redirect.github.com/napi-rs/node-rs) | [`1.10.3` -> `1.10.4`](https://renovatebot.com/diffs/npm/@node-rs%2fcrc32/1.10.3/1.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fcrc32/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fcrc32/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fcrc32/1.10.3/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fcrc32/1.10.3/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.54.0` -> `0.54.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.54.0/0.54.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/host-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.35.3` -> `0.35.4`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fhost-metrics/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fhost-metrics/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.54.0` -> `0.54.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.54.0/0.54.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.54.0` -> `0.54.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.54.0/0.54.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.54.0` -> `0.54.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.54.0/0.54.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.54.0/0.54.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.20.0` -> `5.22.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.20.0/5.22.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.20.0/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.20.0/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.20.0` -> `5.22.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.20.0/5.22.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.20.0/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.20.0/5.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-accordion](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-accordion/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-accordion/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-alert-dialog](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-alert-dialog/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-alert-dialog/1.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-alert-dialog/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-alert-dialog/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-avatar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-avatar/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-avatar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-avatar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-avatar/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-avatar/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-checkbox](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-checkbox/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-checkbox/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-checkbox/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-checkbox/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-checkbox/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-context-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.2.1` -> `2.2.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-context-menu/2.2.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-dropdown-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dropdown-menu/2.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-hover-card](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-hover-card/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-hover-card/1.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-hover-card/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-hover-card/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-menubar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-menubar/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-menubar/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-menubar/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-menubar/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-menubar/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-navigation-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-navigation-menu/1.2.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-popover](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-popover/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-popover/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-popover/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-popover/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-popover/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-radio-group](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-radio-group/1.2.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-scroll-area](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-scroll-area/1.1.0/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-scroll-area/1.2.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.2.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.1.0/1.2.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.1.0/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-select](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-select/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-select/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-select/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-select/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-select/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-slider](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slider/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slider/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slider/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slider/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slider/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-switch](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-switch/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-switch/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-switch/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-switch/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-switch/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-tabs](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tabs/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tabs/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tabs/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tabs/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-tabs/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-toast](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.1` -> `1.2.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toast/1.2.1/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toast/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toast/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toast/1.2.1/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toast/1.2.1/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`5.4.0` -> `5.7.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/5.4.0/5.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/5.4.0/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/5.4.0/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.4` -> `2.22.6`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.32.0` -> `8.37.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.32.0/8.37.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.32.0/8.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.32.0/8.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.4` -> `2.22.6`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@slack/web-api](https://slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.5.0` -> `7.7.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.5.0/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.5.0/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.5.0/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.50.0` -> `2.50.2`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.50.0/2.50.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.50.0/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-browser/2.50.0/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.9` -> `20.17.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.9/20.17.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.9/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.9/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react-dom](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`18.3.0` -> `18.3.1`](https://renovatebot.com/diffs/npm/@types%2freact-dom/18.3.0/18.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/18.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/18.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/18.3.0/18.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/18.3.0/18.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/vite-plugin](https://redirect.github.com/vanilla-extract-css/vanilla-extract) ([source](https://redirect.github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`4.0.15` -> `4.0.17`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/4.0.15/4.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/4.0.15/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/4.0.15/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vanilla-extract/webpack-plugin](https://redirect.github.com/vanilla-extract-css/vanilla-extract) ([source](https://redirect.github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/webpack-plugin)) | [`2.3.13` -> `2.3.14`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fwebpack-plugin/2.3.13/2.3.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fwebpack-plugin/2.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fwebpack-plugin/2.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fwebpack-plugin/2.3.13/2.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fwebpack-plugin/2.3.13/2.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitejs/plugin-react-swc](https://redirect.github.com/vitejs/vite-plugin-react-swc) | [`3.7.0` -> `3.7.1`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react-swc/3.7.0/3.7.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-react-swc/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-react-swc/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-react-swc/3.7.0/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-react-swc/3.7.0/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [ava](https://avajs.dev) ([source](https://redirect.github.com/avajs/ava)) | [`6.1.3` -> `6.2.0`](https://renovatebot.com/diffs/npm/ava/6.1.3/6.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ava/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ava/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ava/6.1.3/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ava/6.1.3/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [builder-util-runtime](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/builder-util-runtime)) | [`9.2.9` -> `9.2.10`](https://renovatebot.com/diffs/npm/builder-util-runtime/9.2.9/9.2.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/builder-util-runtime/9.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/builder-util-runtime/9.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/builder-util-runtime/9.2.9/9.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/builder-util-runtime/9.2.9/9.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [changelogithub](https://redirect.github.com/antfu/changelogithub) | [`0.13.10` -> `0.13.11`](https://renovatebot.com/diffs/npm/changelogithub/0.13.10/0.13.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/changelogithub/0.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/changelogithub/0.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/changelogithub/0.13.10/0.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/changelogithub/0.13.10/0.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [cmdk](https://redirect.github.com/pacocoursey/cmdk) ([source](https://redirect.github.com/pacocoursey/cmdk/tree/HEAD/cmdk)) | [`1.0.0` -> `1.0.4`](https://renovatebot.com/diffs/npm/cmdk/1.0.0/1.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cmdk/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cmdk/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cmdk/1.0.0/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cmdk/1.0.0/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [cookie-parser](https://redirect.github.com/expressjs/cookie-parser) | [`1.4.6` -> `1.4.7`](https://renovatebot.com/diffs/npm/cookie-parser/1.4.6/1.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cookie-parser/1.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cookie-parser/1.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cookie-parser/1.4.6/1.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cookie-parser/1.4.6/1.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.38.1` -> `3.39.0`](https://renovatebot.com/diffs/npm/core-js/3.38.1/3.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.38.1/3.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.38.1/3.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://redirect.github.com/electron/electron) | [`33.0.0` -> `33.1.0`](https://renovatebot.com/diffs/npm/electron/33.0.0/33.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/33.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/33.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/33.0.0/33.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/33.0.0/33.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.3.8` -> `6.3.9`](https://renovatebot.com/diffs/npm/electron-updater/6.3.8/6.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.3.8/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.3.8/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://redirect.github.com/davidjerleke/embla-carousel)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [file-type](https://redirect.github.com/sindresorhus/file-type) | [`19.5.0` -> `19.6.0`](https://renovatebot.com/diffs/npm/file-type/19.5.0/19.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/19.5.0/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/19.5.0/19.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [foxact](https://foxact.skk.moe) ([source](https://redirect.github.com/SukkaW/foxact)) | [`0.2.38` -> `0.2.41`](https://renovatebot.com/diffs/npm/foxact/0.2.38/0.2.41) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.38/0.2.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.38/0.2.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`15.7.4` -> `15.10.1`](https://renovatebot.com/diffs/npm/happy-dom/15.7.4/15.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/15.7.4/15.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/15.7.4/15.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.24.0` -> `8.24.2`](https://renovatebot.com/diffs/npm/html-validate/8.24.0/8.24.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.24.0/8.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.24.0/8.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [html-webpack-plugin](https://redirect.github.com/jantimon/html-webpack-plugin) | [`5.6.0` -> `5.6.3`](https://renovatebot.com/diffs/npm/html-webpack-plugin/5.6.0/5.6.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-webpack-plugin/5.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-webpack-plugin/5.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-webpack-plugin/5.6.0/5.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-webpack-plugin/5.6.0/5.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`23.15.1` -> `23.16.4`](https://renovatebot.com/diffs/npm/i18next/23.15.1/23.16.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.16.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.16.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.15.1/23.16.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.15.1/23.16.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [input-otp](https://input-otp.rodz.dev/) ([source](https://redirect.github.com/guilhermerodz/input-otp/tree/HEAD/packages/input-otp)) | [`1.2.4` -> `1.4.1`](https://renovatebot.com/diffs/npm/input-otp/1.2.4/1.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/input-otp/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/input-otp/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/input-otp/1.2.4/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/input-otp/1.2.4/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.10.0` -> `2.10.1`](https://renovatebot.com/diffs/npm/jotai/2.10.0/2.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.10.0/2.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.10.0/2.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jsx-slack](https://redirect.github.com/yhatt/jsx-slack) | [`6.1.1` -> `6.1.2`](https://renovatebot.com/diffs/npm/jsx-slack/6.1.1/6.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jsx-slack/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsx-slack/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsx-slack/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsx-slack/6.1.1/6.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [keyv](https://redirect.github.com/jaredwray/keyv) | [`5.0.3` -> `5.1.3`](https://renovatebot.com/diffs/npm/keyv/5.0.3/5.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/5.0.3/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/5.0.3/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.97` -> `0.2.98`](https://renovatebot.com/diffs/npm/lib0/0.2.97/0.2.98) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.97/0.2.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.97/0.2.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [link-preview-js](https://redirect.github.com/ospfranco/link-preview-js) | [`3.0.5` -> `3.0.12`](https://renovatebot.com/diffs/npm/link-preview-js/3.0.5/3.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/link-preview-js/3.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/link-preview-js/3.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/link-preview-js/3.0.5/3.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/link-preview-js/3.0.5/3.0.12?slim=true)](https:/
2024-11-06 16:07:39 +00:00
JimmFly
59264b9996 feat(core): add tooltips to sidebar resize handle (#8717)
close PD-1865
![CleanShot 2024-11-06 at 12 52 35@2x](https://github.com/user-attachments/assets/b7353448-f8c5-4cfb-bfed-d1acff2923c4)
2024-11-06 06:19:38 +00:00
pengx17
584d095895 fix(core): modal height issue (#8710)
fix AF-1616
2024-11-06 02:59:12 +00:00
pengx17
fcd4f8c4ff fix(electron): deep link handling in macos (#8713)
fix AF-1617
The issue is that handling deep link on opening new instance will access the screen module from electron too soon. Move the open call behind whenReady to mitigate the issue.
2024-11-06 02:02:56 +00:00
renovate
ed06e6b72c chore: bump up all non-major dependencies (#8410)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@apollo/server](https://redirect.github.com/apollographql/apollo-server) ([source](https://redirect.github.com/apollographql/apollo-server/tree/HEAD/packages/server)) | [`4.11.0` -> `4.11.2`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.11.0/4.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fserver/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fserver/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fserver/4.11.0/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fserver/4.11.0/4.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@atlaskit/pragmatic-drag-and-drop](https://atlassian.design/components/pragmatic-drag-and-drop/) ([source](https://redirect.github.com/atlassian/pragmatic-drag-and-drop)) | [`1.3.1` -> `1.4.0`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.1/1.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop/1.4.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.4.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.3.1/1.4.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.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | 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.658.1` -> `3.685.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.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.658.1` -> `3.685.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.658.1/3.685.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`3.0.0` -> `3.2.2`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/3.0.0/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.0.3` -> `9.2.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.0.3/9.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.0.3/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.0.3/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://redirect.github.com/fal-ai/fal-js) ([source](https://redirect.github.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`^0.14.0` -> `^0.15.0`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.14.3/0.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.14.3/0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.14.3/0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.11` -> `1.6.12`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.11/1.6.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.11/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.11/1.6.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`^0.19.0` -> `^0.20.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0/0.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.20.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.20.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.19.0/0.20.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.19.0/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.2` -> `5.0.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.2/5.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fcli/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2fcli/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2fcli/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%2fcli/5.0.2/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@graphql-codegen/typescript](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`4.0.9` -> `4.1.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/4.0.9/4.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript/4.0.9/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript/4.0.9/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.2.3` -> `4.3.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.2.3/4.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript-operations/4.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript-operations/4.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript-operations/4.2.3/4.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript-operations/4.2.3/4.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | [`3.0.0-alpha.62` -> `3.0.0-alpha.64`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.62/3.0.0-alpha.64) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.64?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.64?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.62/3.0.0-alpha.64?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.62/3.0.0-alpha.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@node-rs/crc32](https://redirect.github.com/napi-rs/node-rs) | [`1.10.3` -> `1.10.4`](https://renovatebot.com/diffs/npm/@node-rs%2fcrc32/1.10.3/1.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fcrc32/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fcrc32/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fcrc32/1.10.3/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fcrc32/1.10.3/1.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | 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.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fcore/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fcore/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fcore/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%2fcore/1.26.0/1.27.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.53.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.53.0/0.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.53.0/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.53.0/0.54.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.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-zipkin/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-zipkin/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-zipkin/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%2fexporter-zipkin/1.26.0/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/host-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.35.3` -> `0.35.4`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fhost-metrics/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fhost-metrics/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fhost-metrics/0.35.3/0.35.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@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.53.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.53.0/0.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.53.0/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.53.0/0.54.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.43.0` -> `^0.44.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.43.0/0.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.43.0/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.43.0/0.44.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.53.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.53.0/0.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.53.0/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.53.0/0.54.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.43.0` -> `^0.44.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.43.0/0.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.43.0/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.43.0/0.44.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.40.0` -> `^0.41.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.40.0/0.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/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-nestjs-core/0.40.0/0.41.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.42.0` -> `^0.43.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.42.0/0.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/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-socket.io/0.42.0/0.43.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.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fresources/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fresources/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fresources/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%2fresources/1.26.0/1.27.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.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-metrics/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-metrics/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-metrics/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%2fsdk-metrics/1.26.0/1.27.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.53.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.53.0/0.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.53.0/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.53.0/0.54.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.26.0` -> `1.27.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/1.26.0/1.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-trace-node/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-trace-node/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-trace-node/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%2fsdk-trace-node/1.26.0/1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.47.2` -> `=1.48.2`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.47.2/1.48.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.48.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.48.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.47.2/1.48.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.47.2/1.48.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.20.0` -> `5.21.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.20.0/5.21.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.20.0/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.20.0/5.21.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.20.0` -> `5.21.1`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.20.0/5.21.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.20.0/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.20.0/5.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-accordion](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-accordion/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-accordion/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-accordion/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-alert-dialog](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-alert-dialog/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-alert-dialog/1.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-alert-dialog/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-alert-dialog/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-avatar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-avatar/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-avatar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-avatar/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-avatar/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-avatar/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-checkbox](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-checkbox/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-checkbox/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-checkbox/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-checkbox/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-checkbox/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-context-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.2.1` -> `2.2.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-context-menu/2.2.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-context-menu/2.2.1/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-dialog](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dialog/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dialog/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-dialog/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dialog/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-dialog/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-dropdown-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dropdown-menu/2.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dropdown-menu/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-hover-card](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-hover-card/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-hover-card/1.1.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-hover-card/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-hover-card/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-menubar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-menubar/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-menubar/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-menubar/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-menubar/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-menubar/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-navigation-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-navigation-menu/1.2.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-navigation-menu/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-popover](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-popover/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-popover/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-popover/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-popover/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-popover/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-radio-group](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-radio-group/1.2.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-radio-group/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-scroll-area](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-scroll-area/1.1.0/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-scroll-area/1.2.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.2.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.1.0/1.2.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.1.0/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-select](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.1` -> `2.1.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-select/2.1.1/2.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-select/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-select/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-select/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-select/2.1.1/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-slider](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.0` -> `1.2.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slider/1.2.0/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slider/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slider/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slider/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slider/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-switch](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-switch/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-switch/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-switch/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-switch/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-switch/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-tabs](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tabs/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tabs/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tabs/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tabs/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-tabs/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-toast](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.1` -> `1.2.2`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toast/1.2.1/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toast/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toast/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toast/1.2.1/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toast/1.2.1/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`5.4.0` -> `5.7.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/5.4.0/5.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/5.4.0/5.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/5.4.0/5.7.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.4` -> `2.22.6`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/2.22.4/2.22.6?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.32.0` -> `8.36.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.32.0/8.36.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.32.0/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.32.0/8.36.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.32.0` -> `8.36.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.32.0/8.36.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.32.0/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.32.0/8.36.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.4` -> `2.22.6`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/2.22.4/2.22.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@slack/web-api](https://slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.5.0` -> `7.7.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.5.0/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.5.0/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.5.0/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.3.3` -> `8.4.2`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.3.3/8.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.3.3/8.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@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.50.0` -> `2.50.2`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.50.0/2.50.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.50.0/2.50.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-brows
2024-11-05 15:20:21 +00:00
pengx17
029654f45e fix(electron): share page in electron issues (#8703)
fix AF-1592
fix AF-1612
2024-11-05 11:46:03 +00:00
pengx17
ef82b9d3e7 chore(core): tracking events for doc properties (#8651)
fix AF-1565
2024-11-05 11:30:57 +00:00
EYHN
4977055a2e fix(ios): fix mobile blob storage (#8702) 2024-11-05 11:16:00 +00:00
donteatfriedrice
c0d802a169 fix: bump blocksuite script changelog generate failed (#8708) 2024-11-05 10:44:27 +00:00
forehalo
01228117e3 feat(core): update connector shortcut (#8690)
fix AF-1580
2024-11-05 10:29:36 +00:00
renovate[bot]
c70318735c chore: bump up nestjs to v10.4.7 (#8706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 18:28:53 +08:00
donteatfriedrice
ca6e8c380b feat: bump blocksuite (#8705)
## Feat

- feat: add pdf viewer to playground (#8650)
- feat: add view toggle menu to toolbar of attachment block (#8660)
- feat: attachment embedded view supports configurable (#8658)

## Fix

- fix: tidy up after multiple images uploaded (#8671)
- fix: unable to add caption for linked document of embedded view (#8670)
- fix(blocks): code block should update highlight when theme changed (#8669)
- fix(edgeless): allow right click of tool controller (#8652)
- fix(database): short name of tag type (#8665)
- fix: the content of formula should contain spaces (#8647)
- fix: import notion database with title (#8661)
- fix(page): bookmark block selected style (#8656)
- fix(edgeless): switching shape style and color, the preview does not change in time (#8655)
- fix(blocks): size of icons are not consistent in keyboard toolbar (#8653)
- fix: use host instead of offsetParent (#8651)

## Refactor

- refactor(database): filter ui (#8611)

## Ci

- ci: renovate pr title lint (#8666)
2024-11-05 08:54:00 +00:00
pengx17
684b676028 fix(core): adapt new database chip color scheme (#8697)
fix AF-1609
2024-11-05 08:33:57 +00:00
JimmFly
aae71a23eb fix(core): temporarily make AI functions not follow server configuration (#8698)
Since the switch of the AI ​​function in Blocksuite cannot be hot-updated, the editor will not be able to use the AI ​​function when it is not connected to the server at the beginning, so this code is temporarily removed.
2024-11-05 08:17:58 +00:00
CatsJuice
9e903fe909 fix(component): optimize stack notification with different height (#8700)
![CleanShot 2024-11-05 at 09.10.54.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/ed74d2ad-3044-4df3-9207-69a891435ea3.gif)
2024-11-05 07:47:57 +00:00
pengx17
e7732d0e18 fix(core): update prompt texts for opening new doc (#8696)
fix AF-1590
2024-11-05 07:31:00 +00:00
pengx17
8c650f7b43 test(core): add open in app test case (#8695)
fix AF-1496
2024-11-05 07:30:59 +00:00
CatsJuice
c41646be7f fix(core): bump theme to fix full-width-layout and editor font customization (#8704)
close AF-1610, AF-1601

**Original PR in design: [#138](https://github.com/toeverything/design/pull/138)**
2024-11-05 07:16:28 +00:00
JimmFly
9e41918a1a feat(core): remember the scroll position of doc when routing forward and backward (#8631)
close AF-1011

https://github.com/user-attachments/assets/d2dfeee2-926f-4760-b3fb-8baf5ff90aa9
2024-11-05 06:59:34 +00:00
CatsJuice
15749def2a chore: bump theme version, replace all typography in mobile (#8701) 2024-11-05 03:48:26 +00:00
EYHN
902635e60f refactor(core): desktop project struct (#8334) 2024-11-05 11:00:33 +08:00
darkskygit
89d09fd5e9 fix: copilot ci condition (#8692) 2024-11-05 02:36:52 +00:00
CatsJuice
fe04ab35cc feat(mobile): mobile app fallback skeleton (#8686)
close AF-1533, AF-1532
2024-11-05 00:35:21 +00:00
CatsJuice
5b5dc26abf chore(core): always display annually for cloud toggle (#8693) 2024-11-04 15:05:16 +00:00
pengx17
de7b1ff516 fix(core): do not show open-in-app in mobile web browser (#8694) 2024-11-04 12:33:10 +00:00
liuyi
d35a9cff95 ci: make renderer instances in beta 2 (#8688) 2024-11-04 17:19:26 +08:00
liuyi
7b66e51099 fix(core): clip app element overflow content (#8689) 2024-11-04 09:05:56 +00:00
Peng Xiao
378c9eb73a fix(electron): active view sometimes does not get focused (#8683) 2024-11-04 08:34:11 +00:00
JimmFly
d700f828b7 fix(core): the full width layout feature does not work (#8687) 2024-11-04 08:29:48 +00:00
pengx17
fd7d112235 fix(core): open in app card wording (#8677) 2024-11-04 07:58:07 +00:00
renovate
9cb08373e3 chore: bump up oxlint version to v0.11.0 (#8673)
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.10.3` -> `0.11.0`](https://renovatebot.com/diffs/npm/oxlint/0.10.3/0.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.10.3/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.10.3/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v0.11.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#0110---2024-11-03)

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

##### Documentation

-   [`4551baa`](https://redirect.github.com/oxc-project/oxc/commit/4551baa) linter: Document `rules` ([#&#8203;6983](https://redirect.github.com/oxc-project/oxc/issues/6983)) (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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMzUuMiIsInVwZGF0ZWRJblZlciI6IjM4LjEzNS4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-11-04 07:39:33 +00:00
JimmFly
0469675d88 feat(core): add tooltips to the doc properties in the sidebar (#8684)
close AF-1597
2024-11-04 07:20:33 +00:00
HeJiachen-PM
763537d84c Update README.md (#8680) 2024-11-04 06:50:06 +00:00
darkskygit
2e7a7d5909 fix(core): copilot test condition & retry (#8665) 2024-11-04 06:17:06 +00:00
forehalo
ee16ea7a5a fix(server): avoid preserved html meta tag name (#8682) 2024-11-04 06:01:04 +00:00
forehalo
63b58aad5c fix(server): reduce yjs binary size (#8681) 2024-11-04 05:45:06 +00:00
CatsJuice
cdaac5602c feat(mobile): manage docs/tags/collections in explorer (#8649)
close AF-1564, AF-1542
2024-11-04 05:28:06 +00:00
CatsJuice
4cbf4b74d6 feat(mobile): explorer create/rename operation (#8628)
close AF-1560
2024-11-04 05:28:05 +00:00
EYHN
12e3cf1d07 refactor(core): set edgeless theme on doc created (#8670) 2024-11-04 04:38:03 +00:00
donteatfriedrice
a4f27ef391 fix: should pass std to AffineEditorContainer (#8678)
To fix [BS-1741](https://linear.app/affine-design/issue/BS-1741/toc-不显示了)
2024-11-04 03:25:31 +00:00
donteatfriedrice
aacfb82819 fix: should toggle empty input when generate an image (#8643) 2024-11-01 10:45:32 +00:00
Peng Xiao
ecbf5a95fa fix: open in app card style (#8667) 2024-11-01 18:42:09 +08:00
akumatus
7e71395c8e fix: old document edgelessColorTheme shows auto but always render white (#8666)
Fix issue [AF-1593](https://linear.app/affine-design/issue/AF-1593).
2024-11-01 09:55:29 +00:00
github-actions[bot]
aa2f6b7739 chore(i18n): sync translations (#8654)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: forehalo <forehalo@gmail.com>
2024-11-01 09:30:28 +00:00
JimmFly
c2ebf0b822 fix(core): handle uncaught ai flag (#8663) 2024-11-01 17:18:21 +08:00
donteatfriedrice
0184328011 feat: optimize import export event tracker (#8652) 2024-11-01 08:37:00 +00:00
forehalo
a776c1f82b fix(core): unregister global error handler once app running (#8659)
close AF-1585
2024-11-01 08:11:35 +00:00
forehalo
e87963eca4 fix(server): wrong public path for selfhosted doc renderer (#8660)
closes #8639
2024-11-01 07:56:01 +00:00
JimmFly
f36097732a fix(core): dropdown menu cannot be hovered when it is at the bottom of doc (#8662)
close AF-1588
2024-11-01 07:40:31 +00:00
pengx17
070f5fae49 fix(electron): deep link handling without running instance (#8661)
fix AF-1586
2024-11-01 07:23:38 +00:00
pengx17
33088500e4 fix(core): unnamed doc title of db properties (#8657) 2024-11-01 07:23:37 +00:00
pengx17
4f16e22f5b fix(electron): add missing configureAppThemeModule to shell (#8656) 2024-11-01 07:23:37 +00:00
darkskygit
7a201984e9 feat(server): add real-world prompt test for copilot apis (#8629)
fix AF-1432, PD-1176
2024-11-01 07:05:12 +00:00
JimmFly
1c22fdd371 fix(core): unable to hide doc info (#8658)
close AF-1577 AF-1576
2024-11-01 06:47:59 +00:00
pengx17
c915a3bcb5 revert(electron): revert http protocl in electron (#8655)
fix AF-1583
2024-11-01 06:33:27 +00:00
L-Sun
1973cea035 fix(mobile): incorrect height of keyboard toolbar in ios (#8653)
### What Changes:
- Fix keyboard height calculation with the `KeyboardToolBarConfig.useScreenHeight = true`. More detials in: https://github.com/toeverything/blocksuite/pull/8645
- Add safe bottom padding for shrinked keyboard toolbar
- Add `VirtualKeyboard` polyfill. Close [AF-1573](https://linear.app/affine-design/issue/AF-1573/virtualkeyboard-polyfill-with-capacitor)
  - Since the `@capacitor/keyboard` dose not implement the `Keyboard.show()` method, this polyfill is not enabled now.
2024-11-01 05:48:30 +00:00
JimmFly
10b1f233d9 feat(core): add edgelessTheme property and edgelessDefault theme setting (#8614)
close AF-1430 AF-1471

https://github.com/user-attachments/assets/d997ac6c-ce94-4fa4-ab34-29b36c7796ea
2024-11-01 03:58:02 +00:00
EYHN
1f6cce2f5e fix(core): fix copy block link (#8650) 2024-10-31 17:15:46 +00:00
JimmFly
f40578ab24 chore: adjust right sidebar style (#8641)
close AF-1548

![CleanShot 2024-10-31 at 15 29 12@2x](https://github.com/user-attachments/assets/251502e9-2fbf-41b2-a1bf-eab8357945e5)
2024-10-31 09:36:22 +00:00
pengx17
51ffccbbb6 fix(core): do not redirect to open-page for open-in-app card (#8646) 2024-10-31 08:23:52 +00:00
pengx17
2b3b7057c5 fix(core): checkbox property styling and layout (#8645)
fix BS-1725
2024-10-31 07:31:52 +00:00
pengx17
0f8b273134 feat(core): open app in electron app entry (#8637)
fix PD-208
fix PD-210
fix PD-209
fix AF-1495
2024-10-31 06:16:32 +00:00
renovate[bot]
5d92c900d1 chore: bump up @blocksuite/affine version to v0.17.23 (#8596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 14:16:10 +08:00
donteatfriedrice
ba3aa7f153 feat: add snapshot import export config (#8584)
[BS-1470](https://linear.app/affine-design/issue/BS-1470/提供-snapshot-导入导出开关)
2024-10-31 05:18:14 +00:00
JimmFly
0f9d11fd5c feat(core): add createdBy property to default property (#8642)
close AF-1563
2024-10-31 05:01:52 +00:00
pengx17
d96cc097c2 fix(core): db properties ui issues (#8638)
fix AF-1562
fix BS-1711
2024-10-31 04:46:50 +00:00
donteatfriedrice
afcf595626 feat: add import modal (#8599)
[BS-1471](https://linear.app/affine-design/issue/BS-1471/新的-import-dialog-ui)
2024-10-31 04:09:43 +00:00
LongYinan
c08b02caba Revert "feat: copilot frontend e2e (#7694)"
This reverts commit d71852789f.
2024-10-31 12:08:57 +08:00
JimmFly
ea607d34f6 chore: adjust tooltips side of doc properties (#8640) 2024-10-31 11:50:03 +08:00
Brooooooklyn
58c7e3913d feat(android): android internal testing (#8577) 2024-10-30 12:18:00 +00:00
CatsJuice
fffd60d84c fix(mobile): adjust app tab height (#8635)
close AF-1480
2024-10-30 11:20:10 +00:00
pengx17
a791481ac8 refactor(electron): move electron-api to framework (#8601)
fix AF-1394
2024-10-30 09:16:20 +00:00
L-Sun
50bae9c3e6 feat(mobile): enable mobile keyboard toolbar (#8633) 2024-10-30 08:07:58 +00:00
EYHN
8f95cc7b80 fix(infra): orm create override optional (#8627) 2024-10-29 09:18:14 +00:00
darkskygit
d71852789f feat: copilot frontend e2e (#7694) 2024-10-29 08:56:37 +00:00
Brooooooklyn
5709ebbb11 feat(ios): hashcash in swift (#8602) 2024-10-29 08:40:15 +00:00
darkskygit
efee4dfd66 feat: use date fixed model name (#8621)
fix CLOUD-81
2024-10-29 07:31:23 +00:00
pengx17
835fdc33c0 feat(core): add open link in app to doc menu (#8597)
add "open in desktop app" menu item for editor

fix AF-1547
2024-10-29 13:55:13 +08:00
JimmFly
5690720652 chore: adjust floating sidebar style (#8619)
close PD-1810

![CleanShot 2024-10-28 at 17 43 55@2x](https://github.com/user-attachments/assets/e75da922-957f-4596-94ff-a8352b0c7e64)
2024-10-29 04:53:32 +00:00
donteatfriedrice
343572c5b6 fix: ai text renderer specs (#8611) 2024-10-29 01:59:28 +00:00
EYHN
7699296f11 feat(core): captcha service (#8616) 2024-10-28 18:06:52 +00:00
pengx17
81029db6ce feat: allow peek view to be closed by the caller && bump bs (#8542)
depends on https://github.com/toeverything/blocksuite/pull/8558
fix BS-1570
2024-10-28 09:16:35 +00:00
darkskygit
3f7752e261 feat(server): verify domain record (#8608) 2024-10-28 07:53:08 +00:00
Cats Juice
06dda70319 feat(mobile): ios oauth & magic-link login (#8581)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-10-28 14:12:33 +08:00
renovate[bot]
d6ec4cc597 chore: bump up tinybench version to v3 (#8610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-10-28 04:02:00 +00:00
renovate[bot]
8cdca326c1 chore: bump up uuid version to v11 (#8609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 11:41:10 +08:00
github-actions[bot]
6f2e9e6230 chore(i18n): sync translations (#8593)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-10-28 11:39:05 +08:00
renovate
af73810d6e chore: bump up oxlint version to v0.10.3 (#8606)
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.10.2` -> `0.10.3`](https://renovatebot.com/diffs/npm/oxlint/0.10.2/0.10.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.10.2/0.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.10.2/0.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v0.10.3`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#0103---2024-10-26)

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

##### Documentation

-   [`3923e63`](https://redirect.github.com/oxc-project/oxc/commit/3923e63) linter: Add schema to config examples ([#&#8203;6838](https://redirect.github.com/oxc-project/oxc/issues/6838)) (Dmitry Zakharov)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-26 12:18:15 +00:00
renovate
24d412d9d2 chore: bump up Rust crate notify to v7 (#8605)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [notify](https://redirect.github.com/notify-rs/notify) | workspace.dependencies | major | `6` -> `7` |

---

### Release Notes

<details>
<summary>notify-rs/notify (notify)</summary>

### [`v7.0.0`](https://redirect.github.com/notify-rs/notify/blob/HEAD/CHANGELOG.md#notify-700-2024-10-25)

[Compare Source](https://redirect.github.com/notify-rs/notify/compare/notify-6.1.1...notify-7.0.0)

-   CHANGE: raise MSRV to 1.72 [#&#8203;569] [#&#8203;610] **breaking**
-   CHANGE: move event type to notify-types crate [#&#8203;559]
-   CHANGE: flatten serialization of events and use camelCase [#&#8203;558]
-   CHANGE: remove internal use of crossbeam channels [#&#8203;569] [#&#8203;610]
-   CHANGE: rename feature `crossbeam` to `crossbeam-channel` and disable it by default [#&#8203;610] **breaking**
-   CHANGE: upgrade mio to 1.0 [#&#8203;623]
-   CHANGE: add log statements [#&#8203;499]
-   FIX: prevent UB with illegal instruction for the windows backend [#&#8203;604] [#&#8203;607]
-   FIX: on Linux report deleted directories correctly [#&#8203;545]
-   FIX: on Linux report access open events [#&#8203;612]
-   FEATURE: enable kqueue on iOS [#&#8203;533]
-   MISC: various minor doc updates and fixes [#&#8203;535] [#&#8203;536] [#&#8203;543] [#&#8203;565] [#&#8203;592] [#&#8203;595]
-   MISC: update inotify to 0.10 [#&#8203;547]

[#&#8203;499]: https://redirect.github.com/notify-rs/notify/pull/499

[#&#8203;533]: https://redirect.github.com/notify-rs/notify/pull/533

[#&#8203;535]: https://redirect.github.com/notify-rs/notify/pull/535

[#&#8203;536]: https://redirect.github.com/notify-rs/notify/pull/536

[#&#8203;543]: https://redirect.github.com/notify-rs/notify/pull/543

[#&#8203;545]: https://redirect.github.com/notify-rs/notify/pull/545

[#&#8203;547]: https://redirect.github.com/notify-rs/notify/pull/547

[#&#8203;558]: https://redirect.github.com/notify-rs/notify/pull/558

[#&#8203;559]: https://redirect.github.com/notify-rs/notify/pull/559

[#&#8203;565]: https://redirect.github.com/notify-rs/notify/pull/565

[#&#8203;569]: https://redirect.github.com/notify-rs/notify/pull/569

[#&#8203;592]: https://redirect.github.com/notify-rs/notify/pull/592

[#&#8203;595]: https://redirect.github.com/notify-rs/notify/pull/595

[#&#8203;604]: https://redirect.github.com/notify-rs/notify/pull/604

[#&#8203;607]: https://redirect.github.com/notify-rs/notify/pull/607

[#&#8203;610]: https://redirect.github.com/notify-rs/notify/pull/610

[#&#8203;612]: https://redirect.github.com/notify-rs/notify/pull/612

[#&#8203;623]: https://redirect.github.com/notify-rs/notify/pull/623

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-26 12:02:16 +00:00
CatsJuice
829361a910 fix(core): adjust onetime subscription ui for billing and pricing (#8591)
close AF-1534
2024-10-25 03:59:06 +00:00
pengx17
8f694aceb7 fix(core): redirect to old page after login via 404 page (#8588)
fix AF-1487

When visit a cloud worskapce page without login, we should allow the user to redirect back to that page after login.

The logic is only added for this case, including login with email magin link + google login. Login with password is already working without changes.
2024-10-25 03:43:00 +00:00
forehalo
08319bc560 feat(server): support socketio auth field (#8595)
fix AF-1531
2024-10-25 03:27:02 +00:00
JimmFly
10963da706 refactor(core): improve editor gap appendParagraph function (#8567)
close AF-1257

Every time we clicked on an empty space at the bottom, a new Paragraph block was created.
Now we change it so that if there is already an empty Paragraph block at the bottom, we focus it instead of creating a new one.
2024-10-24 10:53:18 +00:00
CatsJuice
6d7c0d45ce fix(ios): enable navigation gesture (#8592)
close AF-1528
2024-10-24 10:36:18 +00:00
Brooooooklyn
d5de5f9c9f ci: fix blocksuite changelog generation (#8583) 2024-10-24 10:19:19 +00:00
pengx17
2fc27f41f0 fix(core): dont show config properties in peek view (#8594)
view service is undefined in center peek.
2024-10-24 09:18:13 +00:00
pengx17
4b6c4ed546 feat(core): doc database properties (#8520)
fix AF-1454

1. move inline tags editor to components
2. add progress component
3. adjust doc properties styles for desktop
4. subscribe bs database links and display in doc info
5. move update/create dates to doc info
6. a trivial e2e test

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/eed266c1-fdac-4f0e-baa9-4aa00d14a2e8.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/eed266c1-fdac-4f0e-baa9-4aa00d14a2e8.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/eed266c1-fdac-4f0e-baa9-4aa00d14a2e8.mp4">10月23日.mp4</video>
2024-10-24 07:38:45 +00:00
renovate
f7dc65e170 chore: bump up nestjs (#8587)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/apollo](https://redirect.github.com/nestjs/graphql) | [`12.2.0` -> `12.2.1`](https://renovatebot.com/diffs/npm/@nestjs%2fapollo/12.2.0/12.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fapollo/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fapollo/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fapollo/12.2.0/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fapollo/12.2.0/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/graphql](https://redirect.github.com/nestjs/graphql) | [`12.2.0` -> `12.2.1`](https://renovatebot.com/diffs/npm/@nestjs%2fgraphql/12.2.0/12.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fgraphql/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fgraphql/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fgraphql/12.2.0/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fgraphql/12.2.0/12.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.4.5` -> `10.4.6`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.4.5/10.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.4.5/10.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/graphql (@&#8203;nestjs/apollo)</summary>

### [`v12.2.1`](https://redirect.github.com/nestjs/graphql/compare/v12.2.0...2549a5cbe798d74485e48832109c0e1108d2e44c)

[Compare Source](https://redirect.github.com/nestjs/graphql/compare/v12.2.0...v12.2.1)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/core)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-socket.io)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/testing)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/websockets)</summary>

### [`v10.4.6`](https://redirect.github.com/nestjs/nest/compare/v10.4.5...7843db3984af97e98b5486ad142fd5bcf438a3f2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.5...v10.4.6)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-24 04:24:12 +00:00
renovate
f96c23fe7e chore: bump up @chromatic-com/storybook version to v3 (#8589)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`^2.0.0` -> `^3.0.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/2.0.2/3.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/2.0.2/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/2.0.2/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.0.0`](https://redirect.github.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v300-Wed-Oct-23-2024)

[Compare Source](https://redirect.github.com/chromaui/addon-visual-tests/compare/v2.0.2...v3.0.0)

##### 💥 Breaking Change

-   Use new Test Provider API instead of SidebarTop and SidebarBottom [#&#8203;342](https://redirect.github.com/chromaui/addon-visual-tests/pull/342) ([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

##### Authors: 1

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

***

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-24 04:09:11 +00:00
JimmFly
021587ffab chore: add track event to toggle sidebar switch (#8582)
close AF-1530
2024-10-24 03:36:10 +00:00
pengx17
8cbb7195fc fix(electron): offline mode description (#8586)
fix AF-1446
2024-10-24 03:07:42 +00:00
renovate
3f0219a002 chore: bump up http-proxy-middleware version to v3.0.3 [SECURITY] (#8579)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [http-proxy-middleware](https://redirect.github.com/chimurai/http-proxy-middleware) | [`3.0.2` -> `3.0.3`](https://renovatebot.com/diffs/npm/http-proxy-middleware/3.0.2/3.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/http-proxy-middleware/3.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/http-proxy-middleware/3.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/http-proxy-middleware/3.0.2/3.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/http-proxy-middleware/3.0.2/3.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-21536](https://nvd.nist.gov/vuln/detail/CVE-2024-21536)

Versions of the package http-proxy-middleware before 2.0.7, from 3.0.0 and before 3.0.3 are vulnerable to Denial of Service (DoS) due to an UnhandledPromiseRejection error thrown by micromatch. An attacker could kill the Node.js process and crash the server by making requests to certain paths.

---

### Release Notes

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

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

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

-   fix(pathFilter): handle errors

</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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-23 02:17:27 +00:00
forehalo
dc89b583ba fix(core): let backend check whethere user can subscribe (#8573) 2024-10-23 02:01:26 +00:00
EYHN
542fde6c68 fix(infra): indexer missing data (#8578) 2024-10-23 01:44:24 +00:00
renovate
90c0f67101 chore: bump up oxlint version to v0.10.2 (#8575)
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.10.1` -> `0.10.2`](https://renovatebot.com/diffs/npm/oxlint/0.10.1/0.10.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.10.1/0.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.10.1/0.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

#### \[0.10.2] - 2024-10-22

##### Features

-   [`dbe1972`](https://redirect.github.com/oxc-project/oxc/commit/dbe1972) linter: Import/no-cycle should turn on ignore_types by default ([#&#8203;6761](https://redirect.github.com/oxc-project/oxc/issues/6761)) (Boshen)
-   [`619d06f`](https://redirect.github.com/oxc-project/oxc/commit/619d06f) linter: Fix suggestion for `eslint:no_empty_static_block` rule ([#&#8203;6732](https://redirect.github.com/oxc-project/oxc/issues/6732)) (Tapan Prakash)

##### Bug Fixes

##### Performance

-   [`8387bac`](https://redirect.github.com/oxc-project/oxc/commit/8387bac) linter: Apply small file optimization, up to 30% faster ([#&#8203;6600](https://redirect.github.com/oxc-project/oxc/issues/6600)) (camchenry)

##### Refactor

-   [`b884577`](https://redirect.github.com/oxc-project/oxc/commit/b884577) linter: All ast_util functions take Semantic ([#&#8203;6753](https://redirect.github.com/oxc-project/oxc/issues/6753)) (DonIsaac)
-   [`744aa74`](https://redirect.github.com/oxc-project/oxc/commit/744aa74) linter: Impl `Deref<Target = Semantic>` for `LintContext` ([#&#8203;6752](https://redirect.github.com/oxc-project/oxc/issues/6752)) (DonIsaac)
-   [`6ffdcc0`](https://redirect.github.com/oxc-project/oxc/commit/6ffdcc0) oxlint: Lint/mod.rs -> lint.rs ([#&#8203;6746](https://redirect.github.com/oxc-project/oxc/issues/6746)) (Boshen)

##### Testing

-   [`b03cec6`](https://redirect.github.com/oxc-project/oxc/commit/b03cec6) oxlint: Add `--fix` test case ([#&#8203;6747](https://redirect.github.com/oxc-project/oxc/issues/6747)) (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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-22 09:54:21 +00:00
LongYinan
8eae597c0d docs: remove rust version icon 2024-10-22 17:29:16 +08:00
forehalo
ff95f12d66 fix(core): handle global script error (#8576) 2024-10-22 07:49:48 +00:00
JimmFly
be3125b73d feat(core): add tooltips to PropertyItem (#8564)
close AF-1512
2024-10-22 06:56:17 +00:00
EYHN
6ecdc8db7a feat(infra): opti indexer performance (#8557) 2024-10-22 06:41:07 +00:00
renovate
d482e2f82e chore: bump up nx version to v20 (#8437)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`^19.0.0` -> `^20.0.0`](https://renovatebot.com/diffs/npm/nx/19.8.2/20.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/20.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/20.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.8.2/20.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.8.2/20.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nrwl/nx (nx)</summary>

### [`v20.0.0`](https://redirect.github.com/nrwl/nx/releases/tag/20.0.0)

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

##### 20.0.0 (2024-10-07)

##### 🚀 Features

-   add rspack plugin ([#&#8203;143](https://redirect.github.com/nrwl/nx/pull/143))
-   add rspack plugin ([#&#8203;143](https://redirect.github.com/nrwl/nx/pull/143))
-   upgrade rspack to 0.4.4 ([#&#8203;352](https://redirect.github.com/nrwl/nx/pull/352))
-   **core:** allow prompts from init generators during nx init ([#&#8203;28003](https://redirect.github.com/nrwl/nx/pull/28003))
-   **core:** update github action pnpm version ([#&#8203;27815](https://redirect.github.com/nrwl/nx/pull/27815))
-   **core:** remove node task hasher ([#&#8203;28147](https://redirect.github.com/nrwl/nx/pull/28147))
-   **core:** allow circular project dependencies to execute tasks ([#&#8203;28227](https://redirect.github.com/nrwl/nx/pull/28227))
-   **core:** deprecate custom task runners ([#&#8203;28253](https://redirect.github.com/nrwl/nx/pull/28253))
-   **core:** open sqlite databases with `SQLITE_OPEN_FULL_MUTEX` ([#&#8203;28276](https://redirect.github.com/nrwl/nx/pull/28276))
-   **core:** enable db cache by default ([#&#8203;28048](https://redirect.github.com/nrwl/nx/pull/28048))
-   **devkit:** bump compatibility to Nx 19 - 21.x ([#&#8203;28243](https://redirect.github.com/nrwl/nx/pull/28243))
-   **graph:** enable composite graph functionality ([#&#8203;27789](https://redirect.github.com/nrwl/nx/pull/27789))
-   **graph:** show owners in pdv ([#&#8203;28211](https://redirect.github.com/nrwl/nx/pull/28211))
-   **js:** add the setup-prettier generator ([#&#8203;27996](https://redirect.github.com/nrwl/nx/pull/27996))
-   **js:** generate experimental simplified library with ts solution setup ([#&#8203;27910](https://redirect.github.com/nrwl/nx/pull/27910))
-   **js:** new workspace uses scoped named in root package.json ([#&#8203;28271](https://redirect.github.com/nrwl/nx/pull/28271))
-   **linter:** update eslint-import-plugin to a version that supports eslint v9 ([#&#8203;28273](https://redirect.github.com/nrwl/nx/pull/28273))
-   **misc:** update to Nx 16 and rescoped packages ([#&#8203;235](https://redirect.github.com/nrwl/nx/pull/235))
-   **misc:** update to Nx 16 and rescoped packages ([#&#8203;235](https://redirect.github.com/nrwl/nx/pull/235))
-   **misc:** remove derived generator paths ([#&#8203;27714](https://redirect.github.com/nrwl/nx/pull/27714))
-   **misc:** remove @&#8203;nrwl/ scoped packages ([#&#8203;27858](https://redirect.github.com/nrwl/nx/pull/27858))
-   **misc:** make directory a required option for generators ([#&#8203;28093](https://redirect.github.com/nrwl/nx/pull/28093))
-   **misc:** enable new ts minimal setup by default and guard execution of generators with no support for it ([#&#8203;28199](https://redirect.github.com/nrwl/nx/pull/28199))
-   ⚠️  **misc:** handle v20 deprecations in plugins ([#&#8203;28222](https://redirect.github.com/nrwl/nx/pull/28222))
-   **nx-dev:** powerpack landing page ([#&#8203;27963](https://redirect.github.com/nrwl/nx/pull/27963))
-   **nx-dev:** add Powerpack video to the landing page ([#&#8203;28126](https://redirect.github.com/nrwl/nx/pull/28126))
-   **nx-dev:** add nx powerpack to pricing page ([#&#8203;28232](https://redirect.github.com/nrwl/nx/pull/28232))
-   **nx-dev:** add nx powerpack gcp & azure mentions ([#&#8203;28256](https://redirect.github.com/nrwl/nx/pull/28256))
-   **react:** make vitest the default test runner since it supports ESM and different moduleResolution better ([#&#8203;28153](https://redirect.github.com/nrwl/nx/pull/28153))
-   ⚠️  **release:** releasePublish always returns status code per project ([#&#8203;28224](https://redirect.github.com/nrwl/nx/pull/28224))
-   ⚠️  **release:** version.generatorOptions.updateDependents is "auto" by default ([#&#8203;28231](https://redirect.github.com/nrwl/nx/pull/28231))
-   ⚠️  **release:** rewrite ChangelogRenderer to a class API and remove deprecated config ([#&#8203;28229](https://redirect.github.com/nrwl/nx/pull/28229))
-   **repo:** merge main from https://github.com/nrwl/nx-labs ([e9b03641ac](https://redirect.github.com/nrwl/nx/commit/e9b03641ac))
-   **repo:** merge main from https://github.com/nrwl/nx-labs ([b0ffe29e55](https://redirect.github.com/nrwl/nx/commit/b0ffe29e55))
-   **repo:** merge main from https://github.com/nrwl/nx-labs ([23c365f426](https://redirect.github.com/nrwl/nx/commit/23c365f426))
-   **rspack:** update to latest rspack version ([#&#8203;159](https://redirect.github.com/nrwl/nx/pull/159))
-   **rspack:** add missing features (less/sass/stylus, assets, etc.) ([#&#8203;160](https://redirect.github.com/nrwl/nx/pull/160))
-   **rspack:** add missing features (less/sass/stylus, assets, etc.) ([#&#8203;160](https://redirect.github.com/nrwl/nx/pull/160))
-   **rspack:** clean-up project setup ([#&#8203;161](https://redirect.github.com/nrwl/nx/pull/161))
-   **rspack:** clean-up project setup ([#&#8203;161](https://redirect.github.com/nrwl/nx/pull/161))
-   **rspack:** update and pin rspack to 0.1.0 ([#&#8203;173](https://redirect.github.com/nrwl/nx/pull/173))
-   **rspack:** set mode in configuration and expose option ([#&#8203;177](https://redirect.github.com/nrwl/nx/pull/177))
-   **rspack:** install latest patch when configuring ([#&#8203;195](https://redirect.github.com/nrwl/nx/pull/195))
-   **rspack:** configuration generator better ux ([#&#8203;201](https://redirect.github.com/nrwl/nx/pull/201))
-   **rspack:** builder returns outfile ([#&#8203;207](https://redirect.github.com/nrwl/nx/pull/207))
-   **rspack:** simplify app generator ([#&#8203;212](https://redirect.github.com/nrwl/nx/pull/212))
-   **rspack:** simplify app generator ([#&#8203;212](https://redirect.github.com/nrwl/nx/pull/212))
-   **rspack:** Add extractLicenses option to rspack's project configuration ([#&#8203;230](https://redirect.github.com/nrwl/nx/pull/230))
-   **rspack:** Add extractLicenses option to rspack's project configuration ([#&#8203;230](https://redirect.github.com/nrwl/nx/pull/230))
-   **rspack:** add typecheck ([#&#8203;338](https://redirect.github.com/nrwl/nx/pull/338))
-   **rspack:** add generatePackageJson plugin ([#&#8203;341](https://redirect.github.com/nrwl/nx/pull/341))
-   **rspack:** add generatePackageJson plugin ([#&#8203;341](https://redirect.github.com/nrwl/nx/pull/341))
-   **rspack:** update rspack to install the latest version ([#&#8203;379](https://redirect.github.com/nrwl/nx/pull/379))
-   **rspack:** add option to keep existing versions of packages for init generator ([#&#8203;378](https://redirect.github.com/nrwl/nx/pull/378))
-   **rspack:** support object configs ([#&#8203;402](https://redirect.github.com/nrwl/nx/pull/402))
-   **rspack:** add crystal plugin for inferring projects ([#&#8203;407](https://redirect.github.com/nrwl/nx/pull/407))
-   **rspack:** add crystal plugin for inferring projects ([#&#8203;407](https://redirect.github.com/nrwl/nx/pull/407))
-   **rspack:** bump to latest rspack ([#&#8203;412](https://redirect.github.com/nrwl/nx/pull/412))
-   **rspack:** add module federation support ([#&#8203;416](https://redirect.github.com/nrwl/nx/pull/416))
-   **rspack:** add module federation support ([#&#8203;416](https://redirect.github.com/nrwl/nx/pull/416))
-   **rspack:** add module-federation-static-server ([#&#8203;418](https://redirect.github.com/nrwl/nx/pull/418))
-   **rspack:** move rspack into main nx repo ([#&#8203;27969](https://redirect.github.com/nrwl/nx/pull/27969))
-   **storybook:** remove cypress options for e2e testing ([#&#8203;27850](https://redirect.github.com/nrwl/nx/pull/27850))
-   **testing:** update test generators to exclude test files from the runtime tsconfig file ([#&#8203;27991](https://redirect.github.com/nrwl/nx/pull/27991))

##### 🩹 Fixes

-   **angular:** ensure async webpack configs are awaited [#&#8203;28200](https://redirect.github.com/nrwl/nx/issues/28200) ([#&#8203;28213](https://redirect.github.com/nrwl/nx/pull/28213), [#&#8203;28200](https://redirect.github.com/nrwl/nx/issues/28200))
-   **angular:** ensure [@&#8203;typescript-eslint/utils](https://redirect.github.com/typescript-eslint/utils) is used with eslint flat config ([#&#8203;28267](https://redirect.github.com/nrwl/nx/pull/28267))
-   **bundling:** remove unused `babel-plugin-transform-async-to-promises` from `@nx/rollup` ([#&#8203;27669](https://redirect.github.com/nrwl/nx/pull/27669))
-   **core:** allow creating a db cache without linking task details ([#&#8203;28023](https://redirect.github.com/nrwl/nx/pull/28023))
-   **core:** fix output text for multiple targets ([#&#8203;28043](https://redirect.github.com/nrwl/nx/pull/28043))
-   **core:** sort projects after updating from context ([#&#8203;28024](https://redirect.github.com/nrwl/nx/pull/28024))
-   **core:** add flag when db is disabled for task history ([#&#8203;28059](https://redirect.github.com/nrwl/nx/pull/28059))
-   **core:** set windowsHide: true wherever possible ([#&#8203;28073](https://redirect.github.com/nrwl/nx/pull/28073))
-   **core:** support more structured errors in sync generators ([#&#8203;28075](https://redirect.github.com/nrwl/nx/pull/28075))
-   **core:** nx add should show errors ([#&#8203;28079](https://redirect.github.com/nrwl/nx/pull/28079))
-   **core:** several powerpack fixes ([#&#8203;28088](https://redirect.github.com/nrwl/nx/pull/28088))
-   **core:** remove wasi compatibility while db is unsupported in wasi ([#&#8203;28089](https://redirect.github.com/nrwl/nx/pull/28089))
-   **core:** hide no file server process json log ([#&#8203;27626](https://redirect.github.com/nrwl/nx/pull/27626))
-   **core:** fix output for 0 task ([#&#8203;28122](https://redirect.github.com/nrwl/nx/pull/28122))
-   **core:** log error for runTaskInForkedProcess ([#&#8203;28078](https://redirect.github.com/nrwl/nx/pull/28078))
-   **core:** remove strong-log-transformer ([#&#8203;28094](https://redirect.github.com/nrwl/nx/pull/28094))
-   **core:** calculate project dependencies upfront in the schedule ([#&#8203;28152](https://redirect.github.com/nrwl/nx/pull/28152))
-   **core:** only stop daemon if enabled ([#&#8203;28146](https://redirect.github.com/nrwl/nx/pull/28146))
-   **core:** adjust nx import messaging without relative source dir ([#&#8203;28052](https://redirect.github.com/nrwl/nx/pull/28052))
-   **core:** move getDetails to top ([#&#8203;28158](https://redirect.github.com/nrwl/nx/pull/28158))
-   **core:** fix env override run command ([#&#8203;28156](https://redirect.github.com/nrwl/nx/pull/28156))
-   **core:** fix link to powerpack plugins ([#&#8203;28182](https://redirect.github.com/nrwl/nx/pull/28182))
-   **core:** Remove nameAndDirectoryFormat option from generators ([#&#8203;28110](https://redirect.github.com/nrwl/nx/pull/28110))
-   **core:** remove axios import from main code loading ([#&#8203;28230](https://redirect.github.com/nrwl/nx/pull/28230))
-   **core:** change getCache signature to only accept options ([#&#8203;28248](https://redirect.github.com/nrwl/nx/pull/28248))
-   **core:** allow prompts during nx add ([#&#8203;28247](https://redirect.github.com/nrwl/nx/pull/28247))
-   **core:** add stub for conformance:check, add messaging ([#&#8203;28250](https://redirect.github.com/nrwl/nx/pull/28250))
-   **core:** filter out task dependencies on itself ([#&#8203;28261](https://redirect.github.com/nrwl/nx/pull/28261))
-   **core:** handle unique constraint errors when adding duplicate hashes to the cache db ([#&#8203;28310](https://redirect.github.com/nrwl/nx/pull/28310))
-   **expo:** change force to be an option for yarn ([#&#8203;28115](https://redirect.github.com/nrwl/nx/pull/28115))
-   **graph:** add spacing between graph details top ([#&#8203;28055](https://redirect.github.com/nrwl/nx/pull/28055))
-   **js:** ensure prettier is available for generators if it is meant to be installed ([#&#8203;28082](https://redirect.github.com/nrwl/nx/pull/28082))
-   **js:** [@&#8203;nx/js](https://redirect.github.com/nx/js):init ensures tslib is installed if importHelpers is true ([#&#8203;28083](https://redirect.github.com/nrwl/nx/pull/28083))
-   **js:** handle ts project refs pointing to non-existing files and prune ts refs for projects with no deps ([#&#8203;28130](https://redirect.github.com/nrwl/nx/pull/28130))
-   **js:** improve typescript-sync generator messaging ([#&#8203;28162](https://redirect.github.com/nrwl/nx/pull/28162))
-   **js:** generate nx release config correctly for js libraries in new ts setup and set tags ([#&#8203;28218](https://redirect.github.com/nrwl/nx/pull/28218))
-   **js:** throw an error when generating a publishable lib with `--bundler=none` ([#&#8203;28221](https://redirect.github.com/nrwl/nx/pull/28221))
-   **js:** resolve VerdaccioWarning on the "logs" configuration property ([#&#8203;28234](https://redirect.github.com/nrwl/nx/pull/28234))
-   **linter:** do not generate docs.recommended property ([#&#8203;28009](https://redirect.github.com/nrwl/nx/pull/28009))
-   **linter:** ignore dist and use compat helper for eslint-plugin-react-hooks ([#&#8203;28080](https://redirect.github.com/nrwl/nx/pull/28080))
-   **linter:** add files entry to angular flat config to avoid applying TS rules to JSON files ([#&#8203;28102](https://redirect.github.com/nrwl/nx/pull/28102))
-   **misc:** replace missed references to [@&#8203;nrwl](https://redirect.github.com/nrwl) scope ([#&#8203;239](https://redirect.github.com/nrwl/nx/pull/239))
-   **misc:** target commonjs for legacy packages ([#&#8203;241](https://redirect.github.com/nrwl/nx/pull/241))
-   **module-federation:** pin mf enhanced version ([#&#8203;28196](https://redirect.github.com/nrwl/nx/pull/28196))
-   **module-federation:** exports could be objects and not strings [#&#8203;28129](https://redirect.github.com/nrwl/nx/issues/28129) ([#&#8203;28215](https://redirect.github.com/nrwl/nx/pull/28215), [#&#8203;28129](https://redirect.github.com/nrwl/nx/issues/28129))
-   **module-federation:** additionalShared should check node_modules when applying to support transitive deps [#&#8203;28137](https://redirect.github.com/nrwl/nx/issues/28137) ([#&#8203;28216](https://redirect.github.com/nrwl/nx/pull/28216), [#&#8203;28137](https://redirect.github.com/nrwl/nx/issues/28137))
-   **module-federation:** normalize kebab-cased names to snake_cased ([#&#8203;28237](https://redirect.github.com/nrwl/nx/pull/28237))
-   **nx-cloud:** use create-workspace-v1 endpoint if v2 returns with 404 ([#&#8203;28015](https://redirect.github.com/nrwl/nx/pull/28015))
-   **nx-dev:** adjust powerpack mobile view ([fc39beae7a](https://redirect.github.com/nrwl/nx/commit/fc39beae7a))
-   **nx-dev:** options of the affected are messed up ([#&#8203;28112](https://redirect.github.com/nrwl/nx/pull/28112))
-   **nx-dev:** Update Power pack docs to include OSS projects ([#&#8203;28176](https://redirect.github.com/nrwl/nx/pull/28176))
-   **nx-dev:** Blog url ([#&#8203;27597](https://redirect.github.com/nrwl/nx/pull/27597))
-   **nx-dev:** 404 urls ([#&#8203;27599](https://redirect.github.com/nrwl/nx/pull/27599))
-   **nx-dev:** fix markdoc table data alignment ([#&#8203;28274](https://redirect.github.com/nrwl/nx/pull/28274))
-   **react:** vite should be default bundler in app generator ([#&#8203;28013](https://redirect.github.com/nrwl/nx/pull/28013))
-   **react:** setup-ssr generator should infer bundler based on the executor for build [#&#8203;28128](https://redirect.github.com/nrwl/nx/issues/28128) ([#&#8203;28217](https://redirect.github.com/nrwl/nx/pull/28217), [#&#8203;28128](https://redirect.github.com/nrwl/nx/issues/28128))
-   **react:** host generator should pass normalized name to remote generator ([#&#8203;28295](https://redirect.github.com/nrwl/nx/pull/28295))
-   **release:** allow dynamically continuing when current version is unresolvable ([#&#8203;28034](https://redirect.github.com/nrwl/nx/pull/28034))
-   **release:** add groupPreVersionCommand to schema, improve logging ([#&#8203;28087](https://redirect.github.com/nrwl/nx/pull/28087))
-   **release:** ensure updateDependents only works for independent projects ([#&#8203;28283](https://redirect.github.com/nrwl/nx/pull/28283))
-   **repo:** fix publishing for legacy packages ([#&#8203;240](https://redirect.github.com/nrwl/nx/pull/240))
-   **repo:** fix publishing for legacy packages ([#&#8203;240](https://redirect.github.com/nrwl/nx/pull/240))
-   **repo:** add json files to assets ([#&#8203;243](https://redirect.github.com/nrwl/nx/pull/243))
-   **rspack:** use correct app dir when generating non-root projects ([#&#8203;162](https://redirect.github.com/nrwl/nx/pull/162))
-   **rspack:** use correct app dir when generating non-root projects ([#&#8203;162](https://redirect.github.com/nrwl/nx/pull/162))
-   **rspack:** fix rspack build ([cab70e5487](https://redirect.github.com/nrwl/nx/commit/cab70e5487))
-   **rspack:** handle existing stylePreprocessorOptions ([#&#8203;182](https://redirect.github.com/nrwl/nx/pull/182))
-   **rspack:** add dependency to ajv-keywords that match the version used by rspack ([#&#8203;187](https://redirect.github.com/nrwl/nx/pull/187))
-   **rspack:** pass devServer options to devServer ([#&#8203;193](https://redirect.github.com/nrwl/nx/pull/193))
-   **rspack:** set externals for target node ([#&#8203;194](https://redirect.github.com/nrwl/nx/pull/194))
-   **rspack:** add withWeb if web app ([#&#8203;200](https://redirect.github.com/nrwl/nx/pull/200))
-   **rspack:** use ensureTypescript before tsquery ([#&#8203;215](https://redirect.github.com/nrwl/nx/pull/215))
-   **rspack:** implement watch mode ([#&#8203;217](https://redirect.github.com/nrwl/nx/pull/217))
-   **rspack:** do not force cssmodules ([#&#8203;222](https://redirect.github.com/nrwl/nx/pull/222))
-   **rspack:** use builtin minify instead ([#&#8203;172](https://redirect.github.com/nrwl/nx/pull/172))
-   **rspack:** use built-in tsconfig paths support ([#&#8203;227](https://redirect.github.com/nrwl/nx/pull/227))
-   **rspack:** add back `resolve.alias` configuration since `resolve.tsConfigPaths` seem to be incorrect in some scenarios ([#&#8203;229](https://redirect.github.com/nrwl/nx/pull/229))
-   **rspack:** lock version to 0.1.11 ([#&#8203;279](https://redirect.github.com/nrwl/nx/pull/279))
-   **rspack:** refine output filename patterns ([#&#8203;280](https://redirect.github.com/nrwl/nx/pull/280))
-   **rspack:** add missing license-webpack-plugin dependency ([#&#8203;301](https://redirect.github.com/nrwl/nx/pull/301))
-   **rspack:** add fileReplacements support ([#&#8203;231](https://redirect.github.com/nrwl/nx/pull/231))
-   **rspack:** Add missing peer dep ([#&#8203;372](https://redirect.github.com/nrwl/nx/pull/372))
-   **rspack:** do not depend directly on ajv to allow for correct hoisting ([#&#8203;384](https://redirect.github.com/nrwl/nx/pull/384))
-   **rspack:** ensure react-refresh is installed ([#&#8203;385](https://redirect.github.com/nrwl/nx/pull/385))
-   **rspack:** User port should be respected. ([#&#8203;387](https://redirect.github.com/nrwl/nx/pull/387))
-   **rspack:** add postcss-loader for css files ([#&#8203;415](https://redirect.github.com/nrwl/nx/pull/415))
-   **rspack:** add hook for dev server to log when compilation completed ([#&#8203;417](https://redirect.github.com/nrwl/nx/pull/417))
-   **rspack:** ensure process is default import ([#&#8203;420](https://redirect.github.com/nrwl/nx/pull/420))
-   **rspack:** pin rspack to 1.0.5 ([b1dae52101](https://redirect.github.com/nrwl/nx/commit/b1dae52101))
-   **rspack:** update url repository url ([#&#8203;28181](https://redirect.github.com/nrwl/nx/pull/28181))
-   **storybook:** only add [@&#8203;storybook/test-runner](https://redirect.github.com/storybook/test-runner) to externalDependencies if installed ([#&#8203;28060](https://redirect.github.com/nrwl/nx/pull/28060))
-   **testing:** add support for playwright --last-failed ([#&#8203;28161](https://redirect.github.com/nrwl/nx/pull/28161))
-   **testing:** migration for getJestProjects -> getJestProjectsAsync handles both CJS and ESM ([#&#8203;28299](https://redirect.github.com/nrwl/nx/pull/28299))
-   **testing:** getJestProjectsAsync no longer duplicates project paths ([#&#8203;28311](https://redirect.github.com/nrwl/nx/pull/28311))

##### ⚠️  Breaking Changes

-   ⚠️  **misc:** handle v20 deprecations in plugins ([#&#8203;28222](https://redirect.github.com/nrwl/nx/pull/28222))
-   ⚠️  **release:** rewrite ChangelogRenderer to a class API and remove deprecated config ([#&#8203;28229](https://redirect.github.com/nrwl/nx/pull/28229))
-   ⚠️  **release:** version.generatorOptions.updateDependents is "auto" by default ([#&#8203;28231](https://redirect.github.com/nrwl/nx/pull/28231))
-   ⚠️  **release:** releasePublish always returns status code per project ([#&#8203;28224](https://redirect.github.com/nrwl/nx/pull/28224))

##### ❤️  Thank You

-   Andrew Goldis [@&#8203;agoldis](https://redirect.github.com/agoldis)
-   Austin Fahsl [@&#8203;fahslaj](https://redirect.github.com/fahslaj)
-   Benjamin Cabanes [@&#8203;bcabanes](https://redirect.github.com/bcabanes)
-   Caleb Ukle
-   Chau Tran
-   Colum Ferry [@&#8203;Coly010](https://redirect.github.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://redirect.github.com/AgentEnder)
-   Douglas Machado [@&#8203;dgmachado](https://redirect.github.com/dgmachado)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   FrozenPandaz [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Gengkun [@&#8203;ahabhgk](https://redirect.github.com/ahabhgk)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Julián Gómez Sibecas [@&#8203;juliangsibecas](https://redirect.github.com/juliangsibecas)
-   Juri [@&#8203;juristr](https://redirect.github.com/juristr)
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)
-   Katerina Skroumpelou [@&#8203;mandarini](https://redirect.github.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   Louie Weng [@&#8203;lourw](https://redirect.github.com/lourw)
-   MaxKless [@&#8203;MaxKless](https://redirect.github.com/MaxKless)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://redirect.github.com/ndcunningham)
-   pawel-twardziak
-   Phillip Barta [@&#8203;Phillip9587](https://redirect.github.com/Phillip9587)
-   Shahar Kazaz
-   Travis Tarr

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

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

##### 19.8.4 (2024-10-04)

##### 🚀 Features

-   **core:** allow circular project dependencies to execute tasks ([#&#8203;28227](https://redirect.github.com/nrwl/nx/pull/28227))
-   **nx-dev:** add nx powerpack to pricing page ([#&#8203;28232](https://redirect.github.com/nrwl/nx/pull/28232))
-   **nx-dev:** add nx powerpack gcp & azure mentions ([#&#8203;28256](https://redirect.github.com/nrwl/nx/pull/28256))

##### 🩹 Fixes

-   **angular:** ensure [@&#8203;typescript-eslint/utils](https://redirect.github.com/typescript-eslint/utils) is used with eslint flat config ([#&#8203;28267](https://redirect.github.com/nrwl/nx/pull/28267))
-   **core:** remove axios import from main code loading ([#&#8203;28230](https://redirect.github.com/nrwl/nx/pull/28230))
-   **core:** change getCache signature to only accept options ([#&#8203;28248](https://redirect.github.com/nrwl/nx/pull/28248))
-   **core:** allow prompts during nx add ([#&#8203;28247](https://redirect.github.com/nrwl/nx/pull/28247))
-   **core:** add stub for conformance:check, add messaging ([#&#8203;28250](https://redirect.github.com/nrwl/nx/pull/28250))
-   **core:** filter out task dependencies on itself ([#&#8203;28261](https://redirect.github.com/nrwl/nx/pull/28261))
-   **core:** fixing target groups not merging ([#&#8203;28280](https://redirect.github.com/nrwl/nx/pull/28280))
-   **js:** resolve VerdaccioWarning on the "logs" configuration property ([#&#8203;28234](https://redirect.github.com/nrwl/nx/pull/28234))
-   **nx-cloud:** use create-workspace-v1 endpoint if v2 returns with 404 ([#&#8203;28015](https://redirect.github.com/nrwl/nx/pull/28015))
-   **nx-dev:** fix markdoc table data alignment ([#&#8203;28274](https://redirect.github.com/nrwl/nx/pull/28274))
-   **react:** host generator should pass normalized name to remote generator ([#&#8203;28295](https://redirect.github.com/nrwl/nx/pull/28295))
-   **testing:** add support for playwright --last-failed ([#&#8203;28161](https://redirect.github.com/nrwl/nx/pull/28161))

##### ❤️  Thank You

-   Andrew Goldis [@&#8203;agoldis](https://redirect.github.com/agoldis)
-   Benjamin Cabanes [@&#8203;bcabanes](https://redirect.github.com/bcabanes)
-   Colum Ferry [@&#8203;Coly010](https://redirect.github.com/Coly010)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Louie Weng [@&#8203;lourw](https://redirect.github.com/lourw)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://redirect.github.com/ndcunningham)
-   Shahar Kazaz
-   Zachary DeRose [@&#8203;ZackDeRose](https://redirect.github.com/ZackDeRose)

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

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

##### 19.8.3 (2024-10-01)

##### 🚀 Features

-   **nx-dev:** add Powerpack video to the landing page ([#&#8203;28126](https://redirect.github.com/nrwl/nx/pull/28126))

##### 🩹 Fixes

-   **angular:** ensure async webpack configs are awaited [#&#8203;28200](https://redirect.github.com/nrwl/nx/issues/28200) ([#&#8203;28213](https://redirect.github.com/nrwl/nx/pull/28213), [#&#8203;28200](https://redirect.github.com/nrwl/nx/issues/28200))
-   **core:** fix output for 0 task ([#&#8203;28122](https://redirect.github.com/nrwl/nx/pull/28122))
-   **core:** log error for runTaskInForkedProcess ([#&#8203;28078](https://redirect.github.com/nrwl/nx/pull/28078))
-   **core:** calculate project dependencies upfront in the schedule ([#&#8203;28152](https://redirect.github.com/nrwl/nx/pull/28152))
-   **core:** only stop daemon if enabled ([#&#8203;28146](https://redirect.github.com/nrwl/nx/pull/28146))
-   **core:** adjust nx import messaging without relative source dir ([#&#8203;28052](https://redirect.github.com/nrwl/nx/pull/28052))
-   **core:** move getDetails to top ([#&#8203;28158](https://redirect.github.com/nrwl/nx/pull/28158))
-   **core:** fix env override run command ([#&#8203;28156](https://redirect.github.com/nrwl/nx/pull/28156))
-   **core:** fix link to powerpack plugins ([#&#8203;28182](https://redirect.github.com/nrwl/nx/pull/28182))
-   **expo:** change force to be an option for yarn ([#&#8203;28115](https://redirect.github.com/nrwl/nx/pull/28115))
-   **graph:** add spacing between graph details top ([#&#8203;28055](https://redirect.github.com/nrwl/nx/pull/28055))
-   **js:** improve typescript-sync generator messaging ([#&#8203;28162](https://redirect.github.com/nrwl/nx/pull/28162))
-   **module-federation:** exports could be objects and not strings [#&#8203;28129](https://redirect.github.com/nrwl/nx/issues/28129) ([#&#8203;28215](https://redirect.github.com/nrwl/nx/pull/28215), [#&#8203;28129](https://redirect.github.com/nrwl/nx/issues/28129))
-   **module-federation:** additionalShared should check node_modules when applying to support transitive deps [#&#8203;28137](https://redirect.github.com/nrwl/nx/issues/28137) ([#&#8203;28216](https://redirect.github.com/nrwl/nx/pull/28216), [#&#8203;28137](https://redirect.github.com/nrwl/nx/issues/28137))
-   **nx-dev:** adjust powerpack mobile view ([b76e84dbb1](https://redirect.github.com/nrwl/nx/commit/b76e84dbb1))
-   **nx-dev:** options of the affected are messed up ([#&#8203;28112](https://redirect.github.com/nrwl/nx/pull/28112))
-   **nx-dev:** Update Power pack docs to include OSS projects ([#&#8203;28176](https://redirect.github.com/nrwl/nx/pull/28176))
-   **nx-dev:** 404 urls ([#&#8203;27599](https://redirect.github.com/nrwl/nx/pull/27599))
-   **react:** setup-ssr generator should infer bundler based on the executor for build [#&#8203;28128](https://redirect.github.com/nrwl/nx/issues/28128) ([#&#8203;28217](https://redirect.github.com/nrwl/nx/pull/28217), [#&#8203;28128](https://redirect.github.com/nrwl/nx/issues/28128))
-   **storybook:** only add [@&#8203;storybook/test-runner](https://redirect.github.com/storybook/test-runner) to externalDependencies if installed ([#&#8203;28060](https://redirect.github.com/nrwl/nx/pull/28060))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://redirect.github.com/Coly010)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Juri [@&#8203;juristr](https://redirect.github.com/juristr)
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://redirect.github.com/MaxKless)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://redirect.github.com/ndcunningham)
-   pawel-twardziak

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE1LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-10-22 06:06:48 +00:00
JimmFly
5769d271e0 chore: adjust hover tooltips for sidebar switch (#8574)
close PD-1762
2024-10-22 05:22:16 +00:00
darkskygit
6f1535014d feat(core): handle copilot errors (#8546) 2024-10-22 05:08:10 +00:00
EYHN
b8cb504fa4 feat(core): adjust app sidebar (#8572) 2024-10-22 04:55:05 +00:00
EYHN
6a9a7d8b39 fix(core): fix mobile edition flag (#8571) 2024-10-22 04:29:07 +00:00
renovate
3c09422898 chore: bump up rustc version to v1.82.0 (#8541)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | minor | `1.81.0` -> `1.82.0` |

---

### Release Notes

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

### [`v1.82.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1820-2024-10-17)

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

\==========================

<a id="1.82.0-Language"></a>

## Language

-   [Don't make statement nonterminals match pattern nonterminals](https://redirect.github.com/rust-lang/rust/pull/120221/)
-   [Patterns matching empty types can now be omitted in common cases](https://redirect.github.com/rust-lang/rust/pull/122792)
-   [Enforce supertrait outlives obligations when using trait impls](https://redirect.github.com/rust-lang/rust/pull/124336)
-   [`addr_of(_mut)!` macros and the newly stabilized `&raw (const|mut)` are now safe to use with all static items](https://redirect.github.com/rust-lang/rust/pull/125834)
-   [size_of_val_raw: for length 0 this is safe to call](https://redirect.github.com/rust-lang/rust/pull/126152/)
-   [Reorder trait bound modifiers *after* `for<...>` binder in trait bounds](https://redirect.github.com/rust-lang/rust/pull/127054/)
-   [Stabilize opaque type precise capturing (RFC 3617)](https://redirect.github.com/rust-lang/rust/pull/127672)
-   [Stabilize `&raw const` and `&raw mut` operators (RFC 2582)](https://redirect.github.com/rust-lang/rust/pull/127679)
-   [Stabilize unsafe extern blocks (RFC 3484)](https://redirect.github.com/rust-lang/rust/pull/127921)
-   [Stabilize nested field access in `offset_of!`](https://redirect.github.com/rust-lang/rust/pull/128284)
-   [Do not require `T` to be live when dropping `[T; 0]`](https://redirect.github.com/rust-lang/rust/pull/128438)
-   [Stabilize `const` operands in inline assembly](https://redirect.github.com/rust-lang/rust/pull/128570)
-   [Stabilize floating-point arithmetic in `const fn`](https://redirect.github.com/rust-lang/rust/pull/128596)
-   [Stabilize explicit opt-in to unsafe attributes](https://redirect.github.com/rust-lang/rust/pull/128771)
-   [Document NaN bit patterns guarantees](https://redirect.github.com/rust-lang/rust/pull/129559)

<a id="1.82.0-Compiler"></a>

## Compiler

-   [Promote riscv64gc-unknown-linux-musl to tier 2](https://redirect.github.com/rust-lang/rust/pull/122049)
-   [Promote Mac Catalyst targets `aarch64-apple-ios-macabi` and `x86_64-apple-ios-macabi` to Tier 2, and ship them with rustup](https://redirect.github.com/rust-lang/rust/pull/126450)
-   [Add tier 3 NuttX based targets for RISC-V and ARM](https://redirect.github.com/rust-lang/rust/pull/127755)
-   [Add tier 3 powerpc-unknown-linux-muslspe target](https://redirect.github.com/rust-lang/rust/pull/127905)
-   [Improved diagnostics to explain why a pattern is unreachable](https://redirect.github.com/rust-lang/rust/pull/128034)
-   [The compiler now triggers the unreachable code warning properly for async functions that don't return/are `-> !`](https://redirect.github.com/rust-lang/rust/pull/128443)
-   [Promote `aarch64-apple-darwin` to Tier 1](https://redirect.github.com/rust-lang/rust/pull/128592)
-   [Add Trusty OS target `aarch64-unknown-trusty` and `armv7-unknown-trusty` as tier 3 targets](https://redirect.github.com/rust-lang/rust/pull/129490)
-   [Promote `wasm32-wasip2` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126967/)

<a id="1.82.0-Libraries"></a>

## Libraries

-   [Generalize `{Rc,Arc}::make_mut()` to `Path`, `OsStr`, and `CStr`.](https://redirect.github.com/rust-lang/rust/pull/126877)

<a id="1.82.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`std::thread::Builder::spawn_unchecked`](https://doc.rust-lang.org/stable/std/thread/struct.Builder.html#method.spawn_unchecked)
-   [`std::str::CharIndices::offset`](https://doc.rust-lang.org/nightly/std/str/struct.CharIndices.html#method.offset)
-   [`std::option::Option::is_none_or`](https://doc.rust-lang.org/nightly/std/option/enum.Option.html#method.is_none_or)
-   [`[T]::is_sorted`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted)
-   [`[T]::is_sorted_by`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by)
-   [`[T]::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by_key)
-   [`Iterator::is_sorted`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted)
-   [`Iterator::is_sorted_by`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by)
-   [`Iterator::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by_key)
-   [`std::future::Ready::into_inner`](https://doc.rust-lang.org/nightly/std/future/struct.Ready.html#method.into_inner)
-   [`std::iter::repeat_n`](https://doc.rust-lang.org/nightly/std/iter/fn.repeat_n.html)
-   [`impl<T: Clone> DoubleEndedIterator for Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-DoubleEndedIterator-for-Take%3CRepeat%3CT%3E%3E)
-   [`impl<T: Clone> ExactSizeIterator for Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeat%3CT%3E%3E)
-   [`impl<T: Clone> ExactSizeIterator for Take<RepeatWith<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeatWith%3CF%3E%3E)
-   [`impl Default for std::collections::binary_heap::Iter`](https://doc.rust-lang.org/nightly/std/collections/binary_heap/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E)
-   [`impl Default for std::collections::btree_map::RangeMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.RangeMut.html#impl-Default-for-RangeMut%3C'\_,+K,+V%3E)
-   [`impl Default for std::collections::btree_map::ValuesMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.ValuesMut.html#impl-Default-for-ValuesMut%3C'\_,+K,+V%3E)
-   [`impl Default for std::collections::vec_deque::Iter`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E)
-   [`impl Default for std::collections::vec_deque::IterMut`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.IterMut.html#impl-Default-for-IterMut%3C'\_,+T%3E)
-   [`Rc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit)
-   [`Rc<T>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init)
-   [`Rc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit_slice)
-   [`Rc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init-1)
-   [`Arc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit)
-   [`Arc<T>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init)
-   [`Arc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit_slice)
-   [`Arc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init-1)
-   [`Box<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit)
-   [`Box<T>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init)
-   [`Box<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit_slice)
-   [`Box<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init-1)
-   [`core::arch::x86_64::_bextri_u64`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u64.html)
-   [`core::arch::x86_64::_bextri_u32`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u32.html)
-   [`core::arch::x86::_mm_broadcastsi128_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_broadcastsi128\_si256.html)
-   [`core::arch::x86::_mm256_stream_load_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm256\_stream_load_si256.html)
-   [`core::arch::x86::_tzcnt_u16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_tzcnt_u16.html)
-   [`core::arch::x86::_mm_extracti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_extracti_si64.html)
-   [`core::arch::x86::_mm_inserti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_inserti_si64.html)
-   [`core::arch::x86::_mm_storeu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si16.html)
-   [`core::arch::x86::_mm_storeu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si32.html)
-   [`core::arch::x86::_mm_storeu_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si64.html)
-   [`core::arch::x86::_mm_loadu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si16.html)
-   [`core::arch::x86::_mm_loadu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si32.html)
-   [`core::arch::wasm32::u8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_swizzle.html)
-   [`core::arch::wasm32::i8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_swizzle.html)
-   [`core::arch::wasm32::i32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f32x4.html)
-   [`core::arch::wasm32::u32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f32x4.html)
-   [`core::arch::wasm32::i32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f64x2\_zero.html)
-   [`core::arch::wasm32::u32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f64x2\_zero.html)
-   [`core::arch::wasm32::f32x4_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_madd.html)
-   [`core::arch::wasm32::f32x4_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_nmadd.html)
-   [`core::arch::wasm32::f64x2_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_madd.html)
-   [`core::arch::wasm32::f64x2_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_nmadd.html)
-   [`core::arch::wasm32::i8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i64x2\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u64x2\_relaxed_laneselect.html)
-   [`core::arch::wasm32::f32x4_relaxed_min`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_min.html)
-   [`core::arch::wasm32::f32x4_relaxed_max`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_max.html)
-   [`core::arch::wasm32::f64x2_relaxed_min`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_min.html)
-   [`core::arch::wasm32::f64x2_relaxed_max`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_max.html)
-   [`core::arch::wasm32::i16x8_relaxed_q15mulr`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_q15mulr.html)
-   [`core::arch::wasm32::u16x8_relaxed_q15mulr`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_q15mulr.html)
-   [`core::arch::wasm32::i16x8_relaxed_dot_i8x16_i7x16`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_dot_i8x16\_i7x16.html)
-   [`core::arch::wasm32::u16x8_relaxed_dot_i8x16_i7x16`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_dot_i8x16\_i7x16.html)
-   [`core::arch::wasm32::i32x4_relaxed_dot_i8x16_i7x16_add`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_dot_i8x16\_i7x16\_add.html)
-   [`core::arch::wasm32::u32x4_relaxed_dot_i8x16_i7x16_add`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_dot_i8x16\_i7x16\_add.html)

These APIs are now stable in const contexts:

-   [`std::task::Waker::from_raw`](https://doc.rust-lang.org/nightly/std/task/struct.Waker.html#method.from_raw)
-   [`std::task::Context::from_waker`](https://doc.rust-lang.org/nightly/std/task/struct.Context.html#method.from_waker)
-   [`std::task::Context::waker`](https://doc.rust-lang.org/nightly/std/task/struct.Context.html#method.waker)
-   [`$integer::from_str_radix`](https://doc.rust-lang.org/nightly/std/primitive.u32.html#method.from_str_radix)
-   [`std::num::ParseIntError::kind`](https://doc.rust-lang.org/nightly/std/num/struct.ParseIntError.html#method.kind)

<a id="1.82.0-Cargo"></a>

## Cargo

-   [feat: Add `info` cargo subcommand](https://redirect.github.com/rust-lang/cargo/pull/14141/)

<a id="1.82.0-Compatibility-Notes"></a>

## Compatibility Notes

-   We now [disallow setting some built-in cfgs via the command-line](https://redirect.github.com/rust-lang/rust/pull/126158) with the newly added [`explicit_builtin_cfgs_in_flags`](https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html#explicit-builtin-cfgs-in-flags) lint in order to prevent incoherent state, eg. `windows` cfg active but target is Linux based. The appropriate [`rustc` flag](https://doc.rust-lang.org/rustc/command-line-arguments.html) should be used instead.
-   The standard library has a new implementation of `binary_search` which is significantly improves performance ([#&#8203;128254](https://redirect.github.com/rust-lang/rust/pull/128254)). However when a sorted slice has multiple values which compare equal, the new implementation may select a different value among the equal ones than the old implementation.
-   [illumos/Solaris now sets `MSG_NOSIGNAL` when writing to sockets](https://redirect.github.com/rust-lang/rust/pull/128259). This avoids killing the process with SIGPIPE when writing to a closed socket, which matches the existing behavior on other UNIX targets.
-   [Removes a problematic hack that always passed the --whole-archive linker flag for tests, which may cause linker errors for code accidentally relying on it.](https://redirect.github.com/rust-lang/rust/pull/128400)
-   The WebAssembly target features `multivalue` and `reference-types` are now
    both enabled by default. These two features both have subtle changes implied
    for generated WebAssembly binaries. For the `multivalue` feature, WebAssembly
    target support has changed when upgrading to LLVM 19. Support for generating
    functions with multiple returns no longer works and
    `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18
    and prior. There is no longer any supported means to generate a module that has
    a function with multiple returns in WebAssembly from Rust source code. For the
    `reference-types` feature the encoding of immediates in the `call_indirect`, a
    commonly used instruction by the WebAssembly backend, has changed. Validators
    and parsers which don't understand the `reference-types` proposal will no
    longer accept modules produced by LLVM due to this change in encoding of
    immediates. Additionally these features being enabled are encoded in the
    `target_features` custom section and may affect downstream tooling such as
    `wasm-opt` consuming the module. Generating a WebAssembly module that disables
    default features requires `-Zbuild-std` support from Cargo and more information
    can be found at
    [rust-lang/rust#128511](https://redirect.github.com/rust-lang/rust/pull/128511).
-   [Rust now raises unsafety errors for union patterns in parameter-position](https://redirect.github.com/rust-lang/rust/pull/130531)

<a id="1.82.0-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.

-   [Update to LLVM 19](https://redirect.github.com/rust-lang/rust/pull/127513)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-22 04:13:03 +00:00
renovate
55d24038f3 chore: bump up oxlint version to v0.10.1 (#8550)
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.10` -> `0.10.1`](https://renovatebot.com/diffs/npm/oxlint/0.9.10/0.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.9.10/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.9.10/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

##### \[0.10.1] - 2024-10-21

##### Features

-   [`af25752`](https://redirect.github.com/oxc-project/oxc/commit/af25752) linter: Add `unicorn/prefer-math-min-max` ([#&#8203;6621](https://redirect.github.com/oxc-project/oxc/issues/6621)) (Brian Liu)
-   [`5095f02`](https://redirect.github.com/oxc-project/oxc/commit/5095f02) linter: Added fixer for duplicate prefix in valid title jest rule ([#&#8203;6699](https://redirect.github.com/oxc-project/oxc/issues/6699)) (Tapan Prakash)
-   [`e9976d4`](https://redirect.github.com/oxc-project/oxc/commit/e9976d4) linter: Add title whitespace fixer for jest valid title rule ([#&#8203;6669](https://redirect.github.com/oxc-project/oxc/issues/6669)) (Tapan Prakash)
-   [`45f02d5`](https://redirect.github.com/oxc-project/oxc/commit/45f02d5) linter: Add `unicorn/consistent-empty-array-spread` ([#&#8203;6695](https://redirect.github.com/oxc-project/oxc/issues/6695)) (Brian Liu)
-   [`01a35bb`](https://redirect.github.com/oxc-project/oxc/commit/01a35bb) linter/eslint: Show ignore patterns in `eslint/no-unused-vars` diagnostic messages ([#&#8203;6696](https://redirect.github.com/oxc-project/oxc/issues/6696)) (DonIsaac)

##### Bug Fixes

-   [`1bcd707`](https://redirect.github.com/oxc-project/oxc/commit/1bcd707) editor: Update config sent to language server ([#&#8203;6724](https://redirect.github.com/oxc-project/oxc/issues/6724)) (Nicholas Rayburn)
-   [`ce25c45`](https://redirect.github.com/oxc-project/oxc/commit/ce25c45) linter: Panic in `disable-directives` ([#&#8203;6677](https://redirect.github.com/oxc-project/oxc/issues/6677)) (dalaoshu)
-   [`a5de230`](https://redirect.github.com/oxc-project/oxc/commit/a5de230) linter/import: `import/no-duplicates` handles namespace imports correctly ([#&#8203;6694](https://redirect.github.com/oxc-project/oxc/issues/6694)) (DonIsaac)
-   [`b0b6ac7`](https://redirect.github.com/oxc-project/oxc/commit/b0b6ac7) linter/no-cond-assign: False positive when assignment is in body statement ([#&#8203;6665](https://redirect.github.com/oxc-project/oxc/issues/6665)) (camchenry)

##### Performance

-   [`6a76ea8`](https://redirect.github.com/oxc-project/oxc/commit/6a76ea8) linter/no-unused-vars: Use default IgnorePattern when /^\_/ is provided as a pattern ([#&#8203;6697](https://redirect.github.com/oxc-project/oxc/issues/6697)) (DonIsaac)

##### Refactor

-   [`d6609e9`](https://redirect.github.com/oxc-project/oxc/commit/d6609e9) linter: Use `run_on_jest_node` for existing lint rules ([#&#8203;6722](https://redirect.github.com/oxc-project/oxc/issues/6722)) (camchenry)
-   [`97195ec`](https://redirect.github.com/oxc-project/oxc/commit/97195ec) linter: Add `run_on_jest_node` to run rules on only jest nodes ([#&#8203;6721](https://redirect.github.com/oxc-project/oxc/issues/6721)) (camchenry)
-   [`155fe7e`](https://redirect.github.com/oxc-project/oxc/commit/155fe7e) linter: Allow `Semantic` to be passed for collecting Jest nodes ([#&#8203;6720](https://redirect.github.com/oxc-project/oxc/issues/6720)) (camchenry)
-   [`ad8f281`](https://redirect.github.com/oxc-project/oxc/commit/ad8f281) linter: Use iter for collecting jest nodes ([#&#8203;6719](https://redirect.github.com/oxc-project/oxc/issues/6719)) (camchenry)
-   [`dc19a8f`](https://redirect.github.com/oxc-project/oxc/commit/dc19a8f) linter: Use iterator for collecting jest imports ([#&#8203;6718](https://redirect.github.com/oxc-project/oxc/issues/6718)) (camchenry)
-   [`29c1447`](https://redirect.github.com/oxc-project/oxc/commit/29c1447) linter: `jest/valid-title` fixer to use `Span::shrink` method ([#&#8203;6703](https://redirect.github.com/oxc-project/oxc/issues/6703)) (Tapan Prakash)
-   [`2eb984a`](https://redirect.github.com/oxc-project/oxc/commit/2eb984a) linter: Add missing `should_run` implementations ([#&#8203;6666](https://redirect.github.com/oxc-project/oxc/issues/6666)) (camchenry)
-   [`23f88b3`](https://redirect.github.com/oxc-project/oxc/commit/23f88b3) linter/import: Better diagnostic messages for `import/no-duplicates` ([#&#8203;6693](https://redirect.github.com/oxc-project/oxc/issues/6693)) (DonIsaac)

### [`v0.10.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#0100---2024-10-18)

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

##### Features

-   [`6e3224d`](https://redirect.github.com/oxc-project/oxc/commit/6e3224d) linter: Configure by category in config files ([#&#8203;6120](https://redirect.github.com/oxc-project/oxc/issues/6120)) (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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-22 03:57:04 +00:00
renovate
bd90ca69a8 chore: bump up @nestjs/event-emitter version to v2.1.1 (#8563)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/event-emitter](https://redirect.github.com/nestjs/event-emitter) | [`2.0.4` -> `2.1.1`](https://renovatebot.com/diffs/npm/@nestjs%2fevent-emitter/2.0.4/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fevent-emitter/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fevent-emitter/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fevent-emitter/2.0.4/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fevent-emitter/2.0.4/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/event-emitter (@&#8203;nestjs/event-emitter)</summary>

### [`v2.1.1`](https://redirect.github.com/nestjs/event-emitter/releases/tag/2.1.1)

[Compare Source](https://redirect.github.com/nestjs/event-emitter/compare/2.1.0...2.1.1)

-   chore: upgrade to eslint v9 ([`c874a93`](https://redirect.github.com/nestjs/event-emitter/commit/c874a93))
-   fix: minor typing issue ([`16f70cb`](https://redirect.github.com/nestjs/event-emitter/commit/16f70cb))

### [`v2.1.0`](https://redirect.github.com/nestjs/event-emitter/compare/2.0.4...971373213a9ca0f28a7b8417f5ebffdc6d1dffcf)

[Compare Source](https://redirect.github.com/nestjs/event-emitter/compare/2.0.4...2.1.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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-22 03:43:05 +00:00
JimmFly
8c0ee0f52b fix(core): clicking change mode in the menu should switch both view and mode (#8562)
close AF-1524
2024-10-22 03:29:06 +00:00
CatsJuice
ed511f8d29 fix(component): correct notification theme when theme toggled (#8570)
close AF-1526
2024-10-22 03:15:33 +00:00
CatsJuice
21d3b5084a refactor(mobile): use separate explorer components for mobile (#8503)
close AF-1488

- remove dnd related logic
- separate styles
- remove empty status, always show a `New` button in each level of tree
2024-10-22 03:01:04 +00:00
Brooooooklyn
97ccf7f3e4 fix(ios): set testflight version number correctly (#8565) 2024-10-22 02:31:03 +00:00
CatsJuice
64f97806bb fix(core): free cloud and ai onetime payment adaptation (#8558)
close AF-1515, AF-1516
2024-10-22 02:18:04 +00:00
darkskygit
054c0ef9f1 feat: isolate user content (#8568)
fix AF-1513
2024-10-22 02:05:03 +00:00
EYHN
7cd4028176 feat(core): adjust doc property style (#8561) 2024-10-21 09:41:45 +00:00
EYHN
42b3e069f9 feat(core): use contain strict optimizing performance (#8553) 2024-10-21 06:42:08 +00:00
JimmFly
a25bb0d80f feat(core): keep the sidebar instance when the sidebar is collapsed (#8560)
close AF-1507 AF-1506 AF-1479

https://github.com/user-attachments/assets/627242e3-f6f9-44c5-b0c8-87806cbb8489
2024-10-21 06:28:31 +00:00
github-actions[bot]
2c90a95092 chore(i18n): sync translations (#8543)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-10-21 06:27:46 +00:00
forehalo
1ed9775c45 fix(core): global error handler should be registered outside webpack runtime (#8556) 2024-10-21 05:58:05 +00:00
EYHN
db374f7feb feat(core): build config for ios android (#8555) 2024-10-21 05:39:04 +00:00
JimmFly
d1783b6f8c feat(core): prevent the floating sidebar from showing immediately after the sidebar is closed (#8531)
close PD-1763

https://github.com/user-attachments/assets/a8346098-5f87-4297-bdb6-885f5486ce78
2024-10-21 05:26:02 +00:00
JimmFly
90ef12eaca fix(core): sidebar shakes unexpectedly during init on mobile (#8506)
https://github.com/user-attachments/assets/4b2791fb-073b-4653-bf2b-d04653bde3c8
2024-10-21 05:13:27 +00:00
JimmFly
3ca052c55f chore: adjust style of CloudUserAvatar (#8548)
close PD-1774

![CleanShot 2024-10-18 at 17 59 52@2x](https://github.com/user-attachments/assets/ac73fa27-25ab-4136-9008-7abde4491f92)
2024-10-19 13:37:06 +00:00
JimmFly
675a010dfc fix(core): prevent floating sidebar from disappearing unexpectedly (#8477)
close AF-1475

Fixed an issue where you couldn't create collection or use the rename function in the floating sidebar.

https://github.com/user-attachments/assets/41c2b6a8-8fc9-4f8b-ab51-bd7ce2a58738
2024-10-19 13:24:08 +00:00
EYHN
01c3a3b4c0 feat(infra): collect more data to indexer (#8528) 2024-10-19 20:22:26 +08:00
CatsJuice
8f92be926b feat(core): new "is journal" page property (#8525)
close AF-1450, AF-1451, AF-14552
2024-10-18 10:03:08 +00:00
Brooooooklyn
714a87c2c0 feat(mobile): iOS app testflight (#8501) 2024-10-18 09:30:38 +00:00
renovate
ce341a9a30 chore: bump up @blocksuite/icons version to v2.1.69 (#8545)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.69`](10046ca695...1c43c2b2e4)

[Compare Source](10046ca695...1c43c2b2e4)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-18 08:20:03 +00:00
liuyi
9b31183bd1 feat(core): add global error handler (#8509) 2024-10-18 14:34:13 +08:00
github-actions[bot]
4b77f6ed34 chore(i18n): sync translations (#8527)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: forehalo <forehalo@gmail.com>
2024-10-18 06:13:58 +00:00
darkskygit
fa554b1054 feat: add copilot metrics (#8455)
fix CLOUD-73
2024-10-18 03:30:02 +00:00
renovate
4122cec096 chore: bump up nestjs to v10.4.5 (#8516)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.4.4` -> `10.4.5`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.4.4/10.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.4.4/10.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/core)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-socket.io)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/testing)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/websockets)</summary>

### [`v10.4.5`](https://redirect.github.com/nestjs/nest/compare/v10.4.4...ed644e9877d4fdf8bc8788622119d468cdce0df7)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.4...v10.4.5)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-17 15:12:17 +00:00
renovate
a8c28a7935 chore: bump up is-mobile version to v5 (#8519)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>juliangruber/is-mobile (is-mobile)</summary>

### [`v5.0.0`](https://redirect.github.com/juliangruber/is-mobile/releases/tag/v5.0.0)

[Compare Source](https://redirect.github.com/juliangruber/is-mobile/compare/v4.0.0...v5.0.0)

-   fix: add support for Redmi mobile ([#&#8203;46](https://redirect.github.com/juliangruber/is-mobile/issues/46))  [`fcae560`](https://redirect.github.com/juliangruber/is-mobile/commit/fcae560)
-   Bump braces from 3.0.2 to 3.0.3 ([#&#8203;45](https://redirect.github.com/juliangruber/is-mobile/issues/45))  [`eaf1499`](https://redirect.github.com/juliangruber/is-mobile/commit/eaf1499)
-   add `tea.yaml`  [`6a1cd5c`](https://redirect.github.com/juliangruber/is-mobile/commit/6a1cd5c)
-   add SECURITY.md  [`39bfa4b`](https://redirect.github.com/juliangruber/is-mobile/commit/39bfa4b)
-   Bump got and np ([#&#8203;43](https://redirect.github.com/juliangruber/is-mobile/issues/43))  [`11ff396`](https://redirect.github.com/juliangruber/is-mobile/commit/11ff396)
-   Bump word-wrap from 1.2.3 to 1.2.4 ([#&#8203;42](https://redirect.github.com/juliangruber/is-mobile/issues/42))  [`e969a77`](https://redirect.github.com/juliangruber/is-mobile/commit/e969a77)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-17 14:54:07 +00:00
forehalo
76cfadf4e5 chore(core): remove deprecated intl polyfill (#8526) 2024-10-17 14:28:15 +00:00
JimmFly
8d3a543a81 fix(core): unexpected double-click behavior when selecting multiple options on all doc pages (#8461)
close AF-968
2024-10-17 14:15:05 +00:00
JimmFly
2f2e03d3f9 feat(core): close the floating sidebar when creating and opening a doc (#8535)
close AF-1478

https://github.com/user-attachments/assets/5a2a27f3-7df3-4119-9a1a-1372353e4413
2024-10-17 14:02:09 +00:00
JimmFly
bfb8d582ed feat(core): set doc mode and primary doc mode separately (#8359)
https://github.com/user-attachments/assets/98c282f2-4c53-475f-bf10-936a626c2630
2024-10-17 13:48:45 +00:00
forehalo
7dae5c5dd5 feat(core): simplify subscribe page param (#8518)
AF-1481
2024-10-17 07:05:00 +00:00
forehalo
b7fac5acb8 fix(server): no more selfhost paths (#8530)
closes #8521
2024-10-17 06:53:01 +00:00
EYHN
ee641f0377 fix(infra): fix built in property order error (#8524) 2024-10-17 05:15:09 +00:00
forehalo
4e640b4ffc fix(core): journal nav button icon (#8517)
close AF-1494
2024-10-17 04:16:30 +00:00
github-actions[bot]
1f950ff858 chore(i18n): sync translations (#8505)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: forehalo <forehalo@gmail.com>
2024-10-17 04:15:48 +00:00
donteatfriedrice
11aa6f63b2 refactor: move chat block to affine (#8368)
[BS-898](https://linear.app/affine-design/issue/BS-898/move-ai-chat-block-to-affine)

Should be merged after https://github.com/toeverything/blocksuite/pull/8420 merged and bumped.
2024-10-16 12:40:30 +00:00
liuyi
6f541ecf80 ci: increase renderer server replica count (#8469) 2024-10-16 19:36:58 +08:00
JimmFly
868d984646 chore: format readme.md (#8515) 2024-10-16 10:24:58 +00:00
donqu1xotevincent
700e2b52d9 Update README.md (#8511) 2024-10-16 17:26:06 +08:00
EYHN
140ac723e6 refactor(core): adapter to new journal and property (#8508)
remove old WorkspacePropertyAdapter
add JournalService
2024-10-16 08:46:38 +00:00
pengx17
72e1489c62 fix(electron): tab max width (#8507)
fix PD-1727
2024-10-16 08:32:27 +00:00
forehalo
6fe8100fb3 ci: update crowdin sync pr title 2024-10-16 13:16:01 +08:00
github-actions[bot]
49570b796d New Crowdin Translations (#8389)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: forehalo <forehalo@gmail.com>
2024-10-16 05:15:02 +00:00
野声
f393f89a3f fix(server): blank screen on mobile (#8460)
Co-authored-by: forehalo <forehalo@gmail.com>
2024-10-16 13:12:40 +08:00
JimmFly
82916e8264 feat(core): make AI functions follow server configuration (#8374) 2024-10-16 13:03:56 +08:00
DarkSky
075cedabf7 fix: message attachment merge (#8498) 2024-10-16 12:57:53 +08:00
EYHN
e7dcf63c77 refactor(core): rename doc property component name (#8500) 2024-10-16 02:11:46 +00:00
pengx17
c0601e04fb fix(electron): shell missing i18n init (#8499) 2024-10-15 10:30:03 +00:00
EYHN
24e0c5797c refactor(core): doc property (#8465)
doc property upgraded to use orm.

The visibility of the property are simplified to three types: `always show`, `always hide`, `hide when empty`, and the default is `always show`.

![CleanShot 2024-10-14 at 15 34 52](https://github.com/user-attachments/assets/748b8b80-061f-4d6a-8579-52e59df717c2)

Added a sidebar view to manage properties
![CleanShot 2024-10-14 at 15 35 58](https://github.com/user-attachments/assets/bffa9b1a-a1a5-4708-b2e8-4963120f3af9)

new property ui in workspace settings
![CleanShot 2024-10-14 at 15 36 44](https://github.com/user-attachments/assets/572d8dcc-9b3d-462a-9bcc-5f5fa8e622da)

Property lists can be collapsed
![CleanShot 2024-10-14 at 15 37 59](https://github.com/user-attachments/assets/2b20be1a-8141-478a-8fe7-405aff6d04fd)
2024-10-15 10:17:12 +00:00
darkskygit
13b24eb823 feat: refresh captcha correctly (#8491)
fix AF-1482
2024-10-15 09:10:28 +00:00
renovate
3d3a66c3ed chore: bump up electron version to v33 (#8495)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v33.0.0`](https://redirect.github.com/electron/electron/compare/v32.2.0...v33.0.0)

[Compare Source](https://redirect.github.com/electron/electron/compare/v32.2.0...v33.0.0)

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

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

### Release Notes for v32.2.0

#### Fixes

-   Fixed a crash when calling `focus` on a `WebView`'s `webContents`. [#&#8203;43934](https://redirect.github.com/electron/electron/pull/43934) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43933), [33](https://redirect.github.com/electron/electron/pull/43932))</span>
-   Fixed a potential issue accessing a child window document when overriding browserWindow creation via `setWindowOpenHandler`. [#&#8203;43877](https://redirect.github.com/electron/electron/pull/43877) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43878), [33](https://redirect.github.com/electron/electron/pull/43816))</span>
-   Fixed an issue where an exception could be thrown on BrowserView after its owner BrowserWindow was closed. [#&#8203;44001](https://redirect.github.com/electron/electron/pull/44001) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43999), [33](https://redirect.github.com/electron/electron/pull/44000))</span>
-   Fixed closing a window with more than one attached sheet on macOS. [#&#8203;43954](https://redirect.github.com/electron/electron/pull/43954) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43953), [33](https://redirect.github.com/electron/electron/pull/43952))</span>
-   Fixed potential use-after-free during view removal on macOS. [#&#8203;43923](https://redirect.github.com/electron/electron/pull/43923) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43924), [33](https://redirect.github.com/electron/electron/pull/43922))</span>

#### Other Changes

-   Ensured that the `sender-id` hint is set when creating desktop notifications on DBus. [#&#8203;43950](https://redirect.github.com/electron/electron/pull/43950) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43951), [33](https://redirect.github.com/electron/electron/pull/43949))</span>
-   Updated Chromium to 128.0.6613.178. [#&#8203;44086](https://redirect.github.com/electron/electron/pull/44086)
-   Updated Node.js to v20.18.0. [#&#8203;44116](https://redirect.github.com/electron/electron/pull/44116)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-10-15 07:18:28 +00:00
pengx17
c484cad7b2 fix(mobile): handle touch event correctly (#8496)
related:

radix-ui has a hack for dealing with touch event on mobile devices. we may not want to stop propagation for event that is not being handled, even for links

74b182b401/packages/react/dismissable-layer/src/DismissableLayer.tsx (L243-L261)
2024-10-15 05:56:23 +00:00
pengx17
3d3864fa5b build(electron): use live origin http protocol instead of file:// (#8464)
fix AF-1428
2024-10-15 05:42:52 +00:00
Don Isaac
9970138009 chore(oxlint): configure rule categories in oxlint.json (#8494)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-10-15 11:20:21 +08:00
野声
691e1c22c2 feat(admin): allow config unlimited copilot (#8487)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-10-15 10:11:04 +08:00
darkskygit
49478638bc chore(server): downscale non-prod env (#8493) 2024-10-15 01:31:29 +00:00
CatsJuice
abc18eb7f9 chore: bump theme (#8478) 2024-10-14 23:58:25 +00:00
pengx17
96d3692b35 test(electron): electron tests on ubuntu 24 (#8492)
Operating System
  Ubuntu
  24.04.1
  LTS

Github ubuntu-latest now points to 24.04.1
https://github.com/actions/runner-images/issues/10636#issuecomment-2377530635

related possible fix https://github.com/electron/electron/issues/17972#issuecomment-487369441
2024-10-14 10:20:17 +00:00
野声
79ef8c3ff8 docs: update contributing documentation (#8486) 2024-10-14 18:18:59 +08:00
darkskygit
d0c9a7bf81 feat: separate user content from prompt (#8480) 2024-10-11 12:47:36 +00:00
renovate
e7ebe0f2c0 chore: bump up oxlint version to v0.9.10 (#8354)
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.6` -> `0.9.10`](https://renovatebot.com/diffs/npm/oxlint/0.9.6/0.9.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.9.6/0.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.9.6/0.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

#### \[0.9.10] - 2024-10-08

-   [`95ca01c`](https://redirect.github.com/oxc-project/oxc/commit/95ca01c) cfg: \[**BREAKING**] Make BasicBlock::unreachable private ([#&#8203;6321](https://redirect.github.com/oxc-project/oxc/issues/6321)) (DonIsaac)

-   [`5a73a66`](https://redirect.github.com/oxc-project/oxc/commit/5a73a66) regular_expression: \[**BREAKING**] Simplify public APIs ([#&#8203;6262](https://redirect.github.com/oxc-project/oxc/issues/6262)) (leaysgur)

##### Features

-   [`f272137`](https://redirect.github.com/oxc-project/oxc/commit/f272137) editors/vscode: Clear diagnostics on file deletion ([#&#8203;6326](https://redirect.github.com/oxc-project/oxc/issues/6326)) (dalaoshu)
-   [`1a5f293`](https://redirect.github.com/oxc-project/oxc/commit/1a5f293) editors/vscode: Update VSCode extention to use project's language server ([#&#8203;6132](https://redirect.github.com/oxc-project/oxc/issues/6132)) (dalaoshu)
-   [`376cc09`](https://redirect.github.com/oxc-project/oxc/commit/376cc09) linter: Implement `no-throw-literal` ([#&#8203;6144](https://redirect.github.com/oxc-project/oxc/issues/6144)) (dalaoshu)
-   [`5957214`](https://redirect.github.com/oxc-project/oxc/commit/5957214) linter: Allow fixing in files with source offsets ([#&#8203;6197](https://redirect.github.com/oxc-project/oxc/issues/6197)) (camchenry)
-   [`a089e19`](https://redirect.github.com/oxc-project/oxc/commit/a089e19) linter: Eslint/no-else-return ([#&#8203;4305](https://redirect.github.com/oxc-project/oxc/issues/4305)) (yoho)
-   [`183739f`](https://redirect.github.com/oxc-project/oxc/commit/183739f) linter: Implement prefer-await-to-callbacks ([#&#8203;6153](https://redirect.github.com/oxc-project/oxc/issues/6153)) (dalaoshu)
-   [`ae539af`](https://redirect.github.com/oxc-project/oxc/commit/ae539af) linter: Implement no-return-assign ([#&#8203;6108](https://redirect.github.com/oxc-project/oxc/issues/6108)) (Radu Baston)

##### Bug Fixes

-   [`00df6e5`](https://redirect.github.com/oxc-project/oxc/commit/00df6e5) linter: Friendly diagnostic messages for `no-else-return` ([#&#8203;6349](https://redirect.github.com/oxc-project/oxc/issues/6349)) (DonIsaac)
-   [`71ad5d3`](https://redirect.github.com/oxc-project/oxc/commit/71ad5d3) linter: `no-else-return` fixer fails when `else` has no trailing whitespace ([#&#8203;6348](https://redirect.github.com/oxc-project/oxc/issues/6348)) (DonIsaac)
-   [`9e9808b`](https://redirect.github.com/oxc-project/oxc/commit/9e9808b) linter: Fix regression when parsing ts in vue files ([#&#8203;6336](https://redirect.github.com/oxc-project/oxc/issues/6336)) (Boshen)
-   [`93c6db6`](https://redirect.github.com/oxc-project/oxc/commit/93c6db6) linter: Improve docs and diagnostics message for no-else-return ([#&#8203;6327](https://redirect.github.com/oxc-project/oxc/issues/6327)) (DonIsaac)
-   [`e0a3378`](https://redirect.github.com/oxc-project/oxc/commit/e0a3378) linter: Correct false positive in `unicorn/prefer-string-replace-all` ([#&#8203;6263](https://redirect.github.com/oxc-project/oxc/issues/6263)) (H11)
-   [`ea28ee9`](https://redirect.github.com/oxc-project/oxc/commit/ea28ee9) linter: Improve the fixer of `prefer-namespace-keyword` ([#&#8203;6230](https://redirect.github.com/oxc-project/oxc/issues/6230)) (dalaoshu)
-   [`f6a3450`](https://redirect.github.com/oxc-project/oxc/commit/f6a3450) linter: Get correct source offsets for astro files ([#&#8203;6196](https://redirect.github.com/oxc-project/oxc/issues/6196)) (camchenry)
-   [`be0030c`](https://redirect.github.com/oxc-project/oxc/commit/be0030c) linter: Allow whitespace control characters in `no-control-regex` ([#&#8203;6140](https://redirect.github.com/oxc-project/oxc/issues/6140)) (camchenry)
-   [`e7e8ead`](https://redirect.github.com/oxc-project/oxc/commit/e7e8ead) linter: False positive in `no-return-assign` ([#&#8203;6128](https://redirect.github.com/oxc-project/oxc/issues/6128)) (DonIsaac)

##### Performance

-   [`ac0a82a`](https://redirect.github.com/oxc-project/oxc/commit/ac0a82a) linter: Reuse allocator when there are multiple source texts ([#&#8203;6337](https://redirect.github.com/oxc-project/oxc/issues/6337)) (Boshen)
-   [`50a0029`](https://redirect.github.com/oxc-project/oxc/commit/50a0029) linter: Do not concat vec in `no-useless-length-check` ([#&#8203;6276](https://redirect.github.com/oxc-project/oxc/issues/6276)) (camchenry)

##### Documentation

-   [`7ca70dd`](https://redirect.github.com/oxc-project/oxc/commit/7ca70dd) linter: Add docs for `ContextHost` and `LintContext` ([#&#8203;6272](https://redirect.github.com/oxc-project/oxc/issues/6272)) (camchenry)
-   [`a949ecb`](https://redirect.github.com/oxc-project/oxc/commit/a949ecb) linter: Improve docs for `eslint/getter-return` ([#&#8203;6229](https://redirect.github.com/oxc-project/oxc/issues/6229)) (DonIsaac)
-   [`14ba263`](https://redirect.github.com/oxc-project/oxc/commit/14ba263) linter: Improve docs for `eslint-plugin-import` rules ([#&#8203;6131](https://redirect.github.com/oxc-project/oxc/issues/6131)) (dalaoshu)

##### Refactor

-   [`40932f7`](https://redirect.github.com/oxc-project/oxc/commit/40932f7) cfg: Use IndexVec for storing basic blocks ([#&#8203;6323](https://redirect.github.com/oxc-project/oxc/issues/6323)) (DonIsaac)
-   [`642725c`](https://redirect.github.com/oxc-project/oxc/commit/642725c) linter: Rename vars from `ast_node_id` to `node_id` ([#&#8203;6305](https://redirect.github.com/oxc-project/oxc/issues/6305)) (overlookmotel)
-   [`8413175`](https://redirect.github.com/oxc-project/oxc/commit/8413175) linter: Move shared function from utils to rule ([#&#8203;6127](https://redirect.github.com/oxc-project/oxc/issues/6127)) (dalaoshu)
-   [`ba9c372`](https://redirect.github.com/oxc-project/oxc/commit/ba9c372) linter: Make jest/vitest rule mapping more clear ([#&#8203;6273](https://redirect.github.com/oxc-project/oxc/issues/6273)) (camchenry)
-   [`82b8f21`](https://redirect.github.com/oxc-project/oxc/commit/82b8f21) linter: Add schemars and serde traits to AllowWarnDeny and RuleCategories ([#&#8203;6119](https://redirect.github.com/oxc-project/oxc/issues/6119)) (DonIsaac)
-   [`ea908f7`](https://redirect.github.com/oxc-project/oxc/commit/ea908f7) linter: Consolidate file loading logic ([#&#8203;6130](https://redirect.github.com/oxc-project/oxc/issues/6130)) (DonIsaac)
-   [`db751f0`](https://redirect.github.com/oxc-project/oxc/commit/db751f0) linter: Use regexp AST visitor in `no-control-regex` ([#&#8203;6129](https://redirect.github.com/oxc-project/oxc/issues/6129)) (camchenry)
-   [`3aa7e42`](https://redirect.github.com/oxc-project/oxc/commit/3aa7e42) linter: Use RegExp AST visitor for `no-hex-escape` ([#&#8203;6117](https://redirect.github.com/oxc-project/oxc/issues/6117)) (camchenry)
-   [`9d5b44a`](https://redirect.github.com/oxc-project/oxc/commit/9d5b44a) linter: Use regex visitor in `no-regex-spaces` ([#&#8203;6063](https://redirect.github.com/oxc-project/oxc/issues/6063)) (camchenry)
-   [`0d44cf7`](https://redirect.github.com/oxc-project/oxc/commit/0d44cf7) linter: Use regex visitor in `no-useless-escape` ([#&#8203;6062](https://redirect.github.com/oxc-project/oxc/issues/6062)) (camchenry)
-   [`eeb8873`](https://redirect.github.com/oxc-project/oxc/commit/eeb8873) linter: Use regex visitor in `no-empty-character-class` ([#&#8203;6058](https://redirect.github.com/oxc-project/oxc/issues/6058)) (camchenry)

##### Testing

-   [`d883562`](https://redirect.github.com/oxc-project/oxc/commit/d883562) linter: Invalid `eslint/no-unused-vars` options ([#&#8203;6228](https://redirect.github.com/oxc-project/oxc/issues/6228)) (DonIsaac)

### [`v0.9.9`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#099---2024-09-27)

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

##### Bug Fixes

-   [`01b9c4b`](https://redirect.github.com/oxc-project/oxc/commit/01b9c4b) npm/oxlint: Make bin/oxc_language_server an executable ([#&#8203;6066](https://redirect.github.com/oxc-project/oxc/issues/6066)) (Boshen)

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

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

#### \[0.9.8] - 2024-09-24

##### Bug Fixes

-   [`e3c8a12`](https://redirect.github.com/oxc-project/oxc/commit/e3c8a12) linter: Fix panic in sort-keys ([#&#8203;6017](https://redirect.github.com/oxc-project/oxc/issues/6017)) (Boshen)
-   [`4771492`](https://redirect.github.com/oxc-project/oxc/commit/4771492) linter: Fix `import/no_cycle` with `ignoreTypes` ([#&#8203;5995](https://redirect.github.com/oxc-project/oxc/issues/5995)) (Boshen)

##### Performance

-   [`5ae3f36`](https://redirect.github.com/oxc-project/oxc/commit/5ae3f36) linter: `no-fallthrough`: Use string matching instead of Regex for default comment pattern ([#&#8203;6008](https://redirect.github.com/oxc-project/oxc/issues/6008)) (camchenry)
-   [`65d8f9e`](https://redirect.github.com/oxc-project/oxc/commit/65d8f9e) linter, ast-tools, coverage: Use `FxHashSet` instead of `std::collections::HashSet` ([#&#8203;6001](https://redirect.github.com/oxc-project/oxc/issues/6001)) (Cam McHenry)
-   [`2b17003`](https://redirect.github.com/oxc-project/oxc/commit/2b17003) linter, prettier, diagnostics: Use `FxHashMap` instead of `std::collections::HashMap` ([#&#8203;5993](https://redirect.github.com/oxc-project/oxc/issues/5993)) (camchenry)

### [`v0.9.7`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#097---2024-09-23)

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

##### Refactor

-   [`ba7b01f`](https://redirect.github.com/oxc-project/oxc/commit/ba7b01f) linter: Add `LinterBuilder` ([#&#8203;5714](https://redirect.github.com/oxc-project/oxc/issues/5714)) (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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-11 10:13:38 +00:00
JimmFly
040956279a fix(core): sidebar can not be collapsed on mobile (#8475)
close AF-1474
2024-10-11 08:13:38 +00:00
renovate
e6bbd48164 chore: bump up @blocksuite/icons version to v2.1.68 (#8459)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.68`](4bdeb1d0ae...10046ca695)

[Compare Source](4bdeb1d0ae...10046ca695)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE1LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-10-11 06:37:38 +00:00
renovate
2deb258ad9 chore: bump up @blocksuite/icons version to v2.1.68 (#8458)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.68`](4bdeb1d0ae...10046ca695)

[Compare Source](4bdeb1d0ae...10046ca695)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-11 06:00:29 +00:00
pengx17
7fdc30d956 chore(core): i18n postinstall script (#8472)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/13bfc0cb-80a9-48de-bcb0-54c718c73fa8.png)
2024-10-11 04:07:02 +00:00
pengx17
99182167e7 chore(core): i18n dev issue (#8474) 2024-10-11 03:54:49 +00:00
CatsJuice
1c59eda8b7 feat(component): basic notification adaptation for mobile (#8402) 2024-10-11 01:20:09 +00:00
CatsJuice
db4d8ddf0b feat(core): bump theme, update workspace card color variables, add active status (#8467)
close AF-1468
2024-10-11 01:03:38 +00:00
DarkSky
a0bd29d52b docs: Update SECURITY.md (#8471) 2024-10-11 01:12:51 +08:00
CatsJuice
29a31110cd feat(core): onetime subscription ui (#8462) 2024-10-10 10:12:43 +00:00
forehalo
69fb5c06f4 feat(server): support onetime payment subscription (#8369) 2024-10-10 10:12:40 +00:00
pengx17
06e059db88 build(electron): flatpak support for linux (#8439)
some issues
- app icon not showing correctly
- missing wayland support
- runtime is outdated

related to
- https://github.com/toeverything/AFFiNE/issues/3272
- https://github.com/toeverything/AFFiNE/issues/5985
- https://github.com/toeverything/AFFiNE/issues/6642
2024-10-10 09:51:33 +00:00
pengx17
46321b72ba build(electron): deb distro support (#8457)
Add simple .deb support.

Note:
1. auto updater not tested
2. no wayland support
3. may requires --no-sandbox to run

related to https://github.com/toeverything/AFFiNE/issues/3272

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/279f031d-070a-43ef-be67-9acf2134355d.png)
2024-10-10 09:51:32 +00:00
forehalo
9043e6607e refactor(i18n): lazy load languages (#8456)
closes AF-1397
2024-10-10 09:03:06 +00:00
darkskygit
f833017e45 feat: add feature record (#8400) 2024-10-10 08:30:02 +00:00
L-Sun
8696043757 test(core): update outline viewer test in shared page (#8445)
Close [BS-1573](https://linear.app/affine-design/issue/BS-1537/share-page-中-toc-不应该有-[open-in-sidebar]-选项), Related PR: https://github.com/toeverything/blocksuite/pull/8493
2024-10-10 04:29:55 +00:00
CatsJuice
17fec8928f feat(core): emoji as doc icon support with feature flag (#8348)
close AF-1412

Adjusted the priority of the public doc icon:

1. block-reference
2. journal
3. page reference
4. **emoji** (*new)
5. default
2024-10-10 04:14:31 +00:00
renovate[bot]
6e9db761a4 chore: bump up @blocksuite/affine version to v0.17.18 (#8468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 12:14:03 +08:00
renovate
4f5aca56db chore: bump up graphql-upload version to v17 (#8449)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>jaydenseric/graphql-upload (graphql-upload)</summary>

### [`v17.0.0`](https://redirect.github.com/jaydenseric/graphql-upload/blob/HEAD/changelog.md#1700)

[Compare Source](https://redirect.github.com/jaydenseric/graphql-upload/compare/v16.0.2...v17.0.0)

##### Major

-   Updated Node.js support to `^18.18.0 || ^20.9.0 || >=22.0.0`.

-   Updated dev dependencies, some of which require newer Node.js versions than previously supported.

-   Use the TypeScript v5.5+ JSDoc tag `@import` to import types in modules.

-   Removed JSDoc tag `@typedef` that were unintentionally re-exporting types; to migrate import TypeScript types from the correct module:

    ```diff
    - import type { GraphQLUpload } from "graphql-upload/Upload.mjs";
    + import type GraphQLUpload from "graphql-upload/GraphQLUpload.mjs";
    ```

    ```diff
    - import type { processRequest } from "graphql-upload/Upload.mjs";
    + import type processRequest from "graphql-upload/processRequest.mjs";
    ```

    ```diff
    - import type { GraphQLUpload } from "graphql-upload/processRequest.mjs";
    + import type GraphQLUpload from "graphql-upload/GraphQLUpload.mjs";
    ```

-   Refactored tests to use the standard `AbortController`, `fetch`, `File`, and `FormData` APIs available in modern Node.js and removed the dev dependencies [`node-abort-controller`](https://npm.im/node-abort-controller) and [`node-fetch`](https://npm.im/node-fetch).

-   Replaced the test utility function `streamToString` with the function `text` from `node:stream/consumers` that’s available in modern Node.js.

-   Use the Node.js test runner API and remove the dev dependency [`test-director`](https://npm.im/test-director).

##### Minor

-   Support Express v5 by updating the optional peer dependency [`@types/express`](https://npm.im/@&#8203;types/express) to `4.0.29 - 5` and the dev dependency [`express`](https://npm.im/express) to v5, via [#&#8203;389](https://redirect.github.com/jaydenseric/graphql-upload/pull/389).

##### Patch

-   Tweaked the package description.
-   Updated the `package.json` field `repository` to conform to new npm requirements.
-   Updated the package scripts:
    -   Reordered the scripts.
    -   Replaced `npm run` with `node --run`.
-   Updated GitHub Actions CI config:
    -   No longer run the workflow on pull request.
    -   Enable manual workflow dispatching.
    -   Run checks in seperate jobs.
    -   Removed custom step names.
    -   Replaced `npm run` with `node --run`.
    -   Updated the tested Node.js versions to v18, v20, v22.
    -   Updated `actions/checkout` to v4.
    -   Updated `actions/setup-node` to v4.
-   Migrated to the ESLint v9 CLI and “flat” config.
-   Integrated a new dev dependency [`eslint-plugin-jsdoc`](https://npm.im/eslint-plugin-jsdoc) and revised types.
-   Removed the Node.js CLI option `--unhandled-rejections=throw` in the package script `tests` as it’s now the default for all supported Node.js versions.
-   Avoid hardcoding a default value in the type `FileUploadCreateReadStreamOptions` property `highWaterMark` description and use the function `getDefaultHighWaterMark` from `node:stream` in tests.
-   Replaced the test helper class `Deferred` with polyfilled `Promise.withResolvers`.
-   Removed an unnecessary `await` in tests.
-   Omit unused catch bindings in the function `processRequest`.
-   Corrected the JSDoc type `FileUploadCreateReadStreamOptions` in the module `processRequest.mjs`.
-   Avoid using `return` in the middleware.
-   Added a new dev dependency [`async-listen`](https://npm.im/async-listen) to replace the test utility function `listen`.
-   Enabled the TypeScript compiler options `noUnusedLocals` and `noUnusedParameters` and used the prefix `_` for purposefully unused function parameters in tests.
-   Updated the GitHub Markdown syntax for alerts in the readme.
-   Tweaked wording in the readme and JSDoc descriptions.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE0LjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2024-10-09 10:37:08 +00:00
JimmFly
5213431d51 feat(core): show floating sidebar when hovering sidebar swtich (#8393)
web:

https://github.com/user-attachments/assets/3cafe094-7938-4241-8d57-cfd5ccaadf25

client:

https://github.com/user-attachments/assets/ca218a45-de92-4e0a-ad83-c0f47aee2962
2024-10-09 03:48:17 +00:00
EYHN
bfeb05ca45 fix(core): data loss on enable cloud (#8452) 2024-10-08 09:24:26 +00:00
pengx17
ccd1ad617c fix(electron): missing sidebar module for shell (#8447) 2024-10-08 07:18:04 +00:00
EYHN
67f7a4de9c fix(electron): fix windows userspace loss (#8450) 2024-10-08 07:05:37 +00:00
L-Sun
9c8e8d74b6 chore(core): update full width layout padding of peekview (#8446)
Close [BS-1378](https://linear.app/affine-design/issue/BS-1378/center-peek-全宽布局padding错误), related to [AF-1052]( https://linear.app/affine-design/issue/AF-1052/embed-view-候选区域-full-screen-时显示异常,需要修改-padding)
2024-10-08 05:32:04 +00:00
fundon
a2400f3851 refactor(core): optimize editor params synchronization (#8346) 2024-10-08 05:12:00 +00:00
CatsJuice
2569717e9b chore(mobile): adjust tab height (#8409) 2024-10-08 05:01:12 +00:00
forehalo
e61ed98ac3 fix(core): avoid using serverUrlPrefix config (#8448) 2024-10-08 04:50:02 +00:00
JimmFly
cc4be9c670 chore: update app updater button style (#8444)
close AF-1461
2024-10-08 04:39:01 +00:00
L-Sun
afb21f734e fix(core): fix position of toc in peekview (#8441)
Close [BS-1536](https://linear.app/affine-design/issue/BS-1536/peekview中的toc没有fixed)
2024-10-08 02:44:33 +00:00
Тимур
4da0231658 chore: pin postgresql version in self-host compose.yaml (#8420) 2024-10-08 10:44:14 +08:00
pengx17
a3dc074574 feat: ctrl click to open embeded doc in new tab (#8401)
fix AF-1176
depends on https://github.com/toeverything/blocksuite/pull/8478
2024-10-08 02:06:59 +00:00
renovate
80b28cc2a8 chore: Lock file maintenance (#8404)
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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-07 17:20:37 +00:00
EYHN
c26df2e069 feat(infra): doc properties by orm (#8382)
create new orm table docConfiguration

move primary store to docConfiguration
2024-10-07 12:25:47 +00:00
pengx17
f5c49a6ac9 fix(electron): screen resize sometimes does not work well after maximize (#8413)
fix AF-1460
2024-10-07 11:21:57 +00:00
pengx17
6b263d1441 feat(electron): ctrl+= to zoomin on linux (#8412) 2024-10-07 10:56:49 +00:00
renovate
48ebcfc778 chore: bump up stripe version to v17 (#8423)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v17.0.0`](https://redirect.github.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#1700---2024-10-01)

[Compare Source](https://redirect.github.com/stripe/stripe-node/compare/v16.12.0...v17.0.0)

-   [#&#8203;2192](https://redirect.github.com/stripe/stripe-node/pull/2192) Support for APIs in the new API version 2024-09-30.acacia

    This release changes the pinned API version to `2024-09-30.acacia`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-09-30.acacia) and carefully review the API changes before upgrading.

##### ⚠️ Breaking changes  due to changes in the Stripe API

-   Rename `usage_threshold_config` to `usage_threshold` on `Billing.AlertCreateParams` and `Billing.Alert`
-   Remove support for `filter` on `Billing.AlertCreateParams` and `Billing.Alert`. Use the filters on the `usage_threshold` instead
-   Remove support for `customer_consent_collected` on `Terminal.ReaderProcessSetupIntentParams`.

##### ⚠️ Other Breaking changes in the SDK

-   Adjusted default values around reties for HTTP requests. You can use the old defaults by setting them explicitly. New values are:
    -   max retries: `1` -> `2`
    -   max timeout (seconds): `2` -> `5`

##### Additions

-   Add support for `custom_unit_amount` on `ProductCreateParams.default_price_data`
-   Add support for `allow_redisplay` on `Terminal.ReaderProcessPaymentIntentParams.process_config` and `Terminal.ReaderProcessSetupIntentParams`
-   Add support for new value `international_transaction` on enum `Treasury.ReceivedCredit.failure_code`
-   Add support for new value `2024-09-30.acacia` on enum `WebhookEndpointCreateParams.api_version`
-   Add support for new Usage Billing APIs `Billing.MeterEvent`, `Billing.MeterEventAdjustments`, `Billing.MeterEventSession`, `Billing.MeterEventStream` and the new Events API `Core.Events` in the [v2 namespace ](https://docs.corp.stripe.com/api-v2-overview)
-   Add method `parseThinEvent()` on the `Stripe` class to parse [thin events](https://docs.corp.stripe.com/event-destinations#events-overview).
-   Add method [rawRequest()](https://redirect.github.com/stripe/stripe-node/tree/master?tab=readme-ov-file#custom-requests) on the `Stripe` class that takes a HTTP method type, url and relevant parameters to make requests to the Stripe API that are not yet supported in the SDK.

##### Changes

-   Change `BillingPortal.ConfigurationCreateParams.features.subscription_update.default_allowed_updates` and `BillingPortal.ConfigurationCreateParams.features.subscription_update.products` to be optional
-   [#&#8203;2195](https://redirect.github.com/stripe/stripe-node/pull/2195) Remove parseSnapshotEvent
-   [#&#8203;2188](https://redirect.github.com/stripe/stripe-node/pull/2188) Revert "Add raw_request ([#&#8203;2185](https://redirect.github.com/stripe/stripe-node/issues/2185))"
-   [#&#8203;2185](https://redirect.github.com/stripe/stripe-node/pull/2185) Add raw_request
    Adds the ability to make raw requests to the Stripe API, by providing an HTTP method and url.

    Example:

    ```node
    import Stripe from 'stripe';
    const stripe = new Stripe('sk_test_...');

    const response = await stripe.rawRequest(
      'POST',
      '/v1/beta_endpoint',
      { param: 123 },
      { apiVersion: '2022-11-15; feature_beta=v3' }
    );

    ```

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-05 14:48:08 +00:00
renovate
5da65de27a chore: bump up @node-rs/argon2 version to v2 (#8433)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@node-rs/argon2](https://redirect.github.com/napi-rs/node-rs) | [`^1.8.0` -> `^2.0.0`](https://renovatebot.com/diffs/npm/@node-rs%2fargon2/1.8.3/2.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fargon2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fargon2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fargon2/1.8.3/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fargon2/1.8.3/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v2.0.0`](https://redirect.github.com/napi-rs/node-rs/releases/tag/%40node-rs/argon2%402.0.0)

[Compare Source](https://redirect.github.com/napi-rs/node-rs/compare/@node-rs/argon2@&#8203;1.8.3...@node-rs/argon2@&#8203;2.0.0)

#### What's Changed

-   feat(\*): upgrade to NAPI-RS 3.0 alpha by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/node-rs/pull/897](https://redirect.github.com/napi-rs/node-rs/pull/897)
-   fix!(argon2): respect the salt provided in hash options by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/node-rs/pull/899](https://redirect.github.com/napi-rs/node-rs/pull/899)

**Full Changelog**: https://github.com/napi-rs/node-rs/compare/[@&#8203;node-rs/argon2](https://redirect.github.com/node-rs/argon2)[@&#8203;1](https://redirect.github.com/1).8.3...[@&#8203;node-rs/argon2](https://redirect.github.com/node-rs/argon2)[@&#8203;2](https://redirect.github.com/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.

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-05 14:33:07 +00:00
renovate
a4690b3b9d chore: bump up vaul version to v1 (#8406)
This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](a60e76abee...v1.0.0)

### New Docs

https://vaul.emilkowal.ski/getting-started

#### What's Changed

-   fix: undefined window by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/452](https://redirect.github.com/emilkowalski/vaul/pull/452)
-   fix: prevent undefined window by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/453](https://redirect.github.com/emilkowalski/vaul/pull/453)
-   feat: documentation by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/454](https://redirect.github.com/emilkowalski/vaul/pull/454)
-   feat: Add JSDocs by [@&#8203;KajSzy](https://redirect.github.com/KajSzy) in [https://github.com/emilkowalski/vaul/pull/459](https://redirect.github.com/emilkowalski/vaul/pull/459)

**Full Changelog**: https://github.com/emilkowalski/vaul/compare/v0.9.7...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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-05 14:21:14 +00:00
JimmFly
a3f8e6c852 refactor(core): refactor left sidebar to use di (#8385) 2024-09-27 09:32:25 +00:00
renovate
0f9fac420f chore: bump up all non-major dependencies (#8376)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@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.654.0` -> `3.658.1`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.654.0/3.658.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.658.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.658.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.654.0/3.658.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.654.0/3.658.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.0.1` -> `9.0.3`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.0.1/9.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.0.1/9.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.0.1/9.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`^0.19.0` -> `^0.20.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.19.0/0.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-monitoring-exporter/0.20.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.20.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.19.0/0.20.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.19.0/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@google-cloud/opentelemetry-cloud-trace-exporter](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`2.3.0` -> `2.4.1`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.3.0/2.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-cloud-trace-exporter/2.4.1?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.4.1?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.3.0/2.4.1?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.3.0/2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@google-cloud/opentelemetry-resource-util](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js) | [`2.3.0` -> `2.4.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fopentelemetry-resource-util/2.3.0/2.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google-cloud%2fopentelemetry-resource-util/2.4.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.4.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.3.0/2.4.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.3.0/2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`5.19.1` -> `5.20.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.19.1/5.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`5.19.1` -> `5.20.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.19.1/5.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.31.0` -> `8.32.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.31.0/8.32.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.31.0/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.31.0/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.5` -> `20.16.9`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.5/20.16.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.5/20.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.5/20.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.8` -> `18.3.9`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.8/18.3.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.8/18.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.8/18.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [builder-util-runtime](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/builder-util-runtime)) | [`9.2.8` -> `9.2.9`](https://renovatebot.com/diffs/npm/builder-util-runtime/9.2.8/9.2.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/builder-util-runtime/9.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/builder-util-runtime/9.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/builder-util-runtime/9.2.8/9.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/builder-util-runtime/9.2.8/9.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.3.7` -> `6.3.8`](https://renovatebot.com/diffs/npm/electron-updater/6.3.7/6.3.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.3.7/6.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.3.7/6.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.23.0` -> `8.24.0`](https://renovatebot.com/diffs/npm/html-validate/8.23.0/8.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.23.0/8.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.23.0/8.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.445.0` -> `^0.446.0`](https://renovatebot.com/diffs/npm/lucide-react/0.445.0/0.446.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.446.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.446.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.445.0/0.446.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.445.0/0.446.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.8.0` -> `19.8.2`](https://renovatebot.com/diffs/npm/nx/19.8.0/19.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.8.0/19.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.8.0/19.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.63.0` -> `4.65.0`](https://renovatebot.com/diffs/npm/openai/4.63.0/4.65.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.65.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.65.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.63.0/4.65.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.63.0/4.65.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/cli)) | [`5.19.1` -> `5.20.0`](https://renovatebot.com/diffs/npm/prisma/5.19.1/5.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.19.1/5.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.1.2` -> `9.1.3`](https://renovatebot.com/diffs/npm/react-day-picker/9.1.2/9.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.1.2/9.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.1.2/9.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.3.2` -> `8.3.3`](https://renovatebot.com/diffs/npm/storybook/8.3.2/8.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss)) | [`3.4.12` -> `3.4.13`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.12/3.4.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.12/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.12/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vaul](https://vaul.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/vaul)) | [`0.9.4` -> `0.9.9`](https://renovatebot.com/diffs/npm/vaul/0.9.4/0.9.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vaul/0.9.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vaul/0.9.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vaul/0.9.4/0.9.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vaul/0.9.4/0.9.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.7` -> `5.4.8`](https://renovatebot.com/diffs/npm/vite/5.4.7/5.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.7/5.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.7/5.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [webpack](https://redirect.github.com/webpack/webpack) | [`5.94.0` -> `5.95.0`](https://renovatebot.com/diffs/npm/webpack/5.94.0/5.95.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.94.0/5.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.94.0/5.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.78.7` -> `3.78.10`](https://renovatebot.com/diffs/npm/wrangler/3.78.7/3.78.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.78.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.78.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.78.7/3.78.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.78.7/3.78.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

##### Bug Fixes

-   **clients:** allow empty string field values for headers ([#&#8203;6511](https://redirect.github.com/aws/aws-sdk-js-v3/issues/6511)) ([1273ff3](1273ff3170))

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

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

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

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

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

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

</details>

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

### [`v9.0.3`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#903-2024-09-26)

[Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.0.2...v9.0.3)

##### Changed Locales

-   **locale:** update french legal entity types ([#&#8203;3142](https://redirect.github.com/faker-js/faker/issues/3142)) ([d6bceb6](d6bceb662d))

##### Bug Fixes

-   **image:** fix dataUri with type svg-base64 in browsers ([#&#8203;3144](https://redirect.github.com/faker-js/faker/issues/3144)) ([78b2a3a](78b2a3a8b8))

### [`v9.0.2`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#902-2024-09-23)

[Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.0.1...v9.0.2)

##### Bug Fixes

-   **locale:** improve pt_PT location and person data ([#&#8203;3020](https://redirect.github.com/faker-js/faker/issues/3020)) ([3e47ee7](3e47ee7da6))

</details>

<details>
<summary>GoogleCloudPlatform/opentelemetry-operations-js (@&#8203;google-cloud/opentelemetry-cloud-monitoring-exporter)</summary>

### [`v0.20.0`](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.20.0)

[Compare Source](https://redirect.github.com/GoogleCloudPlatform/opentelemetry-operations-js/compare/@google-cloud/opentelemetry-cloud-monitoring-exporter@0.19.0...@google-cloud/opentelemetry-cloud-monitoring-exporter@0.20.0)

</details>

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.20.0`](https://redirect.github.com/prisma/prisma/releases/tag/5.20.0)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/5.19.1...5.20.0)

🌟 **Help us spread the word about Prisma by starring the repo or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.20.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.20.0) about the release.** 🌟

#### Highlights

##### `strictUndefinedChecks` in Preview

With Prisma ORM 5.20.0, the Preview feature `strictUndefinedChecks` will disallow any value that is explicitly `undefined` and will be a runtime error. This change is direct feedback from [this GitHub issue](https://redirect.github.com/prisma/prisma/issues/20169) and follows [our latest proposal](https://redirect.github.com/prisma/prisma/issues/20169#issuecomment-2338360300) on the same issue.

To demonstrate the change, take the following code snippet:

```tsx
prisma.table.deleteMany({
  where: {
    // If `nullableThing` is nullish, this query will remove all data.
    email: nullableThing?.property,
  }
})
```

In Prisma ORM 5.19.0 and below, this could result in unintended behavior. In Prisma ORM 5.20.0, if the `strictUndefinedChecks` Preview feature is enabled, you will get a runtime error instead:

```tsx
Invalid \`prisma.user.findMany()\` invocation in
/client/tests/functional/strictUndefinedChecks/test.ts:0:0
  XX })
  XX
  XX test('throws on undefined input field', async () => {
→ XX   const result = prisma.user.deleteMany({
         where: {
           email: undefined
                  ~~~~~~~~~
         }
       })
Invalid value for argument \`where\`: explicitly \`undefined\` values are not allowed."
```

We have also introduced the `Prisma.skip` symbol, which will allow you to get the previous behavior if desired.

```tsx
prisma.table.findMany({
  where: {
    // Use Prisma.skip to skip parts of the query
    email: nullableEmail ?? Prisma.skip
  }
})
```

From Prisma ORM 5.20.0 onward, we recommend enabling `strictUndefinedChecks`, along with the TypeScript compiler option `exactOptionalPropertyTypes`, which will help catch cases of undefined values at compile time. Together, these two changes will help protect your Prisma queries from potentially destructive behavior.

`strictUndefinedChecks` will be a valid Preview feature for the remainder of Prisma ORM 5. With our next major version, this behavior will become the default and the Preview feature will be “graduated” to Generally Available.

If you have any questions or feedback about `strictUndefinedChecks`, please ask/comment in our dedicated [Preview feature GitHub discussion](https://redirect.github.com/prisma/prisma/discussions/25271).

##### `typedSql` bug fix

Thank you to everyone who has tried out our [`typedSql` Preview feature](https://www.prisma.io/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm) and [provided feedback](https://redirect.github.com/prisma/prisma/discussions/25106)! This release has a quick fix for typescript files generated when Prisma Schema enums had hyphens.

#### Fixes and improvements

##### Prisma

-   [Prisma incorrectly parses CRDB's FK constraint error as `not available`.](https://redirect.github.com/prisma/prisma/issues/24072)
-   [Invalid TypeScript files created by `generate` when typedSql is enabled and enum contains hyphens.](https://redirect.github.com/prisma/prisma/issues/25163)
-   [`@prisma/internals` didn't list `ts-toolbelt` in dependencies.](https://redirect.github.com/prisma/prisma/issues/17952)
-   [using `$extends` prevents model comments from being passed to TypeScript](https://redirect.github.com/prisma/prisma/issues/24648)

##### Prisma Engines

-   [Planetscale engine tests: interactive_tx](https://redirect.github.com/prisma/prisma-engines/issues/4469)
-   [Fix broken engine size publishing workflow](https://redirect.github.com/prisma/prisma-engines/issues/4991)

#### Credits

Huge thanks to [@&#8203;mcuelenaere](https://redirect.github.com/mcuelenaere), [@&#8203;pagewang0](https://redirect.github.com/pagewang0), [@&#8203;key-moon](https://redirect.github.com/key-moon), [@&#8203;pranayat](https://redirect.github.com/pranayat), [@&#8203;yubrot](https://redirect.github.com/yubrot), [@&#8203;thijmenjk](https://redirect.github.com/thijmenjk), [@&#8203;mydea](https://redirect.github.com/mydea), [@&#8203;HRM](https://redirect.github.com/HRM), [@&#8203;haaawk](https://redirect.github.com/haaawk), [@&#8203;baileywickham](https://redirect.github.com/baileywickham), [@&#8203;brian-dlee](https://redirect.github.com/brian-dlee), [@&#8203;nickcarnival](https://redirect.github.com/nickcarnival), [@&#8203;eruditmorina](https://redirect.github.com/eruditmorina), [@&#8203;nzakas](https://redirect.github.com/nzakas), and [@&#8203;gutyerrez](https://redirect.github.com/gutyerrez) for helping!

</details>

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

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

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.31.0...8.32.0)

##### Important Changes

-   **ref(browser): Move navigation span descriptions into op ([#&#8203;13527](https://redirect.github.com/getsentry/sentry-javascript/pull/13527))**

Moves the description of navigation related browser spans into the op, e.g. browser - cache -> browser.cache and sets
the description to the performanceEntry objects' names (in this context it is the URL of the page).

-   **feat(node): Add amqplibIntegration ([#&#8203;13714](https://redirect.github.com/getsentry/sentry-javascript/pull/13714))**

-   **feat(nestjs): Add `SentryGlobalGenericFilter` and allow specifying application ref in global filter ([#&#8203;13673](https://redirect.github.com/getsentry/sentry-javascript/pull/13673))**

Adds a `SentryGlobalGenericFilter` that filters both graphql and http exceptions depending on the context.

-   **feat: Set log level for Fetch/XHR breadcrumbs based on status code ([#&#8203;13711](https://redirect.github.com/getsentry/sentry-javascript/pull/13711))**

Sets log levels in breadcrumbs for 5xx to error and 4xx to warning.

##### Other Changes

-   chore(nextjs): Bump rollup to 3.29.5 ([#&#8203;13761](https://redirect.github.com/getsentry/sentry-javascript/pull/13761))
-   fix(core): Remove `sampled` flag from dynamic sampling context in Tracing without Performance mode ([#&#8203;13753](https://redirect.github.com/getsentry/sentry-javascript/pull/13753))
-   fix(node): Ensure node-fetch does not emit spans without tracing ([#&#8203;13765](https://redirect.github.com/getsentry/sentry-javascript/pull/13765))
-   fix(nuxt): Use Nuxt error hooks instead of errorHandler to prevent 500 ([#&#8203;13748](https://redirect.github.com/getsentry/sentry-javascript/pull/13748))
-   fix(test): Unflake LCP test ([#&#8203;13741](https://redirect.github.com/getsentry/sentry-javascript/pull/13741))

Work in this release was contributed by [@&#8203;Zen-cronic](https://redirect.github.com/Zen-cronic) and [@&#8203;Sjoertjuh](https://redirect.github.com/Sjoertjuh). Thank you for your contributions!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.3.3`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#833)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.3.2...v8.3.3)

-   CLI: Show constraints in error when getting depndencies - [#&#8203;29187](https://redirect.github.com/storybookjs/storybook/pull/29187), thanks [@&#8203;andrasczeh](https://redirect.github.com/andrasczeh)!
-   React-Vite: Downgrade react-docgen-typescript plugin - [#&#8203;29184](https://redirect.github.com/storybookjs/storybook/pull/29184), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!
-   UI: Fix composed storybook TooltipLinkList bug where href isn't passed forward - [#&#8203;29175](https://redirect.github.com/storybookjs/storybook/pull/29175), thanks [@&#8203;JSMike](https://redirect.github.com/JSMike)!

</details>

<details>
<summary>electron-userland/electron-builder (builder-util-runtime)</summary>

### [`v9.2.9`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/builder-util-runtime/CHANGELOG.md#929)

##### Patch Changes

-   [#&#8203;8516](https://redirect.github.com/electron-userland/electron-builder/pull/8516) [`d1cb6bdb`](d1cb6bdbf8) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(chore): upgrading typescript and fixing compiler errors

</details>

<details>
<summary>electron-userland/electron-builder (electron-updater)</summary>

### [`v6.3.8`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-updater/CHANGELOG.md#638)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-updater@6.3.7...electron-updater@6.3.8)

##### Patch Changes

-   [#&#8203;8516](https://redirect.github.com/electron-userland/electron-builder/pull/8516) [`d1cb6bdb`](d1cb6bdbf8) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(chore): upgrading typescript and fixing compiler errors

-   Updated dependencies \[[`d1cb6bdb`](d1cb6bdbf8)]:
    -   builder-util-runtime@9.2.9

</details>

<details>
<summary>html-validate/html-validate (html-validate)</summary>

### [`v8.24.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#8240-2024-09-24)

[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v8.23.0...v8.24.0)

##### Features

-   new `html-validate:browser` configuration preset ([f4e6f5b](f4e6f5ba3b)), closes [#&#8203;261](https://gitlab.com/html-validate/html-validate/issues/261)

</details>

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

### [`v0.446.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.446.0): New icons 0.446.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.445.0...0.446.0)

#### New icons 🎨

-   `file-user` ([#&#8203;2457](https://redirect.github.com/lucide-icons/lucide/issues/2457)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

</details>

<details>
<summary>nrwl/nx (nx)</summary>

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

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

#### 19.8.2 (2024-09-26)

##### 🚀 Features

-   **nx-dev:** powerpack landing page ([#&#8203;27963](https://redirect.github.com/nrwl/nx/pull/27963))

##### 🩹 Fixes

-   **core:** hide no file server process json log ([#&#8203;27626](https://redirect.github.com/nrwl/nx/pull/27626))
-   **js:** [@&#8203;nx/js](https://redirect.github.com/nx/js):init ensures tslib is installed if importHelpers is true ([#&#8203;28083](https://redirect.github.com/nrwl/nx/pull/28083))
-   **linter:** add files entry to angular flat config to avoid applying TS rules to JSON files ([#&#8203;28102](https://redirect.github.com/nrwl/nx/pull/28102))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://redirect.github.com/AgentEnder)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)

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

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

##### 19.8.1 (2024-09-25)

##### 🚀 Features

-   **core:** allow prompts from init generators during nx init ([#&#8203;28003](https://redirect.github.com/nrwl/nx/pull/28003))

##### 🩹 Fixes

-   **bundling:** remove unused `babel-plugin-transform-async-to-promises` from `@nx/rollup` ([#&#8203;27669](https://redirect.github.com/nrwl/nx/pull/27669))
-   **core:** allow creating a db cache without linking task details ([#&#8203;28023](https://redirect.github.com/nrwl/nx/pull/28023))
-   **core:** fix output text for multiple targets ([#&#8203;28043](https://redirect.github.com/nrwl/nx/pull/28043))
-   **core:** sort projects after updating from context ([#&#8203;28024](https://redirect.github.com/nrwl/nx/pull/28024))
-   **core:** add flag when db is disabled for task history ([#&#8203;28059](https://redirect.github.com/nrwl/nx/pull/28059))
-   **core:** set windowsHide: true wherever possible ([#&#8203;28073](https://redirect.github.com/nrwl/nx/pull/28073))
-   **core:** support more structured errors in sync generators ([#&#8203;28075](https://redirect.github.com/nrwl/nx/pull/28075))
-   **core:** nx add should show errors ([#&#8203;28079](https://redirect.github.com/nrwl/nx/pull/28079))
-   **core:** several powerpack fixes ([#&#8203;28088](https://redirect.github.com/nrwl/nx/pull/28088))
-   **core:** remove wasi compatibility while db is unsupported in wasi ([#&#8203;28089](https://redirect.github.com/nrwl/nx/pull/28089))
-   **linter:** do not generate docs.recommended property ([#&#8203;28009](https://redirect.github.com/nrwl/nx/pull/28009))
-   **linter:** ignore dist and use compat helper for eslint-plugin-react-hooks ([#&#8203;28080](https://redirect.github.com/nrwl/nx/pull/28080))
-   **react:** vite should be default bundler in app generator ([#&#8203;28013](https://redirect.github.com/nrwl/nx/pull/28013))
-   **release:** allow dynamically continuing when current version is unresolvable ([#&#8203;28034](https://redirect.github.com/nrwl/nx/pull/28034))
-   **release:** add groupPreVersionCommand to schema, improve logging ([#&#8203;28087](https://redirect.github.com/nrwl/nx/pull/28087))

##### ❤️  Thank You

-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://redirect.github.com/MaxKless)
-   Phillip Barta [@&#8203;Phillip9587](https://redirect.github.com/Phillip9587)

</details>

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

### [`v4.65.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4650-2024-09-26)

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

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

##### Features

-   **api:** add omni-moderation model ([#&#8203;1100](https://redirect.github.com/openai/openai-node/issues/1100)) ([66c0f21](66c0f21fad))

### [`v4.64.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4640-2024-09-25)

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

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

##### Features

-   **client:** allow overriding retry count header ([#&#8203;1098](https://redirect.github.com/openai/openai-node/issues/1098)) ([a466ff7](a466ff78a4))

##### Bug Fixes

-   **audio:** correct response_format translations type ([#&#8203;1097](https://redirect.github.com/openai/openai-node/issues/1097)) ([9a5f461](9a5f461306))

##### Chores

-   **internal:** fix ecosystem tests error output ([#&#8203;1096](https://redirect.github.com/openai/openai-node/issues/1096)) ([ecdb4e9](ecdb4e923f))
-   **internal:** fix slow ecosystem test ([#&#8203;1093](https://redirect.github.com/openai/openai-node/issues/1093)) ([80ed9ec](80ed9ecbd6))

</details>

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

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

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

This release includes some minor build fixes and documentation updates.

#### What's Changed

-   build: add `tsconfig-base.json` to package by [@&#8203;luucvanderzee](https://redirect.github.com/luucvanderzee) in [https://github.com/gpbl/react-day-picker/pull/2492](https://redirect.github.com/gpbl/react-day-picker/pull/2492)
-   build(deps): bump [@&#8203;date-fns/tz](https://redirect.github.com/date-fns/tz) to 1.1.2 by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2494](https://redirect.github.com/gpbl/react-day-picker/pull/2494)

#### New Contributors

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

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

</details>

<details>
<summary>tailwindlabs/tailwindcss (tailwindcss)</summary>

### [`v3.4.13`](https://redirect.github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.13)

[Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.12...v3.4.13)

##### Fixed

-   Improve source glob verification performance ([#&#8203;14481](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14481))

</details>

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

### [`v0.9.9`](59ad745971...a60e76abee)

[Compare Source](59ad745971...a60e76abee)

### [`v0.9.8`](https://redirect.github.com/emilkowalski/vaul/compare/v0.9.7...59ad745971dd3901cd4b1b57f52c6159e81ac87a)

[Compare Source](https://redirect.github.com/emilkowalski/vaul/compare/v0.9.7...59ad745971dd3901cd4b1b57f52c6159e81ac87a)

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

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

#### What's Changed

-   fix: horizontal shift by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/443](https://redirect.github.com/emilkowalski/vaul/pull/443)
-   fix: make modal false scrollable by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/444](https://redirect.github.com/emilkowalski/vaul/pull/444)
-   fix: input repositioning by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/446](https://redirect.github.com/emilkowalski/vaul/pull/446)
-   fix: opacity calculation by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/447](https://redirect.github.com/emilkowalski/vaul/pull/447)
-   fix: pointer events none  by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/449](https://redirect.github.com/emilkowalski/vaul/pull/449)
-   fix: prevent nested drawers from scrolling to top by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/450](https://redirect.github.com/emilkowalski/vaul/pull/450)

**Full Changelog**: https://github.com/emilkowalski/vaul/compare/v0.9.5...v0.9.7

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

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

#### What's Changed

Going from 0.9.4 to 0.9.6 in Release notes, because I didn't rebuilt the project when I published 0.9.5.

-   Add usePositionFixed hook by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/436](https://redirect.github.com/emilkowalski/vaul/pull/436)
-   feat: Don't autofocus within Dialog by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/437](https://redirect.github.com/emilkowalski/vaul/pull/437)
-   fix: ensure interaction after closing by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/438](https://redirect.github.com/emilkowalski/vaul/pull/438)
-   fix: nested drawers drag by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/439](https://redirect.github.com/emilkowalski/vaul/pull/439)
-   fix: drawer failing to cancel move event by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/440](https://redirect.github.com/emilkowalski/vaul/pull/440)
-   fix: inputs repositioning by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/441](https://redirect.github.com/emilkowalski/vaul/pull/441)
-   feat: add autofocus prop by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/vaul/pull/442](https://redirect.github.com/emilkowalski/vaul/pull/442)

**Full Changelog**: https://github.com/emilkowalski/vaul/compare/v0.9.4...v0.9.6

### [`v0.9.5`](https://redirect.github.com/emilkowalski/vaul/compare/v0.9.4...v0.9.5)

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

</details>

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

### [`v5.4.8`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.8)

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

Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md) for details.

</details>

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

### [`v5.95.0`](https://redirect.github.com/webpack/webpack/releases/tag/v5.95.0)

[Compare Source](https://redirect.github.com/webpack/webpack/compare/v5.94.0...v5.95.0)

##### Bug Fixes

-   Fixed hanging when attempting to read a symlink-like file that it can't read
-   Handle `default` for import context element dependency
-   Merge duplicate chunks call after split chunks
-   Generate correctly code for dynamically importing the same file twice and destructuring
-   Use content hash as \[base] and \[name] for extracted DataURI's
-   Distinguish `module` and `import` in `module-import` for externals `import`'s
-   \[Types] Make `EnvironmentPlugin` default values types less strict
-   \[Types] Typescript 5.6 compatibility

##### New Features

-   Add new `optimization.entryIife` option (`true` by default for the `production` mode)
-   Pass output.hash\* options to loader context

##### Performance

-   Avoid unneeded re-visit in build chunk graph

</details>

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

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

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

##### Patch Changes

-   [#&#8203;6824](https://redirect.github.com/cloudflare/workers-sdk/pull/6824) [`1c58a74`](1c58a74707) Thanks [@&#8203;petebacondarwin](https://redirect.github.com/petebacondarwin)! - fix: tidy up error messaging for unexpected use of Node.js APIs

    Fixes [#&#8203;6822](https://redirect.github.com/cloudflare/workers-sdk/issues/6822)

-   Updated dependencies \[[`5e2e62c`](5e2e62c165), [`1c58a74`](1c58a74707)]:
    -   miniflare@3.20240925.0

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

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

##### Patch Changes

-   [#&#8203;6753](https://redirect.github.com/cloudflare/workers-sdk/pull/6753) [`4e33f2c`](4e33f2cdc1) Thanks [@&#8203;bluwy](https://redirect.github.com/bluwy)! - refactor: prevent bundling entire `package.json` in built code

-   [#&#8203;6812](https://redirect.github.com/cloudflare/workers-sdk/pull/6812) [`f700d37`](f700d3704a) Thanks [@&#8203;CarmenPopoviciu](https://redirect.github.com/CarmenPopoviciu)! - fix: Validate additional config properties for `[observability]`

-   [#&#8203;6751](https://redirect.github.com/cloudflare/workers-sdk/pull/6751) [`638a550`](638a55063b) Thanks [@&#8203;bluwy](https://redirect.github.com/bluwy)! - refactor: simplify date calculation and remove date-fns dependency

-   [#&#8203;6809](https://redirect.github.com/cloudflare/workers-sdk/pull/6809) [`28cb0d7`](28cb0d759e) Thanks [@&#8203;smellercf](https://redirect.github.com/smellercf)! - fix: Remove Beta tag from r2 event notification wrangler command descriptions

-   [#&#8203;6802](https://redirect.github.com/cloudflare/workers-sdk/pull/6802) [`17eb8a9`](17eb8a9f9e) Thanks [@&#8203;CarmenPopoviciu](https://redirect.github.com/CarmenPopoviciu)! - chore: rename `experimental_assets` to `assets`

-   [#&#8203;6781](https://redirect.github.com/cloudflare/workers-sdk/pull/6781) [`0792fa0`](0792fa08fb) Thanks [@&#8203;mikenomitch](https://redirect.github.com/mikenomitch)! - chore: tweaks warning when using node_compat

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

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

##### Patch Changes

-   [#&#8203;6791](https://redirect.github.com/cloudflare/workers-sdk/pull/6791) [`74d719f`](74d719fb8d) Thanks [@&#8203;penalosa](https://redirect.github.com/penalosa)! - fix: Add missing binding to `init --from-dash`

-   [#&#8203;6728](https://redirect.github.com/cloudflare/workers-sdk/pull/6728) [`1ca313f`](1ca313f204) Thanks [@&#8203;emily-shen](https://redirect.github.com/emily-shen)! - fix: remove filepath encoding on asset upload and handle sometimes-encoded characters

    Some characters like \[ ] @&#8203; are encoded by encodeURIComponent() but are often requested at an unencoded URL path.
    This change will make assets with filenames with these characters accessible at both the encoded and unencoded paths,
    but to use the encoded path as the canonical one, and to redirect requests to the canonical path if necessary.

-   [#&#8203;6798](https://redirect.github.com/cloudflare/workers-sdk/pull/6798) [`7d7f19a`](7d7f19a2ca) Thanks [@&#8203;emily-shen](https://redirect.github.com/emily-shen)! - fix: error if an asset binding is provided without a Worker script

-   Updated dependencies \[[`1ca313f`](1ca313f204)]:
    -   [@&#8203;cloudflare/workers-shared](https://redirect.github.com/cloudflare/workers-shared)[@&#8203;0](https://redirect.github.com/0).5.4
    -   miniflare@3.20240909.5

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-27 08:48:12 +00:00
renovate[bot]
4e30f75c64 chore: bump up @blocksuite/affine version to v0.17.17 (#8403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-26 20:36:31 +08:00
darkskygit
a9b29d24f1 feat: improve markdown formatting (#8398)
fix AF-1442
fix AF-1443
2024-09-26 09:47:53 +00:00
forehalo
dbcbe9ce1a feat(infra): orm document mode support (#8390)
```
info: t.document({
  id: f.primaryKey().string()
})
```

```
tables.info.create({ id: '', a: 1, b: 2 })
```
2024-09-26 09:09:05 +00:00
EYHN
4295f5e7c1 fix(core): open page info modal error (#8396) 2024-09-26 06:36:41 +00:00
JimmFly
bd9ae3d80a fix(core): adjust the tracking point for copy sharing link (#8395)
close AF-1439
2024-09-26 03:27:18 +00:00
pengx17
abd57484ba fix: incorrect app sidebar fallback (#8392)
fix AF-1435
2024-09-25 10:15:26 +00:00
pengx17
76ff56a716 feat: add open info button to doc center peek (#8388)
fix AF-1229

![image](https://github.com/user-attachments/assets/3e7b43ad-43c6-4dfb-b737-5dffb1396b6b)
2024-09-25 09:11:25 +00:00
L-Sun
0416e51c83 chore: remove blocksuite local debug option (#8386)
This PR removes the blocksuite local debug option when running `yarn dev`.

After this, to enable local debugging, simply run
```sh
yarn link <path-to-blocksuite> -A
yarn dev
```
You can disable local debugging by running
```sh
yarn unlink <path-to-blocksuite> -A
```
2024-09-25 08:50:09 +00:00
renovate[bot]
2c25efa1ba chore: bump up @blocksuite/affine version to v0.17.16 (#8372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 07:53:57 +00:00
forehalo
1d75d97a8f fix(server): handle hanging workspace after user account deleted (#8377)
fix CLOUD-74
2024-09-25 06:16:32 +00:00
pengx17
d0050a268a build: fine tune swc config (#8384)
1. only run react related swc transforms for tsx files
2. exclude ts from ReactRefreshWebpackPlugin
2024-09-25 04:39:24 +00:00
JimmFly
45f5c89cd8 fix(core): can not scroll when backlink list is too long (#8370)
close AF-1431
2024-09-25 04:28:09 +00:00
fundon
4daa959894 fix(core): block link recognition in self-hosted (#8340)
Part of [BS-1445](https://linear.app/affine-design/issue/BS-1445/点击-affine-link-时识别应用内链接,以触发应用内跳转)

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/fae580bc-7d30-4711-a70e-7a5cf26c76f1.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/fae580bc-7d30-4711-a70e-7a5cf26c76f1.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/fae580bc-7d30-4711-a70e-7a5cf26c76f1.mov">Screen Recording 2024-09-21 at 10.50.12.mov</video>
2024-09-25 04:16:58 +00:00
pengx17
e839947dd5 fix(electron): enable WAL mode for sqlite (#8336)
fix AF-1015
2024-09-25 04:06:03 +00:00
CatsJuice
e6feb17ac7 fix(mobile): cannot run locally (#8383) 2024-09-25 03:54:57 +00:00
forehalo
cb4020569c fix(server): remove unused admin environment (#8378)
fix CLOUD-70
2024-09-25 02:45:28 +00:00
JimmFly
2df2003bd7 fix(core): handle composition event for Input component (#8351)
close AF-1065
2024-09-25 02:02:23 +00:00
darkskygit
ed8e4e30f0 fix: collect workflow's assistant content (#8373)
fix CLOUD-71
2024-09-24 12:35:48 +00:00
renovate
789e593d93 chore: bump up all non-major dependencies (#8314)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@electron-forge/cli](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcli/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcli/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcli/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcli/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcli/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core-utils](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore-utils/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore-utils/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore-utils/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore-utils/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore-utils/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-base](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-base/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-base/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-base/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-base/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-base/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | resolutions | minor |
| [@electron-forge/maker-deb](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-deb/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-deb/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-deb/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-deb/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-deb/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-dmg](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-dmg/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-dmg/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-dmg/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-dmg/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-dmg/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-squirrel](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-squirrel/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-squirrel/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-squirrel/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-squirrel/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-squirrel/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-zip](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-zip/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-zip/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-zip/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-zip/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-zip/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/plugin-auto-unpack-natives](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fplugin-auto-unpack-natives/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fplugin-auto-unpack-natives/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fplugin-auto-unpack-natives/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fplugin-auto-unpack-natives/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fplugin-auto-unpack-natives/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/shared-types](https://redirect.github.com/electron/forge) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fshared-types/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fshared-types/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fshared-types/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fshared-types/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fshared-types/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@fal-ai/serverless-client](https://redirect.github.com/fal-ai/fal-js) ([source](https://redirect.github.com/fal-ai/fal-js/tree/HEAD/libs/client)) | [`0.14.2` -> `0.14.3`](https://renovatebot.com/diffs/npm/@fal-ai%2fserverless-client/0.14.2/0.14.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@fal-ai%2fserverless-client/0.14.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@fal-ai%2fserverless-client/0.14.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@fal-ai%2fserverless-client/0.14.2/0.14.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@fal-ai%2fserverless-client/0.14.2/0.14.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.47.1` -> `=1.47.2`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.47.1/1.47.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.47.1/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.47.1/1.47.2?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.30.0` -> `8.31.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.30.0/8.31.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.30.0/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.30.0/8.31.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.30.0` -> `8.31.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.30.0/8.31.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.30.0/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.30.0/8.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.3.1/8.3.2?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.7` -> `18.3.8`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.7/18.3.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.7/18.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.7/18.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`32.1.1` -> `32.1.2`](https://renovatebot.com/diffs/npm/electron/32.1.1/32.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/32.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/32.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/32.1.1/32.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/32.1.1/32.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`^0.23.0` -> `^0.24.0`](https://renovatebot.com/diffs/npm/esbuild/0.23.1/0.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.23.1/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.23.1/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.22.0` -> `8.23.0`](https://renovatebot.com/diffs/npm/html-validate/8.22.0/8.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.22.0/8.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.22.0/8.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.9.3` -> `2.10.0`](https://renovatebot.com/diffs/npm/jotai/2.9.3/2.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.9.3/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.9.3/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [keyv](https://redirect.github.com/jaredwray/keyv) | [`5.0.1` -> `5.0.3`](https://renovatebot.com/diffs/npm/keyv/5.0.1/5.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/5.0.1/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/5.0.1/5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.441.0` -> `^0.445.0`](https://renovatebot.com/diffs/npm/lucide-react/0.441.0/0.445.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.445.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.445.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.441.0/0.445.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.441.0/0.445.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.4.8` -> `2.4.9`](https://renovatebot.com/diffs/npm/msw/2.4.8/2.4.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.4.8/2.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.4.8/2.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.9` -> `3.0.0-alpha.11` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.9/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.9/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.8` -> `3.0.0-alpha.11` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.8/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.8/3.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nodemon](https://nodemon.io) ([source](https://redirect.github.com/remy/nodemon)) | [`3.1.5` -> `3.1.7`](https://renovatebot.com/diffs/npm/nodemon/3.1.5/3.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemon/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemon/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemon/3.1.5/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemon/3.1.5/3.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.7.4` -> `19.8.0`](https://renovatebot.com/diffs/npm/nx/19.7.4/19.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.7.4/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.7.4/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.62.1` -> `4.63.0`](https://renovatebot.com/diffs/npm/openai/4.62.1/4.63.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.63.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.63.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.62.1/4.63.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.62.1/4.63.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.47.1` -> `=1.47.2`](https://renovatebot.com/diffs/npm/playwright/1.47.1/1.47.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.47.1/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.47.1/1.47.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.1.0` -> `9.1.2`](https://renovatebot.com/diffs/npm/react-day-picker/9.1.0/9.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.1.0/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.1.0/9.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [socket.io](https://redirect.github.com/socketio/socket.io/tree/main/packages/socket.io#readme) ([source](https://redirect.github.com/socketio/socket.io)) | [`4.7.5` -> `4.8.0`](https://renovatebot.com/diffs/npm/socket.io/4.7.5/4.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/socket.io/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/socket.io/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/socket.io/4.7.5/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/socket.io/4.7.5/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [socket.io-client](https://redirect.github.com/socketio/socket.io/tree/main/packages/socket.io-client#readme) ([source](https://redirect.github.com/socketio/socket.io)) | [`4.7.5` -> `4.8.0`](https://renovatebot.com/diffs/npm/socket.io-client/4.7.5/4.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/socket.io-client/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/socket.io-client/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/socket.io-client/4.7.5/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/socket.io-client/4.7.5/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.3.1` -> `8.3.2`](https://renovatebot.com/diffs/npm/storybook/8.3.1/8.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.3.1/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.6` -> `5.4.7`](https://renovatebot.com/diffs/npm/vite/5.4.6/5.4.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.6/5.4.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.6/5.4.7?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.78.5` -> `3.78.7`](https://renovatebot.com/diffs/npm/wrangler/3.78.5/3.78.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.78.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.78.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.78.5/3.78.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.78.5/3.78.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>electron/forge (@&#8203;electron-forge/cli)</summary>

### [`v7.5.0`](https://redirect.github.com/electron/forge/releases/tag/v7.5.0)

[Compare Source](https://redirect.github.com/electron/forge/compare/v7.4.0...v7.5.0)

##### What's Changed

##### Improved ESM module support

Electron Forge v7.5.0 adds support for loading Forge modules (plugins, makers, publishers etc.) that use ESM for their module format. This change allows both official Forge modules and third-party modules to use ESM syntax.

##### Change in Vite support policy

v7.5.0 also makes refinements to our Vite plugin, fixing an issue that users identified as breaking between 7.2.0 and 7.3.0 ([https://github.com/electron/forge/issues/3506](https://redirect.github.com/electron/forge/issues/3506)). Users upgrading from any past version of Forge to 7.5.0 should now not experience breaking config changes.

After discussion with maintainers, we've decided to retroactively mark the Vite plugin as **experimental**, as the plugin is still under active development and cannot offer the same API stability guarantees as our other existing plugins. Minor versions may include breaking changes to improve developer ergonomics or to fix bugs (especially around native Node.js modules).

When these changes happen, we'll provide additional migration information in future release notes.

-   feat(plugin-vite): better logic by [@&#8203;caoxiemeihao](https://redirect.github.com/caoxiemeihao) in [https://github.com/electron/forge/pull/3583](https://redirect.github.com/electron/forge/pull/3583)
-   feat(core): support ESM Forge module loading by [@&#8203;SpacingBat3](https://redirect.github.com/SpacingBat3) in [https://github.com/electron/forge/pull/3582](https://redirect.github.com/electron/forge/pull/3582)
-   feat(core): adding register/unregisterForgeConfigForDirectory to utils by [@&#8203;IIIMADDINIII](https://redirect.github.com/IIIMADDINIII) in [https://github.com/electron/forge/pull/3626](https://redirect.github.com/electron/forge/pull/3626)
-   feat(publisher-gcs): only include provided upload options by [@&#8203;kochrt](https://redirect.github.com/kochrt) in [https://github.com/electron/forge/pull/3576](https://redirect.github.com/electron/forge/pull/3576)
-   feat: Adding optional metadata config to gcs publisher by [@&#8203;Tobiasartz](https://redirect.github.com/Tobiasartz) in [https://github.com/electron/forge/pull/3682](https://redirect.github.com/electron/forge/pull/3682)
-   feat(maker-wix): Expose the property associateExtensions by [@&#8203;fras2560](https://redirect.github.com/fras2560) in [https://github.com/electron/forge/pull/3674](https://redirect.github.com/electron/forge/pull/3674)
-   feat(plugin-webpack): support for dev server custom headers by [@&#8203;rahul-sachdeva22](https://redirect.github.com/rahul-sachdeva22) in [https://github.com/electron/forge/pull/3653](https://redirect.github.com/electron/forge/pull/3653)

##### Bug Fixes and Improvements

-   fix(cli): cli capitalisation by [@&#8203;DevanceJ](https://redirect.github.com/DevanceJ) in [https://github.com/electron/forge/pull/3539](https://redirect.github.com/electron/forge/pull/3539)
-   ci: don't use versionDocs option in API Documentation workflow by [@&#8203;dsanders11](https://redirect.github.com/dsanders11) in [https://github.com/electron/forge/pull/3571](https://redirect.github.com/electron/forge/pull/3571)
-   test(import): check if electron-quick-start packages by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3580](https://redirect.github.com/electron/forge/pull/3580)
-   fix(maker-squirrel): only push `delta` artifacts if they exist on disk by [@&#8203;hipstersmoothie](https://redirect.github.com/hipstersmoothie) in [https://github.com/electron/forge/pull/3586](https://redirect.github.com/electron/forge/pull/3586)
-   docs: upgrade typedoc@0.25 by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3636](https://redirect.github.com/electron/forge/pull/3636)
-   fix(plugin-webpack): protocol recognizes webpack's `devServer` setting by [@&#8203;Dogdriip](https://redirect.github.com/Dogdriip) in [https://github.com/electron/forge/pull/3650](https://redirect.github.com/electron/forge/pull/3650)
-   fix(hooks): allow mutating hooks to have a `void` return by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3655](https://redirect.github.com/electron/forge/pull/3655)
-   fix: Bump [@&#8203;electron/packager](https://redirect.github.com/electron/packager) to ^18.3.5 by [@&#8203;felixrieseberg](https://redirect.github.com/felixrieseberg) in [https://github.com/electron/forge/pull/3692](https://redirect.github.com/electron/forge/pull/3692)
-   chore: bump electronjs/node to 2.3.0 (main) by [@&#8203;electron-roller](https://redirect.github.com/electron-roller) in [https://github.com/electron/forge/pull/3596](https://redirect.github.com/electron/forge/pull/3596)
-   chore(publisher-s3): update aws-sdk deps by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3708](https://redirect.github.com/electron/forge/pull/3708)
-   chore: bump `asar` dep to latest by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3592](https://redirect.github.com/electron/forge/pull/3592)
-   test: correctly make test-output.xml paths relative in windows by [@&#8203;yangannyx](https://redirect.github.com/yangannyx) in [https://github.com/electron/forge/pull/3620](https://redirect.github.com/electron/forge/pull/3620)
-   docs: mark plugin-vite as experimental by [@&#8203;VerteDinde](https://redirect.github.com/VerteDinde) in [https://github.com/electron/forge/pull/3710](https://redirect.github.com/electron/forge/pull/3710)

##### New Contributors

-   [@&#8203;DevanceJ](https://redirect.github.com/DevanceJ) made their first contribution in [https://github.com/electron/forge/pull/3539](https://redirect.github.com/electron/forge/pull/3539)
-   [@&#8203;hipstersmoothie](https://redirect.github.com/hipstersmoothie) made their first contribution in [https://github.com/electron/forge/pull/3586](https://redirect.github.com/electron/forge/pull/3586)
-   [@&#8203;Tobiasartz](https://redirect.github.com/Tobiasartz) made their first contribution in [https://github.com/electron/forge/pull/3682](https://redirect.github.com/electron/forge/pull/3682)
-   [@&#8203;rahul-sachdeva22](https://redirect.github.com/rahul-sachdeva22) made their first contribution in [https://github.com/electron/forge/pull/3653](https://redirect.github.com/electron/forge/pull/3653)
-   [@&#8203;fras2560](https://redirect.github.com/fras2560) made their first contribution in [https://github.com/electron/forge/pull/3674](https://redirect.github.com/electron/forge/pull/3674)
-   [@&#8203;IIIMADDINIII](https://redirect.github.com/IIIMADDINIII) made their first contribution in [https://github.com/electron/forge/pull/3626](https://redirect.github.com/electron/forge/pull/3626)
-   [@&#8203;SpacingBat3](https://redirect.github.com/SpacingBat3) made their first contribution in [https://github.com/electron/forge/pull/3582](https://redirect.github.com/electron/forge/pull/3582)
-   [@&#8203;kochrt](https://redirect.github.com/kochrt) made their first contribution in [https://github.com/electron/forge/pull/3576](https://redirect.github.com/electron/forge/pull/3576)

**Full Changelog**: https://github.com/electron/forge/compare/v7.4.0...v7.5.0

</details>

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

### [`v0.14.3`](b3ab5f0e15...762f28918d)

[Compare Source](b3ab5f0e15...762f28918d)

</details>

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

### [`v1.47.2`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.47.2)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.1...v1.47.2)

##### Highlights

[https://github.com/microsoft/playwright/pull/32699](https://redirect.github.com/microsoft/playwright/pull/32699)- \[REGRESSION]: fix(codegen): use content_frame property in python/.NET[https://github.com/microsoft/playwright/issues/32706](https://redirect.github.com/microsoft/playwright/issues/32706)6- \[REGRESSION]: page.pause() does not pause test timeout after 1.4[https://github.com/microsoft/playwright/pull/32661](https://redirect.github.com/microsoft/playwright/pull/32661)61 - fix(trace-viewer): time delta between local and remote actions

#### Browser Versions

-   Chromium 129.0.6668.29
-   Mozilla Firefox 130.0
-   WebKit 18.0

This version was also tested against the following stable channels:

-   Google Chrome 128
-   Microsoft Edge 128

</details>

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

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

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.30.0...8.31.0)

##### Important Changes

-   **feat(node): Add `dataloader` integration ([#&#8203;13664](https://redirect.github.com/getsentry/sentry-javascript/issues/13664))**

This release adds a new integration for the [`dataloader` package](https://www.npmjs.com/package/dataloader). The Node
SDK (and all SDKs that depend on it) will now automatically instrument `dataloader` instances. You can also add it
manually:

```js
Sentry.init({
  integrations: [Sentry.dataloaderIntegration()],
});
```

##### Other Changes

-   feat(browser): Add navigation `activationStart` timestamp to pageload span ([#&#8203;13658](https://redirect.github.com/getsentry/sentry-javascript/issues/13658))
-   feat(gatsby): Add optional `deleteSourcemapsAfterUpload` ([#&#8203;13610](https://redirect.github.com/getsentry/sentry-javascript/issues/13610))
-   feat(nextjs): Give app router prefetch requests a `http.server.prefetch` op ([#&#8203;13600](https://redirect.github.com/getsentry/sentry-javascript/issues/13600))
-   feat(nextjs): Improve Next.js serverside span data quality ([#&#8203;13652](https://redirect.github.com/getsentry/sentry-javascript/issues/13652))
-   feat(node): Add `disableInstrumentationWarnings` option ([#&#8203;13693](https://redirect.github.com/getsentry/sentry-javascript/issues/13693))
-   feat(nuxt): Adding `experimental_basicServerTracing` option to Nuxt module ([#&#8203;13643](https://redirect.github.com/getsentry/sentry-javascript/issues/13643))
-   feat(nuxt): Improve logs about adding Node option 'import' ([#&#8203;13726](https://redirect.github.com/getsentry/sentry-javascript/issues/13726))
-   feat(replay): Add `onError` callback + other small improvements to debugging ([#&#8203;13721](https://redirect.github.com/getsentry/sentry-javascript/issues/13721))
-   feat(replay): Add experimental option to allow for a checkout every 6 minutes ([#&#8203;13069](https://redirect.github.com/getsentry/sentry-javascript/issues/13069))
-   feat(wasm): Unconditionally parse instruction addresses ([#&#8203;13655](https://redirect.github.com/getsentry/sentry-javascript/issues/13655))
-   fix: Ensure all logs are wrapped with `consoleSandbox` ([#&#8203;13690](https://redirect.github.com/getsentry/sentry-javascript/issues/13690))
-   fix(browser): Try multiple options for `lazyLoadIntegration` script parent element lookup ([#&#8203;13717](https://redirect.github.com/getsentry/sentry-javascript/issues/13717))
-   fix(feedback): Actor color applies to feedback icon ([#&#8203;13702](https://redirect.github.com/getsentry/sentry-javascript/issues/13702))
-   fix(feedback): Fix form width on mobile devices ([#&#8203;13068](https://redirect.github.com/getsentry/sentry-javascript/issues/13068))
-   fix(nestjs): Preserve original function name on `SentryTraced` functions ([#&#8203;13684](https://redirect.github.com/getsentry/sentry-javascript/issues/13684))
-   fix(node): Don't overwrite local variables for re-thrown errors ([#&#8203;13644](https://redirect.github.com/getsentry/sentry-javascript/issues/13644))
-   fix(normalize): Treat Infinity as NaN both are non-serializable numbers ([#&#8203;13406](https://redirect.github.com/getsentry/sentry-javascript/issues/13406))
-   fix(nuxt): Use correct server output file path ([#&#8203;13725](https://redirect.github.com/getsentry/sentry-javascript/issues/13725))
-   fix(opentelemetry): Always use active span in `Propagator.inject` ([#&#8203;13381](https://redirect.github.com/getsentry/sentry-javascript/issues/13381))
-   fix(replay): Fixes potential out-of-order segments ([#&#8203;13609](https://redirect.github.com/getsentry/sentry-javascript/issues/13609))

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

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.3.2`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#832)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.3.1...v8.3.2)

-   CLI: Fix skip-install for stable latest releases - [#&#8203;29133](https://redirect.github.com/storybookjs/storybook/pull/29133), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Core: Do not add packageManager field to package.json during `storybook dev` - [#&#8203;29152](https://redirect.github.com/storybookjs/storybook/pull/29152), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!

</details>

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

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

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

### Release Notes for v32.1.2

#### Fixes

-   Fixed an issue where clicking the eyedropper icon did nothing instead of opening an eyedropper for color selection as expected. [#&#8203;43786](https://redirect.github.com/electron/electron/pull/43786) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/43700))</span>
-   Third time isn't always a charm. Fixed the native macOS Screen Share picker invocation triggering a test Chromium green screen. [#&#8203;43809](https://redirect.github.com/electron/electron/pull/43809) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/43810))</span>

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.24.0`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0240)

[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.23.1...v0.24.0)

***This release deliberately contains backwards-incompatible changes.*** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.23.0` or `~0.23.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more information.

-   Drop support for older platforms ([#&#8203;3902](https://redirect.github.com/evanw/esbuild/pull/3902))

    This release drops support for the following operating system:

    -   macOS 10.15 Catalina

    This is because the Go programming language dropped support for this operating system version in Go 1.23, and this release updates esbuild from Go 1.22 to Go 1.23. Go 1.23 now requires macOS 11 Big Sur or later.

    Note that this only affects the binary esbuild executables that are published to the esbuild npm package. It's still possible to compile esbuild's source code for these older operating systems. If you need to, you can compile esbuild for yourself using an older version of the Go compiler (before Go version 1.23). That might look something like this:

        git clone https://github.com/evanw/esbuild.git
        cd esbuild
        go build ./cmd/esbuild
        ./esbuild --version

-   Fix class field decorators in TypeScript if `useDefineForClassFields` is `false` ([#&#8203;3913](https://redirect.github.com/evanw/esbuild/issues/3913))

    Setting the `useDefineForClassFields` flag to `false` in `tsconfig.json` means class fields use the legacy TypeScript behavior instead of the standard JavaScript behavior. Specifically they use assign semantics instead of define semantics (e.g. setters are triggered) and fields without an initializer are not initialized at all. However, when this legacy behavior is combined with standard JavaScript decorators, TypeScript switches to always initializing all fields, even those without initializers. Previously esbuild incorrectly continued to omit field initializers for this edge case. These field initializers in this case should now be emitted starting with this release.

-   Avoid incorrect cycle warning with `tsconfig.json` multiple inheritance ([#&#8203;3898](https://redirect.github.com/evanw/esbuild/issues/3898))

    TypeScript 5.0 introduced multiple inheritance for `tsconfig.json` files where `extends` can be an array of file paths. Previously esbuild would incorrectly treat files encountered more than once when processing separate subtrees of the multiple inheritance hierarchy as an inheritance cycle. With this release, `tsconfig.json` files containing this edge case should work correctly without generating a warning.

-   Handle Yarn Plug'n'Play stack overflow with `tsconfig.json` ([#&#8203;3915](https://redirect.github.com/evanw/esbuild/issues/3915))

    Previously a `tsconfig.json` file that `extends` another file in a package with an `exports` map could cause a stack overflow when Yarn's Plug'n'Play resolution was active. This edge case should work now starting with this release.

-   Work around more issues with Deno 1.31+ ([#&#8203;3917](https://redirect.github.com/evanw/esbuild/pull/3917))

    This version of Deno broke the `stdin` and `stdout` properties on command objects for inherited streams, which matters when you run esbuild's Deno module as the entry point (i.e. when `import.meta.main` is `true`). Previously esbuild would crash in Deno 1.31+ if you ran esbuild like that. This should be fixed starting with this release.

    This fix was contributed by [@&#8203;Joshix-1](https://redirect.github.com/Joshix-1).

</details>

<details>
<summary>html-validate/html-validate (html-validate)</summary>

### [`v8.23.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#8230-2024-09-22)

[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v8.22.0...v8.23.0)

##### Features

-   **deps:** support vitest v2 ([860b0c0](860b0c0251))

</details>

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

### [`v2.10.0`](https://redirect.github.com/pmndrs/jotai/releases/tag/v2.10.0)

[Compare Source](https://redirect.github.com/pmndrs/jotai/compare/v2.9.3...v2.10.0)

It comes with another significant internal change to address some edge cases.

Since v2.9.0, we've been working on some internal refactors to support more edge cases and clean up the code.

Users are encouraged to update to the new versions eventually, but if you're satisfied with the current situation and prefer to avoid temporary instability, you can stick with v2.8.4 for now.

#### What's Changed

-   breaking(core): avoid continuable promise in store api by [@&#8203;dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/2695](https://redirect.github.com/pmndrs/jotai/pull/2695)

#### New Contributors

-   [@&#8203;sphinxrave](https://redirect.github.com/sphinxrave) made their first contribution in [https://github.com/pmndrs/jotai/pull/2653](https://redirect.github.com/pmndrs/jotai/pull/2653)
-   [@&#8203;mxthxngx](https://redirect.github.com/mxthxngx) made their first contribution in [https://github.com/pmndrs/jotai/pull/2712](https://redirect.github.com/pmndrs/jotai/pull/2712)
-   [@&#8203;hoangvu12](https://redirect.github.com/hoangvu12) made their first contribution in [https://github.com/pmndrs/jotai/pull/2716](https://redirect.github.com/pmndrs/jotai/pull/2716)
-   [@&#8203;YuHyeonWook](https://redirect.github.com/YuHyeonWook) made their first contribution in [https://github.com/pmndrs/jotai/pull/2734](https://redirect.github.com/pmndrs/jotai/pull/2734)

**Full Changelog**: https://github.com/pmndrs/jotai/compare/v2.9.3...v2.10.0

</details>

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

### [`v0.445.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.445.0): New icons 0.445.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.444.0...0.445.0)

#### New icons 🎨

-   `briefcase-conveyor-belt` ([#&#8203;2431](https://redirect.github.com/lucide-icons/lucide/issues/2431)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)
-   `message-square-lock` ([#&#8203;2430](https://redirect.github.com/lucide-icons/lucide/issues/2430)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

### [`v0.444.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.444.0): New icons 0.444.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.443.0...0.444.0)

#### Modified Icons 🔨

-   `loader-pinwheel` ([#&#8203;2470](https://redirect.github.com/lucide-icons/lucide/issues/2470)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

### [`v0.443.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.443.0): New icons 0.443.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.442.0...0.443.0)

#### Modified Icons 🔨

-   `circle-stop` ([#&#8203;2479](https://redirect.github.com/lucide-icons/lucide/issues/2479)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

### [`v0.442.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.442.0): New icons 0.442.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.441.0...0.442.0)

#### Modified Icons 🔨

-   `messages-square` ([#&#8203;2429](https://redirect.github.com/lucide-icons/lucide/issues/2429)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)
-   `octagon-pause` ([#&#8203;2485](https://redirect.github.com/lucide-icons/lucide/issues/2485)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

</details>

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

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

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

#### v2.4.9 (2024-09-20)

##### Bug Fixes

-   **ClientRequest:** support `Request` as init when recording raw headers ([#&#8203;2293](https://redirect.github.com/mswjs/msw/issues/2293)) ([`bf982ea`](bf982eaa70)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</details>

<details>
<summary>napi-rs/napi-rs (napi)</summary>

### [`v3.0.0-alpha.11`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi%403.0.0-alpha.11)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.10...napi@3.0.0-alpha.11)

#### What's Changed

-   refactor(napi-derive): expand order by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2265](https://redirect.github.com/napi-rs/napi-rs/pull/2265)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@3.0.0-alpha.9...napi@3.0.0-alpha.11

### [`v3.0.0-alpha.10`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi%403.0.0-alpha.10)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.9...napi@3.0.0-alpha.10)

#### What's Changed

-   fix(napi): nullptr handling in `TypedArray`s by [@&#8203;Xanewok](https://redirect.github.com/Xanewok) in [https://github.com/napi-rs/napi-rs/pull/2258](https://redirect.github.com/napi-rs/napi-rs/pull/2258)
-   chore: enable corepack in Debian base Dockerfile by [@&#8203;stevefan1999-personal](https://redirect.github.com/stevefan1999-personal) in [https://github.com/napi-rs/napi-r

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-24 10:39:39 +00:00
Yifeng Wang
a77061e848 feat: add block visibility config (#8371) 2024-09-24 17:36:06 +08:00
github-actions[bot]
3d9a777acd New Crowdin Translations (#8366)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-09-24 16:49:31 +08:00
CatsJuice
929124d9e2 chore(core): update pro plan description (#8367) 2024-09-24 07:08:43 +00:00
EYHN
73876f60fc feat(core): adjust offline mode description (#8365) 2024-09-24 05:58:15 +00:00
JimmFly
a99b7fd857 chore: remove page settings from appearance settings (#8350) 2024-09-24 04:27:07 +00:00
JimmFly
75bc6df915 fix(core): unexpected routing history appears on the shared page (#8356)
close AF-1429

https://github.com/user-attachments/assets/a99cf79d-3615-4e0f-835c-2e66b1a34863
2024-09-24 04:02:07 +00:00
CatsJuice
9eae3de1ae fix(mobile): scroll optimization (#8362)
close AF-1421, AF-1418, AF-1423, AF-1358
2024-09-24 03:51:09 +00:00
github-actions[bot]
e02d450e4f New Crowdin Translations (#8364)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-09-24 03:41:57 +00:00
pengx17
d0f04d22f5 fix(core): fix preview mode (#8349) 2024-09-24 02:17:08 +00:00
pengx17
a430367c36 fix(electron): remove active tab shadow (#8284)
fix AF-1390
2024-09-24 10:05:58 +08:00
pengx17
6110767fa8 fix(electron): workaround for unstable e2e (#8357) 2024-09-24 01:54:09 +00:00
pengx17
503e020412 fix(electron): cookie redirecting issue (#8347)
fix AF-1416
2024-09-23 04:05:04 +00:00
CatsJuice
f9e0c1e57b fix(core): remove openInfoModalAtom to avoid multiple modal opened in split-view (#8329)
close AF-1403
2024-09-23 03:51:48 +00:00
Saul-Mirone
35e232c61c feat: migrate to blocksuite/affine (#8332)
Use `@blocksuite/affine` package for all blocksuite features in affine.

```ts
@blocksuite/store -> @blocksuite/affine/store
@blocksuite/global -> @blocksuite/affine/global
@blocksuite/block-std -> @blocksuite/affine/block-std
@blocksuite/blocks -> @blocksuite/affine/blocks
@blocksuite/presets -> @blocksuite/affine/presets
```
2024-09-20 10:55:47 +00:00
forehalo
39f60145fe fix(core): circular dependency 2024-09-20 16:32:21 +08:00
forehalo
2cabc2dd50 fix(server): sign out 2024-09-20 16:32:04 +08:00
forehalo
e0f1fe4110 chore: bump base version to 0.17.0 2024-09-20 15:48:21 +08:00
renovate[bot]
cfd09b6634 chore: bump up blocksuite to v0.17.14 (#8326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mirone <Saul-Mirone@outlook.com>
2024-09-20 07:44:19 +00:00
Fangdun Tsai
849193b4ab fix(core): should show block link icon first (#8328) 2024-09-20 07:39:51 +00:00
Cats Juice
c87a392f29 fix(component): confirm modal should not clip content (#8325) 2024-09-20 07:38:15 +00:00
Peng Xiao
c26120ae36 fix(core): bring back menu offset (#8327) 2024-09-20 15:36:43 +08:00
forehalo
ec7c63019f fix(core): use openExternal in electron (#8323) 2024-09-20 07:05:12 +00:00
fundon
8d4cc6a1db fix(core): block links in doc info (#8324)
![Screenshot 2024-09-20 at 14.43.16.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/b83212c8-c8c2-4fb8-8b03-b939a9741e0f.png)
2024-09-20 06:54:09 +00:00
forehalo
4eb4c23e4a feat(server): manage auth cookies (#8317) 2024-09-20 06:37:11 +00:00
EYHN
096f50b83b chore(i18n): cleanup i18n file (#8318) 2024-09-20 06:25:17 +00:00
fundon
bed70cd51a chore(core): add tests for toURLSearchParams (#8322) 2024-09-20 04:14:48 +00:00
fundon
661594aec8 feat(core): enhance share page with selector (#8319)
Closes [BS-1346](https://linear.app/affine-design/issue/BS-1346/白板上的-link-to-block-在只读模式下打开无法跳转和高亮)

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/84bb27a9-608f-4cfc-a4c8-58de8aa5d791.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/84bb27a9-608f-4cfc-a4c8-58de8aa5d791.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/84bb27a9-608f-4cfc-a4c8-58de8aa5d791.mov">Screen Recording 2024-09-20 at 06.21.45.mov</video>
2024-09-20 03:42:08 +00:00
forehalo
e3e15c6134 fix(core): rollback ai service (#8321)
closes #8320
2024-09-20 01:49:51 +00:00
EYHN
7184d8348f fix(core): fix web login (#8312) 2024-09-19 16:24:05 +00:00
L-Sun
fc9e5fbb65 chore: bump blocksuite (#8311) 2024-09-19 10:07:20 +00:00
fundon
c47d44f569 chore(core): cancel block not found alert (#8310) 2024-09-19 09:18:17 +00:00
renovate
1417aca958 chore: Lock file maintenance (#8264)
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:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-19 08:57:19 +00:00
forehalo
260104c933 fix(server): renderer path (#8305) 2024-09-19 08:16:13 +00:00
EYHN
5d57f53a06 fix(core): adjust feature flag (#8309) 2024-09-19 15:26:33 +08:00
Cats Juice
a6c2f5dcd5 fix(component): correct notification action hover style (#8303) 2024-09-19 15:18:19 +08:00
Cats Juice
a38f291a01 fix(core): adjust pop position of editing property menu in setting (#8308) 2024-09-19 15:17:53 +08:00
pengx17
f6cd029c18 fix(core): add switch button to switch-to-edgeless notification (#8300)
fix AF-1359
2024-09-19 06:37:21 +00:00
pengx17
a88e82a534 fix(core): collection filter list animation (#8299)
fix AF-1373
2024-09-19 06:37:19 +00:00
CatsJuice
0450fcea8b fix(core): sidebar scrollbar is coverd by resize handle (#8307)
close AF-1236
2024-09-19 06:25:08 +00:00
renovate
5842bfc96a chore: bump up nestjs (#8282)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/schedule](https://redirect.github.com/nestjs/schedule) | [`4.1.0` -> `4.1.1`](https://renovatebot.com/diffs/npm/@nestjs%2fschedule/4.1.0/4.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fschedule/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fschedule/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fschedule/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fschedule/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2ftesting/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2ftesting/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2ftesting/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2ftesting/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`10.4.1` -> `10.4.3`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/10.4.1/10.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/10.4.1/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/compare/v10.4.1...696b4410a35a915a61f7bb58f87d7ac5b3e267e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/core)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/compare/v10.4.1...696b4410a35a915a61f7bb58f87d7ac5b3e267e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/compare/v10.4.1...696b4410a35a915a61f7bb58f87d7ac5b3e267e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-socket.io)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/releases/tag/v10.4.2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

##### v10.4.2 (2024-09-16)

##### Dependencies

-   `common`, `core`, `microservices`, `platform-express`, `platform-fastify`, `platform-socket.io`, `platform-ws`, `testing`, `websockets`
    -   [#&#8203;13911](https://redirect.github.com/nestjs/nest/pull/13911) chore(deps): bump tslib from 2.6.3 to 2.7.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   `platform-fastify`
    -   [#&#8203;13938](https://redirect.github.com/nestjs/nest/pull/13938) chore(deps): bump light-my-request from 5.13.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   Other
    -   [#&#8203;13936](https://redirect.github.com/nestjs/nest/pull/13936) chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13946](https://redirect.github.com/nestjs/nest/pull/13946) chore(deps): bump webpack and [@&#8203;nestjs/cli](https://redirect.github.com/nestjs/cli) in /sample/02-gateways ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13947](https://redirect.github.com/nestjs/nest/pull/13947) chore(deps-dev): bump webpack from 5.91.0 to 5.94.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13966](https://redirect.github.com/nestjs/nest/pull/13966) chore(deps): bump dset from 3.1.2 to 3.1.4 in /sample/32-graphql-federation-schema-first/gateway ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13967](https://redirect.github.com/nestjs/nest/pull/13967) chore(deps): bump dset from 3.1.3 to 3.1.4 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13968](https://redirect.github.com/nestjs/nest/pull/13968) chore(deps-dev): bump [@&#8203;commitlint/cli](https://redirect.github.com/commitlint/cli) from 19.4.0 to 19.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13969](https://redirect.github.com/nestjs/nest/pull/13969) chore(deps-dev): bump mongoose from 8.6.0 to 8.6.2 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13973](https://redirect.github.com/nestjs/nest/pull/13973) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.1 to 22.5.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13922](https://redirect.github.com/nestjs/nest/pull/13922) chore(deps): bump [@&#8203;apollo/gateway](https://redirect.github.com/apollo/gateway) from 2.2.3 to 2.9.0 in /sample/31-graphql-federation-code-first/users-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13921](https://redirect.github.com/nestjs/nest/pull/13921) chore(deps): bump [@&#8203;apollo/query-planner](https://redirect.github.com/apollo/query-planner) from 2.4.8 to 2.9.0 in /sample/31-graphql-federation-code-first/posts-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13926](https://redirect.github.com/nestjs/nest/pull/13926) chore(deps-dev): bump mongoose from 8.5.3 to 8.6.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13928](https://redirect.github.com/nestjs/nest/pull/13928) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.0 to 22.5.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13929](https://redirect.github.com/nestjs/nest/pull/13929) chore(deps-dev): bump [@&#8203;commitlint/config-angular](https://redirect.github.com/commitlint/config-angular) from 19.3.0 to 19.4.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13893](https://redirect.github.com/nestjs/nest/pull/13893) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://redirect.github.com/typescript-eslint/eslint-plugin) from 7.18.0 to 8.2.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13896](https://redirect.github.com/nestjs/nest/pull/13896) chore(deps-dev): bump husky from 9.1.4 to 9.1.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13897](https://redirect.github.com/nestjs/nest/pull/13897) chore(deps-dev): bump core-js from 3.38.0 to 3.38.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13901](https://redirect.github.com/nestjs/nest/pull/13901) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.3.0 to 22.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13902](https://redirect.github.com/nestjs/nest/pull/13902) chore(deps-dev): bump artillery from 2.0.19 to 2.0.20 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13884](https://redirect.github.com/nestjs/nest/pull/13884) chore(deps-dev): bump mongoose from 8.5.2 to 8.5.3 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13885](https://redirect.github.com/nestjs/nest/pull/13885) chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13890](https://redirect.github.com/nestjs/nest/pull/13890) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.2.0 to 22.3.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))

##### Committers: 3

-   Kamil Mysliwiec ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
-   Micael Levi L. Cavalcante ([@&#8203;micalevisk](https://redirect.github.com/micalevisk))
-   [@&#8203;haouvw](https://redirect.github.com/haouvw)

</details>

<details>
<summary>nestjs/schedule (@&#8203;nestjs/schedule)</summary>

### [`v4.1.1`](https://redirect.github.com/nestjs/schedule/releases/tag/4.1.1)

[Compare Source](https://redirect.github.com/nestjs/schedule/compare/4.1.0...4.1.1)

-   Merge pull request [#&#8203;1756](https://redirect.github.com/nestjs/schedule/issues/1756) from hkjeffchan/patch-1 ([`745118f`](https://redirect.github.com/nestjs/schedule/commit/745118f))
-   chore(deps): update dependency sinon to v19.0.2 ([`baf7cb8`](https://redirect.github.com/nestjs/schedule/commit/baf7cb8))
-   Fix deprecated warning for interval.decorator.ts ([`ee56e9b`](https://redirect.github.com/nestjs/schedule/commit/ee56e9b))
-   chore(deps): update dependency sinon to v19 ([`65d91a4`](https://redirect.github.com/nestjs/schedule/commit/65d91a4))
-   chore(deps): update dependency [@&#8203;types/jest](https://redirect.github.com/types/jest) to v29.5.13 ([`c97e429`](https://redirect.github.com/nestjs/schedule/commit/c97e429))
-   chore(deps): update dependency husky to v9.1.6 ([`034cea9`](https://redirect.github.com/nestjs/schedule/commit/034cea9))
-   chore(deps): update commitlint monorepo to v19.5.0 ([`db3fd97`](https://redirect.github.com/nestjs/schedule/commit/db3fd97))
-   chore(deps): update dependency sinon to v18.0.1 ([`b52e5d8`](https://redirect.github.com/nestjs/schedule/commit/b52e5d8))
-   chore(deps): update typescript-eslint monorepo to v8.5.0 ([`5244efc`](https://redirect.github.com/nestjs/schedule/commit/5244efc))
-   chore(deps): update dependency typescript to v5.6.2 ([`8ca561f`](https://redirect.github.com/nestjs/schedule/commit/8ca561f))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.5 ([`45a7932`](https://redirect.github.com/nestjs/schedule/commit/45a7932))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.4 ([`5a27065`](https://redirect.github.com/nestjs/schedule/commit/5a27065))
-   chore(deps): update dependency eslint-plugin-import to v2.30.0 ([`db347f5`](https://redirect.github.com/nestjs/schedule/commit/db347f5))
-   chore(deps): update typescript-eslint monorepo to v8.4.0 ([`bc2fe2e`](https://redirect.github.com/nestjs/schedule/commit/bc2fe2e))
-   chore(deps): update dependency lint-staged to v15.2.10 ([`3874d03`](https://redirect.github.com/nestjs/schedule/commit/3874d03))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.3 ([`c02fa08`](https://redirect.github.com/nestjs/schedule/commit/c02fa08))
-   chore(deps): update commitlint monorepo to v19.4.1 ([`8e9aa21`](https://redirect.github.com/nestjs/schedule/commit/8e9aa21))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.2 ([`a17b71e`](https://redirect.github.com/nestjs/schedule/commit/a17b71e))
-   chore(deps): update typescript-eslint monorepo to v8.3.0 ([`2c3880f`](https://redirect.github.com/nestjs/schedule/commit/2c3880f))
-   chore(deps): update dependency ts-jest to v29.2.5 ([`55e2793`](https://redirect.github.com/nestjs/schedule/commit/55e2793))
-   chore(deps): update dependency husky to v9.1.5 ([`c6f5a03`](https://redirect.github.com/nestjs/schedule/commit/c6f5a03))
-   chore(deps): update typescript-eslint monorepo to v8.2.0 ([`793a7fa`](https://redirect.github.com/nestjs/schedule/commit/793a7fa))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.1 ([`f515193`](https://redirect.github.com/nestjs/schedule/commit/f515193))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.16.0 ([`1452ab7`](https://redirect.github.com/nestjs/schedule/commit/1452ab7))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.15.0 ([`b333c79`](https://redirect.github.com/nestjs/schedule/commit/b333c79))
-   chore(deps): update nest monorepo to v10.4.1 ([`773cca5`](https://redirect.github.com/nestjs/schedule/commit/773cca5))
-   chore(deps): update dependency lint-staged to v15.2.9 ([`4e039dc`](https://redirect.github.com/nestjs/schedule/commit/4e039dc))
-   chore(deps): update typescript-eslint monorepo to v8.1.0 ([`0d52e1c`](https://redirect.github.com/nestjs/schedule/commit/0d52e1c))
-   chore(deps): update nest monorepo to v10.4.0 ([`b1e6be2`](https://redirect.github.com/nestjs/schedule/commit/b1e6be2))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.15 ([`f65d083`](https://redirect.github.com/nestjs/schedule/commit/f65d083))
-   chore(deps): update dependency [@&#8203;commitlint/cli](https://redirect.github.com/commitlint/cli) to v19.4.0 ([`b160424`](https://redirect.github.com/nestjs/schedule/commit/b160424))
-   chore(deps): update typescript-eslint monorepo to v8.0.1 ([`1038c56`](https://redirect.github.com/nestjs/schedule/commit/1038c56))
-   chore(deps): update dependency lint-staged to v15.2.8 ([`e90b7db`](https://redirect.github.com/nestjs/schedule/commit/e90b7db))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.14 ([`479bd42`](https://redirect.github.com/nestjs/schedule/commit/479bd42))
-   chore(deps): update dependency ts-jest to v29.2.4 ([`20e1a61`](https://redirect.github.com/nestjs/schedule/commit/20e1a61))
-   chore(deps): update typescript-eslint monorepo to v8 ([`6766efd`](https://redirect.github.com/nestjs/schedule/commit/6766efd))
-   chore(deps): update typescript-eslint monorepo to v7.18.0 ([`815f62d`](https://redirect.github.com/nestjs/schedule/commit/815f62d))
-   chore(deps): update dependency husky to v9.1.4 ([`984bc96`](https://redirect.github.com/nestjs/schedule/commit/984bc96))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.13 ([`d6b84bb`](https://redirect.github.com/nestjs/schedule/commit/d6b84bb))
-   chore(deps): update dependency husky to v9.1.3 ([`e2d92e6`](https://redirect.github.com/nestjs/schedule/commit/e2d92e6))
-   chore(deps): update dependency husky to v9.1.2 ([`75c9d16`](https://redirect.github.com/nestjs/schedule/commit/75c9d16))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.12 ([`c715b79`](https://redirect.github.com/nestjs/schedule/commit/c715b79))
-   chore(deps): update dependency typescript to v5.5.4 ([`aa50721`](https://redirect.github.com/nestjs/schedule/commit/aa50721))
-   chore(deps): update typescript-eslint monorepo to v7.17.0 ([`035049b`](https://redirect.github.com/nestjs/schedule/commit/035049b))
-   chore(deps): update dependency ts-jest to v29.2.3 ([`63ad71f`](https://redirect.github.com/nestjs/schedule/commit/63ad71f))
-   chore(deps): update dependency husky to v9.1.1 ([`1038a3d`](https://redirect.github.com/nestjs/schedule/commit/1038a3d))
-   chore(deps): update dependency husky to v9.1.0 ([`8f422bb`](https://redirect.github.com/nestjs/schedule/commit/8f422bb))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.11 ([`7fbeccd`](https://redirect.github.com/nestjs/schedule/commit/7fbeccd))
-   chore(deps): update typescript-eslint monorepo to v7.16.1 ([`9b2372e`](https://redirect.github.com/nestjs/schedule/commit/9b2372e))
-   chore(deps): update dependency release-it to v17.6.0 ([`4331480`](https://redirect.github.com/nestjs/schedule/commit/4331480))
-   chore(deps): update dependency prettier to v3.3.3 ([`7d2b6e8`](https://redirect.github.com/nestjs/schedule/commit/7d2b6e8))
-   chore(deps): update dependency ts-jest to v29.2.2 ([`7cc735a`](https://redirect.github.com/nestjs/schedule/commit/7cc735a))
-   chore(deps): update dependency rimraf to v6.0.1 ([`35ece54`](https://redirect.github.com/nestjs/schedule/commit/35ece54))
-   chore(deps): update dependency ts-jest to v29.2.1 ([`970149c`](https://redirect.github.com/nestjs/schedule/commit/970149c))
-   chore(deps): update dependency rimraf to v6 ([`f97fd9d`](https://redirect.github.com/nestjs/schedule/commit/f97fd9d))
-   chore(deps): update dependency rimraf to v5.0.9 ([`0a6eef8`](https://redirect.github.com/nestjs/schedule/commit/0a6eef8))
-   chore(deps): update typescript-eslint monorepo to v7.16.0 ([`d70b999`](https://redirect.github.com/nestjs/schedule/commit/d70b999))
-   chore(deps): update dependency release-it to v17.5.0 ([`16c6a11`](https://redirect.github.com/nestjs/schedule/commit/16c6a11))
-   chore(deps): update dependency ts-jest to v29.2.0 ([`09fec8b`](https://redirect.github.com/nestjs/schedule/commit/09fec8b))
-   chore(deps): update dependency rimraf to v5.0.8 ([`bb91d01`](https://redirect.github.com/nestjs/schedule/commit/bb91d01))
-   chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v20.14.10 ([`b36fb04`](https://redirect.github.com/nestjs/schedule/commit/b36fb04))

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/testing)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/releases/tag/v10.4.2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

#### v10.4.2 (2024-09-16)

##### Dependencies

-   `common`, `core`, `microservices`, `platform-express`, `platform-fastify`, `platform-socket.io`, `platform-ws`, `testing`, `websockets`
    -   [#&#8203;13911](https://redirect.github.com/nestjs/nest/pull/13911) chore(deps): bump tslib from 2.6.3 to 2.7.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   `platform-fastify`
    -   [#&#8203;13938](https://redirect.github.com/nestjs/nest/pull/13938) chore(deps): bump light-my-request from 5.13.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   Other
    -   [#&#8203;13936](https://redirect.github.com/nestjs/nest/pull/13936) chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13946](https://redirect.github.com/nestjs/nest/pull/13946) chore(deps): bump webpack and [@&#8203;nestjs/cli](https://redirect.github.com/nestjs/cli) in /sample/02-gateways ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13947](https://redirect.github.com/nestjs/nest/pull/13947) chore(deps-dev): bump webpack from 5.91.0 to 5.94.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13966](https://redirect.github.com/nestjs/nest/pull/13966) chore(deps): bump dset from 3.1.2 to 3.1.4 in /sample/32-graphql-federation-schema-first/gateway ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13967](https://redirect.github.com/nestjs/nest/pull/13967) chore(deps): bump dset from 3.1.3 to 3.1.4 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13968](https://redirect.github.com/nestjs/nest/pull/13968) chore(deps-dev): bump [@&#8203;commitlint/cli](https://redirect.github.com/commitlint/cli) from 19.4.0 to 19.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13969](https://redirect.github.com/nestjs/nest/pull/13969) chore(deps-dev): bump mongoose from 8.6.0 to 8.6.2 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13973](https://redirect.github.com/nestjs/nest/pull/13973) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.1 to 22.5.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13922](https://redirect.github.com/nestjs/nest/pull/13922) chore(deps): bump [@&#8203;apollo/gateway](https://redirect.github.com/apollo/gateway) from 2.2.3 to 2.9.0 in /sample/31-graphql-federation-code-first/users-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13921](https://redirect.github.com/nestjs/nest/pull/13921) chore(deps): bump [@&#8203;apollo/query-planner](https://redirect.github.com/apollo/query-planner) from 2.4.8 to 2.9.0 in /sample/31-graphql-federation-code-first/posts-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13926](https://redirect.github.com/nestjs/nest/pull/13926) chore(deps-dev): bump mongoose from 8.5.3 to 8.6.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13928](https://redirect.github.com/nestjs/nest/pull/13928) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.0 to 22.5.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13929](https://redirect.github.com/nestjs/nest/pull/13929) chore(deps-dev): bump [@&#8203;commitlint/config-angular](https://redirect.github.com/commitlint/config-angular) from 19.3.0 to 19.4.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13893](https://redirect.github.com/nestjs/nest/pull/13893) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://redirect.github.com/typescript-eslint/eslint-plugin) from 7.18.0 to 8.2.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13896](https://redirect.github.com/nestjs/nest/pull/13896) chore(deps-dev): bump husky from 9.1.4 to 9.1.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13897](https://redirect.github.com/nestjs/nest/pull/13897) chore(deps-dev): bump core-js from 3.38.0 to 3.38.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13901](https://redirect.github.com/nestjs/nest/pull/13901) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.3.0 to 22.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13902](https://redirect.github.com/nestjs/nest/pull/13902) chore(deps-dev): bump artillery from 2.0.19 to 2.0.20 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13884](https://redirect.github.com/nestjs/nest/pull/13884) chore(deps-dev): bump mongoose from 8.5.2 to 8.5.3 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13885](https://redirect.github.com/nestjs/nest/pull/13885) chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13890](https://redirect.github.com/nestjs/nest/pull/13890) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.2.0 to 22.3.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))

##### Committers: 3

-   Kamil Mysliwiec ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
-   Micael Levi L. Cavalcante ([@&#8203;micalevisk](https://redirect.github.com/micalevisk))
-   [@&#8203;haouvw](https://redirect.github.com/haouvw)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/websockets)</summary>

### [`v10.4.3`](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.2...v10.4.3)

### [`v10.4.2`](https://redirect.github.com/nestjs/nest/releases/tag/v10.4.2)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v10.4.1...v10.4.2)

##### v10.4.2 (2024-09-16)

##### Dependencies

-   `common`, `core`, `microservices`, `platform-express`, `platform-fastify`, `platform-socket.io`, `platform-ws`, `testing`, `websockets`
    -   [#&#8203;13911](https://redirect.github.com/nestjs/nest/pull/13911) chore(deps): bump tslib from 2.6.3 to 2.7.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   `platform-fastify`
    -   [#&#8203;13938](https://redirect.github.com/nestjs/nest/pull/13938) chore(deps): bump light-my-request from 5.13.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
-   Other
    -   [#&#8203;13936](https://redirect.github.com/nestjs/nest/pull/13936) chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13946](https://redirect.github.com/nestjs/nest/pull/13946) chore(deps): bump webpack and [@&#8203;nestjs/cli](https://redirect.github.com/nestjs/cli) in /sample/02-gateways ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13947](https://redirect.github.com/nestjs/nest/pull/13947) chore(deps-dev): bump webpack from 5.91.0 to 5.94.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13966](https://redirect.github.com/nestjs/nest/pull/13966) chore(deps): bump dset from 3.1.2 to 3.1.4 in /sample/32-graphql-federation-schema-first/gateway ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13967](https://redirect.github.com/nestjs/nest/pull/13967) chore(deps): bump dset from 3.1.3 to 3.1.4 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13968](https://redirect.github.com/nestjs/nest/pull/13968) chore(deps-dev): bump [@&#8203;commitlint/cli](https://redirect.github.com/commitlint/cli) from 19.4.0 to 19.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13969](https://redirect.github.com/nestjs/nest/pull/13969) chore(deps-dev): bump mongoose from 8.6.0 to 8.6.2 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13973](https://redirect.github.com/nestjs/nest/pull/13973) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.1 to 22.5.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13922](https://redirect.github.com/nestjs/nest/pull/13922) chore(deps): bump [@&#8203;apollo/gateway](https://redirect.github.com/apollo/gateway) from 2.2.3 to 2.9.0 in /sample/31-graphql-federation-code-first/users-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13921](https://redirect.github.com/nestjs/nest/pull/13921) chore(deps): bump [@&#8203;apollo/query-planner](https://redirect.github.com/apollo/query-planner) from 2.4.8 to 2.9.0 in /sample/31-graphql-federation-code-first/posts-application ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13926](https://redirect.github.com/nestjs/nest/pull/13926) chore(deps-dev): bump mongoose from 8.5.3 to 8.6.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13928](https://redirect.github.com/nestjs/nest/pull/13928) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.5.0 to 22.5.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13929](https://redirect.github.com/nestjs/nest/pull/13929) chore(deps-dev): bump [@&#8203;commitlint/config-angular](https://redirect.github.com/commitlint/config-angular) from 19.3.0 to 19.4.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13893](https://redirect.github.com/nestjs/nest/pull/13893) chore(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://redirect.github.com/typescript-eslint/eslint-plugin) from 7.18.0 to 8.2.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13896](https://redirect.github.com/nestjs/nest/pull/13896) chore(deps-dev): bump husky from 9.1.4 to 9.1.5 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13897](https://redirect.github.com/nestjs/nest/pull/13897) chore(deps-dev): bump core-js from 3.38.0 to 3.38.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13901](https://redirect.github.com/nestjs/nest/pull/13901) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.3.0 to 22.5.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13902](https://redirect.github.com/nestjs/nest/pull/13902) chore(deps-dev): bump artillery from 2.0.19 to 2.0.20 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13884](https://redirect.github.com/nestjs/nest/pull/13884) chore(deps-dev): bump mongoose from 8.5.2 to 8.5.3 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13885](https://redirect.github.com/nestjs/nest/pull/13885) chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))
    -   [#&#8203;13890](https://redirect.github.com/nestjs/nest/pull/13890) chore(deps-dev): bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.2.0 to 22.3.0 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))

##### Committers: 3

-   Kamil Mysliwiec ([@&#8203;kamilmysliwiec](https://redirect.github.com/kamilmysliwiec))
-   Micael Levi L. Cavalcante ([@&#8203;micalevisk](https://redirect.github.com/micalevisk))
-   [@&#8203;haouvw](https://redirect.github.com/haouvw)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-19 06:09:17 +00:00
renovate
04639e4263 chore: bump up vite version to v5.4.6 [SECURITY] (#8271)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.4` -> `5.4.6`](https://renovatebot.com/diffs/npm/vite/5.4.4/5.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.4/5.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.4/5.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-45811](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-9cwx-2883-4wfx)

### Summary
The contents of arbitrary files can be returned to the browser.

### Details
`@fs` denies access to files outside of Vite serving allow list. Adding `?import&raw` to the URL bypasses this limitation and returns the file content if it exists.

### PoC
```sh
$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev

$ echo "top secret content" > /tmp/secret.txt

# expected behaviour
$ curl "http://localhost:5173/@&#8203;fs/tmp/secret.txt"

    <body>
      <h1>403 Restricted</h1>
      <p>The request url &quot;/tmp/secret.txt&quot; is outside of Vite serving allow list.

# security bypassed
$ curl "http://localhost:5173/@&#8203;fs/tmp/secret.txt?import&raw"
export default "top secret content\n"
//# sourceMappingURL=data:application/json;base64,eyJ2...
```

#### [CVE-2024-45812](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-64vr-g452-qvp3)

### Summary

We discovered a DOM Clobbering vulnerability in Vite when building scripts to `cjs`/`iife`/`umd` output format. The DOM Clobbering gadget in the module can lead to cross-site scripting (XSS) in web pages where scriptless attacker-controlled HTML elements (e.g., an img tag with an unsanitized name attribute) are present.

Note that, we have identified similar security issues in Webpack: https://github.com/webpack/webpack/security/advisories/GHSA-4vvj-4cpr-p986

### Details

**Backgrounds**

DOM Clobbering is a type of code-reuse attack where the attacker first embeds a piece of non-script, seemingly benign HTML markups in the webpage (e.g. through a post or comment) and leverages the gadgets (pieces of js code) living in the existing javascript code to transform it into executable code. More for information about DOM Clobbering, here are some references:

[1] https://scnps.co/papers/sp23_domclob.pdf
[2] https://research.securitum.com/xss-in-amp4email-dom-clobbering/

**Gadgets found in Vite**

We have identified a DOM Clobbering vulnerability in Vite bundled scripts, particularly when the scripts dynamically import other scripts from the assets folder and the developer sets the build output format to `cjs`, `iife`, or `umd`. In such cases, Vite replaces relative paths starting with `__VITE_ASSET__` using the URL retrieved from `document.currentScript`.

However, this implementation is vulnerable to a DOM Clobbering attack. The `document.currentScript` lookup can be shadowed by an attacker via the browser's named DOM tree element access mechanism. This manipulation allows an attacker to replace the intended script element with a malicious HTML element. When this happens, the src attribute of the attacker-controlled element is used as the URL for importing scripts, potentially leading to the dynamic loading of scripts from an attacker-controlled server.

```
const relativeUrlMechanisms = {
  amd: (relativePath) => {
    if (relativePath[0] !== ".") relativePath = "./" + relativePath;
    return getResolveUrl(
      `require.toUrl('${escapeId(relativePath)}'), document.baseURI`
    );
  },
  cjs: (relativePath) => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(
    relativePath
  )} : ${getRelativeUrlFromDocument(relativePath)})`,
  es: (relativePath) => getResolveUrl(
    `'${escapeId(partialEncodeURIPath(relativePath))}', import.meta.url`
  ),
  iife: (relativePath) => getRelativeUrlFromDocument(relativePath),
  // NOTE: make sure rollup generate `module` params
  system: (relativePath) => getResolveUrl(
    `'${escapeId(partialEncodeURIPath(relativePath))}', module.meta.url`
  ),
  umd: (relativePath) => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(
    relativePath
  )} : ${getRelativeUrlFromDocument(relativePath, true)})`
};
```

### PoC

Considering a website that contains the following `main.js` script, the devloper decides to use the Vite to bundle up the program with the following configuration.

```
// main.js
import extraURL from './extra.js?url'
var s = document.createElement('script')
s.src = extraURL
document.head.append(s)
```

```
// extra.js
export default "https://myserver/justAnOther.js"
```

```
// vite.config.js
import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    assetsInlineLimit: 0, // To avoid inline assets for PoC
    rollupOptions: {
      output: {
        format: "cjs"
      },
    },
  },
  base: "./",
});
```

After running the build command, the developer will get following bundle as the output.

```
// dist/index-DDmIg9VD.js
"use strict";const t=""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/extra-BLVEx9Lb.js").href:new URL("extra-BLVEx9Lb.js",document.currentScript&&document.currentScript.src||document.baseURI).href);var e=document.createElement("script");e.src=t;document.head.append(e);
```

Adding the Vite bundled script, `dist/index-DDmIg9VD.js`, as part of the web page source code, the page could load the `extra.js` file from the attacker's domain, `attacker.controlled.server`. The attacker only needs to insert an `img` tag with the `name` attribute set to `currentScript`. This can be done through a website's feature that allows users to embed certain script-less HTML (e.g., markdown renderers, web email clients, forums) or via an HTML injection vulnerability in third-party JavaScript loaded on the page.

```
<!DOCTYPE html>
<html>
<head>
  <title>Vite Example</title>
  <!-- Attacker-controlled Script-less HTML Element starts--!>
  <img name="currentScript" src="https://attacker.controlled.server/"></img>
  <!-- Attacker-controlled Script-less HTML Element ends--!>
</head>
<script type="module" crossorigin src="/assets/index-DDmIg9VD.js"></script>
<body>
</body>
</html>
```

### Impact

This vulnerability can result in cross-site scripting (XSS) attacks on websites that include Vite-bundled files (configured with an output format of `cjs`, `iife`, or `umd`) and allow users to inject certain scriptless HTML tags without properly sanitizing the name or id attributes.

### Patch

```
// https://github.com/vitejs/vite/blob/main/packages/vite/src/node/build.ts#L1296
const getRelativeUrlFromDocument = (relativePath: string, umd = false) =>
  getResolveUrl(
    `'${escapeId(partialEncodeURIPath(relativePath))}', ${
      umd ? `typeof document === 'undefined' ? location.href : ` : ''
    }document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || document.baseURI`,
  )
```

---

### Release Notes

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

### [`v5.4.6`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.6)

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

Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md) for details.

### [`v5.4.5`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.5)

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

Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.5/packages/vite/CHANGELOG.md) for details.

</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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-19 05:53:05 +00:00
renovate
a372ab339b chore: bump up all non-major dependencies (#8237)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@atlaskit/pragmatic-drag-and-drop](https://atlassian.design/components/pragmatic-drag-and-drop/) ([source](https://redirect.github.com/atlassian/pragmatic-drag-and-drop)) | [`1.3.0` -> `1.3.1`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.0/1.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.1?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.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@atlaskit%2fpragmatic-drag-and-drop/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@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.651.0` -> `3.654.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.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.651.0` -> `3.654.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.651.0/3.654.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@faker-js/faker](https://redirect.github.com/faker-js/faker) | [`9.0.0` -> `9.0.1`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.0.0/9.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.0.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.0.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@floating-ui/dom](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.6.10` -> `1.6.11`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.6.10/1.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@floating-ui%2fdom/1.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@floating-ui%2fdom/1.6.10/1.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.6.10/1.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.47.0` -> `=1.47.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.47.0/1.47.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.47.0/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.47.0/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@slack/web-api](https://slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/nodemailer](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/nodemailer) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer)) | [`6.4.15` -> `6.4.16`](https://renovatebot.com/diffs/npm/@types%2fnodemailer/6.4.15/6.4.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnodemailer/6.4.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnodemailer/6.4.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnodemailer/6.4.15/6.4.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnodemailer/6.4.15/6.4.16?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.5` -> `18.3.7`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.5/18.3.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.5/18.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.5/18.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fui/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.88` -> `1.0.89` | [![age](https://developer.mend.io/api/mc/badges/age/crate/anyhow/1.0.89?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/anyhow/1.0.89?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/anyhow/1.0.88/1.0.89?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/anyhow/1.0.88/1.0.89?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [builder-util-runtime](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/builder-util-runtime)) | [`9.2.6` -> `9.2.8`](https://renovatebot.com/diffs/npm/builder-util-runtime/9.2.6/9.2.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/builder-util-runtime/9.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/builder-util-runtime/9.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/builder-util-runtime/9.2.6/9.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/builder-util-runtime/9.2.6/9.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`32.1.0` -> `32.1.1`](https://renovatebot.com/diffs/npm/electron/32.1.0/32.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/32.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/32.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/32.1.0/32.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/32.1.0/32.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.3.5` -> `6.3.7`](https://renovatebot.com/diffs/npm/electron-updater/6.3.5/6.3.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.3.5/6.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.3.5/6.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://redirect.github.com/davidjerleke/embla-carousel)) | [`8.2.1` -> `8.3.0`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.2.1/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.2.1/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.2.1/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.4.5` -> `2.4.8`](https://renovatebot.com/diffs/npm/msw/2.4.5/2.4.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.4.5/2.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.4.5/2.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nodemon](https://nodemon.io) ([source](https://redirect.github.com/remy/nodemon)) | [`3.1.4` -> `3.1.5`](https://renovatebot.com/diffs/npm/nodemon/3.1.4/3.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemon/3.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemon/3.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemon/3.1.4/3.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemon/3.1.4/3.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.7.3` -> `19.7.4`](https://renovatebot.com/diffs/npm/nx/19.7.3/19.7.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.7.3/19.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.7.3/19.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.60.0` -> `4.62.1`](https://renovatebot.com/diffs/npm/openai/4.60.0/4.62.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.62.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.62.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.60.0/4.62.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.60.0/4.62.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [piscina](https://redirect.github.com/piscinajs/piscina) | [`4.6.1` -> `4.7.0`](https://renovatebot.com/diffs/npm/piscina/4.6.1/4.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/piscina/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/piscina/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/piscina/4.6.1/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/piscina/4.6.1/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.47.0` -> `=1.47.1`](https://renovatebot.com/diffs/npm/playwright/1.47.0/1.47.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.47.0/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.47.0/1.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.45` -> `8.4.47`](https://renovatebot.com/diffs/npm/postcss/8.4.45/8.4.47) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.47?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.47?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.45/8.4.47?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.45/8.4.47?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.0.9` -> `9.1.0`](https://renovatebot.com/diffs/npm/react-day-picker/9.0.9/9.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.0.9/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.0.9/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-i18next](https://redirect.github.com/i18next/react-i18next) | [`15.0.1` -> `15.0.2`](https://renovatebot.com/diffs/npm/react-i18next/15.0.1/15.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/15.0.1/15.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.0.1/15.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-resizable-panels](https://redirect.github.com/bvaughn/react-resizable-panels) | [`2.1.2` -> `2.1.3`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.1.2/2.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.1.2/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.1.2/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [shadcn-ui](https://redirect.github.com/shadcn/ui) ([source](https://redirect.github.com/shadcn/ui/tree/HEAD/packages/cli)) | [`0.9.0` -> `0.9.1`](https://renovatebot.com/diffs/npm/shadcn-ui/0.9.0/0.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shadcn-ui/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shadcn-ui/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shadcn-ui/0.9.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shadcn-ui/0.9.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [sinon](https://sinonjs.org/) ([source](https://redirect.github.com/sinonjs/sinon)) | [`19.0.0` -> `19.0.2`](https://renovatebot.com/diffs/npm/sinon/19.0.0/19.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sinon/19.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sinon/19.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sinon/19.0.0/19.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sinon/19.0.0/19.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.3.0` -> `8.3.1`](https://renovatebot.com/diffs/npm/storybook/8.3.0/8.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.3.0/8.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [stripe](https://redirect.github.com/stripe/stripe-node) | [`16.11.0` -> `16.12.0`](https://renovatebot.com/diffs/npm/stripe/16.11.0/16.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/16.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/16.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/16.11.0/16.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/16.11.0/16.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss)) | [`3.4.11` -> `3.4.12`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.11/3.4.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.11/3.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.11/3.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vaul](https://vaul.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/vaul)) | [`0.9.2` -> `0.9.4`](https://renovatebot.com/diffs/npm/vaul/0.9.2/0.9.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vaul/0.9.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vaul/0.9.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vaul/0.9.2/0.9.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vaul/0.9.2/0.9.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/vitest/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/2.1.0/2.1.1?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.77.0` -> `3.78.5`](https://renovatebot.com/diffs/npm/wrangler/3.77.0/3.78.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.78.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.78.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.77.0/3.78.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.77.0/3.78.5?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.1` -> `4.5.0`](https://renovatebot.com/diffs/npm/yarn/4.4.1/4.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yarn/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yarn/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yarn/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yarn/4.4.1/4.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |

---

### Release Notes

<details>
<summary>atlassian/pragmatic-drag-and-drop (@&#8203;atlaskit/pragmatic-drag-and-drop)</summary>

### [`v1.3.1`](9d8fe0d7d4...4af587640f)

[Compare Source](9d8fe0d7d4...4af587640f)

</details>

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

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

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

##### Features

-   **client-s3:** Added SSE-KMS support for directory buckets. ([a00b8b0](a00b8b018f))

#### [3.651.1](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.651.0...v3.651.1) (2024-09-13)

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

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

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

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

</details>

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

### [`v9.0.1`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#901-2024-09-14)

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

##### Bug Fixes

-   emit cts types ([#&#8203;3093](https://redirect.github.com/faker-js/faker/issues/3093)) ([53ef42c](53ef42cc19))

</details>

<details>
<summary>floating-ui/floating-ui (@&#8203;floating-ui/dom)</summary>

### [`v1.6.11`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#1611)

[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.6.10...@floating-ui/dom@1.6.11)

##### Patch Changes

-   fix: handle html relative offset
-   Update dependencies: `@floating-ui/utils@0.2.8`

</details>

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

### [`v1.47.1`](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...3d2ffd0fe97f23f480092054da5928539a3c5beb)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...v1.47.1)

</details>

<details>
<summary>slackapi/node-slack-sdk (@&#8203;slack/web-api)</summary>

### [`v7.5.0`](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.4.0...453ef16d29ea1e983c66f4a2d3ee8a4f920f3c27)

[Compare Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.4.0...@slack/web-api@7.5.0)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.3.1`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#831)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.3.0...v8.3.1)

-   Angular: Fix sourceDecorator to apply excludeDecorators flag - [#&#8203;29069](https://redirect.github.com/storybookjs/storybook/pull/29069), thanks [@&#8203;JSMike](https://redirect.github.com/JSMike)!
-   Core: Do not prebundle better-opn - [#&#8203;29137](https://redirect.github.com/storybookjs/storybook/pull/29137), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Core: Do not prebundle jsdoc-type-pratt-parser - [#&#8203;29134](https://redirect.github.com/storybookjs/storybook/pull/29134), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Next.js: Upgrade sass-loader from ^12 to ^13 - [#&#8203;29040](https://redirect.github.com/storybookjs/storybook/pull/29040), thanks [@&#8203;HoncharenkoZhenya](https://redirect.github.com/HoncharenkoZhenya)!

</details>

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

### [`v2.1.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v2.1.1)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.0...v2.1.1)

#####    🐞 Bug Fixes

-   **browser**:
    -   Make example test callbacks async  -  by [@&#8203;aqandrew](https://redirect.github.com/aqandrew) in [https://github.com/vitest-dev/vitest/issues/6484](https://redirect.github.com/vitest-dev/vitest/issues/6484) [<samp>(16aa7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/16aa76c2)
    -   Optimize vitest-browser-vue correctly  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6490](https://redirect.github.com/vitest-dev/vitest/issues/6490) [<samp>(5cbb0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5cbb0bba)
-   **workspace**:
    -   Resolve glob pattern once to avoid name collision  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6489](https://redirect.github.com/vitest-dev/vitest/issues/6489) [<samp>(36b5a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/36b5aceb)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.0...v2.1.1)

</details>

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.89`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.89)

[Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.88...1.0.89)

-   Make anyhow::Error's `UnwindSafe` and `RefUnwindSafe` impl consistently available between versions of Rust newer and older than 1.72 ([#&#8203;386](https://redirect.github.com/dtolnay/anyhow/issues/386))

</details>

<details>
<summary>electron-userland/electron-builder (builder-util-runtime)</summary>

### [`v9.2.8`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/builder-util-runtime/CHANGELOG.md#928)

##### Patch Changes

-   [#&#8203;8491](https://redirect.github.com/electron-userland/electron-builder/pull/8491) [`178a3c40`](178a3c40f3) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: migrating to typedoc and updating/improving type+interface definitions

### [`v9.2.7`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/builder-util-runtime/CHANGELOG.md#927)

##### Patch Changes

-   [#&#8203;8486](https://redirect.github.com/electron-userland/electron-builder/pull/8486) [`d56cd274`](d56cd274b9) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(deploy): redeploy all packages to sync semver ranges

</details>

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

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

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

### Release Notes for v32.1.1

#### Fixes

-   Fixed an issue when dragging to resize when using Window Controls Overlay on Linux. [#&#8203;43743](https://redirect.github.com/electron/electron/pull/43743) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/43744))</span>
-   Fixed an issue where `WebContentsView`s did not show correctly in some circumstances on macOS after being added as child views. [#&#8203;43698](https://redirect.github.com/electron/electron/pull/43698) <span style="font-size:small;">(Also in [31](https://redirect.github.com/electron/electron/pull/43697), [33](https://redirect.github.com/electron/electron/pull/43696))</span>

#### Other Changes

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

</details>

<details>
<summary>electron-userland/electron-builder (electron-updater)</summary>

### [`v6.3.7`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-updater/CHANGELOG.md#637)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-updater@6.3.6...electron-updater@6.3.7)

##### Patch Changes

-   [#&#8203;8491](https://redirect.github.com/electron-userland/electron-builder/pull/8491) [`178a3c40`](178a3c40f3) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: migrating to typedoc and updating/improving type+interface definitions

-   Updated dependencies \[[`178a3c40`](178a3c40f3)]:
    -   builder-util-runtime@9.2.8

### [`v6.3.6`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-updater/CHANGELOG.md#636)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-updater@6.3.5...electron-updater@6.3.6)

##### Patch Changes

-   [#&#8203;8486](https://redirect.github.com/electron-userland/electron-builder/pull/8486) [`d56cd274`](d56cd274b9) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(deploy): redeploy all packages to sync semver ranges

-   Updated dependencies \[[`d56cd274`](d56cd274b9)]:
    -   builder-util-runtime@9.2.7

</details>

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

### [`v8.3.0`](https://redirect.github.com/davidjerleke/embla-carousel/releases/tag/v8.3.0)

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

Embla Carousel is an open source MIT licensed project. If you are interested in **supporting this project** you can sponsor it here:

-   [**`💖 Sponsor`**](https://redirect.github.com/sponsors/davidjerleke)

#### What's Changed

-   \[Feat]: Upgrade deprecated Node version for GitHub actions by [@&#8203;davidjerleke](https://redirect.github.com/davidjerleke) in [https://github.com/davidjerleke/embla-carousel/pull/999](https://redirect.github.com/davidjerleke/embla-carousel/pull/999)
-   \[Feat]: Adding updated `onemblaInit` naming for Svelte 5 by [@&#8203;S1r-Lanzelot](https://redirect.github.com/S1r-Lanzelot) in [#&#8203;992](https://redirect.github.com/davidjerleke/embla-carousel/issues/992)

**Full Changelog**: https://github.com/davidjerleke/embla-carousel/compare/v8.2.1...v8.3.0

</details>

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

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

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

#### v2.4.8 (2024-09-17)

##### Bug Fixes

-   address `express` and `path-to-regexp` vulnerabilities ([#&#8203;2285](https://redirect.github.com/mswjs/msw/issues/2285)) ([`e3487bc`](e3487bc425)) [@&#8203;markmssd](https://redirect.github.com/markmssd)

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

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

#### v2.4.7 (2024-09-15)

##### Bug Fixes

-   **ClientRequest:** prevent duplicates when recording set headers ([#&#8203;2284](https://redirect.github.com/mswjs/msw/issues/2284)) ([`e04eb8f`](e04eb8f44f)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)
-   use `Object.defineProperty` for Headers proxy ([#&#8203;2283](https://redirect.github.com/mswjs/msw/issues/2283)) ([`94e17be`](94e17beea4)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

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

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

#### v2.4.6 (2024-09-13)

##### Bug Fixes

-   **xhr:** clone request body before calculating its size ([#&#8203;2282](https://redirect.github.com/mswjs/msw/issues/2282)) ([`397444b`](397444bcc3)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</details>

<details>
<summary>remy/nodemon (nodemon)</summary>

### [`v3.1.5`](https://redirect.github.com/remy/nodemon/compare/v3.1.4...254c2ab17877a79b9573c79371cb0fc567eb0514)

[Compare Source](https://redirect.github.com/remy/nodemon/compare/v3.1.4...v3.1.5)

</details>

<details>
<summary>nrwl/nx (nx)</summary>

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

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

#### 19.7.4 (2024-09-18)

##### 🚀 Features

-   **core:** able to import gradle project ([#&#8203;27645](https://redirect.github.com/nrwl/nx/pull/27645))
-   **release:** support groupPreVersionCommand for release groups ([#&#8203;27474](https://redirect.github.com/nrwl/nx/pull/27474))

##### 🩹 Fixes

-   **angular:** add serve static target more intentionally [#&#8203;27854](https://redirect.github.com/nrwl/nx/issues/27854) ([#&#8203;27924](https://redirect.github.com/nrwl/nx/pull/27924), [#&#8203;27854](https://redirect.github.com/nrwl/nx/issues/27854))
-   **angular:** dynamic module federation should not reset remoteUrlDefinitions [#&#8203;27793](https://redirect.github.com/nrwl/nx/issues/27793) ([#&#8203;27927](https://redirect.github.com/nrwl/nx/pull/27927), [#&#8203;27793](https://redirect.github.com/nrwl/nx/issues/27793))
-   **angular:** migrations should use correct namedInputs [#&#8203;27899](https://redirect.github.com/nrwl/nx/issues/27899) ([#&#8203;27929](https://redirect.github.com/nrwl/nx/pull/27929), [#&#8203;27899](https://redirect.github.com/nrwl/nx/issues/27899))
-   **core:** add flag to disable the db and logs when there are errors … ([#&#8203;27930](https://redirect.github.com/nrwl/nx/pull/27930))
-   **core:** import should be rebasable ([#&#8203;27940](https://redirect.github.com/nrwl/nx/pull/27940))
-   **core:** import handles argument escaping correctly in Windows ([#&#8203;27957](https://redirect.github.com/nrwl/nx/pull/27957))
-   **core:** fix env for running parallel tasks ([#&#8203;27889](https://redirect.github.com/nrwl/nx/pull/27889))
-   **core:** nx import detects plugins synchronously ([#&#8203;27958](https://redirect.github.com/nrwl/nx/pull/27958))
-   **js:** set compilerOptions correctly when loading .ts that targets ESM ([#&#8203;27862](https://redirect.github.com/nrwl/nx/pull/27862))
-   **js:** do not infer typecheck target for root tsconfig.json ([#&#8203;27950](https://redirect.github.com/nrwl/nx/pull/27950))
-   **nx-dev:** update contributors value ([#&#8203;27944](https://redirect.github.com/nrwl/nx/pull/27944))
-   **react:** Add historyApiFallback to webpack config ([#&#8203;27942](https://redirect.github.com/nrwl/nx/pull/27942))
-   **release:** ensure default release group has projects on windows ([#&#8203;27933](https://redirect.github.com/nrwl/nx/pull/27933))
-   **release:** allow string array for commitArgs and tagArgs ([#&#8203;27797](https://redirect.github.com/nrwl/nx/pull/27797))
-   **remix:** vite plugin should be less strict on inference [#&#8203;27884](https://redirect.github.com/nrwl/nx/issues/27884) ([#&#8203;27923](https://redirect.github.com/nrwl/nx/pull/27923), [#&#8203;27884](https://redirect.github.com/nrwl/nx/issues/27884))
-   **storybook:** do not duplicate cacheable operations [#&#8203;27866](https://redirect.github.com/nrwl/nx/issues/27866) ([#&#8203;27951](https://redirect.github.com/nrwl/nx/pull/27951), [#&#8203;27866](https://redirect.github.com/nrwl/nx/issues/27866))
-   **vite:** typecheck infer plugin should use correct inputs ([#&#8203;27922](https://redirect.github.com/nrwl/nx/pull/27922))
-   **vite:** exit from test if no files found ([#&#8203;27722](https://redirect.github.com/nrwl/nx/pull/27722))

##### ❤️  Thank You

-   Ali Yusuf [@&#8203;AliYusuf95](https://redirect.github.com/AliYusuf95)
-   Austin Fahsl [@&#8203;fahslaj](https://redirect.github.com/fahslaj)
-   Benjamin Cabanes [@&#8203;bcabanes](https://redirect.github.com/bcabanes)
-   Colum Ferry [@&#8203;Coly010](https://redirect.github.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://redirect.github.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   Jason Jean [@&#8203;FrozenPandaz](https://redirect.github.com/FrozenPandaz)
-   Jonathan Gelin [@&#8203;jogelin](https://redirect.github.com/jogelin)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://redirect.github.com/ndcunningham)

</details>

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

### [`v4.62.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4621-2024-09-18)

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

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

##### Bug Fixes

-   **types:** remove leftover polyfill usage ([#&#8203;1084](https://redirect.github.com/openai/openai-node/issues/1084)) ([b7c9538](b7c9538981))

### [`v4.62.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4620-2024-09-17)

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

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

##### Features

-   **client:** add .\_request_id property to object responses ([#&#8203;1078](https://redirect.github.com/openai/openai-node/issues/1078)) ([d5c2131](d5c2131444))

##### Chores

-   **internal:** add ecosystem test for qs reproduction ([0199dd8](0199dd8598))
-   **internal:** add query string encoder ([#&#8203;1079](https://redirect.github.com/openai/openai-node/issues/1079)) ([f870682](f870682d5c))
-   **internal:** fix some types ([#&#8203;1082](https://redirect.github.com/openai/openai-node/issues/1082)) ([1ec41a7](1ec41a7d76))
-   **tests:** add query string tests to ecosystem tests ([36be724](36be724384))

### [`v4.61.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4611-2024-09-16)

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

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

##### Bug Fixes

-   **runTools:** correct request options type ([#&#8203;1073](https://redirect.github.com/openai/openai-node/issues/1073)) ([399f971](399f9710f9))

##### Chores

-   **internal:** update spec link ([#&#8203;1076](https://redirect.github.com/openai/openai-node/issues/1076)) ([20f1bcc](20f1bcce2b))

### [`v4.61.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4610-2024-09-13)

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

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

##### Bug Fixes

-   **client:** partial parsing update to handle strings ([46e8eb6](46e8eb6a9a))
-   **examples:** handle usage chunk in tool call streaming ([#&#8203;1068](https://redirect.github.com/openai/openai-node/issues/1068)) ([e4188c4](e4188c4ba4))

##### Chores

-   **examples:** add a small delay to tool-calls example streaming ([a3fc659](a3fc65928a))

##### Documentation

-   update CONTRIBUTING.md ([#&#8203;1071](https://redirect.github.com/openai/openai-node/issues/1071)) ([5de81c9](5de81c95d7))

### [`v4.60.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4601-2024-09-13)

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

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

##### Bug Fixes

-   **zod:** correctly add $ref definitions for transformed schemas ([#&#8203;1065](https://redirect.github.com/openai/openai-node/issues/1065)) ([9b93b24](9b93b24b8a))

</details>

<details>
<summary>piscinajs/piscina (piscina)</summary>

### [`v4.7.0`](https://redirect.github.com/piscinajs/piscina/releases/tag/v4.7.0)

[Compare Source](https://redirect.github.com/piscinajs/piscina/compare/v4.6.1...v4.7.0)

#### What's Changed

-   docs: add a new documentation page for Piscina by [@&#8203;bellatrick](https://redirect.github.com/bellatrick) in [https://github.com/piscinajs/piscina/pull/591](https://redirect.github.com/piscinajs/piscina/pull/591)
-   docs: fix abortSignal parameter name which should be `signal` by [@&#8203;jasonchoimtt](https://redirect.github.com/jasonchoimtt) in [https://github.com/piscinajs/piscina/pull/606](https://redirect.github.com/piscinajs/piscina/pull/606)
-   chore(deps-dev): Bump c8 from 9.1.0 to 10.1.2 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/piscinajs/piscina/pull/594](https://redirect.github.com/piscinajs/piscina/pull/594)
-   chore(deps-dev): Bump [@&#8203;types/node](https://redirect.github.com/types/node) from 20.14.2 to 20.14.10 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/piscinajs/piscina/pull/607](https://redirect.github.com/piscinajs/piscina/pull/607)
-   docs: Added examples section in the documentation site by [@&#8203;bellatrick](https://redirect.github.com/bellatrick) in [https://github.com/piscinajs/piscina/pull/614](https://redirect.github.com/piscinajs/piscina/pull/614)
-   chore: add automatization for docs by [@&#8203;metcoder95](https://redirect.github.com/metcoder95) in [https://github.com/piscinajs/piscina/pull/633](https://redirect.github.com/piscinajs/piscina/pull/633)
-

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-19 05:42:08 +00:00
EYHN
9a01da76e1 feat: sync i18n with crowdin (#8293) 2024-09-19 05:30:18 +00:00
fundon
6921c3073c refactor(core): improve scroll anchoring logic (#8269)
Upstreams: https://github.com/toeverything/blocksuite/pull/8378
2024-09-19 02:58:11 +00:00
forehalo
03ac9bc4a1 chore(server): enable renderer for all deployment (#8283) 2024-09-19 02:34:57 +00:00
JimmFly
a1fe7c8ef6 chore: update i18n rescources (#8301) 2024-09-19 02:12:04 +00:00
JimmFly
ee3c05904d refactor(core): adjust error detail and add error component to routes (#8234)
close PD-1430

https://github.com/user-attachments/assets/9447eaa5-c8b3-4108-96f1-d67ab45f249d

![CleanShot 2024-09-13 at 13 28 52@2x](https://github.com/user-attachments/assets/8c6c3a1d-9af7-41df-9d33-b69684d54d6b)
2024-09-19 02:12:03 +00:00
forehalo
ed7fb3fb71 fix(core): only sign out previous account in web oauth (#8290) 2024-09-19 02:00:00 +00:00
CatsJuice
ce2ce26395 chore(core): reduce unnecessary layers (#8292)
![CleanShot 2024-09-18 at 16.41.23@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/3e0a61e1-4339-4c98-b2f2-a6bf5f934590.png)
2024-09-19 01:48:32 +00:00
fundon
bba9e79e59 fix(core): override LinkedDocBlockComponent initial state (#8253)
Upstreams: https://github.com/toeverything/blocksuite/pull/8354

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/f8214c18-2fb7-4cbe-9d0d-5302f520b676.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/f8214c18-2fb7-4cbe-9d0d-5302f520b676.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/f8214c18-2fb7-4cbe-9d0d-5302f520b676.mov">Screen Recording 2024-09-13 at 20.27.38.mov</video>
2024-09-19 01:37:18 +00:00
CatsJuice
f4a19921c4 feat(core): extract DocDisplayMetaService to resolve doc icon/title (#8226)
AF-1315
2024-09-19 01:25:02 +00:00
fundon
f397815ad1 chore: bump blocksuite (#8230)
## 0.17.11

### Patch Changes

- [3c61be5](3c61be5ded): - Refactor drag handle widget
  - Split embed blocks to `@blocksuite/affine-block-embed`
  - Fix latex selected state in edgeless mode
  - Fix unclear naming
  - Fix prototype pollution
  - Fix portal interaction in affine modal
  - Fix paste linked block on edgeless
  - Add scroll anchoring widget
  - Add highlight selection
2024-09-18 12:11:14 +00:00
Saul-Mirone
b73d3b3d55 ci: adjust renovate config for bs (#8298) 2024-09-18 10:17:09 +00:00
pengx17
5ae433b009 fix(electron): shell skeleton style (#8296) 2024-09-18 09:54:14 +00:00
JimmFly
67577ee66e chore: adjust modal background color for peek view (#8295)
close AF-1391
2024-09-18 09:19:17 +00:00
akumatus
a0d6a28ff4 fix: default style of new document does not follow AFFiNE settings (#8291)
Close issue [BS-1377](https://linear.app/affine-design/issue/BS-1377).

### What changed?
- Add `initDocFromProps` function to initialize the document with specific props.
- Extract `docProps` from editor settings and pass it to `docsService.createDoc` function.

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/8082a8bd-ab3d-432c-9d3e-2f1d1a8398eb.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/8082a8bd-ab3d-432c-9d3e-2f1d1a8398eb.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/8082a8bd-ab3d-432c-9d3e-2f1d1a8398eb.mov">录屏2024-09-18 16.13.43.mov</video>
2024-09-18 08:45:58 +00:00
JimmFly
544cdd3d56 fix(core): adjust app updater button style (#8289)
https://github.com/user-attachments/assets/6d6d9ff5-f3aa-466b-94f1-ce152b856cac
2024-09-18 08:19:57 +00:00
forehalo
366c3b8784 fix(electron): define in esbuild (#8287) 2024-09-18 08:07:58 +00:00
pengx17
917640c5b0 fix(electron): sentry is not enabled correctly in electron (#8286)
fix AF-1036
2024-09-18 08:07:58 +00:00
JimmFly
af5b9a3a23 fix(core): workspace sharing settings should not be displayed when there is no permission (#8285)
close AF-1222
2024-09-18 07:36:05 +00:00
EYHN
fab23d226d refactor(core): clear build config (#8268)
remove build config

allowLocalWorkspace -> FeatureFlag
enablePreloading -> removed
enableNewSettingUnstableApi -> removed
enableExperimentalFeature -> removed
enableThemeEditor -> FeatureFlag

remove some unused code
2024-09-18 06:33:25 +00:00
fundon
46f8237a46 feat(core): add error notification for block not found (#8254)
Closes [BS-1416](https://linear.app/affine-design/issue/BS-1416/被删除的白板或者-page-里的-block,访问其-link-to-block,跳转之后没有-toast-提示)

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/76e0e8d8-8685-41a2-abc8-79b330854a7e.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/76e0e8d8-8685-41a2-abc8-79b330854a7e.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/76e0e8d8-8685-41a2-abc8-79b330854a7e.mov">Screen Recording 2024-09-13 at 21.09.20.mov</video>
2024-09-18 06:20:27 +00:00
forehalo
eb47c0336c chore(ci): group nestjs dependencies (#8281) 2024-09-18 05:44:52 +00:00
renovate[bot]
a70140eda3 chore: bump up oxlint version to v0.9.6 (#8280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 13:43:08 +08:00
pengx17
70fe7cfec4 fix(core): center peek width styles (#8276)
fix AF-1369
2024-09-18 05:22:10 +00:00
forehalo
e7ac43f0f7 ci: avoid twice by nx (#8279) 2024-09-18 05:09:42 +00:00
pengx17
ccd630a2b0 fix(electron): updater not working on startup (#8274) 2024-09-18 04:16:54 +00:00
pengx17
7a26c76e53 fix(electron): do not always enable devtools detach mode (#8273) 2024-09-18 04:16:51 +00:00
EYHN
714b7b863e fix(electron): fix electron script path (#8278) 2024-09-18 12:14:56 +08:00
forehalo
315c20f8e5 fix(core): avoid side effects (#8245) 2024-09-18 03:45:20 +00:00
donteatfriedrice
22e1f9c66b chore: clean up redundant ai preset utils (#8275) 2024-09-18 03:20:19 +00:00
EYHN
e9fce6f58a fix(electron): fix electron windows build path (#8272) 2024-09-18 11:06:56 +08:00
pengx17
8d4bda1dcc fix(core): enable cloud button should not take space by default (#8270)
before

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/6d818363-30df-4dee-84c1-69eee828f454.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/6d818363-30df-4dee-84c1-69eee828f454.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/6d818363-30df-4dee-84c1-69eee828f454.mp4">20240917-0548-21.8568797.mp4</video>

---

after

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/69c68a4d-d2ea-4439-9c3d-f4a328d76927.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/69c68a4d-d2ea-4439-9c3d-f4a328d76927.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/69c68a4d-d2ea-4439-9c3d-f4a328d76927.mp4">20240917-0549-00.5175618.mp4</video>
2024-09-18 02:10:46 +00:00
Mirai
7a1aa24424 feat(i18n): add full Brazilian Portuguese translation (#8233)
Co-authored-by: JimmFly <yangjinfei001@gmail.com>
2024-09-16 18:27:12 +08:00
EYHN
ed63602f01 refactor: remove unused deps (#8259)
auto removed by https://knip.dev/features/auto-fix
2024-09-14 14:52:50 +00:00
forehalo
58025729b0 fix(electron): wrong app path (#8260) 2024-09-14 06:28:46 +00:00
EYHN
3d80725c1a refactor(core): move mobile components to core (#8258) 2024-09-14 05:51:14 +00:00
forehalo
ff15ea1eec fix(core): avoid extra redirect proxy (#8252) 2024-09-14 01:36:00 +00:00
fundon
d2cb7b7683 chore(core): improve scroll anchoring (#8132)
Upstreams: https://github.com/toeverything/blocksuite/pull/8335
* set `padding` to `[20,20,100,20]`
* cancel smooth movement and scaling
* focus and zoom in on elements/blocks
2024-09-13 13:13:02 +00:00
pengx17
d2bd39a1c7 fix(core): importing template with default mode (#8250) 2024-09-13 12:54:21 +00:00
darkskygit
ae3f48d0cc feat: skip rendering if value render is not defiend (#8244)
fix AF-1387
2024-09-13 12:42:22 +00:00
darkskygit
7bc28d7935 feat: add language hint for prompt (#8216)
fix PD-1708
2024-09-13 12:30:13 +00:00
Saul-Mirone
bafed8ed01 chore: bump bs to 0.17.10 (#8251)
-   e0d0016: - Fix database performance issue
    -   Fix frame panel display issue
    -   Fix editor settings for color with transparency
    -   Fix portal in modals
    -   Fix group selection rendering delay
    -   Remove unused and duplicated code
    -   Improve frame model
    -   Improve ParseDocUrl service
    -   Support custom max zoom
2024-09-13 12:13:22 +00:00
forehalo
85b9f21078 fix(component): storybook build config (#8247) 2024-09-13 11:56:25 +00:00
fundon
85448e2d6b fix(core): should wrap link text (#8249)
Closes [BS-1418](https://linear.app/affine-design/issue/BS-1418/link-to-block-粘贴识别后,使用-undo-来撤销操作的效果不一样)

https://github.com/user-attachments/assets/537cf8f4-cf13-466f-b68e-fc213891c548
2024-09-13 11:44:23 +00:00
EYHN
5e56ec65e3 refactor(core): adjust core struct (#8218)
packages/frontend/core/src

hooks -> components/hooks
atoms -> components/atoms
layouts -> components/layouts
providers -> components/providers
mixpanel -> @affine/track
~~shared~~
~~unexpected-application-state~~
2024-09-13 11:31:21 +00:00
darkskygit
fc7e7a37ee feat: remove avatar for empty field (#8246) 2024-09-13 11:18:22 +00:00
EYHN
58db654b07 fix(core): share mode page reference (#8238) 2024-09-13 11:06:19 +00:00
pengx17
0a585a14a6 fix(core): reference node word break (#8236)
before:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/2320279b-9986-46a9-b3cf-d0272f2656aa.png)

---

after:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/8869024b-92fd-4afe-aa87-af730224a0d3.png)
2024-09-13 10:54:22 +00:00
pengx17
2ac4a846f7 feat(core): copy event for image (#8219)
fix AF-1383
2024-09-13 10:28:28 +00:00
pengx17
b1e61245ee fix: button tooltip should not show on showing image preview (#8224)
when showing image preview in modal, the following code
660060a765/packages/react/focus-scope/src/FocusScope.tsx (L143) will find the first tabbable element and focus, which will trigger the button's tooltip

Adding tabIndex to the image to fix this issue
2024-09-13 10:11:18 +00:00
EYHN
6fde967a6d feat(core): remove loop animations (#8242) 2024-09-13 09:54:24 +00:00
pengx17
3c1cd6b648 fix(electron): pinned tab style (#8232)
fix PD-1687
2024-09-13 09:40:27 +00:00
forehalo
1d7932851e chore: remove type module in scripts (#8240)
fix AF-1385
2024-09-13 09:21:29 +00:00
forehalo
2ce9d37af1 fix(core): circular dependencies (#8215) 2024-09-13 09:03:23 +00:00
forehalo
a387e4ac07 refactor: migrate environment to BUILD_CONFIG (#8206) 2024-09-13 07:58:20 +00:00
EYHN
561f96bb71 feat(core): load ydoc on demand (#8241) 2024-09-13 07:45:49 +00:00
forehalo
25969a34e8 refactor: avoid runtime config object (#8202) 2024-09-13 07:27:11 +00:00
forehalo
c76b4d70b0 refactor: setup files (#8201) 2024-09-13 07:27:08 +00:00
renovate
3c7cf658c5 chore: Lock file maintenance (#8165)
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:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-13 07:11:05 +00:00
renovate
62f5095195 chore: bump up all non-major dependencies (#8130)
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.645.0` -> `3.651.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.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.645.0` -> `3.651.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.645.0/3.651.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`1.8.0` -> `1.9.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/1.8.0/1.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/1.8.0/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/1.8.0/1.9.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.1` -> `19.5.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/19.4.1/19.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fcli/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fcli/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`19.4.1` -> `19.5.0`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/19.4.1/19.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fconfig-conventional/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fconfig-conventional/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fconfig-conventional/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fconfig-conventional/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@marsidev/react-turnstile](https://redirect.github.com/marsidev/react-turnstile) | [`1.0.1` -> `1.0.2`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/1.0.1/1.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/1.0.1/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/1.0.1/1.0.2?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.5` -> `19.7.3`](https://renovatebot.com/diffs/npm/@nx%2fvite/19.6.5/19.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/19.6.5/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/19.6.5/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.46.1` -> `=1.47.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.46.1/1.47.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.28.0` -> `8.30.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.28.0/8.30.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.28.0/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.28.0/8.30.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.28.0` -> `8.30.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.28.0/8.30.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.28.0/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.28.0/8.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@slack/web-api](https://slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.3.4` -> `7.4.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.3.4/7.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.3.4/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.3.4/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@storybook/addon-actions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/actions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/actions)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-actions/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-actions/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-actions/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-actions/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-storysource](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/storysource) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/storysource)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2faddon-storysource/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-storysource/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-storysource/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-storysource/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-storysource/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/blocks](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/blocks) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/blocks)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2fblocks/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fblocks/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fblocks/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fblocks/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fblocks/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.7.23` -> `1.7.26`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.7.23/1.7.26) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.7.23/1.7.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.7.23/1.7.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`2.0.5` -> `2.1.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/2.0.5/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/2.0.5/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/2.0.5/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`2.0.5` -> `2.1.0`](https://renovatebot.com/diffs/npm/@vitest%2fui/2.0.5/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/2.0.5/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/2.0.5/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.86` -> `1.0.88` | [![age](https://developer.mend.io/api/mc/badges/age/crate/anyhow/1.0.88?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/anyhow/1.0.88?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/anyhow/1.0.86/1.0.88?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/anyhow/1.0.86/1.0.88?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [commitlint](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint)) | [`19.4.1` -> `19.5.0`](https://renovatebot.com/diffs/npm/commitlint/19.4.1/19.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/commitlint/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/commitlint/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/commitlint/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commitlint/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [debug](https://redirect.github.com/debug-js/debug) | [`4.3.6` -> `4.3.7`](https://renovatebot.com/diffs/npm/debug/4.3.6/4.3.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/debug/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/debug/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/debug/4.3.6/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/debug/4.3.6/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`31.4.0` -> `31.6.0`](https://renovatebot.com/diffs/npm/electron/31.4.0/31.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/31.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/31.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/31.4.0/31.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/31.4.0/31.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [electron-log](https://redirect.github.com/megahertz/electron-log) | [`5.1.7` -> `5.2.0`](https://renovatebot.com/diffs/npm/electron-log/5.1.7/5.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.1.7/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.1.7/5.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [file-type](https://redirect.github.com/sindresorhus/file-type) | [`19.4.1` -> `19.5.0`](https://renovatebot.com/diffs/npm/file-type/19.4.1/19.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/19.4.1/19.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [foxact](https://foxact.skk.moe) ([source](https://redirect.github.com/SukkaW/foxact)) | [`0.2.37` -> `0.2.38`](https://renovatebot.com/diffs/npm/foxact/0.2.37/0.2.38) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.38?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.38?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.37/0.2.38?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.37/0.2.38?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`15.7.3` -> `15.7.4`](https://renovatebot.com/diffs/npm/happy-dom/15.7.3/15.7.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/15.7.3/15.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/15.7.3/15.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`8.21.0` -> `8.22.0`](https://renovatebot.com/diffs/npm/html-validate/8.21.0/8.22.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/8.21.0/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/8.21.0/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [husky](https://redirect.github.com/typicode/husky) | [`9.1.5` -> `9.1.6`](https://renovatebot.com/diffs/npm/husky/9.1.5/9.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/husky/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/husky/9.1.5/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/husky/9.1.5/9.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`23.14.0` -> `23.15.1`](https://renovatebot.com/diffs/npm/i18next/23.14.0/23.15.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.14.0/23.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.14.0/23.15.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.438.0` -> `^0.441.0`](https://renovatebot.com/diffs/npm/lucide-react/0.438.0/0.441.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.441.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.441.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.438.0/0.441.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.438.0/0.441.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`14.1.1` -> `14.1.2`](https://renovatebot.com/diffs/npm/marked/14.1.1/14.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/marked/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/marked/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/marked/14.1.1/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked/14.1.1/14.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.4.2` -> `2.4.5`](https://renovatebot.com/diffs/npm/msw/2.4.2/2.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.4.2/2.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.4.2/2.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.8` -> `3.0.0-alpha.9` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.8/3.0.0-alpha.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.8/3.0.0-alpha.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://redirect.github.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-derive/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/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-derive/3.0.0-alpha.7/3.0.0-alpha.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nx](https://nx.dev) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`19.6.5` -> `19.7.3`](https://renovatebot.com/diffs/npm/nx/19.6.5/19.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/19.6.5/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/19.6.5/19.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [nx-cloud](https://nx.app) | [`19.0.0` -> `19.1.0`](https://renovatebot.com/diffs/npm/nx-cloud/19.0.0/19.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx-cloud/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx-cloud/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx-cloud/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx-cloud/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.57.3` -> `4.60.0`](https://renovatebot.com/diffs/npm/openai/4.57.3/4.60.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.57.3/4.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.57.3/4.60.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.46.1` -> `=1.47.0`](https://renovatebot.com/diffs/npm/playwright/1.46.1/1.47.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.0.8` -> `9.0.9`](https://renovatebot.com/diffs/npm/react-day-picker/9.0.8/9.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.0.8/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.0.8/9.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-router-dom](https://redirect.github.com/remix-run/react-router) ([source](https://redirect.github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.26.1` -> `6.26.2`](https://renovatebot.com/diffs/npm/react-router-dom/6.26.1/6.26.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.26.1/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.26.1/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-router-dom](https://redirect.github.com/remix-run/react-router) ([source](https://redirect.github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.26.1` -> `6.26.2`](https://renovatebot.com/diffs/npm/react-router-dom/6.26.1/6.26.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.26.1/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.26.1/6.26.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://redirect.github.com/petyosi/react-virtuoso)) | [`4.10.2` -> `4.10.4`](https://renovatebot.com/diffs/npm/react-virtuoso/4.10.2/4.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.10.2/4.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.10.2/4.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | `1.0.209` -> `1.0.210` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.210?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.210?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.209/1.0.210?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.209/1.0.210?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | 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 |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.2.9` -> `8.3.0`](https://renovatebot.com/diffs/npm/storybook/8.2.9/8.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.2.9/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [stripe](https://redirect.github.com/stripe/stripe-node) | [`16.9.0` -> `16.11.0`](https://renovatebot.com/diffs/npm/stripe/16.9.0/16.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/16.9.0/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/16.9.0/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss)) | [`3.4.10` -> `3.4.11`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.10/3.4.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.10/3.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.10/3.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typedoc](https://typedoc.org) ([source](https://redirect.github.com/TypeStrong/TypeDoc)) | [`0.26.6` -> `0.26.7`](https://renovatebot.com/diffs/npm/typedoc/0.26.6/0.26.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.26.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.26.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.26.6/0.26.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.26.6/0.26.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.5.4` -> `5.6.2`](https://renovatebot.com/diffs/npm/typescript/5.5.4/5.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.5.4` -> `5.6.2`](https://renovatebot.com/diffs/npm/typescript/5.5.4/5.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.4/5.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.3` -> `5.4.4`](https://renovatebot.com/diffs/npm/vite/5.4.3/5.4.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.3/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.3/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite-plugin-dts](https://redirect.github.com/qmhc/vite-plugin-dts) | [`4.1.0` -> `4.2.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.1.0/4.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.1.0/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.1.0/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`2.0.5` -> `2.1.0`](https://renovatebot.com/diffs/npm/vitest/2.0.5/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/2.0.5/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/2.0.5/2.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.74.0` -> `3.77.0`](https://renovatebot.com/diffs/npm/wrangler/3.74.0/3.77.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.77.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/3.77.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/3.74.0/3.77.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.74.0/3.77.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.651.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#36510-2024-09-12)

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

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

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

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

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

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

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

##### Features

-   **endpoints:** codegen sync for request creation performance improvements ([#&#8203;6449](https://redirect.github.com/aws/aws-sdk-js-v3/issues/6449)) ([c8e8f28](c8e8f28d07))

</details>

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

### [`v1.9.0`](https://redirect.github.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v190-Fri-Sep-06-2024)

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

##### 🚀 Enhancement

-   Relay client-side fetch requests to the server using the Storybook channel API [#&#8203;331](https://redirect.github.com/chromaui/addon-visual-tests/pull/331) ([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

##### Authors: 1

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

***

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/cli)</summary>

### [`v19.5.0`](https://redirect.github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#1950-2024-09-11)

[Compare Source](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.4.1...v19.5.0)

##### Features

-   **cli:** use special errorCode for missing rules/config [#&#8203;4142](https://redirect.github.com/conventional-changelog/commitlint/issues/4142) ([#&#8203;4143](https://redirect.github.com/conventional-changelog/commitlint/issues/4143)) ([d7070d8](d7070d8a49))

#### [19.4.1](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.4.0...v19.4.1) (2024-08-28)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://redirect.github.com/commitlint/cli)

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/config-conventional)</summary>

### [`v19.5.0`](https://redirect.github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#1950-2024-09-11)

[Compare Source](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.4.1...v19.5.0)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://redirect.github.com/commitlint/config-conventional)

#### [19.4.1](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.4.0...v19.4.1) (2024-08-28)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://redirect.github.com/commitlint/config-conventional)

#### [19.2.2](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.2.1...v19.2.2) (2024-04-14)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://redirect.github.com/commitlint/config-conventional)

</details>

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

### [`v1.0.2`](https://redirect.github.com/marsidev/react-turnstile/releases/tag/v1.0.2)

[Compare Source](https://redirect.github.com/marsidev/react-turnstile/compare/v1.0.1...v1.0.2)

#####    🐞 Bug Fixes

-   Add default exports  -  by [@&#8203;marsidev](https://redirect.github.com/marsidev) [<samp>(2271b)</samp>](https://redirect.github.com/marsidev/react-turnstile/commit/2271bce)

#####     [View changes on GitHub](https://redirect.github.com/marsidev/react-turnstile/compare/v1.0.1...v1.0.2)

</details>

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

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

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

##### 19.7.3 (2024-09-12)

##### 🚀 Features

-   **core:** import warns when source and destination directories are different ([#&#8203;27875](https://redirect.github.com/nrwl/nx/pull/27875))

##### 🩹 Fixes

-   **core:** handle sync generator failures ([#&#8203;27650](https://redirect.github.com/nrwl/nx/pull/27650))
-   **core:** handle --no-interative for create-nx-workspace ([#&#8203;27702](https://redirect.github.com/nrwl/nx/pull/27702))
-   **core:** respect filenames of inputs when computing task hash ([#&#8203;27873](https://redirect.github.com/nrwl/nx/pull/27873))
-   **core:** handleErrors should display error cause if it exists ([#&#8203;27886](https://redirect.github.com/nrwl/nx/pull/27886))
-   **gradle:** fix gradle app deps ([#&#8203;27865](https://redirect.github.com/nrwl/nx/pull/27865))
-   **js:** keep refs to ignored files and allow opting out of pruning stale refs in typescript sync generator ([#&#8203;27636](https://redirect.github.com/nrwl/nx/pull/27636))
-   **misc:** createNodesV2 plugins should show inference capabilities ([#&#8203;27896](https://redirect.github.com/nrwl/nx/pull/27896))
-   **nx-cloud:** include nxCloudId when generating connect urls ([#&#8203;27882](https://redirect.github.com/nrwl/nx/pull/27882))
-   **webpack:** handle relative paths for additionalEntryPath ([#&#8203;27885](https://redirect.github.com/nrwl/nx/pull/27885))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://redirect.github.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://redirect.github.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://redirect.github.com/jaysoo)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://redirect.github.com/leosvelperez)
-   Louie Weng [@&#8203;lourw](https://redirect.github.com/lourw)
-   Nate Jacobs [@&#8203;iAmNathanJ](https://redirect.github.com/iAmNathanJ)

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

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

##### 19.7.2 (2024-09-10)

##### 🩹 Fixes

-   **core:** take nx-release-publish target defaults into account for implicit target ([#&#8203;27764](https://redirect.github.com/nrwl/nx/pull/27764))
-   **release:** ensure git commits containing pipe can be parsed reliably ([#&#8203;27840](https://redirect.github.com/nrwl/nx/pull/27840))

##### ❤️  Thank You

-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)

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

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

##### 19.7.1 (2024-09-10)

##### 🚀 Features

-   **release:** allow local dependency version protocols to be preserved, pnpm publish support ([#&#8203;27787](https://redirect.github.com/nrwl/nx/pull/27787))

##### 🩹 Fixes

-   **core:** make sure sharedGlobals is referenced in default namedInputs ([#&#8203;27813](https://redirect.github.com/nrwl/nx/pull/27813))
-   **release:** respect updateDependents being explicitly disabled in conventional commits ([#&#8203;27851](https://redirect.github.com/nrwl/nx/pull/27851))

##### ❤️  Thank You

-   James Henry [@&#8203;JamesHenry](https://redirect.github.com/JamesHenry)
-   Juri Strumpflohner [@&#8203;juristr](https://redirect.github.com/juristr)

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

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

##### 19.7.0 (2024-09-09)

##### 🚀 Features

-   **bundling:** add option to generate sourcemaps for Rollup build ([#&#8203;27539](https://redirect.github.com/nrwl/nx/pull/27539))
-   **bundling:** add nxCopyAssetsPlugin for Vite to use in JS libs ([#&#8203;27593](https://redirect.github.com/nrwl/nx/pull/27593))
-   **core:** add shutdown lifecycle hook to node executor ([#&#8203;27354](https://redirect.github.com/nrwl/nx/pull/27354))
-   **core:** add sqlite db for nx ([#&#8203;26891](https://redirect.github.com/nrwl/nx/pull/26891))
-   **core:** expose graph json type ([#&#8203;27496](https://redirect.github.com/nrwl/nx/pull/27496))
-   **core:** return task results from imperative task runner ([#&#8203;27640](https://redirect.github.com/nrwl/nx/pull/27640))
-   **core:** refactor graph implementation details ([#&#8203;27267](https://redirect.github.com/nrwl/nx/pull/27267))
-   **core:** allow disabling registered task sync generators ([#&#8203;27638](https://redirect.github.com/nrwl/nx/pull/27638))
-   **core:** allow skipping sync when running tasks ([#&#8203;27697](https://redirect.github.com/nrwl/nx/pull/27697))
-   **core:** a
2024-09-13 05:21:56 +00:00
renovate
d8ca7c6d61 chore: bump up rustc version to v1.81.0 (#8126)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v1.81.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1810-2024-09-05)

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

\==========================

<a id="1.81.0-Language"></a>

## Language

-   [Abort on uncaught panics in `extern "C"` functions.](https://redirect.github.com/rust-lang/rust/pull/116088/)
-   [Fix ambiguous cases of multiple `&` in elided self lifetimes.](https://redirect.github.com/rust-lang/rust/pull/117967/)
-   [Stabilize `#[expect]` for lints (RFC 2383),](https://redirect.github.com/rust-lang/rust/pull/120924/) like `#[allow]` with a warning if the lint is *not* fulfilled.
-   [Change method resolution to constrain hidden types instead of rejecting method candidates.](https://redirect.github.com/rust-lang/rust/pull/123962/)
-   [Bump `elided_lifetimes_in_associated_constant` to deny.](https://redirect.github.com/rust-lang/rust/pull/124211/)
-   [`offset_from`: always allow pointers to point to the same address.](https://redirect.github.com/rust-lang/rust/pull/124921/)
-   [Allow constraining opaque types during subtyping in the trait system.](https://redirect.github.com/rust-lang/rust/pull/125447/)
-   [Allow constraining opaque types during various unsizing casts.](https://redirect.github.com/rust-lang/rust/pull/125610/)
-   [Deny keyword lifetimes pre-expansion.](https://redirect.github.com/rust-lang/rust/pull/126762/)

<a id="1.81.0-Compiler"></a>

## Compiler

-   [Make casts of pointers to trait objects stricter.](https://redirect.github.com/rust-lang/rust/pull/120248/)
-   [Check alias args for well-formedness even if they have escaping bound vars.](https://redirect.github.com/rust-lang/rust/pull/123737/)
-   [Deprecate no-op codegen option `-Cinline-threshold=...`.](https://redirect.github.com/rust-lang/rust/pull/124712/)
-   [Re-implement a type-size based limit.](https://redirect.github.com/rust-lang/rust/pull/125507/)
-   [Properly account for alignment in `transmute` size checks.](https://redirect.github.com/rust-lang/rust/pull/125740/)
-   [Remove the `box_pointers` lint.](https://redirect.github.com/rust-lang/rust/pull/126018/)
-   [Ensure the interpreter checks bool/char for validity when they are used in a cast.](https://redirect.github.com/rust-lang/rust/pull/126265/)
-   [Improve coverage instrumentation for functions containing nested items.](https://redirect.github.com/rust-lang/rust/pull/127199/)
-   Target changes:
    -   [Add Tier 3 `no_std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/125141/) `xtensa-esp32-none-elf`, `xtensa-esp32s2-none-elf`, `xtensa-esp32s3-none-elf`
    -   [Add Tier 3 `std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/126380/) `xtensa-esp32-espidf`, `xtensa-esp32s2-espidf`, `xtensa-esp32s3-espidf`
    -   [Add Tier 3 i686 Redox OS target:](https://redirect.github.com/rust-lang/rust/pull/126192/) `i686-unknown-redox`
    -   [Promote `arm64ec-pc-windows-msvc` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126039/)
    -   [Promote `wasm32-wasip2` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126967/)
    -   [Promote `loongarch64-unknown-linux-musl` to Tier 2 with host tools.](https://redirect.github.com/rust-lang/rust/pull/126298/)
    -   [Enable full tools and profiler for LoongArch Linux targets.](https://redirect.github.com/rust-lang/rust/pull/127078/)
    -   [Unconditionally warn on usage of `wasm32-wasi`.](https://redirect.github.com/rust-lang/rust/pull/126662/) (see compatibility note below)
    -   Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support.

<a id="1.81.0-Libraries"></a>

## Libraries

-   [Split core's `PanicInfo` and std's `PanicInfo`.](https://redirect.github.com/rust-lang/rust/pull/115974/) (see compatibility note below)
-   [Generalize `{Rc,Arc}::make_mut()` to unsized types.](https://redirect.github.com/rust-lang/rust/pull/116113/)
-   [Replace sort implementations with stable `driftsort` and unstable `ipnsort`.](https://redirect.github.com/rust-lang/rust/pull/124032/) All `slice::sort*` and `slice::select_nth*` methods are expected to see significant performance improvements. See the [research project](https://redirect.github.com/Voultapher/sort-research-rs) for more details.
-   [Document behavior of `create_dir_all` with respect to empty paths.](https://redirect.github.com/rust-lang/rust/pull/125112/)
-   [Fix interleaved output in the default panic hook when multiple threads panic simultaneously.](https://redirect.github.com/rust-lang/rust/pull/127397/)

<a id="1.81.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`core::error`](https://doc.rust-lang.org/stable/core/error/index.html)
-   [`hint::assert_unchecked`](https://doc.rust-lang.org/stable/core/hint/fn.assert_unchecked.html)
-   [`fs::exists`](https://doc.rust-lang.org/stable/std/fs/fn.exists.html)
-   [`AtomicBool::fetch_not`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.fetch_not)
-   [`Duration::abs_diff`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.abs_diff)
-   [`IoSlice::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance)
-   [`IoSlice::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance_slices)
-   [`IoSliceMut::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance)
-   [`IoSliceMut::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance_slices)
-   [`PanicHookInfo`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html)
-   [`PanicInfo::message`](https://doc.rust-lang.org/stable/core/panic/struct.PanicInfo.html#method.message)
-   [`PanicMessage`](https://doc.rust-lang.org/stable/core/panic/struct.PanicMessage.html)

These APIs are now stable in const contexts:

-   [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/char/fn.from_u32\_unchecked.html) (function)
-   [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.from_u32\_unchecked) (method)
-   [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
-   [`CStr::from_ptr`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.from_ptr)

<a id="1.81.0-Cargo"></a>

## Cargo

-   [Generated `.cargo_vcs_info.json` is always included, even when `--allow-dirty` is passed.](https://redirect.github.com/rust-lang/cargo/pull/13960/)
-   [Disallow `package.license-file` and `package.readme` pointing to non-existent files during packaging.](https://redirect.github.com/rust-lang/cargo/pull/13921/)
-   [Disallow passing `--release`/`--debug` flag along with the `--profile` flag.](https://redirect.github.com/rust-lang/cargo/pull/13971/)
-   [Remove `lib.plugin` key support in `Cargo.toml`. Rust plugin support has been deprecated for four years and was removed in 1.75.0.](https://redirect.github.com/rust-lang/cargo/pull/13902/)

<a id="1.81.0-Compatibility-Notes"></a>

## Compatibility Notes

-   Usage of the `wasm32-wasi` target will now issue a compiler warning and request users switch to the `wasm32-wasip1` target instead. Both targets are the same, `wasm32-wasi` is only being renamed, and this [change to the WASI target](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html) is being done to enable removing `wasm32-wasi` in January 2025.

-   We have renamed `std::panic::PanicInfo` to `std::panic::PanicHookInfo`. The old name will continue to work as an alias, but will result in a deprecation warning starting in Rust 1.82.0.

    `core::panic::PanicInfo` will remain unchanged, however, as this is now a *different type*.

    The reason is that these types have different roles: `std::panic::PanicHookInfo` is the argument to the [panic hook](https://doc.rust-lang.org/stable/std/panic/fn.set_hook.html) in std context (where panics can have an arbitrary payload), while `core::panic::PanicInfo` is the argument to the [`#[panic_handler]`](https://doc.rust-lang.org/nomicon/panic-handler.html) in no_std context (where panics always carry a formatted *message*). Separating these types allows us to add more useful methods to these types, such as `std::panic::PanicHookInfo::payload_as_str()` and `core::panic::PanicInfo::message()`.

-   The new sort implementations may panic if a type's implementation of [`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html) (or the given comparison function) does not implement a [total order](https://en.wikipedia.org/wiki/Total_order) as the trait requires. `Ord`'s supertraits (`PartialOrd`, `Eq`, and `PartialEq`) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data.

<a id="1.81.0-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.

-   [Add a Rust-for Linux `auto` CI job to check kernel builds.](https://redirect.github.com/rust-lang/rust/pull/125209/)

</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-13 04:38:05 +00:00
pengx17
df87300a3f chore(electron): upgrade electron to v32 (#8235)
workaround provided by https://github.com/electron/electron/issues/43556
2024-09-13 04:23:10 +00:00
renovate
8800abded7 chore: bump up oxlint version to v0.9.5 (#8155)
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.2` -> `0.9.5`](https://renovatebot.com/diffs/npm/oxlint/0.9.2/0.9.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.9.2/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.9.2/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

#### \[0.9.5] - 2024-09-12

##### Features

-   [`4b04f65`](https://redirect.github.com/oxc-project/oxc/commit/4b04f65) linter: Implement `no-plusplus` rule ([#&#8203;5570](https://redirect.github.com/oxc-project/oxc/issues/5570)) (Cam McHenry)
-   [`9ca2593`](https://redirect.github.com/oxc-project/oxc/commit/9ca2593) linter: Eslint/sort-keys  ([#&#8203;4845](https://redirect.github.com/oxc-project/oxc/issues/4845)) (Na'aman Hirschfeld)
-   [`023c160`](https://redirect.github.com/oxc-project/oxc/commit/023c160) linter: Impl `Serialize` for `OxlintConfig` ([#&#8203;5594](https://redirect.github.com/oxc-project/oxc/issues/5594)) (DonIsaac)
-   [`24d6a47`](https://redirect.github.com/oxc-project/oxc/commit/24d6a47) linter: Implement `eslint/no-invalid-regexp` ([#&#8203;5443](https://redirect.github.com/oxc-project/oxc/issues/5443)) (Boshen)
-   [`c6bbf94`](https://redirect.github.com/oxc-project/oxc/commit/c6bbf94) minifier: Constant fold unary expression ([#&#8203;5669](https://redirect.github.com/oxc-project/oxc/issues/5669)) (Boshen)

##### Bug Fixes

-   [`af6d240`](https://redirect.github.com/oxc-project/oxc/commit/af6d240) linter: Panic in consistent-function-scoping ([#&#8203;5613](https://redirect.github.com/oxc-project/oxc/issues/5613)) (DonIsaac)
-   [`54e2e76`](https://redirect.github.com/oxc-project/oxc/commit/54e2e76) linter: `react/no_set_state` + `react/no_string_refs` rules find correct parent ([#&#8203;5615](https://redirect.github.com/oxc-project/oxc/issues/5615)) (overlookmotel)
-   [`3b87ac4`](https://redirect.github.com/oxc-project/oxc/commit/3b87ac4) linter: Fix no_unused_vars panic when encountering unicode ([#&#8203;5582](https://redirect.github.com/oxc-project/oxc/issues/5582)) (Boshen)

##### Performance

-   [`bfe9186`](https://redirect.github.com/oxc-project/oxc/commit/bfe9186) linter: Use `cow_replace` instead of `replace` ([#&#8203;5643](https://redirect.github.com/oxc-project/oxc/issues/5643)) (dalaoshu)
-   [`e3ae5db`](https://redirect.github.com/oxc-project/oxc/commit/e3ae5db) linter: Use cow_to_ascii_lowercase/uppercase ([#&#8203;5637](https://redirect.github.com/oxc-project/oxc/issues/5637)) (heygsc)
-   [`a0370bf`](https://redirect.github.com/oxc-project/oxc/commit/a0370bf) linter: Use cow_utils in no_script_url ([#&#8203;5633](https://redirect.github.com/oxc-project/oxc/issues/5633)) (heygsc)
-   [`37e922c`](https://redirect.github.com/oxc-project/oxc/commit/37e922c) linter: `eslint/no_shadow_restricted_names` use `run_on_symbol` ([#&#8203;5618](https://redirect.github.com/oxc-project/oxc/issues/5618)) (overlookmotel)
-   [`0b7fccf`](https://redirect.github.com/oxc-project/oxc/commit/0b7fccf) linter: `react/no_set_state` + `react/no_string_refs` rules reduce iteration over ancestors ([#&#8203;5616](https://redirect.github.com/oxc-project/oxc/issues/5616)) (overlookmotel)
-   [`2c3f3fe`](https://redirect.github.com/oxc-project/oxc/commit/2c3f3fe) linter: Make `jsx_key` slightly faster ([#&#8203;5585](https://redirect.github.com/oxc-project/oxc/issues/5585)) (Boshen)
-   [`cd81d12`](https://redirect.github.com/oxc-project/oxc/commit/cd81d12) linter: Add `should_run` to check path only once to nextjs/no_typos ([#&#8203;5584](https://redirect.github.com/oxc-project/oxc/issues/5584)) (Boshen)
-   [`d18c896`](https://redirect.github.com/oxc-project/oxc/commit/d18c896) rust: Use `cow_utils` instead ([#&#8203;5664](https://redirect.github.com/oxc-project/oxc/issues/5664)) (dalaoshu)

##### Documentation

-   [`64f9575`](https://redirect.github.com/oxc-project/oxc/commit/64f9575) linter: Add plugin usage to example with configuration (Boshen)
-   [`8c9179d`](https://redirect.github.com/oxc-project/oxc/commit/8c9179d) linter: Fix typos ([#&#8203;5591](https://redirect.github.com/oxc-project/oxc/issues/5591)) (Brian Donovan)

##### Refactor

-   [`9e9435f`](https://redirect.github.com/oxc-project/oxc/commit/9e9435f) linter: Add `LintFilter` ([#&#8203;5685](https://redirect.github.com/oxc-project/oxc/issues/5685)) (DonIsaac)
-   [`4f70fe5`](https://redirect.github.com/oxc-project/oxc/commit/4f70fe5) linter: Start internal/external split of LintPluginOptions ([#&#8203;5660](https://redirect.github.com/oxc-project/oxc/issues/5660)) (DonIsaac)
-   [`5ae9b48`](https://redirect.github.com/oxc-project/oxc/commit/5ae9b48) linter: Start internal/external split of `OxlintOptions` ([#&#8203;5659](https://redirect.github.com/oxc-project/oxc/issues/5659)) (DonIsaac)
-   [`c8bc6f0`](https://redirect.github.com/oxc-project/oxc/commit/c8bc6f0) linter: Use `std::ptr::eq` ([#&#8203;5649](https://redirect.github.com/oxc-project/oxc/issues/5649)) (overlookmotel)
-   [`a37c064`](https://redirect.github.com/oxc-project/oxc/commit/a37c064) linter: Use `ContentHash` for `no_duplicate_case`; remove `calculate_hash` ([#&#8203;5648](https://redirect.github.com/oxc-project/oxc/issues/5648)) (Boshen)
-   [`0b3c1d7`](https://redirect.github.com/oxc-project/oxc/commit/0b3c1d7) linter: Start internal/external split of `OxlintConfig` ([#&#8203;5595](https://redirect.github.com/oxc-project/oxc/issues/5595)) (DonIsaac)
-   [`89bdf55`](https://redirect.github.com/oxc-project/oxc/commit/89bdf55) linter: Inline `Rule` trait default methods ([#&#8203;5619](https://redirect.github.com/oxc-project/oxc/issues/5619)) (overlookmotel)
-   [`afea8d5`](https://redirect.github.com/oxc-project/oxc/commit/afea8d5) linter: Rename `Rule` trait method params ([#&#8203;5617](https://redirect.github.com/oxc-project/oxc/issues/5617)) (overlookmotel)
-   [`4e748b5`](https://redirect.github.com/oxc-project/oxc/commit/4e748b5) linter: Replace ast "compare by hash" to "compare by content" ([#&#8203;5602](https://redirect.github.com/oxc-project/oxc/issues/5602)) (dalaoshu)
-   [`bac03e3`](https://redirect.github.com/oxc-project/oxc/commit/bac03e3) linter: Make fields of `LintServiceOptions` private ([#&#8203;5593](https://redirect.github.com/oxc-project/oxc/issues/5593)) (DonIsaac)
-   [`2661d8b`](https://redirect.github.com/oxc-project/oxc/commit/2661d8b) linter: Jest prefer_strict_equal ([#&#8203;5588](https://redirect.github.com/oxc-project/oxc/issues/5588)) (IWANABETHATGUY)
-   [`067f9b5`](https://redirect.github.com/oxc-project/oxc/commit/067f9b5) semantic: Introduce `IsGlobalReference` trait ([#&#8203;5672](https://redirect.github.com/oxc-project/oxc/issues/5672)) (Boshen)- [`26d9235`](https://redirect.github.com/oxc-project/oxc/commit/26d9235) Enable clippy::ref_as_ptr  ([#&#8203;5577](https://redirect.github.com/oxc-project/oxc/issues/5577)) (夕舞八弦)

##### Testing

-   [`8e79f8d`](https://redirect.github.com/oxc-project/oxc/commit/8e79f8d) linter: Add class method test cases for `oxc/no-async-await` ([#&#8203;5550](https://redirect.github.com/oxc-project/oxc/issues/5550)) (DonIsaac)
-   [`3835189`](https://redirect.github.com/oxc-project/oxc/commit/3835189) linter: Add test case for no_unused_vars in [`3b87ac4`](https://redirect.github.com/oxc-project/oxc/commit/3b87ac4) (Boshen)
-   [`5f27551`](https://redirect.github.com/oxc-project/oxc/commit/5f27551) linter: Add a passing case to no_undef ([#&#8203;5580](https://redirect.github.com/oxc-project/oxc/issues/5580)) (Boshen)

### [`v0.9.4`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#094---2024-09-12)

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

##### Features

-   [`023c160`](https://redirect.github.com/oxc-project/oxc/commit/023c160) linter: Impl `Serialize` for `OxlintConfig` ([#&#8203;5594](https://redirect.github.com/oxc-project/oxc/issues/5594)) (DonIsaac)

### [`v0.9.3`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#093---2024-09-07)

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

##### Styling

-   [`694f032`](https://redirect.github.com/oxc-project/oxc/commit/694f032) Add trailing line breaks to `package.json` files ([#&#8203;5542](https://redirect.github.com/oxc-project/oxc/issues/5542)) (overlookmotel)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-13 04:07:34 +00:00
renovate
7f4b069f5e chore: bump up @chromatic-com/storybook version to v2 (#8178)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`^1` -> `^2.0.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/1.8.0/2.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/1.8.0/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/1.8.0/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v2.0.0`](https://redirect.github.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v200-Mon-Sep-09-2024)

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

##### 💥 Breaking Change

-   Align with Storybook 8.2 core package layout [#&#8203;330](https://redirect.github.com/chromaui/addon-visual-tests/pull/330) ([@&#8203;ndelangen](https://redirect.github.com/ndelangen) [@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

##### Authors: 2

-   Gert Hengeveld ([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))
-   Norbert de Langen ([@&#8203;ndelangen](https://redirect.github.com/ndelangen))

***

### [`v1.9.0`](https://redirect.github.com/chromaui/addon-visual-tests/blob/HEAD/CHANGELOG.md#v190-Fri-Sep-06-2024)

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

##### 🚀 Enhancement

-   Relay client-side fetch requests to the server using the Storybook channel API [#&#8203;331](https://redirect.github.com/chromaui/addon-visual-tests/pull/331) ([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

##### Authors: 1

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

***

</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-13 03:51:36 +00:00
renovate
b690653451 chore: bump up sinon version to v19 (#8231)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sinon](https://sinonjs.org/) ([source](https://redirect.github.com/sinonjs/sinon)) | [`^18.0.0` -> `^19.0.0`](https://renovatebot.com/diffs/npm/sinon/18.0.0/19.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sinon/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sinon/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sinon/18.0.0/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sinon/18.0.0/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>sinonjs/sinon (sinon)</summary>

### [`v19.0.0`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1900)

[Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v18.0.1...v19.0.0)

-   [`3534ab4f`](3534ab4fb0)
    Bump samsam and nise to latest versions ([#&#8203;2617](https://redirect.github.com/sinonjs/sinon/issues/2617)) (Carl-Erik Kopseng)
    > Ensures consistency and less breakage when there are "circular" dependencies.
-   [`912c568d`](912c568d30)
    upgrade fake timers and others ([#&#8203;2612](https://redirect.github.com/sinonjs/sinon/issues/2612)) (Carl-Erik Kopseng)
    > -   Upgrade dependencies (includes breaking API in Fake Timers)
    > -   fake-timers: no longer creating dates using the original Date class, but a subclass (proxy)
-   [`9715798e`](9715798e30)
    Use newer @&#8203;mochify/\* packages ([#&#8203;2609](https://redirect.github.com/sinonjs/sinon/issues/2609)) (Carl-Erik Kopseng)
    > Co-authored-by: Maximilian Antoni <mail@maxantoni.de>

*Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-13.*

### [`v18.0.1`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1801)

[Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v18.0.0...v18.0.1)

Basically a patch release to update a transitive dependency in Nise.

-   [`03e33ec6`](03e33ec647)
    Pin fake-timers@11.2.2 to avoid breaking change (Carl-Erik Kopseng)
-   [`5a7924ad`](5a7924ad94)
    Add createStubInstance header in stubs.md (Daniel Kaplan)
-   [`ad6804cd`](ad6804cd41)
    Bump elliptic from 6.5.5 to 6.5.7 ([#&#8203;2608](https://redirect.github.com/sinonjs/sinon/issues/2608)) (dependabot\[bot])
-   [`033287bd`](033287bded)
    Bump path-to-regexp and nise ([#&#8203;2611](https://redirect.github.com/sinonjs/sinon/issues/2611)) (dependabot\[bot])
    > Bumps [path-to-regexp](https://redirect.github.com/pillarjs/path-to-regexp) to 8.1.0 and updates ancestor dependency [nise](https://redirect.github.com/sinonjs/nise). These dependencies need to be updated together.
    >
    > Updates `path-to-regexp` from 6.2.2 to 8.1.0
    >
    > -   [Release notes](https://redirect.github.com/pillarjs/path-to-regexp/releases)
    > -   [Changelog](https://redirect.github.com/pillarjs/path-to-regexp/blob/master/History.md)
    > -   [Commits](https://redirect.github.com/pillarjs/path-to-regexp/compare/v6.2.2...v8.1.0)
    >
    > Updates `nise` from 6.0.0 to 6.0.1
    >
    > -   [Changelog](https://redirect.github.com/sinonjs/nise/blob/main/History.md)
    > -   [Commits](https://redirect.github.com/sinonjs/nise/commits)
    >
    > ***
    >
    > updated-dependencies:
    >
    > -   dependency-name: path-to-regexp
    >
    >     dependency-type: indirect
    >
    > -   dependency-name: nise
    >
    >     dependency-type: direct:production
    >
    > ...
    >
    > Signed-off-by: dependabot\[bot] <support@github.com>
    >
    > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@&#8203;users](https://redirect.github.com/users).noreply.github.com>
-   [`0c609f95`](0c609f95b1)
    re-add testing of esm browser builds (Carl-Erik Kopseng)
    > It seems unclear why it was removed in the first place: I have tested extensively that it
    > does work and it does fail the build if changing any assertion in the script
-   [`da4230a0`](da4230a00c)
    Bump braces from 3.0.2 to 3.0.3 ([#&#8203;2605](https://redirect.github.com/sinonjs/sinon/issues/2605)) (dependabot\[bot])
    > Bumps [braces](https://redirect.github.com/micromatch/braces) from 3.0.2 to 3.0.3.
    >
    > -   [Changelog](https://redirect.github.com/micromatch/braces/blob/master/CHANGELOG.md)
    > -   [Commits](https://redirect.github.com/micromatch/braces/compare/3.0.2...3.0.3)
    >
    > ***
    >
    > updated-dependencies:
    >
    > -   dependency-name: braces
    >
    >     dependency-type: indirect
    >
    > ...
    >
    > Signed-off-by: dependabot\[bot] <support@github.com>
    >
    > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@&#8203;users](https://redirect.github.com/users).noreply.github.com>
-   [`02542370`](02542370a4)
    feat(ci): add node v22 ([#&#8203;2600](https://redirect.github.com/sinonjs/sinon/issues/2600)) (Rotzbua)
-   [`794cb81a`](794cb81a3b)
    fix(tests): typo ([#&#8203;2603](https://redirect.github.com/sinonjs/sinon/issues/2603)) (Rotzbua)
-   [`1eb2a254`](1eb2a25486)
    Use NodeJS 22.2.0 as base development version (Carl-Erik Kopseng)
-   [`1aa713fd`](1aa713fd41)
    Bump rexml from 3.2.5 to 3.2.8 ([#&#8203;2599](https://redirect.github.com/sinonjs/sinon/issues/2599)) (dependabot\[bot])
    > Bumps [rexml](https://redirect.github.com/ruby/rexml) from 3.2.5 to 3.2.8. >
    >
    > -   [Release notes](https://redirect.github.com/ruby/rexml/releases) >
    > -   [Changelog](https://redirect.github.com/ruby/rexml/blob/master/NEWS.md) >
    > -   [Commits](https://redirect.github.com/ruby/rexml/compare/v3.2.5...v3.2.8) > >
    >     \--- >
    >     updated-dependencies: >
    > -   dependency-name: rexml >
    >     dependency-type: indirect >
    >     ... > >
    >     Signed-off-by: dependabot\[bot] <support@github.com> >
    >     Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@&#8203;users](https://redirect.github.com/users).noreply.github.com>

*Released by [Carl-Erik Kopseng](https://redirect.github.com/fatso83) on 2024-09-10.*

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-09-13 02:22:03 +00:00
Saul-Mirone
445acfa323 chore: bump bs (#8227) 2024-09-13 02:10:16 +00:00
fundon
39a5d8e64f fix(core): reference link icon (#8223)
Closes [AF-1384](https://linear.app/affine-design/issue/AF-1384/edgeless-reference-icon-在fail版本中显示不正确)
2024-09-12 11:56:07 +00:00
pengx17
4b920a867c fix(electron): app fallback styles (#8225) 2024-09-12 11:21:29 +00:00
pengx17
d2b482bcb2 fix(electron): incorrect path to root dir (#8220) 2024-09-12 09:00:18 +00:00
renovate
23c7f8b01d chore: bump up express version to v4.20.0 [SECURITY] (#8205)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express](http://expressjs.com/) ([source](https://redirect.github.com/expressjs/express)) | [`4.19.2` -> `4.20.0`](https://renovatebot.com/diffs/npm/express/4.19.2/4.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/express/4.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express/4.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express/4.19.2/4.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express/4.19.2/4.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-43796](https://redirect.github.com/expressjs/express/security/advisories/GHSA-qw6h-vgh9-j6wx)

### Impact

In express <4.20.0, passing untrusted user input - even after sanitizing it - to `response.redirect()` may execute untrusted code

### Patches

this issue is patched in express 4.20.0

### Workarounds

users are encouraged to upgrade to the patched version of express, but otherwise can workaround this issue by making sure any untrusted inputs are safe, ideally by validating them against an explicit allowlist

### Details

successful exploitation of this vector requires the following:

1. The attacker MUST control the input to response.redirect()
1. express MUST NOT redirect before the template appears
1. the browser MUST NOT complete redirection before:
1. the user MUST click on the link in the template

---

### Release Notes

<details>
<summary>expressjs/express (express)</summary>

### [`v4.20.0`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#4200--2024-09-10)

[Compare Source](https://redirect.github.com/expressjs/express/compare/4.19.2...4.20.0)

\==========

-   deps: serve-static@0.16.0
    -   Remove link renderization in html while redirecting
-   deps: send@0.19.0
    -   Remove link renderization in html while redirecting
-   deps: body-parser@0.6.0
    -   add `depth` option to customize the depth level in the parser
    -   IMPORTANT: The default `depth` level for parsing URL-encoded data is now `32` (previously was `Infinity`)
-   Remove link renderization in html while using `res.redirect`
-   deps: path-to-regexp@0.1.10
    -   Adds support for named matching groups in the routes using a regex
    -   Adds backtracking protection to parameters without regexes defined
-   deps: encodeurl@~2.0.0
    -   Removes encoding of `\`, `|`, and `^` to align better with URL spec
-   Deprecate passing `options.maxAge` and `options.expires` to `res.clearCookie`
    -   Will be ignored in v5, clearCookie will set a cookie with an expires in the past to instruct clients to delete the cookie

</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 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-12 08:43:05 +00:00
fundon
8a9d9b42a3 feat(core): support block links on cmdk (#8192)
Upstreams: https://github.com/toeverything/blocksuite/pull/8260
Closes: [BS-1323](https://linear.app/affine-design/issue/BS-1323/粘贴-link-to-block-到-link-弹窗,不符合预期)
2024-09-12 08:25:28 +00:00
JimmFly
2cba8a4ccd fix(core): title could not be changed when creating a new doc (#8203)
Before change, the title could not be modified from outside the editor without refreshing:

https://github.com/user-attachments/assets/536acba1-4e31-418a-bc1a-8578e3128bba

after:

https://github.com/user-attachments/assets/30a4b270-b8b1-4787-acef-0ab2a72a8f74
2024-09-12 07:55:23 +00:00
EYHN
cc5a6e6d40 refactor: new project struct (#8199)
packages/frontend/web -> packages/frontend/apps/web
packages/frontend/mobile -> packages/frontend/apps/mobile
packages/frontend/electron -> packages/frontend/apps/electron
2024-09-12 07:42:57 +00:00
L-Sun
7c4eab6cd3 fix(core): add edit entry for mobile edition (#8173) 2024-09-12 06:48:22 +00:00
JimmFly
8e71815e46 fix(component): windows client does not have app controls on some pages (#8176)
close AF-1266
2024-09-12 06:35:55 +00:00
EYHN
3999b04cf1 feat(core): download template from snapshot url (#8211) 2024-09-12 06:21:52 +00:00
zzj3720
aad7b90859 feat(core): add database full-width feature flag (#8210) 2024-09-12 05:14:13 +00:00
akumatus
456aa047cb fix: missing font in text preview of editor settings (#8213)
Close issue [BS-1394](https://linear.app/affine-design/issue/BS-1394).

Add `FontConfigExtension` to `edgeless:preview` spec.
2024-09-12 04:40:17 +00:00
doouding
393dcfec78 feat: bump bs (#8212)
https://github.com/toeverything/blocksuite/pull/8311
2024-09-12 04:28:14 +00:00
pengx17
24bf1beac8 fix(electron): devtools open in detach mode (#8200)
fix AF-1380
2024-09-12 03:20:19 +00:00
CatsJuice
8bf0458ef4 fix(mobile): remove all focus style for link and button (#8208) 2024-09-12 03:07:31 +00:00
Saul-Mirone
ba81b1a9ca chore: bump bs (#8204) 2024-09-11 12:04:26 +00:00
fundon
b74dd1c92e feat(core): support block links on Bi-Directional Links (#8169)
Clsoes [AF-1348](https://linear.app/affine-design/issue/AF-1348/修复-bi-directional-links-里面的链接地址)

* Links to the current document should be ignored on `Backlinks`
* Links to the current document should be ignored on `Outgoing links`

https://github.com/user-attachments/assets/dbc43cea-5aca-4c6f-886a-356e3a91c1f1
2024-09-11 11:08:12 +00:00
CatsJuice
b7d05d2078 feat(core): new empty states for doc/collection/tag (#8197)
AF-1329, AF-1330
2024-09-11 10:48:52 +00:00
akumatus
f12655655e feat: add mindmap and connector settings (#8198)
### What changed?
- Add `connector` label settings.
- Add `mindmap` style settings.
- Add skeleton loading placeholder.

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/31159d74-ef62-4c7f-b1d9-cde73047cf29.mov">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/31159d74-ef62-4c7f-b1d9-cde73047cf29.mov">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/31159d74-ef62-4c7f-b1d9-cde73047cf29.mov">录屏2024-09-11 16.30.17.mov</video>
2024-09-11 09:17:11 +00:00
EYHN
85aa73bcf6 fix(core): disconnect ws when user logout (#8188) 2024-09-11 07:55:42 +00:00
EYHN
d93c3b3719 feat(core): user data db (#7930) 2024-09-11 07:55:37 +00:00
EYHN
498a69af53 feat(core): move enable ai to feature flag (#8195) 2024-09-11 07:42:07 +00:00
EYHN
8c191e6baa feat(core): preview template & snapshot import (#8193) 2024-09-11 07:11:33 +00:00
doouding
52d9569f47 feat: add mind map import feature flag (#8196) 2024-09-11 06:27:47 +00:00
EYHN
f009371e06 fix(core): fix menu shaking (#8187) 2024-09-11 03:42:13 +00:00
forehalo
7a546ff8a1 feat(core): add auth metrics (#8194)
close AF-849
2024-09-11 03:28:32 +00:00
CatsJuice
81ab8ac8b3 feat(mobile): pwa and browser theme-color optimization (#8168)
[AF-1325](https://linear.app/affine-design/issue/AF-1325/优化-pwa-体验), [AF-1317](https://linear.app/affine-design/issue/AF-1317/优化:-pwa-的顶部-status-bar-颜色应与背景保持一致), [AF-1318](https://linear.app/affine-design/issue/AF-1318/优化:pwa-的底部应当有符合设备安全高度的padding), [AF-1321](https://linear.app/affine-design/issue/AF-1321/更新一下-fail-的-pwa-icon)

- New `<SafeArea />` ui component
- New `useThemeColorV1` / `useThemeColorV2` hook:
    - to modify `<meta name="theme-color" />` with given theme key
2024-09-11 02:20:59 +00:00
L-Sun
9038592715 fix(core): disable append paragraph in shared page editor (#8191)
Disable append paragraph function for readonly or shared page editor.

### Before

![CleanShot 2024-09-10 at 22.26.04@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/3ab206a2-8e30-4212-9d5d-3073ec489644.png)
2024-09-10 15:33:52 +00:00
L-Sun
6ce6cb33ef feat(core): add outline viewer for share page (#8190) 2024-09-10 14:00:17 +00:00
Saul-Mirone
daa9d9ff5c chore: bump bs (#8189) 2024-09-10 13:48:08 +00:00
darkskygit
95738e796f fix: client captcha (#8186) 2024-09-10 09:34:21 +00:00
JimmFly
9ccf517e06 chore: adjust the border color of Point component (#8185)
close AF-1367
2024-09-10 09:22:34 +00:00
JimmFly
31561d8203 chore: bump theme version (#8184) 2024-09-10 09:05:30 +00:00
donteatfriedrice
9dfd366382 fix: ai error message tip would be cut off (#8183)
Use `<affine-tooltip>` component that updates the float position when it might be clipped。

Fix: [BS-1386](https://linear.app/affine-design/issue/BS-1386/[bug]-tooltip-位置错误)
2024-09-10 08:12:05 +00:00
JimmFly
4c0d0ab8de fix(core): page jumps unexpectedly when clicking the collection operation (#8182)
close AF-1371

https://github.com/user-attachments/assets/9cc25790-8755-458c-94ac-a8d1b584c428
2024-09-10 06:38:33 +00:00
EYHN
0cdc486f1f fix(core): reduce state refresh (#8181) 2024-09-10 06:21:15 +00:00
pengx17
fb76fdfca3 fix(core): menu not scrollable when opening in modal (#8179)
fix AF-1360

When menu (with modal = false) is rendered in Modal, the [RemoveScroll utility wrapped by Modal](660060a765/packages/react/dialog/src/Dialog.tsx (L203)) will prevent menu from scrolling.

The reason why menu is scrollable within a dialog is because it is also wrapped a RemoveScroll [when modal is on. ](660060a765/packages/react/menu/src/Menu.tsx (L305))

In this fix, added a `useWithinModal` utility hook so that menu will automatically assign noportal mode for menu when it is rendered inside of a modal.
2024-09-10 06:09:00 +00:00
JimmFly
9d343bdaa6 feat(core): add enable url preview to workspace settings (#8089) 2024-09-10 04:04:06 +00:00
Brooooooklyn
fe1eefdbb2 feat: init renderer server (#8088) 2024-09-10 04:03:59 +00:00
forehalo
0add8917f9 feat(server): enable share og information for docs (#7794) 2024-09-10 04:03:52 +00:00
darkskygit
34eac4c24e feat: improve ai query performance (#8170) 2024-09-09 09:39:28 +00:00
JimmFly
b48cc825e0 fix(core): unexpected jump when clicking save tag (#8171)
close AF-1285

https://github.com/user-attachments/assets/1ec4adf5-4340-4e94-9e56-6a05e7a65f18
2024-09-09 07:54:56 +00:00
forehalo
32f673fa3d perf(server): index lower user email (#8167) 2024-09-09 04:43:59 +00:00
JimmFly
a7ecfea3b5 fix(core): disable border thickness setting when no border is selected (#8152)
close AF-1351
2024-09-09 03:25:04 +00:00
fundon
6b266e3a1b fix(core): link copying and pasting (#8157)
Related to: https://github.com/toeverything/blocksuite/pull/8233
2024-09-09 03:11:20 +00:00
forehalo
d31565eb98 ci(mobile): typecheck (#8166) 2024-09-09 02:59:50 +00:00
1979 changed files with 63994 additions and 36729 deletions

View File

@@ -1,2 +1,4 @@
[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]
[target.aarch64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]

View File

@@ -13,6 +13,3 @@ yarn workspace @affine/server-native build
# Create database
yarn workspace @affine/server prisma db push
# Create user username: affine, password: affine
echo "INSERT INTO \"users\"(\"id\",\"name\",\"email\",\"email_verified\",\"created_at\",\"password\") VALUES('99f3ad04-7c9b-441e-a6db-79f73aa64db9','affine','affine@affine.pro','2024-02-26 15:54:16.974','2024-02-26 15:54:16.974+00','\$argon2id\$v=19\$m=19456,t=2,p=1\$esDS3QCHRH0Kmeh87YPm5Q\$9S+jf+xzw2Hicj6nkWltvaaaXX3dQIxAFwCfFa9o38A');" | yarn workspace @affine/server prisma db execute --stdin

View File

@@ -1,5 +1,4 @@
CHANGELOG_URL=
ENABLE_PRELOADING=
ENABLE_NEW_SETTING_UNSTABLE_API=
ENABLE_CAPTCHA=
CAPTCHA_SITE_KEY=

View File

@@ -12,4 +12,5 @@ static
web-static
public
packages/frontend/i18n/src/i18n-generated.ts
packages/frontend/i18n/src/i18n-completenesses.json
packages/frontend/templates/*.gen.ts

View File

@@ -34,7 +34,7 @@ const createPattern = packageName => [
{
group: ['@affine/env/constant'],
message:
'Do not import from @affine/env/constant. Use `environment.isElectron` instead',
'Do not import from @affine/env/constant. Use `BUILD_CONFIG.isElectron` instead',
importNames: ['isElectron'],
},
];
@@ -43,11 +43,14 @@ const allPackages = [
'packages/backend/server',
'packages/frontend/component',
'packages/frontend/core',
'packages/frontend/electron',
'packages/frontend/apps/electron',
'packages/frontend/apps/web',
'packages/frontend/apps/mobile',
'packages/frontend/graphql',
'packages/frontend/i18n',
'packages/frontend/native',
'packages/frontend/templates',
'packages/frontend/track',
'packages/common/debug',
'packages/common/env',
'packages/common/infra',

View File

@@ -49,7 +49,7 @@ runs:
- name: Build
shell: bash
run: |
yarn workspace ${{ inputs.package }} nx build ${{ inputs.package }} -- --target ${{ inputs.target }} --use-napi-cross
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }} --use-napi-cross
env:
NX_CLOUD_ACCESS_TOKEN: ${{ inputs.nx_token }}
DEBUG: 'napi:*'

36
.github/actions/copilot-test/action.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: 'Run Copilot E2E Test'
description: 'Run Copilot E2E Test'
inputs:
script:
description: 'Script to run'
default: 'yarn workspace @affine-test/affine-cloud-copilot e2e --forbid-only'
required: false
openai-key:
description: 'OpenAI secret key'
required: true
fal-key:
description: 'Fal secret key'
required: true
runs:
using: 'composite'
steps:
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: Server Copilot E2E Test
shell: bash
run: ${{ inputs.script }}
env:
COPILOT: true
DEV_SERVER_URL: http://localhost:8080
COPILOT_OPENAI_API_KEY: ${{ inputs.openai-key }}
COPILOT_FAL_API_KEY: ${{ inputs.fal-key }}
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-server-copilot
path: ./test-results
if-no-files-found: ignore

View File

@@ -40,6 +40,42 @@ const isProduction = buildType === 'stable';
const isBeta = buildType === 'beta';
const isInternal = buildType === 'internal';
const replicaConfig = {
stable: {
web: 3,
graphql: Number(process.env.PRODUCTION_GRAPHQL_REPLICA) || 3,
sync: Number(process.env.PRODUCTION_SYNC_REPLICA) || 3,
renderer: Number(process.env.PRODUCTION_RENDERER_REPLICA) || 3,
},
beta: {
web: 2,
graphql: Number(process.env.BETA_GRAPHQL_REPLICA) || 2,
sync: Number(process.env.BETA_SYNC_REPLICA) || 2,
renderer: Number(process.env.BETA_RENDERER_REPLICA) || 2,
},
canary: {
web: 2,
graphql: 2,
sync: 2,
renderer: 2,
},
};
const cpuConfig = {
beta: {
web: '300m',
graphql: '1',
sync: '1',
renderer: '300m',
},
canary: {
web: '300m',
graphql: '1',
sync: '1',
renderer: '300m',
},
};
const createHelmCommand = ({ isDryRun }) => {
const flag = isDryRun ? '--dry-run' : '--atomic';
const imageTag = `${buildType}-${GIT_SHORT_HASH}`;
@@ -67,17 +103,18 @@ const createHelmCommand = ({ isDryRun }) => {
`--set-json cloud-sql-proxy.nodeSelector=\"{ \\"iam.gke.io/gke-metadata-server-enabled\\": \\"true\\" }\"`,
]
: [];
const webReplicaCount = isProduction ? 3 : isBeta ? 2 : 2;
const graphqlReplicaCount = isProduction
? Number(process.env.PRODUCTION_GRAPHQL_REPLICA) || 3
: isBeta
? Number(process.env.isBeta_GRAPHQL_REPLICA) || 2
: 2;
const syncReplicaCount = isProduction
? Number(process.env.PRODUCTION_SYNC_REPLICA) || 3
: isBeta
? Number(process.env.BETA_SYNC_REPLICA) || 2
: 2;
const cpu = cpuConfig[buildType];
const resources = cpu
? [
`--set web.resources.requests.cpu="${cpu.web}"`,
`--set graphql.resources.requests.cpu="${cpu.graphql}"`,
`--set sync.resources.requests.cpu="${cpu.sync}"`,
]
: [];
const replica = replicaConfig[buildType] || replicaConfig.canary;
const namespace = isProduction
? 'production'
: isBeta
@@ -90,14 +127,19 @@ const createHelmCommand = ({ isDryRun }) => {
const deployCommand = [
`helm upgrade --install affine .github/helm/affine`,
`--namespace ${namespace}`,
`--set-string global.app.buildType="${buildType}"`,
`--set global.ingress.enabled=true`,
`--set-json global.ingress.annotations=\"{ \\"kubernetes.io/ingress.class\\": \\"gce\\", \\"kubernetes.io/ingress.allow-http\\": \\"true\\", \\"kubernetes.io/ingress.global-static-ip-name\\": \\"${STATIC_IP_NAME}\\" }\"`,
`--set-string global.ingress.host="${host}"`,
`--set global.objectStorage.r2.enabled=true`,
`--set-string global.objectStorage.r2.accountId="${R2_ACCOUNT_ID}"`,
`--set-string global.objectStorage.r2.accessKeyId="${R2_ACCESS_KEY_ID}"`,
`--set-string global.objectStorage.r2.secretAccessKey="${R2_SECRET_ACCESS_KEY}"`,
`--set-string global.version="${APP_VERSION}"`,
...redisAndPostgres,
`--set web.replicaCount=${webReplicaCount}`,
`--set web.replicaCount=${replica.web}`,
`--set-string web.image.tag="${imageTag}"`,
`--set graphql.replicaCount=${graphqlReplicaCount}`,
`--set graphql.replicaCount=${replica.graphql}`,
`--set-string graphql.image.tag="${imageTag}"`,
`--set graphql.app.host=${host}`,
`--set graphql.app.captcha.enabled=true`,
@@ -106,10 +148,6 @@ const createHelmCommand = ({ isDryRun }) => {
`--set-string graphql.app.copilot.openai.key="${COPILOT_OPENAI_API_KEY}"`,
`--set-string graphql.app.copilot.fal.key="${COPILOT_FAL_API_KEY}"`,
`--set-string graphql.app.copilot.unsplash.key="${COPILOT_UNSPLASH_API_KEY}"`,
`--set graphql.app.objectStorage.r2.enabled=true`,
`--set-string graphql.app.objectStorage.r2.accountId="${R2_ACCOUNT_ID}"`,
`--set-string graphql.app.objectStorage.r2.accessKeyId="${R2_ACCESS_KEY_ID}"`,
`--set-string graphql.app.objectStorage.r2.secretAccessKey="${R2_SECRET_ACCESS_KEY}"`,
`--set-string graphql.app.mailer.sender="${MAILER_SENDER}"`,
`--set-string graphql.app.mailer.user="${MAILER_USER}"`,
`--set-string graphql.app.mailer.password="${MAILER_PASSWORD}"`,
@@ -123,9 +161,13 @@ const createHelmCommand = ({ isDryRun }) => {
`--set graphql.app.experimental.enableJwstCodec=${namespace === 'dev'}`,
`--set graphql.app.features.earlyAccessPreview=false`,
`--set graphql.app.features.syncClientVersionCheck=true`,
`--set sync.replicaCount=${syncReplicaCount}`,
`--set sync.replicaCount=${replica.sync}`,
`--set-string sync.image.tag="${imageTag}"`,
`--set-string renderer.image.tag="${imageTag}"`,
`--set renderer.app.host=${host}`,
`--set renderer.replicaCount=${replica.renderer}`,
...serviceAnnotations,
...resources,
`--timeout 10m`,
flag,
].join(' ');

View File

@@ -0,0 +1,21 @@
name: 'Prepare Server Test Environment'
description: 'Prepare Server Test Environment'
runs:
using: 'composite'
steps:
- name: Initialize database
shell: bash
run: |
psql -h localhost -U postgres -c "CREATE DATABASE affine;"
psql -h localhost -U postgres -c "CREATE USER affine WITH PASSWORD 'affine';"
psql -h localhost -U postgres -c "ALTER USER affine WITH SUPERUSER;"
env:
PGPASSWORD: affine
- name: Run init-db script
shell: bash
run: |
yarn workspace @affine/server exec prisma generate
yarn workspace @affine/server exec prisma db push
yarn workspace @affine/server data-migration run

View File

@@ -17,6 +17,10 @@ inputs:
description: 'Download the Electron binary'
required: false
default: 'true'
corepack-install:
description: 'Install CorePack'
required: false
default: 'false'
hard-link-nm:
description: 'set nmMode to hardlinks-local in .yarnrc.yml'
required: false
@@ -42,6 +46,11 @@ runs:
registry-url: https://npm.pkg.github.com
scope: '@toeverything'
- name: Init CorePack
if: ${{ inputs.corepack-install == 'true' }}
shell: bash
run: corepack enable
- name: Set nmMode
if: ${{ inputs.hard-link-nm == 'false' }}
shell: bash

28
.github/actions/setup-rust/action.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: 'Rust setup'
description: 'Rust setup, including cache configuration'
inputs:
components:
description: 'Cargo components'
required: false
targets:
description: 'Cargo target'
required: false
toolchain:
description: 'Rustup toolchain'
required: false
default: 'stable'
runs:
using: 'composite'
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ inputs.toolchain }}
targets: ${{ inputs.targets }}
components: ${{ inputs.components }}
- name: Add Targets
if: ${{ inputs.targets }}
run: rustup target add ${{ inputs.targets }}
shell: bash
- uses: Swatinem/rust-cache@v2

View File

@@ -1,8 +1,8 @@
FROM openresty/openresty:1.25.3.2-0-buster
FROM openresty/openresty:1.27.1.1-0-buster
WORKDIR /app
COPY ./packages/frontend/web/dist ./dist
COPY ./packages/frontend/apps/web/dist ./dist
COPY ./packages/frontend/admin/dist ./admin
COPY ./packages/frontend/mobile/dist ./mobile
COPY ./packages/frontend/apps/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

@@ -6,11 +6,6 @@ server {
try_files $uri/index.html $uri/ $uri /admin/index.html;
}
location ~ ^/(_plugin|assets|imgs|js|plugins|static)/ {
root /app/dist/;
try_files $uri $uri/ =404;
}
set $app_root_path /app/dist/;
set $mobile_root /app/dist/;
set_by_lua $affine_env 'return os.getenv("AFFINE_ENV")';
@@ -28,6 +23,11 @@ server {
set $app_root_path $mobile_root;
}
location ~ ^/(_plugin|assets|imgs|js|plugins|static)/ {
root $app_root_path;
try_files $uri $uri/ =404;
}
location / {
root $app_root_path;
index index.html;

View File

@@ -1,8 +1,9 @@
FROM node:20-bookworm-slim
COPY ./packages/backend/server /app
COPY ./packages/frontend/web/dist /app/static
COPY ./packages/frontend/apps/web/dist /app/static
COPY ./packages/frontend/admin/dist /app/static/admin
COPY ./packages/frontend/apps/mobile/dist /app/static/mobile
WORKDIR /app
RUN apt-get update && \

View File

@@ -28,8 +28,6 @@ services:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgres://affine:affine@postgres:5432/affine
- NODE_ENV=production
- AFFINE_ADMIN_EMAIL=${AFFINE_ADMIN_EMAIL}
- AFFINE_ADMIN_PASSWORD=${AFFINE_ADMIN_PASSWORD}
# Telemetry allows us to collect data on how you use the affine. This data will helps us improve the app and provide better features.
# Uncomment next line if you wish to quit telemetry.
# - TELEMETRY_ENABLE=false
@@ -45,7 +43,7 @@ services:
timeout: 5s
retries: 5
postgres:
image: postgres
image: postgres:16
container_name: affine_postgres
restart: unless-stopped
volumes:

View File

@@ -3,4 +3,4 @@ name: affine
description: AFFiNE cloud chart
type: application
version: 0.0.0
appVersion: "0.16.0"
appVersion: "0.18.0"

View File

@@ -3,7 +3,7 @@ name: graphql
description: AFFiNE GraphQL server
type: application
version: 0.0.0
appVersion: "0.16.0"
appVersion: "0.18.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -76,7 +76,7 @@ spec:
- name: AFFINE_SERVER_HTTPS
value: "{{ .Values.app.https }}"
- name: ENABLE_R2_OBJECT_STORAGE
value: "{{ .Values.app.objectStorage.r2.enabled }}"
value: "{{ .Values.global.objectStorage.r2.enabled }}"
- name: FEATURES_EARLY_ACCESS_PREVIEW
value: "{{ .Values.app.features.earlyAccessPreview }}"
- name: FEATURES_SYNC_CLIENT_VERSION_CHECK
@@ -122,21 +122,21 @@ spec:
- name: DOC_MERGE_USE_JWST_CODEC
value: "true"
{{ end }}
{{ if .Values.app.objectStorage.r2.enabled }}
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
{{ if .Values.app.captcha.enabled }}

View File

@@ -37,21 +37,21 @@ spec:
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.gcloud.cloudSqlInternal }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
{{ end }}
{{ if .Values.app.objectStorage.r2.enabled }}
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
resources:

View File

@@ -1,11 +0,0 @@
{{- if .Values.app.objectStorage.r2.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
type: Opaque
data:
accountId: {{ .Values.app.objectStorage.r2.accountId | b64enc }}
accessKeyId: {{ .Values.app.objectStorage.r2.accessKeyId | b64enc }}
secretAccessKey: {{ .Values.app.objectStorage.r2.secretAccessKey | b64enc }}
{{- end }}

View File

@@ -29,14 +29,7 @@ app:
secretName: copilot
openai:
key: ''
objectStorage:
r2:
enabled: false
secretName: r2
accountId: ''
accessKeyId: ''
secretAccessKey: ''
oauth:
oauth:
google:
enabled: false
secretName: oauth-google

View File

@@ -0,0 +1,11 @@
apiVersion: v2
name: renderer
description: AFFiNE renderer server
type: application
version: 0.0.0
appVersion: "0.16.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0
repository: "file://../gcloud-sql-proxy"
condition: .global.database.gcloud.enabled

View File

@@ -0,0 +1,16 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "renderer.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "renderer.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "renderer.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "renderer.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
{{- end }}

View File

@@ -0,0 +1,63 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "renderer.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "renderer.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "renderer.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "renderer.labels" -}}
helm.sh/chart: {{ include "renderer.chart" . }}
{{ include "renderer.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
monitoring: enabled
{{- end }}
{{/*
Selector labels
*/}}
{{- define "renderer.selectorLabels" -}}
app.kubernetes.io/name: {{ include "renderer.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "renderer.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "renderer.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,124 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "renderer.fullname" . }}
labels:
{{- include "renderer.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "renderer.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "renderer.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "renderer.serviceAccountName" . }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: AFFINE_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.global.secret.secretName }}"
key: key
- name: NODE_ENV
value: "{{ .Values.env }}"
- name: NODE_OPTIONS
value: "--max-old-space-size=4096"
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
- name: SERVER_FLAVOR
value: "renderer"
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: pg-postgresql
key: postgres-password
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_ENABLED
value: "true"
- name: REDIS_SERVER_HOST
value: "{{ .Values.global.redis.host }}"
- name: REDIS_SERVER_PORT
value: "{{ .Values.global.redis.port }}"
- name: REDIS_SERVER_USER
value: "{{ .Values.global.redis.username }}"
- name: REDIS_SERVER_PASSWORD
valueFrom:
secretKeyRef:
name: redis
key: redis-password
- name: REDIS_SERVER_DATABASE
value: "{{ .Values.global.redis.database }}"
- name: AFFINE_SERVER_PORT
value: "{{ .Values.service.port }}"
- name: AFFINE_SERVER_SUB_PATH
value: "{{ .Values.app.path }}"
- name: AFFINE_SERVER_HOST
value: "{{ .Values.app.host }}"
- name: AFFINE_SERVER_HTTPS
value: "{{ .Values.app.https }}"
- name: ENABLE_R2_OBJECT_STORAGE
value: "{{ .Values.global.objectStorage.r2.enabled }}"
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /info
port: http
initialDelaySeconds: {{ .Values.probe.initialDelaySeconds }}
readinessProbe:
httpGet:
path: /info
port: http
initialDelaySeconds: {{ .Values.probe.initialDelaySeconds }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
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:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "graphql.selectorLabels" . | nindent 4 }}

View File

@@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "graphql.serviceAccountName" . }}
labels:
{{- include "graphql.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "renderer.fullname" . }}-test-connection"
labels:
{{- include "renderer.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "renderer.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@@ -0,0 +1,38 @@
replicaCount: 1
image:
repository: ghcr.io/toeverything/affine-graphql
pullPolicy: IfNotPresent
tag: ''
imagePullSecrets: []
nameOverride: ''
fullnameOverride: ''
# map to NODE_ENV environment variable
env: 'production'
app:
# AFFINE_SERVER_SUB_PATH
path: ''
# AFFINE_SERVER_HOST
host: '0.0.0.0'
https: true
serviceAccount:
create: true
annotations: {}
name: 'affine-renderer'
podAnnotations: {}
podSecurityContext:
fsGroup: 2000
resources:
requests:
cpu: '4'
memory: 4Gi
probe:
initialDelaySeconds: 20
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -3,7 +3,7 @@ name: sync
description: AFFiNE Sync Server
type: application
version: 0.0.0
appVersion: "0.16.0"
appVersion: "0.18.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -0,0 +1,9 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-runtime-config
data:
web-assets-manifest: |-
{{ .Files.Get "web-assets-manifest.json" | nindent 4 }}
mobile-assets-manifest: |-
{{ .Files.Get "mobile-assets-manifest.json" | nindent 4 }}

View File

@@ -60,6 +60,13 @@ spec:
name: affine-graphql
port:
number: {{ .Values.graphql.service.port }}
- path: /workspace
pathType: Prefix
backend:
service:
name: affine-renderer
port:
number: {{ .Values.renderer.service.port }}
- path: /
pathType: Prefix
backend:
@@ -67,11 +74,4 @@ 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

@@ -0,0 +1,11 @@
{{- if .Values.global.objectStorage.r2.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
type: Opaque
data:
accountId: {{ .Values.global.objectStorage.r2.accountId | b64enc }}
accessKeyId: {{ .Values.global.objectStorage.r2.accessKeyId | b64enc }}
secretAccessKey: {{ .Values.global.objectStorage.r2.secretAccessKey | b64enc }}
{{- end }}

View File

@@ -1,4 +1,6 @@
global:
app:
buildType: 'stable'
ingress:
enabled: false
className: ''
@@ -28,6 +30,13 @@ global:
username: ''
password: ''
database: 0
objectStorage:
r2:
enabled: false
secretName: r2
accountId: ''
accessKeyId: ''
secretAccessKey: ''
gke:
enabled: true
@@ -45,6 +54,13 @@ sync:
annotations:
cloud.google.com/backend-config: '{"default": "affine-api-backendconfig"}'
renderer:
service:
type: ClusterIP
port: 3000
annotations:
cloud.google.com/backend-config: '{"default": "affine-api-backendconfig"}'
web:
service:
type: ClusterIP

2
.github/labeler.yml vendored
View File

@@ -77,7 +77,7 @@ app:core:
app:electron:
- changed-files:
- any-glob-to-any-file:
- 'packages/frontend/electron/**/*'
- 'packages/frontend/apps/electron/**/*'
app:server:
- changed-files:

View File

@@ -23,11 +23,11 @@
"groupName": "oxlint"
},
{
"groupName": "blocksuite-canary",
"groupName": "blocksuite",
"matchPackagePatterns": ["^@blocksuite"],
"excludePackageNames": ["@blocksuite/icons"],
"rangeStrategy": "replace",
"enabled": false
"changelogUrl": "https://github.com/toeverything/blocksuite/blob/master/packages/blocks/CHANGELOG.md"
},
{
"groupName": "all non-major dependencies",
@@ -40,6 +40,10 @@
"groupName": "rust toolchain",
"matchManagers": ["custom.regex"],
"matchDepNames": ["rustc"]
},
{
"groupName": "nestjs",
"matchPackagePatterns": ["^@nestjs"]
}
],
"commitMessagePrefix": "chore: ",

View File

@@ -6,11 +6,6 @@ on:
flavor:
type: string
required: true
workflow_dispatch:
inputs:
flavor:
type: string
required: false
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
@@ -43,8 +38,8 @@ jobs:
path: ./packages/backend/server/dist
if-no-files-found: error
build-web-selfhost:
name: Build @affine/web selfhost
build-web:
name: Build @affine/web
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
@@ -57,21 +52,27 @@ jobs:
- name: Build Core
run: yarn nx build @affine/web --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 }}
PUBLIC_PATH: '/'
SELF_HOSTED: true
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 }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
- name: Download selfhost fonts
run: node ./scripts/download-blocksuite-fonts.mjs
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
name: selfhost-web
path: ./packages/frontend/web/dist
name: web
path: ./packages/frontend/apps/web/dist
if-no-files-found: error
build-admin-selfhost:
name: Build @affine/admin selfhost
build-admin:
name: Build @affine/admin
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
@@ -81,20 +82,59 @@ jobs:
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Core
- 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 }}
PUBLIC_PATH: '/admin/'
SELF_HOSTED: true
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: selfhost-admin
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/apps/mobile/dist
if-no-files-found: error
build-server-native:
name: Build Server native - ${{ matrix.targets.name }}
runs-on: ubuntu-latest
@@ -131,13 +171,14 @@ jobs:
path: ./packages/backend/native/server-native.node
if-no-files-found: error
build-docker:
name: Build Docker
build-images:
name: Build Images
runs-on: ubuntu-latest
needs:
- build-server
- build-web-selfhost
- build-admin-selfhost
- build-web
- build-mobile
- build-admin
- build-server-native
steps:
- uses: actions/checkout@v4
@@ -195,16 +236,22 @@ jobs:
registry-url: https://npm.pkg.github.com
scope: '@toeverything'
- name: Download selfhost web artifact
- name: Download web artifact
uses: actions/download-artifact@v4
with:
name: selfhost-web
path: ./packages/frontend/web/dist
name: web
path: ./packages/frontend/apps/web/dist
- name: Download selfhost admin artifact
- name: Download mobile artifact
uses: actions/download-artifact@v4
with:
name: selfhost-admin
name: mobile
path: ./packages/frontend/apps/mobile/dist
- name: Download admin artifact
uses: actions/download-artifact@v4
with:
name: admin
path: ./packages/frontend/admin/dist
- name: Install Node.js dependencies
@@ -220,6 +267,17 @@ jobs:
id: version
uses: ./.github/actions/setup-version
- name: Build front Dockerfile
uses: docker/build-push-action@v6
with:
context: .
push: true
pull: true
platforms: linux/amd64,linux/arm64
provenance: true
file: .github/deployment/front/Dockerfile
tags: ghcr.io/toeverything/affine-front:${{env.RELEASE_FLAVOR}}-${{ env.GIT_SHORT_HASH }},ghcr.io/toeverything/affine-front:${{env.RELEASE_FLAVOR}}
- name: Build graphql Dockerfile
uses: docker/build-push-action@v6
with:

View File

@@ -20,6 +20,6 @@ permissions:
jobs:
build-image:
name: Build Image
uses: ./.github/workflows/build-server-image.yml
uses: ./.github/workflows/build-images.yml
with:
flavor: ${{ github.event.inputs.flavor }}

View File

@@ -90,7 +90,7 @@ jobs:
electron-install: false
full-cache: true
- name: Run i18n codegen
run: yarn i18n-codegen gen
run: yarn workspace @affine/i18n build
- name: Run ESLint
run: yarn lint:eslint --max-warnings=0
- name: Run Prettier
@@ -117,7 +117,7 @@ jobs:
name: E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: browser
DISTRIBUTION: web
IN_CI_TEST: true
strategy:
fail-fast: false
@@ -177,7 +177,7 @@ jobs:
name: E2E Migration Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: browser
DISTRIBUTION: web
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
@@ -204,7 +204,7 @@ jobs:
needs:
- build-native
env:
DISTRIBUTION: browser
DISTRIBUTION: web
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
@@ -223,7 +223,7 @@ jobs:
run: yarn nx test:coverage @affine/monorepo
- name: Upload unit test coverage results
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./.coverage/store/lcov.info
@@ -296,8 +296,8 @@ jobs:
path: ./packages/backend/native/server-native.node
if-no-files-found: error
build-web:
name: Build @affine/web
build-electron-renderer:
name: Build @affine/electron renderer
runs-on: ubuntu-latest
steps:
@@ -307,13 +307,13 @@ jobs:
with:
electron-install: false
full-cache: true
- name: Build Web
- name: Build Electron renderer
# always skip cache because its fast, and cache configuration is always changing
run: yarn nx build @affine/web --skip-nx-cache
run: yarn build
env:
DISTRIBUTION: 'desktop'
DISTRIBUTION: desktop
- name: zip web
run: tar -czf dist.tar.gz --directory=packages/frontend/electron/renderer/dist .
run: tar -czf dist.tar.gz --directory=packages/frontend/apps/electron/renderer/dist .
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
@@ -327,7 +327,8 @@ jobs:
needs: build-server-native
env:
NODE_ENV: test
DISTRIBUTION: browser
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
services:
postgres:
image: postgres
@@ -360,31 +361,17 @@ jobs:
name: server-native.node
path: ./packages/backend/server
- name: Initialize database
run: |
psql -h localhost -U postgres -c "CREATE DATABASE affine;"
psql -h localhost -U postgres -c "CREATE USER affine WITH PASSWORD 'affine';"
psql -h localhost -U postgres -c "ALTER USER affine WITH SUPERUSER;"
env:
PGPASSWORD: affine
- name: Run init-db script
run: |
yarn workspace @affine/server exec prisma generate
yarn workspace @affine/server exec prisma db push
yarn workspace @affine/server data-migration run
env:
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: Run server tests
run: yarn workspace @affine/server test:coverage
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
COPILOT_OPENAI_API_KEY: 'use_fake_openai_api_key'
- name: Upload server test coverage results
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/server/.coverage/lcov.info
@@ -392,11 +379,174 @@ jobs:
name: affine
fail_ci_if_error: false
server-native-test:
name: Run server native tests
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
- name: Install latest nextest release
uses: taiki-e/install-action@nextest
- name: Run tests
run: cargo nextest run --release
copilot-api-test:
name: Server Copilot Api Test
runs-on: ubuntu-latest
needs:
- build-server-native
env:
NODE_ENV: test
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: affine
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
mailer:
image: mailhog/mailhog
ports:
- 1025:1025
- 8025:8025
steps:
- uses: actions/checkout@v4
- name: Check blocksuite update
id: check-blocksuite-update
env:
BASE_REF: ${{ github.base_ref }}
run: |
if node ./scripts/detect-blocksuite-update.mjs "$BASE_REF"; then
echo "skip=false" >> $GITHUB_OUTPUT
else
echo "skip=true" >> $GITHUB_OUTPUT
fi
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
backend:
- 'packages/backend/server/src/**'
- name: Setup Node.js
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.filter.outputs.backend == 'true' }}
uses: ./.github/actions/setup-node
with:
electron-install: false
full-cache: true
- name: Download server-native.node
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.filter.outputs.backend == 'true' }}
uses: actions/download-artifact@v4
with:
name: server-native.node
path: ./packages/backend/server
- name: Prepare Server Test Environment
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.filter.outputs.backend == 'true' }}
uses: ./.github/actions/server-test-env
- name: Run server tests
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.filter.outputs.backend == 'true' }}
run: yarn workspace @affine/server test:copilot:coverage --forbid-only
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
- name: Upload server test coverage results
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.filter.outputs.backend == 'true' }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/server/.coverage/lcov.info
flags: server-test
name: affine
fail_ci_if_error: false
copilot-e2e-test:
name: Server Copilot E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
IN_CI_TEST: true
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3]
shardTotal: [3]
needs:
- build-server-native
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: affine
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Check blocksuite update
id: check-blocksuite-update
env:
BASE_REF: ${{ github.base_ref }}
run: |
if node ./scripts/detect-blocksuite-update.mjs "$BASE_REF"; then
echo "skip=false" >> $GITHUB_OUTPUT
else
echo "skip=true" >> $GITHUB_OUTPUT
fi
- name: Setup Node.js
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' }}
uses: ./.github/actions/setup-node
with:
playwright-install: true
electron-install: false
hard-link-nm: false
- name: Download server-native.node
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' }}
uses: actions/download-artifact@v4
with:
name: server-native.node
path: ./packages/backend/server
- name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' }}
uses: ./.github/actions/copilot-test
with:
script: yarn workspace @affine-test/affine-cloud-copilot e2e --forbid-only --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
openai-key: ${{ secrets.COPILOT_OPENAI_API_KEY }}
fal-key: ${{ secrets.COPILOT_FAL_API_KEY }}
server-e2e-test:
name: ${{ matrix.tests.name }}
runs-on: ubuntu-latest
env:
DISTRIBUTION: browser
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
IN_CI_TEST: true
strategy:
@@ -412,6 +562,10 @@ jobs:
- name: 'Server Desktop E2E Test'
script: |
yarn workspace @affine/electron build:dev
# Workaround for Electron apps failing to initialize on Ubuntu 24.04 due to AppArmor restrictions
# Disables unprivileged user namespaces restriction to allow Electron apps to run
# Reference: https://github.com/electron/electron/issues/42510
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn workspace @affine-test/affine-desktop-cloud e2e
needs:
- build-server-native
@@ -454,19 +608,8 @@ jobs:
name: affine.linux-x64-gnu.node
path: ./packages/frontend/native
- name: Initialize database
run: |
psql -h localhost -U postgres -c "CREATE DATABASE affine;"
psql -h localhost -U postgres -c "CREATE USER affine WITH PASSWORD 'affine';"
psql -h localhost -U postgres -c "ALTER USER affine WITH SUPERUSER;"
env:
PGPASSWORD: affine
- name: Run init-db script
run: |
yarn workspace @affine/server exec prisma generate
yarn workspace @affine/server exec prisma db push
yarn workspace @affine/server data-migration run
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: ${{ matrix.tests.name }}
run: |
@@ -520,7 +663,7 @@ jobs:
test: true,
}
needs:
- build-web
- build-electron-renderer
- build-native
steps:
- uses: actions/checkout@v4
@@ -554,20 +697,25 @@ jobs:
- name: Download web artifact
uses: ./.github/actions/download-web
with:
path: packages/frontend/electron/resources/web-static
path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
- name: Run desktop tests
if: ${{ matrix.spec.os == 'ubuntu-latest' }}
run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn workspace @affine-test/affine-desktop e2e
run: |
# Workaround for Electron apps failing to initialize on Ubuntu 24.04 due to AppArmor restrictions
# Disables unprivileged user namespaces restriction to allow Electron apps to run
# Reference: https://github.com/electron/electron/issues/42510
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn workspace @affine-test/affine-desktop e2e
- name: Run desktop tests
if: ${{ matrix.spec.test && matrix.spec.os != 'ubuntu-latest' }}
run: yarn workspace @affine-test/affine-desktop e2e
- name: Make bundle
- name: Make bundle (macOS)
if: ${{ matrix.spec.target == 'aarch64-apple-darwin' }}
env:
SKIP_BUNDLE: true
@@ -575,8 +723,15 @@ jobs:
HOIST_NODE_MODULES: 1
run: yarn workspace @affine/electron package --platform=darwin --arch=arm64
- name: Make AppImage
run: yarn workspace @affine/electron make --platform=linux --arch=x64
- name: Make Bundle (Linux)
run: |
sudo add-apt-repository universe
sudo apt install -y libfuse2 elfutils flatpak flatpak-builder
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak update
# some flatpak deps need git protocol.file.allow
git config --global protocol.file.allow always
yarn workspace @affine/electron make --platform=linux --arch=x64
if: ${{ matrix.spec.target == 'x86_64-unknown-linux-gnu' }}
env:
SKIP_WEB_BUILD: 1
@@ -595,6 +750,15 @@ jobs:
path: ./test-results
if-no-files-found: ignore
test-build-mobile-app:
uses: ./.github/workflows/release-mobile.yml
with:
build-type: canary
build-target: development
secrets: inherit
permissions:
id-token: 'write'
test-done:
needs:
- analyze
@@ -604,9 +768,16 @@ jobs:
- e2e-mobile-test
- e2e-migration-test
- unit-test
- build-native
- build-server-native
- build-electron-renderer
- server-test
- server-native-test
- copilot-api-test
- copilot-e2e-test
- server-e2e-test
- desktop-test
- test-build-mobile-app
if: always()
runs-on: ubuntu-latest
name: 3, 2, 1 Launch

View File

@@ -0,0 +1,29 @@
name: Copilot Test Automatically
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-canary.[0-9]+'
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
permissions:
actions: write
jobs:
dispatch-test:
runs-on: ubuntu-latest
name: Setup Test
steps:
- name: dispatch test by tag
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
uses: benc-uk/workflow-dispatch@v1
with:
workflow: copilot-test.yml
- name: dispatch test by schedule
if: ${{ github.event_name == 'schedule' }}
uses: benc-uk/workflow-dispatch@v1
with:
workflow: copilot-test.yml
ref: canary

190
.github/workflows/copilot-test.yml vendored Normal file
View File

@@ -0,0 +1,190 @@
name: Copilot Cron Test
on:
workflow_dispatch:
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/node_modules/.cache/ms-playwright
jobs:
build-server-native:
name: Build Server native
runs-on: ubuntu-latest
env:
CARGO_PROFILE_RELEASE_DEBUG: '1'
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/server-native
electron-install: false
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: 'x86_64-unknown-linux-gnu'
package: '@affine/server-native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload server-native.node
uses: actions/upload-artifact@v4
with:
name: server-native.node
path: ./packages/backend/native/server-native.node
if-no-files-found: error
copilot-api-test:
name: Server Copilot Api Test
runs-on: ubuntu-latest
needs:
- build-server-native
env:
NODE_ENV: test
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: affine
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
mailer:
image: mailhog/mailhog
ports:
- 1025:1025
- 8025:8025
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: Download server-native.node
uses: actions/download-artifact@v4
with:
name: server-native.node
path: ./packages/backend/server
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: Run server tests
run: yarn workspace @affine/server test:copilot:coverage --forbid-only
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
- name: Upload server test coverage results
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/server/.coverage/lcov.info
flags: server-test
name: affine
fail_ci_if_error: false
copilot-e2e-test:
name: Server Copilot E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
IN_CI_TEST: true
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3]
shardTotal: [3]
needs:
- build-server-native
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: affine
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
playwright-install: true
electron-install: false
hard-link-nm: false
- name: Download server-native.node
uses: actions/download-artifact@v4
with:
name: server-native.node
path: ./packages/backend/server
- name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
uses: ./.github/actions/copilot-test
with:
script: yarn workspace @affine-test/affine-cloud-copilot e2e --forbid-only --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
openai-key: ${{ secrets.COPILOT_OPENAI_API_KEY }}
fal-key: ${{ secrets.COPILOT_FAL_API_KEY }}
test-done:
needs:
- copilot-api-test
- copilot-e2e-test
if: always()
runs-on: ubuntu-latest
name: Post test result message
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: 'workspaces focus @affine/copilot-result'
electron-install: false
- name: Post Success event to a Slack channel
if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
run: node ./tools/copilot-result/index.js
env:
CHANNEL_ID: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
BRANCH_SHA: ${{ github.sha }}
BRANCH_NAME: ${{ github.ref }}
COPILOT_RESULT: success
- name: Post Failed event to a Slack channel
id: failed-slack
if: ${{ always() && contains(needs.*.result, 'failure') }}
run: node ./tools/copilot-result/index.js
env:
CHANNEL_ID: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
BRANCH_SHA: ${{ github.sha }}
BRANCH_NAME: ${{ github.ref }}
COPILOT_RESULT: failed
- name: Post Cancel event to a Slack channel
id: cancel-slack
if: ${{ always() && contains(needs.*.result, 'cancelled') && !contains(needs.*.result, 'failure') }}
run: node ./tools/copilot-result/index.js
env:
CHANNEL_ID: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
BRANCH_SHA: ${{ github.sha }}
BRANCH_NAME: ${{ github.ref }}
COPILOT_RESULT: canceled

View File

@@ -62,171 +62,19 @@ jobs:
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
build-images:
name: Build Images
uses: ./.github/workflows/build-images.yml
secrets: inherit
with:
flavor: ${{ github.event.inputs.flavor }}
build-web:
name: Build @affine/web
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/web --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-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 }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
name: web
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
uses: actions/download-artifact@v4
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"
if [ -z "${{ inputs.flavor }}" ]
then
echo "RELEASE_FLAVOR=canary" >> "$GITHUB_ENV"
else
echo "RELEASE_FLAVOR=${{ inputs.flavor }}" >> "$GITHUB_ENV"
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
logout: false
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build front Dockerfile
uses: docker/build-push-action@v6
with:
context: .
push: true
pull: true
platforms: linux/amd64,linux/arm64
provenance: true
file: .github/deployment/front/Dockerfile
tags: ghcr.io/toeverything/affine-front:${{env.RELEASE_FLAVOR}}-${{ env.GIT_SHORT_HASH }},ghcr.io/toeverything/affine-front:${{env.RELEASE_FLAVOR}}
deploy:
name: Deploy to cluster
if: ${{ github.event_name == 'workflow_dispatch' }}
environment: ${{ github.event.inputs.flavor }}
needs:
- build-frontend-image
- build-server-image
- build-images
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -276,11 +124,7 @@ jobs:
deploy-done:
needs:
- output-prev-version
- build-web
- build-admin
- build-mobile
- build-frontend-image
- build-server-image
- build-images
- deploy
if: always()
runs-on: ubuntu-latest
@@ -329,41 +173,31 @@ jobs:
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
uses: slackapi/slack-github-action@v2.0.0
if: ${{ always() && contains(needs.*.result, 'failure') }}
with:
channel-id: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
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 }}
channel: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy failed `${{ github.event.inputs.flavor }}`>"
blocks:
- type: section
text:
type: mrkdwn
text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy failed `${{ github.event.inputs.flavor }}`>"
- name: Post Cancel event to a Slack channel
id: cancel-slack
uses: slackapi/slack-github-action@v1.27.0
uses: slackapi/slack-github-action@v2.0.0
if: ${{ always() && contains(needs.*.result, 'cancelled') && !contains(needs.*.result, 'failure') }}
with:
channel-id: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
token: ${{ secrets.SLACK_BOT_TOKEN }}
method: chat.postMessage
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 }}
channel: ${{ secrets.RELEASE_SLACK_CHNNEL_ID }}
text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy cancelled `${{ github.event.inputs.flavor }}`>"
blocks:
- type: section
text:
type: mrkdwn
text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|Backend deploy cancelled `${{ github.event.inputs.flavor }}`>"

View File

@@ -1,35 +0,0 @@
name: Languages Sync
on:
push:
branches: ['canary']
paths:
- 'packages/frontend/i18n/**'
- '.github/workflows/languages-sync.yml'
- '!.github/actions/setup-node/action.yml'
pull_request_target:
branches: ['canary']
paths:
- 'packages/frontend/i18n/**'
- '.github/workflows/languages-sync.yml'
- '!.github/actions/setup-node/action.yml'
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Check Language Key
if: github.ref != 'refs/heads/canary'
run: yarn workspace @affine/i18n run sync-languages:check
env:
TOLGEE_API_KEY: ${{ secrets.TOLGEE_API_KEY }}
- name: Sync Languages
if: github.ref == 'refs/heads/canary'
run: yarn workspace @affine/i18n run sync-languages
env:
TOLGEE_API_KEY: ${{ secrets.TOLGEE_API_KEY }}

View File

@@ -1,4 +1,4 @@
name: Release Desktop Automatically
name: Release Desktop/Mobile Automatically
on:
push:
@@ -23,6 +23,7 @@ jobs:
with:
workflow: release-desktop.yml
inputs: '{ "build-type": "canary", "is-draft": false, "is-pre-release": true }'
- name: dispatch desktop release by schedule
if: ${{ github.event_name == 'schedule' }}
uses: benc-uk/workflow-dispatch@v1
@@ -30,3 +31,8 @@ jobs:
workflow: release-desktop.yml
inputs: '{ "build-type": "canary", "is-draft": false, "is-pre-release": true }'
ref: canary
- name: dispatch desktop release by tag
uses: benc-uk/workflow-dispatch@v1
with:
workflow: release-mobile.yml
inputs: '{ "build-type": "canary", "build-target": "distribution" }'

View File

@@ -32,7 +32,7 @@ permissions:
env:
BUILD_TYPE: ${{ github.event.inputs.build-type }}
DEBUG: napi:*
DEBUG: 'affine:*,napi:*'
APP_NAME: affine
MACOSX_DEPLOYMENT_TARGET: '10.13'
@@ -67,7 +67,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: web
path: packages/frontend/electron/resources/web-static
path: packages/frontend/apps/electron/resources/web-static
make-distribution:
strategy:
@@ -87,6 +87,7 @@ jobs:
target: x86_64-unknown-linux-gnu
runs-on: ${{ matrix.spec.runner }}
needs: before-make
environment: ${{ github.event.inputs.build-type }}
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
@@ -96,6 +97,7 @@ jobs:
SENTRY_PROJECT: 'affine'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_RELEASE: ${{ needs.before-make.outputs.RELEASE_VERSION }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
steps:
- uses: actions/checkout@v4
@@ -119,7 +121,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: web
path: packages/frontend/electron/resources/web-static
path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
@@ -131,35 +133,42 @@ jobs:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
- name: Install fuse on Linux (for patching AppImage)
- name: Install additional dependencies on Linux
if: ${{ matrix.spec.platform == 'linux' }}
run: |
sudo add-apt-repository universe
sudo apt install libfuse2 -y
sudo apt install -y libfuse2 elfutils flatpak flatpak-builder
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak update
# some flatpak deps need git protocol.file.allow
git config --global protocol.file.allow always
- name: make
run: yarn workspace @affine/electron make --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
env:
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
DEBUG: '*'
- name: signing DMG
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
codesign --force --sign "Developer ID Application: TOEVERYTHING PTE. LTD." packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make/AFFiNE.dmg
codesign --force --sign "Developer ID Application: TOEVERYTHING PTE. LTD." packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make/AFFiNE.dmg
- name: Save artifacts (mac)
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
mv packages/frontend/apps/electron/out/*/make/*.dmg ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
mv packages/frontend/apps/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
- name: Save artifacts (linux)
if: ${{ matrix.spec.platform == 'linux' }}
run: |
mkdir -p builds
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
mv packages/frontend/apps/electron/out/*/make/zip/linux/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-${{ matrix.spec.arch }}.zip
mv packages/frontend/apps/electron/out/*/make/*.AppImage ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-${{ matrix.spec.arch }}.appimage
mv packages/frontend/apps/electron/out/*/make/deb/${{ matrix.spec.arch }}/*.deb ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-${{ matrix.spec.arch }}.deb
mv packages/frontend/apps/electron/out/*/make/flatpak/*/*.flatpak ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-${{ matrix.spec.arch }}.flatpak
- uses: actions/attest-build-provenance@v1
if: ${{ matrix.spec.platform == 'darwin' }}
@@ -174,7 +183,7 @@ jobs:
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
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.deb
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
@@ -182,6 +191,7 @@ jobs:
path: builds
package-distribution-windows:
environment: ${{ github.event.inputs.build-type }}
strategy:
matrix:
spec:
@@ -189,16 +199,22 @@ jobs:
platform: win32
arch: x64
target: x86_64-pc-windows-msvc
- runner: windows-latest
platform: win32
arch: arm64
target: aarch64-pc-windows-msvc
runs-on: ${{ matrix.spec.runner }}
needs: before-make
outputs:
FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }}
FILES_TO_BE_SIGNED_x64: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED_x64 }}
FILES_TO_BE_SIGNED_arm64: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED_arm64 }}
env:
SKIP_GENERATE_ASSETS: 1
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: 'affine'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_RELEASE: ${{ needs.before-make.outputs.RELEASE_VERSION }}
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
steps:
- uses: actions/checkout@v4
@@ -221,7 +237,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: web
path: packages/frontend/electron/resources/web-static
path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
@@ -235,12 +251,12 @@ jobs:
- name: get all files to be signed
id: get_files_to_be_signed
run: |
Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/electron/out -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/apps/electron/out -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\apps\electron\out\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED_${{ matrix.spec.arch }}=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
echo $FILES_TO_BE_SIGNED
- name: Zip artifacts for faster upload
run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/electron/out/* -DestinationPath archive.zip
run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/apps/electron/out/* -DestinationPath archive.zip
- name: Save packaged artifacts for signing
uses: actions/upload-artifact@v4
@@ -250,25 +266,35 @@ jobs:
archive.zip
!**/*.map
sign-packaged-artifacts-windows:
sign-packaged-artifacts-windows_x64:
needs: package-distribution-windows
uses: ./.github/workflows/windows-signer.yml
with:
files: ${{ needs.package-distribution-windows.outputs.FILES_TO_BE_SIGNED }}
files: ${{ needs.package-distribution-windows.outputs.FILES_TO_BE_SIGNED_x64 }}
artifact-name: packaged-win32-x64
sign-packaged-artifacts-windows_arm64:
needs: package-distribution-windows
uses: ./.github/workflows/windows-signer.yml
with:
files: ${{ needs.package-distribution-windows.outputs.FILES_TO_BE_SIGNED_arm64 }}
artifact-name: packaged-win32-arm64
make-windows-installer:
needs: sign-packaged-artifacts-windows
needs:
- sign-packaged-artifacts-windows_x64
- sign-packaged-artifacts-windows_arm64
strategy:
matrix:
spec:
- runner: windows-latest
platform: win32
- platform: win32
arch: x64
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.spec.runner }}
- platform: win32
arch: arm64
runs-on: windows-latest
outputs:
FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }}
FILES_TO_BE_SIGNED_x64: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED_x64 }}
FILES_TO_BE_SIGNED_arm64: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED_arm64 }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
@@ -281,13 +307,15 @@ jobs:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
nmHoistingLimits: workspaces
env:
npm_config_arch: ${{ matrix.spec.arch }}
- name: Download and overwrite packaged artifacts
uses: actions/download-artifact@v4
with:
name: signed-packaged-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
- name: unzip file
run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/electron/out
run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/apps/electron/out
- name: Make squirrel.windows installer
run: yarn workspace @affine/electron make-squirrel --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
@@ -296,13 +324,13 @@ jobs:
run: yarn workspace @affine/electron make-nsis --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
- name: Zip artifacts for faster upload
run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make/* -DestinationPath archive.zip
run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make/* -DestinationPath archive.zip
- name: get all files to be signed
id: get_files_to_be_signed
run: |
Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\electron\out\${{ env.BUILD_TYPE }}\make\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
Set-Variable -Name FILES_TO_BE_SIGNED -Value ((Get-ChildItem -Path packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make -Recurse -File | Where-Object { $_.Extension -in @(".exe", ".node", ".dll", ".msi") } | ForEach-Object { '"' + $_.FullName.Replace((Get-Location).Path + '\packages\frontend\apps\electron\out\${{ env.BUILD_TYPE }}\make\', '') + '"' }) -join ' ')
"FILES_TO_BE_SIGNED_${{ matrix.spec.arch }}=$FILES_TO_BE_SIGNED" >> $env:GITHUB_OUTPUT
echo $FILES_TO_BE_SIGNED
- name: Save installer for signing
@@ -311,22 +339,36 @@ jobs:
name: installer-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: archive.zip
sign-installer-artifacts-windows:
sign-installer-artifacts-windows-x64:
needs: make-windows-installer
uses: ./.github/workflows/windows-signer.yml
with:
files: ${{ needs.make-windows-installer.outputs.FILES_TO_BE_SIGNED }}
files: ${{ needs.make-windows-installer.outputs.FILES_TO_BE_SIGNED_x64 }}
artifact-name: installer-win32-x64
sign-installer-artifacts-windows-arm64:
needs: make-windows-installer
uses: ./.github/workflows/windows-signer.yml
with:
files: ${{ needs.make-windows-installer.outputs.FILES_TO_BE_SIGNED_arm64 }}
artifact-name: installer-win32-arm64
finalize-installer-windows:
needs: [sign-installer-artifacts-windows, before-make]
needs:
[
sign-installer-artifacts-windows-x64,
sign-installer-artifacts-windows-arm64,
before-make,
]
strategy:
matrix:
spec:
- runner: windows-latest
platform: win32
arch: x64
target: x86_64-pc-windows-msvc
- runner: windows-latest
platform: win32
arch: arm64
runs-on: ${{ matrix.spec.runner }}
steps:
- name: Download and overwrite installer artifacts
@@ -335,21 +377,21 @@ jobs:
name: signed-installer-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
- name: unzip file
run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/electron/out/${{ env.BUILD_TYPE }}/make
run: Expand-Archive -Path signed.zip -DestinationPath packages/frontend/apps/electron/out/${{ env.BUILD_TYPE }}/make
- name: Save artifacts
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.zip
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
mv packages/frontend/apps/electron/out/*/make/zip/win32/${{ matrix.spec.arch }}/AFFiNE*-win32-${{ matrix.spec.arch }}-*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.zip
mv packages/frontend/apps/electron/out/*/make/squirrel.windows/${{ matrix.spec.arch }}/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.exe
mv packages/frontend/apps/electron/out/*/make/nsis.windows/${{ matrix.spec.arch }}/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.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
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.zip
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.exe
./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-${{ matrix.spec.arch }}.nsis.exe
- name: Upload Artifact
uses: actions/upload-artifact@v4
@@ -384,6 +426,11 @@ jobs:
with:
name: affine-win32-x64-builds
path: ./
- name: Download Artifacts (windows-arm64)
uses: actions/download-artifact@v4
with:
name: affine-win32-arm64-builds
path: ./
- name: Download Artifacts (linux-x64)
uses: actions/download-artifact@v4
with:
@@ -394,7 +441,7 @@ jobs:
node-version: 20
- name: Generate Release yml
run: |
node ./packages/frontend/electron/scripts/generate-yml.js
node ./packages/frontend/apps/electron/scripts/generate-yml.js
env:
RELEASE_VERSION: ${{ needs.before-make.outputs.RELEASE_VERSION }}
- name: Create Release Draft
@@ -411,6 +458,8 @@ jobs:
./*.dmg
./*.exe
./*.appimage
./*.deb
./*.flatpak
./*.apk
./*.yml
- name: Create Nightly Release Draft
@@ -433,5 +482,7 @@ jobs:
./*.dmg
./*.exe
./*.appimage
./*.deb
./*.apk
./*.flatpak
./*.yml

211
.github/workflows/release-mobile.yml vendored Normal file
View File

@@ -0,0 +1,211 @@
name: Release Mobile App
on:
workflow_call:
inputs:
build-target:
description: 'Build Target'
type: string
required: true
build-type:
description: 'Build Type'
type: string
required: true
workflow_dispatch:
inputs:
build-target:
description: 'Build Target'
type: choice
required: true
default: distribution
options:
- development
- distribution
build-type:
description: 'Build Type'
type: choice
required: true
default: canary
options:
- canary
- beta
- stable
env:
BUILD_TYPE: ${{ inputs.build-type || github.event.inputs.build-type }}
BUILD_TARGET: ${{ inputs.build-target || github.event.inputs.build-target }}
DEBUG: napi:*
KEYCHAIN_NAME: ${{ github.workspace }}/signing_temp
jobs:
build-ios-web:
runs-on: ubuntu-latest
environment: ${{ inputs.build-type || github.event.inputs.build-type }}
outputs:
RELEASE_VERSION: ${{ steps.version.outputs.APP_VERSION }}
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: Setup @sentry/cli
uses: ./.github/actions/setup-sentry
- name: Build Mobile
run: yarn nx build @affine/ios --skip-nx-cache
env:
PUBLIC_PATH: '/'
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
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'
- name: Upload ios artifact
uses: actions/upload-artifact@v4
with:
name: ios
path: packages/frontend/apps/ios/dist
build-android-web:
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.build-type || inputs.build-type }}
outputs:
RELEASE_VERSION: ${{ steps.version.outputs.APP_VERSION }}
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: Setup @sentry/cli
uses: ./.github/actions/setup-sentry
- name: Build Mobile
run: yarn nx build @affine/android --skip-nx-cache
env:
PUBLIC_PATH: '/'
MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
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'
- name: Upload android artifact
uses: actions/upload-artifact@v4
with:
name: android
path: packages/frontend/apps/android/dist
ios:
runs-on: macos-latest
needs:
- build-ios-web
steps:
- uses: actions/checkout@v4
- name: Download mobile artifact
uses: actions/download-artifact@v4
with:
name: ios
path: packages/frontend/apps/ios/dist
- name: Setup Node.js
uses: ./.github/actions/setup-node
timeout-minutes: 10
with:
extra-flags: workspaces focus @affine/ios
playwright-install: false
electron-install: false
hard-link-nm: false
enableScripts: false
- name: Cap sync
run: yarn workspace @affine/ios cap sync
- name: Signing By Apple Developer ID
uses: apple-actions/import-codesign-certs@v3
id: import-codesign-certs
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12_MOBILE }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD_MOBILE }}
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Testflight
if: ${{ env.BUILD_TYPE != 'stable' }}
working-directory: packages/frontend/apps/ios/App
run: |
echo -n "${{ env.BUILD_PROVISION_PROFILE }}" | base64 --decode -o $PP_PATH
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
fastlane beta
env:
BUILD_PROVISION_PROFILE: ${{ secrets.BUILD_PROVISION_PROFILE }}
PP_PATH: ${{ runner.temp }}/build_pp.mobileprovision
APPLE_STORE_CONNECT_API_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_API_KEY_ID }}
APPLE_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.APPLE_STORE_CONNECT_API_ISSUER_ID }}
APPLE_STORE_CONNECT_API_KEY: ${{ secrets.APPLE_STORE_CONNECT_API_KEY }}
android:
runs-on: ubuntu-latest
permissions:
id-token: 'write'
needs:
- build-android-web
steps:
- uses: actions/checkout@v4
- name: Download mobile artifact
uses: actions/download-artifact@v4
with:
name: android
path: packages/frontend/apps/android/dist
- name: Setup Node.js
uses: ./.github/actions/setup-node
timeout-minutes: 10
with:
extra-flags: workspaces focus @affine/android @affine/playstore-auto-bump
playwright-install: false
electron-install: false
hard-link-nm: false
enableScripts: false
- name: Cap sync
run: yarn workspace @affine/android cap sync
- name: Auth gcloud
id: auth
uses: google-github-actions/auth@v2
if: ${{ env.BUILD_TARGET == 'distribution' }}
with:
workload_identity_provider: 'projects/${{ secrets.GCP_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions-helm-deploy'
service_account: '${{ secrets.GCP_HELM_DEPLOY_SERVICE_ACCOUNT }}'
token_format: 'access_token'
project_id: '${{ secrets.GCP_PROJECT_ID }}'
access_token_scopes: 'https://www.googleapis.com/auth/androidpublisher'
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Auto increment version code
id: bump
if: ${{ env.BUILD_TARGET == 'distribution' }}
run: yarn workspace @affine/playstore-auto-bump bump
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.auth.outputs.credentials_file_path }}
- name: Build
run: |
echo -n "${{ env.AFFINE_ANDROID_SIGN_KEYSTORE }}" | base64 --decode > packages/frontend/apps/android/affine.keystore
yarn workspace @affine/android cap build android
env:
AFFINE_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.AFFINE_ANDROID_KEYSTORE_PASSWORD }}
AFFINE_ANDROID_KEYSTORE_ALIAS_PASSWORD: ${{ secrets.AFFINE_ANDROID_KEYSTORE_ALIAS_PASSWORD }}
AFFINE_ANDROID_SIGN_KEYSTORE: ${{ secrets.AFFINE_ANDROID_SIGN_KEYSTORE }}
- name: Upload to Google Play
uses: r0adkll/upload-google-play@v1
if: ${{ env.BUILD_TARGET == 'distribution' }}
with:
serviceAccountJson: ${{ steps.auth.outputs.credentials_file_path }}
packageName: app.affine.pro
releaseFiles: packages/frontend/apps/android/App/app/build/outputs/bundle/release/app-release-signed.aab
track: internal
status: draft
existingEditId: ${{ steps.bump.outputs.EDIT_ID }}

42
.github/workflows/sync-i18n.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Sync I18n with Crowdin
on:
push:
branches:
- canary
paths:
- 'packages/frontend/i18n/**'
workflow_dispatch:
jobs:
synchronize-with-crowdin:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Crowdin action
uses: crowdin/github-action@v2
with:
upload_sources: true
upload_translations: true
download_translations: true
auto_approve_imported: true
import_eq_suggestions: true
export_only_approved: true
skip_untranslated_strings: true
localization_branch_name: l10n_crowdin_translations
create_pull_request: true
pull_request_title: 'chore(i18n): sync translations'
pull_request_body: 'New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)'
pull_request_base_branch_name: 'canary'
config: packages/frontend/i18n/crowdin.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Publish
uses: cloudflare/wrangler-action@v3.7.0
uses: cloudflare/wrangler-action@v3.12.1
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}

1
.gitignore vendored
View File

@@ -59,7 +59,6 @@ Thumbs.db
.vercel
out/
storybook-static
i18n-generated.ts
test-results
playwright-report

2
.nvmrc
View File

@@ -1 +1 @@
20.17.0
20.18.0

View File

@@ -14,6 +14,7 @@ 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/i18n/src/i18n-completenesses.json
packages/frontend/graphql/src/graphql/index.ts
tests/affine-legacy/**/static
.yarnrc.yml

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.4.1.cjs
yarnPath: .yarn/releases/yarn-4.5.1.cjs

743
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +1,36 @@
[workspace]
members = ["./packages/backend/native", "./packages/frontend/native", "./packages/frontend/native/schema"]
members = [
"./packages/backend/native",
"./packages/common/native",
"./packages/frontend/native",
"./packages/frontend/native/schema"
]
resolver = "2"
[workspace.dependencies]
anyhow = "1"
chrono = "0.4"
dotenv = "0.15"
file-format = { version = "0.25", features = ["reader"] }
mimalloc = "0.1"
napi = { version = "3.0.0-alpha.1", features = ["async", "chrono_date", "error_anyhow", "napi9", "serde"] }
napi-build = { version = "2" }
napi-derive = { version = "3.0.0-alpha.1" }
notify = { version = "6", features = ["serde"] }
once_cell = "1"
parking_lot = "0.12"
rand = "0.8"
serde = "1"
serde_json = "1"
sha3 = "0.10"
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"
y-octo = { git = "https://github.com/y-crdt/y-octo.git", branch = "main" }
affine_common = { path = "./packages/common/native" }
anyhow = "1"
chrono = "0.4"
dotenv = "0.15"
file-format = { version = "0.26", features = ["reader"] }
mimalloc = "0.1"
napi = { version = "3.0.0-alpha.12", features = ["async", "chrono_date", "error_anyhow", "napi9", "serde"] }
napi-build = { version = "2" }
napi-derive = { version = "3.0.0-alpha.12" }
notify = { version = "7", features = ["serde"] }
once_cell = "1"
parking_lot = "0.12"
rand = "0.8"
rayon = "1.10"
serde = "1"
serde_json = "1"
sha3 = "0.10"
sqlx = { version = "0.8", default-features = false, features = ["chrono", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls"] }
tiktoken-rs = "0.6"
tokio = "1.37"
uuid = "1.8"
v_htmlescape = "0.15"
y-octo = { git = "https://github.com/y-crdt/y-octo.git", branch = "main" }
[profile.dev.package.sqlx-macros]
opt-level = 3

View File

@@ -1,7 +1,7 @@
<div align="center">
<h1 style="border-bottom: none">
<b><a href="https://affine.pro">AFFiNE.PRO</a></b><br />
<b><a href="https://affine.pro">AFFiNE.Pro</a></b><br />
Write, Draw and Plan All at Once
<br>
</h1>
@@ -33,7 +33,6 @@
[![Releases](https://img.shields.io/github/downloads/toeverything/AFFiNE/total)](https://github.com/toeverything/AFFiNE/releases/latest)
[![All Contributors][all-contributors-badge]](#contributors)
[![TypeScript-version-icon]](https://www.typescriptlang.org/)
[![Rust-version-icon]](https://www.rust-lang.org/)
</div>
@@ -55,7 +54,7 @@ Star us, and you will receive all release notifications from GitHub without any
## What is AFFiNE
AFFiNE is an open-source, all-in-one workspace and an operating system for all the building blocks that assemble your knowledge base and much more -- wiki, knowledge management, presentation and digital assets. It's a better alternative to Notion and Miro.
[AFFiNE](https://affine.pro) is an open-source, all-in-one workspace and an operating system for all the building blocks that assemble your knowledge base and much more -- wiki, knowledge management, presentation and digital assets. It's a better alternative to Notion and Miro.
## Features
@@ -65,7 +64,7 @@ AFFiNE is an open-source, all-in-one workspace and an operating system for all t
**Multimodal AI partner ready to kick in any work**
- Write up professional work report? Turn an outline into expressive and presentable slides? Summary an article into a well-structured mindmap? Sorting your job plan and backlog for tasks? Or... draw and code prototype apps and web pages directly all with one prompt? With you, AFFiNE AI pushes your creativity to the edge of your imagination.
- Write up professional work report? Turn an outline into expressive and presentable slides? Summary an article into a well-structured mindmap? Sorting your job plan and backlog for tasks? Or... draw and code prototype apps and web pages directly all with one prompt? With you, [AFFiNE AI](https://affine.pro/ai) pushes your creativity to the edge of your imagination,just like [Canvas AI](https://affine.pro/blog/best-canvas-ai) to generate mind map for brainstorming.
**Local-first & Real-time collaborative**
@@ -108,6 +107,37 @@ Looking for **other ways to contribute** and wondering where to start? Check out
If you have questions, you are welcome to contact us. One of the best places to get more info and learn more is in the [AFFiNE Community](https://community.affine.pro) where you can engage with other like-minded individuals.
## Templates
AFFiNE now provides pre-built [templates](https://affine.pro/templates) from our team. Following are the Top 10 most popular templates among AFFiNE users,if you want to contribute, you can contribute your own template so other people can use it too.
- [vision board template](https://affine.pro/templates/category-vision-board-template)
- [one pager template](https://affine.pro/templates/category-one-pager-template-free)
- [sample lesson plan math template](https://affine.pro/templates/sample-lesson-plan-math-template)
- [grr lesson plan template free](https://affine.pro/templates/grr-lesson-plan-template-free)
- [free editable lesson plan template for pre k](https://affine.pro/templates/free-editable-lesson-plan-template-for-pre-k)
- [high note collection planners](https://affine.pro/templates/high-note-collection-planners)
- [digital planner](https://affine.pro/templates/category-digital-planner)
- [ADHD Planner](https://affine.pro/templates/adhd-planner)
- [Reading Log](https://affine.pro/templates/reading-log)
- [Cornell Notes Template](https://affine.pro/templates/category-cornell-notes-template)
## Blog
Welcome to the AFFiNE blog section! Here, youll find the latest insights, tips, and guides on how to maximize your experience with AFFiNE and AFFiNE AI, the leading Canvas AI tool for flexible note-taking and creative organization.
- [vision board template](https://affine.pro/blog/8-free-printable-vision-board-templates-examples-2023)
- [itinerary template](https://affine.pro/blog/free-customized-travel-itinerary-planner-templates)
- [one pager template](https://affine.pro/blog/top-12-one-pager-examples-how-to-create-your-own)
- [cornell notes template](https://affine.pro/blog/the-cornell-notes-template-and-system-learning-tips)
- [swot chart template](https://affine.pro/blog/top-10-free-editable-swot-analysis-template-examples)
- [apps like luna task](https://affine.pro/blog/apps-like-luna-task)
- [note taking ai from rough notes to mind map](https://affine.pro/blog/dynamic-AI-notes)
- [canvas ai](https://affine.pro/blog/best-canvas-ai)
- [one pager](https://affine.pro/blog/top-12-one-pager-examples-how-to-create-your-own)
- [SOP Template](https://affine.pro/blog/how-to-write-sop-step-by-step-guide-5-best-free-tools-templates)
- [Chore Chart](https://affine.pro/blog/10-best-free-chore-chart-templates-kids-adults)
## Ecosystem
| Name | | |
@@ -191,7 +221,6 @@ 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.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.15.x (stable) | :white_check_mark: |
| < 0.15.x | :x: |
| 0.17.x (stable) | :white_check_mark: |
| < 0.17.x | :x: |
## Reporting a Vulnerability

View File

@@ -29,7 +29,7 @@ docker run --rm --name mailhog -p 1025:1025 -p 8025:8025 mailhog/mailhog
```
docker ps
docker exec -it CONTAINER_ID psql -U postgres ## change container_id
docker exec -it affine-postgres psql -U postgres ## `affine-postgres` is the container name from the previous step
```
### in the terminal, following the example to user & table
@@ -96,6 +96,12 @@ yarn workspace @affine/native build
yarn workspace @affine/server dev
```
when server started, it will created a default user:
email: dev@affine.pro
name: Dev User
password: dev
## start core (web)
```

View File

@@ -19,5 +19,5 @@
],
"ext": "ts,md,json"
},
"version": "0.16.0"
"version": "0.18.0"
}

16
nx.json
View File

@@ -11,9 +11,7 @@
}
}
},
"affected": {
"defaultBase": "canary"
},
"defaultBase": "canary",
"namedInputs": {
"default": ["{projectRoot}/**/*", "sharedGlobals"],
"sharedGlobals": [
@@ -81,9 +79,6 @@
"test": {
"outputs": ["{workspaceRoot}/.nyc_output"],
"inputs": [
{
"env": "ENABLE_PRELOADING"
},
{
"env": "COVERAGE"
}
@@ -92,9 +87,6 @@
"test:ui": {
"outputs": ["{workspaceRoot}/.nyc_output"],
"inputs": [
{
"env": "ENABLE_PRELOADING"
},
{
"env": "COVERAGE"
}
@@ -102,11 +94,7 @@
},
"test:coverage": {
"outputs": ["{workspaceRoot}/.nyc_output"],
"inputs": [
{
"env": "ENABLE_PRELOADING"
}
]
"inputs": []
}
}
}

View File

@@ -1,4 +1,8 @@
{
"categories": {
"correctness": "error",
"perf": "error"
},
"rules": {
// allow
"import/named": "allow",

View File

@@ -1,12 +1,13 @@
{
"name": "@affine/monorepo",
"version": "0.16.0",
"version": "0.18.0",
"private": true,
"author": "toeverything",
"license": "MIT",
"workspaces": [
".",
"packages/*/*",
"packages/frontend/apps/*",
"tools/*",
"docs/reference",
"tools/@types/*",
@@ -18,8 +19,8 @@
},
"scripts": {
"dev": "yarn workspace @affine/cli dev",
"build": "yarn workspace @affine/cli bundle",
"dev:electron": "yarn workspace @affine/electron dev",
"build": "yarn nx build @affine/web",
"build:electron": "yarn nx build @affine/electron",
"build:server-native": "yarn nx run-many -t build -p @affine/server-native",
"start:web-static": "yarn workspace @affine/web static-server",
@@ -28,14 +29,14 @@
"lint:eslint:fix": "yarn lint:eslint --fix",
"lint:prettier": "prettier --ignore-unknown --cache --check .",
"lint:prettier:fix": "prettier --ignore-unknown --cache --write .",
"lint:ox": "oxlint -c oxlint.json --deny-warnings --import-plugin -D correctness -D perf",
"lint:ox": "oxlint -c oxlint.json --deny-warnings --import-plugin",
"lint": "yarn lint:eslint && yarn lint:prettier",
"lint:fix": "yarn lint:eslint:fix && yarn lint:prettier:fix",
"test": "vitest --run",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"typecheck": "tsc -b tsconfig.json",
"postinstall": "node ./scripts/check-version.mjs && yarn i18n-codegen gen && yarn husky install",
"postinstall": "node ./scripts/check-version.mjs && yarn workspace @affine/i18n i18n-codegen gen && yarn husky install",
"prepare": "husky"
},
"lint-staged": {
@@ -52,17 +53,14 @@
]
},
"devDependencies": {
"@affine-test/kit": "workspace:*",
"@affine/cli": "workspace:*",
"@commitlint/cli": "^19.2.1",
"@commitlint/config-conventional": "^19.1.0",
"@capacitor/cli": "^6.1.2",
"@faker-js/faker": "^9.0.0",
"@istanbuljs/schema": "^0.1.3",
"@magic-works/i18n-codegen": "^0.6.0",
"@nx/vite": "^19.5.3",
"@playwright/test": "=1.46.1",
"@playwright/test": "=1.48.2",
"@swc/core": "^1.9.1",
"@taplo/cli": "^0.7.0",
"@testing-library/react": "^16.0.0",
"@toeverything/infra": "workspace:*",
"@types/affine__env": "workspace:*",
"@types/eslint": "^9.0.0",
@@ -70,12 +68,10 @@
"@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": "2.0.5",
"@vitest/ui": "2.0.5",
"@vitest/coverage-istanbul": "2.1.4",
"@vitest/ui": "2.1.4",
"cross-env": "^7.0.3",
"electron": "^31.0.0",
"electron": "^33.0.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import-x": "^0.5.0",
@@ -86,31 +82,22 @@
"eslint-plugin-sonarjs": "^0.25.1",
"eslint-plugin-unicorn": "^52.0.0",
"eslint-plugin-unused-imports": "^3.1.0",
"eslint-plugin-vue": "^9.24.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": "^17.0.0",
"oxlint": "0.9.2",
"nx": "^20.0.3",
"nx-cloud": "^19.1.0",
"oxlint": "0.11.1",
"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",
"typescript": "^5.6.3",
"unplugin-swc": "^1.4.5",
"vite": "^5.2.8",
"vite-plugin-istanbul": "^6.0.0",
"vite-plugin-static-copy": "^1.0.2",
"vitest": "2.0.5",
"vitest-fetch-mock": "^0.3.0",
"vitest-mock-extended": "^2.0.0"
"vitest": "2.1.4"
},
"packageManager": "yarn@4.4.1",
"packageManager": "yarn@4.5.1",
"resolutions": {
"array-buffer-byte-length": "npm:@nolyfill/array-buffer-byte-length@latest",
"array-includes": "npm:@nolyfill/array-includes@latest",
@@ -167,7 +154,7 @@
"unbox-primitive": "npm:@nolyfill/unbox-primitive@latest",
"which-boxed-primitive": "npm:@nolyfill/which-boxed-primitive@latest",
"which-typed-array": "npm:@nolyfill/which-typed-array@latest",
"@reforged/maker-appimage/@electron-forge/maker-base": "7.4.0",
"@reforged/maker-appimage/@electron-forge/maker-base": "7.5.0",
"macos-alias": "npm:@napi-rs/macos-alias@0.0.4",
"fs-xattr": "npm:@napi-rs/xattr@latest"
}

View File

@@ -7,14 +7,16 @@ version = "1.0.0"
crate-type = ["cdylib"]
[dependencies]
chrono = { workspace = true }
file-format = { workspace = true }
napi = { workspace = true }
napi-derive = { workspace = true }
rand = { workspace = true }
sha3 = { workspace = true }
tiktoken-rs = { workspace = true }
y-octo = { workspace = true }
affine_common = { workspace = true }
chrono = { workspace = true }
file-format = { workspace = true }
napi = { workspace = true }
napi-derive = { workspace = true }
rand = { workspace = true }
sha3 = { workspace = true }
tiktoken-rs = { workspace = true }
v_htmlescape = { workspace = true }
y-octo = { workspace = true }
[target.'cfg(not(target_os = "linux"))'.dependencies]
mimalloc = { workspace = true }
@@ -23,7 +25,8 @@ mimalloc = { workspace = true }
mimalloc = { workspace = true, features = ["local_dynamic_tls"] }
[dev-dependencies]
tokio = "1"
rayon = { workspace = true }
tokio = { workspace = true }
[build-dependencies]
napi-build = { workspace = true }

View File

@@ -7,6 +7,7 @@ import { fromModelName } from '../index.js';
const bench = new Bench({
iterations: 100,
warmup: true,
});
const FIXTURE = `Please extract the items that can be used as tasks from the following content, and send them to me in the format provided by the template. The extracted items should cover as much of the following content as possible.
@@ -36,7 +37,6 @@ bench
fromModelName('gpt-4o').count(FIXTURE);
});
await bench.warmup();
await bench.run();
console.table(bench.table());

View File

@@ -8,6 +8,8 @@ export declare function fromModelName(modelName: string): Tokenizer | null
export declare function getMime(input: Uint8Array): string
export declare function htmlSanitize(input: string): string
/**
* Merge updates in form like `Y.applyUpdate(doc, update)` way and return the
* result binary.

View File

@@ -11,3 +11,4 @@ export const mintChallengeResponse = binding.mintChallengeResponse;
export const getMime = binding.getMime;
export const Tokenizer = binding.Tokenizer;
export const fromModelName = binding.fromModelName;
export const htmlSanitize = binding.htmlSanitize;

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/server-native",
"version": "0.16.0",
"version": "0.18.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.62",
"@napi-rs/cli": "3.0.0-alpha.64",
"lib0": "^0.2.93",
"nx": "^19.0.0",
"nx-cloud": "^19.0.0",
"nx": "^20.0.3",
"nx-cloud": "^19.1.0",
"tiktoken": "^1.0.15",
"tinybench": "^2.8.0",
"tinybench": "^3.0.0",
"yjs": "patch:yjs@npm%3A13.6.18#~/.yarn/patches/yjs-npm-13.6.18-ad0d5f7c43.patch"
}
}

View File

@@ -12,12 +12,18 @@
"script": "build"
},
"inputs": [
{ "runtime": "rustc --version" },
{ "runtime": "node -v" },
{ "runtime": "clang --version" },
{ "runtime": "cargo tree" }
{ "fileset": "{workspaceRoot}/rust-toolchain.toml" },
{ "fileset": "{workspaceRoot}/Cargo.lock" },
{ "fileset": "{workspaceRoot}/packages/backend/native/**/*.rs" },
{ "fileset": "{workspaceRoot}/packages/backend/native/Cargo.toml" },
{
"runtime": "rustc --version"
},
{
"externalDependencies": ["nx"]
}
],
"outputs": ["{projectRoot}/*.node", "{workspaceRoot}/*.node"]
"outputs": ["{projectRoot}/*.node"]
}
}
}

View File

@@ -1 +0,0 @@
../../../frontend/native/src/hashcash.rs

View File

@@ -0,0 +1,69 @@
use std::convert::TryFrom;
use affine_common::hashcash::Stamp;
use napi::{bindgen_prelude::AsyncTask, Env, JsBoolean, JsString, Result as NapiResult, Task};
use napi_derive::napi;
pub struct AsyncVerifyChallengeResponse {
response: String,
bits: u32,
resource: String,
}
#[napi]
impl Task for AsyncVerifyChallengeResponse {
type Output = bool;
type JsValue = JsBoolean;
fn compute(&mut self) -> NapiResult<Self::Output> {
Ok(if let Ok(stamp) = Stamp::try_from(self.response.as_str()) {
stamp.check(self.bits, &self.resource)
} else {
false
})
}
fn resolve(&mut self, env: Env, output: bool) -> NapiResult<Self::JsValue> {
env.get_boolean(output)
}
}
#[napi]
pub fn verify_challenge_response(
response: String,
bits: u32,
resource: String,
) -> AsyncTask<AsyncVerifyChallengeResponse> {
AsyncTask::new(AsyncVerifyChallengeResponse {
response,
bits,
resource,
})
}
pub struct AsyncMintChallengeResponse {
bits: Option<u32>,
resource: String,
}
#[napi]
impl Task for AsyncMintChallengeResponse {
type Output = String;
type JsValue = JsString;
fn compute(&mut self) -> NapiResult<Self::Output> {
Ok(Stamp::mint(self.resource.clone(), self.bits).format())
}
fn resolve(&mut self, env: Env, output: String) -> NapiResult<Self::JsValue> {
env.create_string(&output)
}
}
#[napi]
pub fn mint_challenge_response(
resource: String,
bits: Option<u32>,
) -> AsyncTask<AsyncMintChallengeResponse> {
AsyncTask::new(AsyncMintChallengeResponse { bits, resource })
}

View File

@@ -0,0 +1,4 @@
#[napi]
pub fn html_sanitize(input: String) -> String {
v_htmlescape::escape(&input).to_string()
}

View File

@@ -2,6 +2,7 @@
pub mod file_type;
pub mod hashcash;
pub mod html_sanitize;
pub mod tiktoken;
use std::fmt::{Debug, Display};

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "workspaces" ADD COLUMN "enable_url_preview" BOOLEAN NOT NULL DEFAULT false;

View File

@@ -0,0 +1,8 @@
-- CreateIndex
CREATE INDEX "ai_sessions_messages_session_id_idx" ON "ai_sessions_messages"("session_id");
-- CreateIndex
CREATE INDEX "ai_sessions_metadata_user_id_idx" ON "ai_sessions_metadata"("user_id");
-- CreateIndex
CREATE INDEX "ai_sessions_metadata_user_id_workspace_id_idx" ON "ai_sessions_metadata"("user_id", "workspace_id");

View File

@@ -0,0 +1,2 @@
-- CreateIndex
CREATE INDEX "users_email_lowercase_idx" ON "users"(lower("email"))

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "user_subscriptions" ADD COLUMN "variant" VARCHAR(20);

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.16.0",
"version": "0.18.0",
"description": "Affine Node.js server",
"type": "module",
"bin": {
@@ -12,7 +12,9 @@
"start": "node --loader ts-node/esm/transpile-only.mjs ./src/index.ts",
"dev": "nodemon ./src/index.ts",
"test": "ava --concurrency 1 --serial",
"test:copilot": "ava \"tests/**/copilot-*.spec.ts\"",
"test:coverage": "c8 ava --concurrency 1 --serial",
"test:copilot:coverage": "c8 ava --timeout=5m \"tests/**/copilot-*.spec.ts\"",
"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",
@@ -21,11 +23,10 @@
"dependencies": {
"@apollo/server": "^4.10.2",
"@aws-sdk/client-s3": "^3.620.0",
"@fal-ai/serverless-client": "^0.14.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.19.0",
"@fal-ai/serverless-client": "^0.15.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.20.0",
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.2.0",
"@google-cloud/opentelemetry-resource-util": "^2.2.0",
"@keyv/redis": "^3.0.0",
"@nestjs/apollo": "^12.1.0",
"@nestjs/common": "^10.3.7",
"@nestjs/core": "^10.3.7",
@@ -36,23 +37,22 @@
"@nestjs/schedule": "^4.0.1",
"@nestjs/throttler": "6.2.1",
"@nestjs/websockets": "^10.3.7",
"@node-rs/argon2": "^1.8.0",
"@node-rs/argon2": "^2.0.0",
"@node-rs/crc32": "^1.10.0",
"@node-rs/jsonwebtoken": "^0.5.2",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/core": "^1.25.0",
"@opentelemetry/exporter-prometheus": "^0.53.0",
"@opentelemetry/exporter-prometheus": "^0.54.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/instrumentation": "^0.54.0",
"@opentelemetry/instrumentation-graphql": "^0.44.0",
"@opentelemetry/instrumentation-http": "^0.54.0",
"@opentelemetry/instrumentation-ioredis": "^0.44.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.41.0",
"@opentelemetry/instrumentation-socket.io": "^0.43.0",
"@opentelemetry/resources": "^1.25.0",
"@opentelemetry/sdk-metrics": "^1.25.0",
"@opentelemetry/sdk-node": "^0.53.0",
"@opentelemetry/sdk-node": "^0.54.0",
"@opentelemetry/sdk-trace-node": "^1.25.0",
"@opentelemetry/semantic-conventions": "^1.25.0",
"@prisma/client": "^5.15.0",
@@ -60,16 +60,15 @@
"@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",
"graphql-upload": "^17.0.0",
"html-validate": "^8.20.1",
"ioredis": "^5.3.2",
"is-mobile": "^5.0.0",
"keyv": "^5.0.0",
"lodash-es": "^4.17.21",
"mixpanel": "^0.18.0",
@@ -80,30 +79,23 @@
"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": "^16.0.0",
"stripe": "^17.0.0",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
"ws": "^8.16.0",
"typescript": "^5.6.3",
"yjs": "patch:yjs@npm%3A13.6.18#~/.yarn/patches/yjs-npm-13.6.18-ad0d5f7c43.patch",
"zod": "^3.22.4"
},
"devDependencies": {
"@affine-test/kit": "workspace:*",
"@affine/server-native": "workspace:*",
"@napi-rs/image": "^1.9.1",
"@nestjs/testing": "^10.3.7",
"@types/cookie-parser": "^1.4.7",
"@types/engine.io": "^3.1.10",
"@types/express": "^4.17.21",
"@types/graphql-upload": "^16.0.7",
"@types/keyv": "^4.2.0",
@@ -113,14 +105,12 @@
"@types/node": "^20.12.7",
"@types/nodemailer": "^6.4.14",
"@types/on-headers": "^1.0.3",
"@types/pretty-time": "^1.1.5",
"@types/sinon": "^17.0.3",
"@types/supertest": "^6.0.2",
"@types/ws": "^8.5.10",
"ava": "^6.1.2",
"c8": "^10.0.0",
"nodemon": "^3.1.0",
"sinon": "^18.0.0",
"sinon": "^19.0.0",
"supertest": "^7.0.0"
},
"ava": {

View File

@@ -97,9 +97,10 @@ model VerificationToken {
}
model Workspace {
id String @id @default(uuid()) @db.VarChar
public Boolean
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
id String @id @default(uuid()) @db.VarChar
public Boolean
enableUrlPreview Boolean @default(false) @map("enable_url_preview")
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
pages WorkspacePage[]
permissions WorkspaceUserPermission[]
@@ -331,9 +332,11 @@ model UserSubscription {
id Int @id @default(autoincrement()) @db.Integer
userId String @map("user_id") @db.VarChar
plan String @db.VarChar(20)
// yearly/monthly
// yearly/monthly/lifetime
recurring String @db.VarChar(20)
// subscription.id, null for linefetime payment
// onetime subscription or anything else
variant String? @db.VarChar(20)
// subscription.id, null for linefetime payment or one time payment subscription
stripeSubscriptionId String? @unique @map("stripe_subscription_id")
// subscription.status, active/past_due/canceled/unpaid...
status String @db.VarChar(20)
@@ -437,6 +440,7 @@ model AiSessionMessage {
session AiSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
@@index([sessionId])
@@map("ai_sessions_messages")
}
@@ -457,6 +461,8 @@ model AiSession {
prompt AiPrompt @relation(fields: [promptName], references: [name], onDelete: Cascade)
messages AiSessionMessage[]
@@index([userId])
@@index([userId, workspaceId])
@@map("ai_sessions_metadata")
}

View File

@@ -11,6 +11,7 @@ import { AppController } from './app.controller';
import { AuthModule } from './core/auth';
import { ADD_ENABLED_FEATURES, ServerConfigModule } from './core/config';
import { DocStorageModule } from './core/doc';
import { DocRendererModule } from './core/doc-renderer';
import { FeatureModule } from './core/features';
import { PermissionModule } from './core/permission';
import { QuotaModule } from './core/quota';
@@ -42,7 +43,6 @@ import { ENABLED_PLUGINS } from './plugins/registry';
export const FunctionalityModules = [
ConfigModule.forRoot(),
ScheduleModule.forRoot(),
EventModule,
CacheModule,
MutexModule,
@@ -156,7 +156,7 @@ export function buildAppModule() {
.use(UserModule, AuthModule, PermissionModule)
// business modules
.use(DocStorageModule)
.use(FeatureModule, QuotaModule, DocStorageModule)
// sync server only
.useIf(config => config.flavor.sync, SyncModule)
@@ -164,16 +164,16 @@ export function buildAppModule() {
// graphql server only
.useIf(
config => config.flavor.graphql,
ScheduleModule.forRoot(),
GqlModule,
StorageModule,
ServerConfigModule,
WorkspaceModule,
FeatureModule,
QuotaModule
WorkspaceModule
)
// self hosted server only
.useIf(config => config.isSelfhosted, SelfhostModule);
.useIf(config => config.isSelfhosted, SelfhostModule)
.useIf(config => config.flavor.renderer, DocRendererModule);
// plugin modules
ENABLED_PLUGINS.forEach(name => {

View File

@@ -5,6 +5,7 @@ import cookieParser from 'cookie-parser';
import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.mjs';
import { AuthGuard } from './core/auth';
import { ENABLED_FEATURES } from './core/config/server-feature';
import {
CacheInterceptor,
CloudThrottlerGuard,
@@ -23,6 +24,10 @@ export async function createApp() {
logger: AFFiNE.affine.stable ? ['log'] : ['verbose'],
});
if (AFFiNE.server.path) {
app.setGlobalPrefix(AFFiNE.server.path);
}
app.use(serverTimingAndCache);
app.use(
@@ -56,6 +61,7 @@ export async function createApp() {
.init(AFFiNE.metrics.telemetry.token)
.track('selfhost-server-started', {
version: AFFiNE.version,
features: Array.from(ENABLED_FEATURES),
});
}

View File

@@ -40,6 +40,11 @@ export interface AuthRuntimeConfigurations {
*/
allowSignup: boolean;
/**
* Whether require email domain record verification before access restricted resources
*/
requireEmailDomainVerification: boolean;
/**
* Whether require email verification before access restricted resources
*/
@@ -76,6 +81,10 @@ defineRuntimeConfig('auth', {
desc: 'Whether allow new registrations',
default: true,
},
requireEmailDomainVerification: {
desc: 'Whether require email domain record verification before accessing restricted resources',
default: false,
},
requireEmailVerification: {
desc: 'Whether require email verification before accessing restricted resources',
default: true,

View File

@@ -1,3 +1,5 @@
import { resolveMx, resolveTxt, setServers } from 'node:dns/promises';
import {
Body,
Controller,
@@ -55,7 +57,16 @@ export class AuthController {
private readonly user: UserService,
private readonly token: TokenService,
private readonly config: Config
) {}
) {
if (config.node.dev) {
// set DNS servers in dev mode
// NOTE: some network debugging software uses DNS hijacking
// to better debug traffic, but their DNS servers may not
// handle the non dns query(like txt, mx) correctly, so we
// set a public DNS server here to avoid this issue.
setServers(['1.1.1.1', '8.8.8.8']);
}
}
@Public()
@Post('/preflight')
@@ -147,6 +158,33 @@ export class AuthController {
if (!allowSignup) {
throw new SignUpForbidden();
}
const requireEmailDomainVerification = await this.config.runtime.fetch(
'auth/requireEmailDomainVerification'
);
if (requireEmailDomainVerification) {
// verify domain has MX, SPF, DMARC records
const [name, domain, ...rest] = email.split('@');
if (rest.length || !domain) {
throw new InvalidEmail();
}
const [mx, spf, dmarc] = await Promise.allSettled([
resolveMx(domain).then(t => t.map(mx => mx.exchange).filter(Boolean)),
resolveTxt(domain).then(t =>
t.map(([k]) => k).filter(txt => txt.includes('v=spf1'))
),
resolveTxt('_dmarc.' + domain).then(t =>
t.map(([k]) => k).filter(txt => txt.includes('v=DMARC1'))
),
]).then(t => t.filter(t => t.status === 'fulfilled').map(t => t.value));
if (!mx?.length || !spf?.length || !dmarc?.length) {
throw new InvalidEmail();
}
// filter out alias emails
if (name.includes('+') || name.includes('.')) {
throw new InvalidEmail();
}
}
}
const token = await this.token.createToken(TokenType.SignIn, email);
@@ -172,16 +210,20 @@ export class AuthController {
});
}
@Public()
@Get('/sign-out')
async signOut(
@Res() res: Response,
@Session() session: Session,
@Body() { all }: { all: boolean }
@Session() session: Session | undefined,
@Query('user_id') userId: string | undefined
) {
await this.auth.signOut(
session.sessionId,
all ? undefined : session.userId
);
if (!session) {
res.status(HttpStatus.OK).send({});
return;
}
await this.auth.signOut(session.sessionId, userId);
await this.auth.refreshCookies(res, session.sessionId);
res.status(HttpStatus.OK).send({});
}

View File

@@ -6,13 +6,13 @@ import type {
} from '@nestjs/common';
import { Injectable, SetMetadata } from '@nestjs/common';
import { ModuleRef, Reflector } from '@nestjs/core';
import type { Request } from 'express';
import type { Request, Response } from 'express';
import { Socket } from 'socket.io';
import {
AuthenticationRequired,
Config,
getRequestResponseFromContext,
mapAnyError,
parseCookies,
} from '../../fundamentals';
import { WEBSOCKET_OPTIONS } from '../../fundamentals/websocket';
@@ -37,7 +37,7 @@ export class AuthGuard implements CanActivate, OnModuleInit {
async canActivate(context: ExecutionContext) {
const { req, res } = getRequestResponseFromContext(context);
const userSession = await this.signIn(req);
const userSession = await this.signIn(req, res);
if (res && userSession && userSession.expiresAt) {
await this.auth.refreshUserSessionIfNeeded(res, userSession);
}
@@ -59,16 +59,13 @@ export class AuthGuard implements CanActivate, OnModuleInit {
return true;
}
async signIn(req: Request): Promise<Session | null> {
async signIn(req: Request, res?: Response): 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);
const userSession = await this.auth.getUserSessionFromRequest(req, res);
if (userSession) {
req.session = {
@@ -93,27 +90,22 @@ export const AuthWebsocketOptionsProvider: FactoryProvider = {
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);
}
canActivate: async (socket: Socket) => {
const upgradeReq = socket.client.request as Request;
const handshake = socket.handshake;
try {
const authentication = await guard.signIn(req);
// compatibility with websocket request
parseCookies(upgradeReq);
if (authentication) {
return pass(null, true);
} else {
return pass('unauthenticated', false);
}
} catch (e) {
const error = mapAnyError(e);
error.log('Websocket');
return pass('unauthenticated', false);
}
upgradeReq.cookies = {
[AuthService.sessionCookieName]: handshake.auth.token,
[AuthService.userCookieName]: handshake.auth.userId,
...upgradeReq.cookies,
};
const session = await guard.signIn(upgradeReq);
return !!session;
},
};
},

View File

@@ -122,35 +122,45 @@ export class AuthService implements OnApplicationBootstrap {
sessionId: string,
userId?: string
): Promise<{ user: CurrentUser; session: UserSession } | null> {
const userSession = await this.db.userSession.findFirst({
const sessions = await this.getUserSessions(sessionId);
if (!sessions.length) {
return null;
}
let userSession: UserSession | undefined;
// try read from user provided cookies.userId
if (userId) {
userSession = sessions.find(s => s.userId === userId);
}
// fallback to the first valid session if user provided userId is invalid
if (!userSession) {
// checked
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
userSession = sessions.at(-1)!;
}
const user = await this.user.findUserById(userSession.userId);
if (!user) {
return null;
}
return { user: sessionUser(user), session: userSession };
}
async getUserSessions(sessionId: string) {
return this.db.userSession.findMany({
where: {
sessionId,
userId,
},
select: {
id: true,
sessionId: true,
userId: true,
createdAt: true,
expiresAt: true,
user: true,
OR: [{ expiresAt: { gt: new Date() } }, { expiresAt: null }],
},
orderBy: {
createdAt: 'asc',
},
});
// no such session
if (!userSession) {
return null;
}
// user session expired
if (userSession.expiresAt && userSession.expiresAt <= new Date()) {
return null;
}
return { user: sessionUser(userSession.user), session: userSession };
}
async createUserSession(
@@ -288,7 +298,7 @@ export class AuthService implements OnApplicationBootstrap {
const userId: string | undefined =
req.cookies[AuthService.userCookieName] ||
req.headers[AuthService.userCookieName];
req.headers[AuthService.userCookieName.replaceAll('_', '-')];
return {
sessionId,
@@ -309,6 +319,25 @@ export class AuthService implements OnApplicationBootstrap {
this.setUserCookie(res, userId);
}
async refreshCookies(res: Response, sessionId?: string) {
if (sessionId) {
const users = await this.getUserList(sessionId);
const candidateUser = users.at(-1);
if (candidateUser) {
this.setUserCookie(res, candidateUser.id);
return;
}
}
this.clearCookies(res);
}
private clearCookies(res: Response<any, Record<string, any>>) {
res.clearCookie(AuthService.sessionCookieName);
res.clearCookie(AuthService.userCookieName);
}
setUserCookie(res: Response, userId: string) {
res.cookie(AuthService.userCookieName, userId, {
...this.cookieOptions,
@@ -319,14 +348,28 @@ export class AuthService implements OnApplicationBootstrap {
});
}
async getUserSessionFromRequest(req: Request) {
async getUserSessionFromRequest(req: Request, res?: Response) {
const { sessionId, userId } = this.getSessionOptionsFromRequest(req);
if (!sessionId) {
return null;
}
return this.getUserSession(sessionId, userId);
const session = await this.getUserSession(sessionId, userId);
if (res) {
if (session) {
// set user id cookie for fast authentication
if (!userId || userId !== session.user.id) {
this.setUserCookie(res, session.user.id);
}
} else if (sessionId) {
// clear invalid cookies.session and cookies.userId
this.clearCookies(res);
}
}
return session;
}
async changePassword(

View File

@@ -40,6 +40,48 @@ export class TokenService {
return this.crypto.encrypt(token);
}
/**
* get token by type
*
* token will be revoked if expired or keep is not set
*/
async getToken(type: TokenType, token: string, keep?: boolean) {
token = this.crypto.decrypt(token);
const record = await this.db.verificationToken.findUnique({
where: {
type_token: {
token,
type,
},
},
});
if (!record) {
return null;
}
const expired = record.expiresAt <= new Date();
// always revoke expired token
if (expired || !keep) {
const deleted = await this.revokeToken(type, token);
// already deleted, means token has been used
if (!deleted.count) {
return null;
}
}
return !expired ? record : null;
}
/**
* get token and verify credential
*
* if credential is not provided, it will be failed
*
* token will be revoked if expired or keep is not set
*/
async verifyToken(
type: TokenType,
token: string,

View File

@@ -10,7 +10,7 @@ import {
ActionForbidden,
getRequestResponseFromContext,
} from '../../fundamentals';
import { FeatureManagementService } from '../features';
import { FeatureManagementService } from '../features/management';
@Injectable()
export class AdminGuard implements CanActivate, OnModuleInit {

View File

@@ -0,0 +1,240 @@
import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import { Controller, Get, Logger, Req, Res } from '@nestjs/common';
import type { Request, Response } from 'express';
import isMobile from 'is-mobile';
import { Config, metrics, URLHelper } from '../../fundamentals';
import { htmlSanitize } from '../../native';
import { Public } from '../auth';
import { PermissionService } from '../permission';
import { DocContentService } from './service';
interface RenderOptions {
title: string;
summary: string;
avatar?: string;
}
interface HtmlAssets {
css: string[];
js: string[];
publicPath: string;
gitHash: string;
description: string;
}
const defaultAssets: HtmlAssets = {
css: [],
js: [],
publicPath: '/',
gitHash: '',
description: '',
};
// TODO(@forehalo): reuse routes with frontend
const staticPaths = new Set([
'all',
'home',
'search',
'collection',
'tag',
'trash',
]);
@Controller('/workspace')
export class DocRendererController {
private readonly logger = new Logger(DocRendererController.name);
private readonly webAssets: HtmlAssets = defaultAssets;
private readonly mobileAssets: HtmlAssets = defaultAssets;
constructor(
private readonly doc: DocContentService,
private readonly permission: PermissionService,
private readonly config: Config,
private readonly url: URLHelper
) {
this.webAssets = this.readHtmlAssets(
join(this.config.projectRoot, 'static')
);
this.mobileAssets = this.readHtmlAssets(
join(this.config.projectRoot, 'static/mobile')
);
}
@Public()
@Get('/*')
async render(@Req() req: Request, @Res() res: Response) {
const assets: HtmlAssets =
this.config.affine.canary &&
isMobile({
ua: req.headers['user-agent'] ?? undefined,
})
? this.mobileAssets
: this.webAssets;
let opts: RenderOptions | null = null;
// /workspace/:workspaceId/{:docId | staticPaths}
const [, , workspaceId, subPath, ...restPaths] = req.path.split('/');
// /:workspaceId/:docId
if (workspaceId && !staticPaths.has(subPath) && restPaths.length === 0) {
try {
opts =
workspaceId === subPath
? await this.getWorkspaceContent(workspaceId)
: await this.getPageContent(workspaceId, subPath);
metrics.doc.counter('render').add(1);
} catch (e) {
this.logger.error('failed to render page', e);
}
}
res.setHeader('Content-Type', 'text/html');
if (!opts) {
res.setHeader('X-Robots-Tag', 'noindex');
}
res.send(this._render(opts, assets));
}
private async getPageContent(
workspaceId: string,
docId: string
): Promise<RenderOptions | null> {
let allowUrlPreview = await this.permission.isPublicPage(
workspaceId,
docId
);
if (!allowUrlPreview) {
// if page is private, but workspace url preview is on
allowUrlPreview = await this.permission.allowUrlPreview(workspaceId);
}
if (allowUrlPreview) {
return this.doc.getPageContent(workspaceId, docId);
}
return null;
}
private async getWorkspaceContent(
workspaceId: string
): Promise<RenderOptions | null> {
const allowUrlPreview = await this.permission.allowUrlPreview(workspaceId);
if (allowUrlPreview) {
const workspaceContent = await this.doc.getWorkspaceContent(workspaceId);
if (workspaceContent) {
return {
title: workspaceContent.name,
summary: '',
avatar: workspaceContent.avatarKey
? this.url.link(
`/api/workspaces/${workspaceId}/blobs/${workspaceContent.avatarKey}`
)
: undefined,
};
}
}
return null;
}
// @TODO(@forehalo): pre-compile html template to accelerate serializing
_render(opts: RenderOptions | null, assets: HtmlAssets): string {
// TODO(@forehalo): how can we enable the type reference to @affine/env
const env: Record<string, any> = {
publicPath: assets.publicPath,
renderer: 'ssr',
};
if (this.config.isSelfhosted) {
env.isSelfHosted = true;
}
const title = opts?.title
? htmlSanitize(`${opts.title} | AFFiNE`)
: 'AFFiNE';
const summary = opts ? htmlSanitize(opts.summary) : assets.description;
const image = opts?.avatar ?? 'https://affine.pro/og.jpeg';
// TODO(@forehalo): parse assets/index.html
return `<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta
name="apple-mobile-web-app-status-bar-style"
content="black-translucent"
/>
<title>${title}</title>
<meta name="theme-color" content="#fafafa" />
${assets.publicPath.startsWith('/') ? '' : `<link rel="preconnect" href="${assets.publicPath}" />`}
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" sizes="192x192" href="/favicon-192.png" />
<link rel="shortcut icon" href="/favicon.ico" />
<meta name="emotion-insertion-point" content="" />
${!opts ? '<meta name="robots" content="noindex, nofollow" />' : ''}
<meta
name="twitter:title"
content="${title}"
/>
<meta name="twitter:description" content="${summary}" />
<meta name="twitter:site" content="@AffineOfficial" />
<meta name="twitter:image" content="${image}" />
<meta property="og:title" content="${title}" />
<meta property="og:description" content="${summary}" />
<meta property="og:image" content="${image}" />
${Object.entries(env)
.map(([key, val]) => `<meta name="env:${key}" content="${val}" />`)
.join('\n')}
${assets.css.map(url => `<link rel="stylesheet" href="${url}" />`).join('\n')}
</head>
<body>
<div id="app" data-version="${assets.gitHash}"></div>
${assets.js.map(url => `<script src="${url}"></script>`).join('\n')}
</body>
</html>
`;
}
/**
* Should only be called at startup time
*/
private readHtmlAssets(path: string): HtmlAssets {
const manifestPath = join(path, 'assets-manifest.json');
try {
const assets: HtmlAssets = JSON.parse(
readFileSync(manifestPath, 'utf-8')
);
const publicPath = this.config.isSelfhosted ? '/' : assets.publicPath;
assets.publicPath = publicPath;
assets.js = assets.js.map(path => publicPath + path);
assets.css = assets.css.map(path => publicPath + path);
return assets;
} catch (e) {
if (this.config.node.prod) {
throw e;
} else {
return defaultAssets;
}
}
}
}

View File

@@ -0,0 +1,16 @@
import { Module } from '@nestjs/common';
import { DocStorageModule } from '../doc';
import { PermissionModule } from '../permission';
import { DocRendererController } from './controller';
import { DocContentService } from './service';
@Module({
imports: [DocStorageModule, PermissionModule],
providers: [DocContentService],
controllers: [DocRendererController],
exports: [DocContentService],
})
export class DocRendererModule {}
export { DocContentService };

View File

@@ -0,0 +1,92 @@
import { Injectable } from '@nestjs/common';
import { applyUpdate, Doc } from 'yjs';
import { Cache, type EventPayload, OnEvent } from '../../fundamentals';
import { PgWorkspaceDocStorageAdapter } from '../doc';
import {
type PageDocContent,
parsePageDoc,
parseWorkspaceDoc,
type WorkspaceDocContent,
} from '../utils/blocksuite';
@Injectable()
export class DocContentService {
constructor(
private readonly cache: Cache,
private readonly workspace: PgWorkspaceDocStorageAdapter
) {}
async getPageContent(
workspaceId: string,
guid: string
): Promise<PageDocContent | null> {
const cacheKey = `workspace:${workspaceId}:doc:${guid}:content`;
const cachedResult = await this.cache.get<PageDocContent>(cacheKey);
if (cachedResult) {
return cachedResult;
}
const docRecord = await this.workspace.getDoc(workspaceId, guid);
if (!docRecord) {
return null;
}
const doc = new Doc();
applyUpdate(doc, docRecord.bin);
const content = parsePageDoc(doc);
if (content) {
await this.cache.set(cacheKey, content, {
ttl:
7 *
24 *
60 *
60 *
1000 /* TODO(@forehalo): we need time constants helper */,
});
}
return content;
}
async getWorkspaceContent(
workspaceId: string
): Promise<WorkspaceDocContent | null> {
const cacheKey = `workspace:${workspaceId}:content`;
const cachedResult = await this.cache.get<WorkspaceDocContent>(cacheKey);
if (cachedResult) {
return cachedResult;
}
const docRecord = await this.workspace.getDoc(workspaceId, workspaceId);
if (!docRecord) {
return null;
}
const doc = new Doc();
applyUpdate(doc, docRecord.bin);
const content = parseWorkspaceDoc(doc);
if (content) {
await this.cache.set(cacheKey, content);
}
return content;
}
@OnEvent('snapshot.updated')
async markDocContentCacheStale({
workspaceId,
id,
}: EventPayload<'snapshot.updated'>) {
const key =
workspaceId === id
? `workspace:${workspaceId}:content`
: `workspace:${workspaceId}:doc:${id}:content`;
await this.cache.delete(key);
}
}

View File

@@ -6,6 +6,7 @@ import {
Cache,
DocHistoryNotFound,
DocNotFound,
EventEmitter,
FailedToSaveUpdates,
FailedToUpsertSnapshot,
metrics,
@@ -30,6 +31,7 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
private readonly db: PrismaClient,
private readonly mutex: Mutex,
private readonly cache: Cache,
private readonly event: EventEmitter,
protected override readonly options: DocStorageOptions
) {
super(options);
@@ -97,7 +99,6 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
metrics.doc.counter('doc_update_insert_failed').add(1);
throw new FailedToSaveUpdates();
}
return timestamp;
}
@@ -131,11 +132,6 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
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),
@@ -343,6 +339,17 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
return false;
}
const historyMaxAge = await this.options
.historyMaxAge(snapshot.spaceId)
.catch(
() =>
0 /* edgecase: user deleted but owned workspaces not handled correctly */
);
if (historyMaxAge === 0) {
return false;
}
await this.db.snapshotHistory
.create({
select: {
@@ -354,9 +361,7 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
timestamp: new Date(snapshot.timestamp),
blob: Buffer.from(snapshot.bin),
createdBy: snapshot.editor,
expiredAt: new Date(
Date.now() + (await this.options.historyMaxAge(snapshot.spaceId))
),
expiredAt: new Date(Date.now() + historyMaxAge),
},
})
.catch(() => {
@@ -463,6 +468,14 @@ export class PgWorkspaceDocStorageAdapter extends DocStorageAdapter {
// 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) {
this.event.emit('snapshot.updated', {
workspaceId: snapshot.spaceId,
id: snapshot.docId,
});
}
return !!updatedSnapshot;
} catch (e) {
metrics.doc.counter('snapshot_upsert_failed').add(1);

View File

@@ -1,8 +1,14 @@
import { Injectable, Logger, OnModuleInit } from '@nestjs/common';
import { Injectable, Logger, OnModuleInit, Optional } from '@nestjs/common';
import { Cron, CronExpression, SchedulerRegistry } from '@nestjs/schedule';
import { PrismaClient } from '@prisma/client';
import { CallTimer, Config, metrics } from '../../fundamentals';
import {
CallMetric,
Config,
type EventPayload,
metrics,
OnEvent,
} from '../../fundamentals';
import { PgWorkspaceDocStorageAdapter } from './adapters/workspace';
@Injectable()
@@ -11,14 +17,14 @@ export class DocStorageCronJob implements OnModuleInit {
private busy = false;
constructor(
private readonly registry: SchedulerRegistry,
private readonly config: Config,
private readonly db: PrismaClient,
private readonly workspace: PgWorkspaceDocStorageAdapter
private readonly workspace: PgWorkspaceDocStorageAdapter,
@Optional() private readonly registry?: SchedulerRegistry
) {}
onModuleInit() {
if (this.config.doc.manager.enableUpdateAutoMerging) {
if (this.registry && this.config.doc.manager.enableUpdateAutoMerging) {
this.registry.addInterval(
this.autoMergePendingDocUpdates.name,
// scheduler registry will clean up the interval when the app is stopped
@@ -41,7 +47,7 @@ export class DocStorageCronJob implements OnModuleInit {
}
}
@CallTimer('doc', 'auto_merge_pending_doc_updates')
@CallMetric('doc', 'auto_merge_pending_doc_updates')
async autoMergePendingDocUpdates() {
try {
const randomDoc = await this.workspace.randomDoc();
@@ -73,4 +79,11 @@ export class DocStorageCronJob implements OnModuleInit {
.gauge('updates_queue_count')
.record(await this.db.update.count());
}
@OnEvent('user.deleted')
async clearUserWorkspaces(payload: EventPayload<'user.deleted'>) {
for (const workspace of payload.ownedWorkspaces) {
await this.workspace.deleteSpace(workspace);
}
}
}

View File

@@ -3,7 +3,7 @@ import { chunk } from 'lodash-es';
import * as Y from 'yjs';
import {
CallTimer,
CallMetric,
Config,
mergeUpdatesInApplyWay as yotcoMergeUpdates,
metrics,
@@ -40,25 +40,26 @@ export class DocStorageOptions implements IDocStorageOptions {
) {}
mergeUpdates = async (updates: Uint8Array[]) => {
const doc = await this.recoverDoc(updates);
const yjsResult = Buffer.from(Y.encodeStateAsUpdate(doc));
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;
let yoctoResult: Buffer | null = null;
try {
const yocto = yotcoMergeUpdates(updates.map(Buffer.from));
if (!compare(yjsResult, yocto)) {
yoctoResult = yotcoMergeUpdates(updates.map(Buffer.from));
if (!compare(yjsResult, yoctoResult)) {
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')}`);
this.logger.warn(`Result:\n ${yoctoResult.toString('hex')}`);
}
}
} catch (e) {
@@ -73,10 +74,16 @@ export class DocStorageOptions implements IDocStorageOptions {
);
}
return yjsResult;
} else {
return this.simpleMergeUpdates(updates);
if (
this.config.affine.canary &&
yoctoResult &&
yoctoResult.length > 2 /* simple test for non-empty yjs binary */
) {
return yoctoResult;
}
}
return yjsResult;
};
historyMaxAge = async (spaceId: string) => {
@@ -89,12 +96,7 @@ export class DocStorageOptions implements IDocStorageOptions {
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')
@CallMetric('doc', 'yjs_recover_updates_to_doc')
private recoverDoc(updates: Uint8Array[]): Promise<Y.Doc> {
const doc = new Y.Doc();
const chunks = chunk(updates, 10);

View File

@@ -7,7 +7,7 @@ import {
UndoManager,
} from 'yjs';
import { CallTimer } from '../../../fundamentals';
import { CallMetric } from '../../../fundamentals';
import { Connection } from './connection';
import { SingletonLocker } from './lock';
@@ -165,7 +165,7 @@ export abstract class DocStorageAdapter extends Connection {
force?: boolean
): Promise<boolean>;
@CallTimer('doc', 'squash')
@CallMetric('doc', 'squash')
protected async squash(updates: DocUpdate[]): Promise<DocUpdate> {
const merge = this.options?.mergeUpdates ?? mergeUpdates;
const lastUpdate = updates.at(-1);

View File

@@ -37,7 +37,7 @@ export class AvailableUserFeatureConfig {
async availableUserFeatures() {
return this.config.isSelfhosted
? [FeatureType.Admin]
? [FeatureType.Admin, FeatureType.UnlimitedCopilot]
: [FeatureType.EarlyAccess, FeatureType.AIEarlyAccess, FeatureType.Admin];
}
}

View File

@@ -212,7 +212,7 @@ export class PermissionService {
const count = await this.prisma.workspace.count({
where: {
id: ws,
public: true,
enableUrlPreview: true,
},
});

View File

@@ -9,6 +9,7 @@ import {
import { HttpAdapterHost } from '@nestjs/core';
import type { Application, Request, Response } from 'express';
import { static as serveStatic } from 'express';
import isMobile from 'is-mobile';
import { Config } from '../../fundamentals';
import { AuthModule } from '../auth';
@@ -22,7 +23,6 @@ export class SetupMiddleware implements NestMiddleware {
use = (req: Request, res: Response, next: (error?: Error | any) => void) => {
// never throw
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.server
.initialized()
.then(initialized => {
@@ -59,46 +59,108 @@ export class SelfhostModule implements OnModuleInit {
) {}
onModuleInit() {
const staticPath = join(this.config.projectRoot, 'static');
// in command line mode
if (!this.adapterHost.httpAdapter) {
return;
}
const app = this.adapterHost.httpAdapter.getInstance<Application>();
// for example, '/affine' in host [//host.com/affine]
const basePath = this.config.server.path;
const staticPath = join(this.config.projectRoot, 'static');
// web => {
// affine: 'static/index.html',
// selfhost: 'static/selfhost.html'
// }
// admin => {
// affine: 'static/admin/index.html',
// selfhost: 'static/admin/selfhost.html'
// }
// mobile => {
// affine: 'static/mobile/index.html',
// selfhost: 'static/mobile/selfhost.html'
// }
// NOTE(@forehalo):
// the order following routes should be respected,
// otherwise the app won't work properly.
// START REGION: /admin
// do not allow '/index.html' url, redirect to '/'
app.get(basePath + '/admin/index.html', (_req, res) => {
res.redirect(basePath + '/admin');
return res.redirect(basePath + '/admin');
});
// serve all static files
app.use(
basePath + '/admin',
basePath,
serveStatic(join(staticPath, 'admin'), {
redirect: false,
index: false,
fallthrough: true,
})
);
// fallback all unknown routes
app.get(
[basePath + '/admin', basePath + '/admin/*'],
this.check.use,
(_req, res) => {
res.sendFile(join(staticPath, 'admin', 'index.html'));
res.sendFile(
join(
staticPath,
'admin',
this.config.isSelfhosted ? 'selfhost.html' : 'index.html'
)
);
}
);
// END REGION
// START REGION: /mobile
// serve all static files
app.use(
basePath,
serveStatic(join(staticPath, 'mobile'), {
redirect: false,
index: false,
fallthrough: true,
})
);
// END REGION
// START REGION: /
// do not allow '/index.html' url, redirect to '/'
app.get(basePath + '/index.html', (_req, res) => {
res.redirect(basePath);
return res.redirect(basePath);
});
// serve all static files
app.use(
basePath,
serveStatic(staticPath, {
redirect: false,
index: false,
fallthrough: true,
})
);
app.get('*', this.check.use, (_req, res) => {
res.sendFile(join(staticPath, 'index.html'));
// fallback all unknown routes
app.get([basePath, basePath + '/*'], this.check.use, (req, res) => {
const mobile =
this.config.AFFINE_ENV === 'dev' &&
isMobile({
ua: req.headers['user-agent'] ?? undefined,
});
return res.sendFile(
join(
staticPath,
mobile ? 'mobile' : '',
this.config.isSelfhosted ? 'selfhost.html' : 'index.html'
)
);
});
// END REGION
}
}

View File

@@ -12,7 +12,7 @@ import { diffUpdate, encodeStateVectorFromUpdate } from 'yjs';
import {
AlreadyInSpace,
CallTimer,
CallMetric,
Config,
DocNotFound,
GatewayErrorWrapper,
@@ -33,7 +33,7 @@ import { DocID } from '../utils/doc';
const SubscribeMessage = (event: string) =>
applyDecorators(
GatewayErrorWrapper(event),
CallTimer('socketio', 'event_duration', { event }),
CallMetric('socketio', 'event_duration', undefined, { event }),
RawSubscribeMessage(event)
);

Some files were not shown because too many files have changed in this diff Show More