Compare commits

...

643 Commits

Author SHA1 Message Date
LongYinan
f2dda8cd95 Merge branch 'beta' into stable 2024-03-29 14:37:25 +08:00
JimmFly
c517a71361 fix(core): unexpected response style of shared page (#6383) 2024-03-29 14:35:32 +08:00
LongYinan
848ca3a0c4 Merge branch 'canary' into beta 2024-03-29 13:15:39 +08:00
LongYinan
296362ced1 ci: fix build frontend image step 2024-03-29 12:02:23 +08:00
CatsJuice
f1c70d5df0 fix(core): reload user session after signing out (#6381) 2024-03-29 03:47:18 +00:00
Brooooooklyn
c078f32a83 chore: bump Rust to 1.77 (#6316) 2024-03-29 03:45:59 +00:00
CatsJuice
605a5abee8 fix(core): user info should be updated when session reloaded (#6382) 2024-03-29 03:25:13 +00:00
pengx17
0abd24654d fix(electron): appimage wayland support (#6371)
Turns out the only solution for now is to patch the AppRun script in the AppImage using https://github.com/toeverything/electron-forge-maker-appimage/blob/master/scripts/patch-apprun.sh

fix #6340, fix #6252

Some references:
- https://github.com/audacity/audacity/issues/2498
- https://github.com/develar/app-builder/issues/104
2024-03-29 02:47:20 +00:00
CatsJuice
35715ab1d8 feat(core): sidebar local workspace enable cloud directly (#6366)
- Add a new hook `useEnableClould`, remove `<EnableAffineClouldModal />`
- Sidebar local workspace list item support enable AFFiNE Cloud
2024-03-29 02:08:09 +00:00
JimmFly
1a873ecf3c feat(core): add shortcut for multi select docs (#6318)
close TOV-701
In All Doc, `Shift + Click` has been added to activate the multiple selection state.
2024-03-29 01:40:23 +00:00
darkskygit
0ce6401a6f feat: update crawler rules (#6369) 2024-03-29 01:33:12 +00:00
CatsJuice
d14552b5af fix(core): sidebar workspace list can't scroll on mobile (#6370) 2024-03-29 01:25:13 +00:00
Brooooooklyn
7cd75824a4 fix(core): use ResizeObserver polyfill (#6360)
- Close https://github.com/toeverything/AFFiNE/issues/6359
2024-03-28 10:48:22 +00:00
Brooooooklyn
c2847e2082 chore(core): split sentry and setup into web/electron (#6357) 2024-03-28 10:24:25 +00:00
JimmFly
88d04e23e9 feat(core): update i18n resources (#6362)
close TOV-769

<img width="712" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/902a0771-e8df-46e2-8d7c-1f453a7099e6">
2024-03-28 10:11:25 +00:00
Jo Kroese
7526dea705 docs: correct typos and improve grammar in README (#6358) 2024-03-28 17:14:44 +08:00
fundon
ef354f1643 fix(core): prevent frequent sign-in (#6339) 2024-03-28 07:35:32 +00:00
CatsJuice
8ed38d7c0d fix(component): uppercase avatar letter fallback (#6354) 2024-03-28 07:24:11 +00:00
CatsJuice
fbe7a346c6 fix(core): adjust sidebar workspace card syncing tooltip style (#6356) 2024-03-28 07:13:27 +00:00
forehalo
f69649c922 ci: separate image build to a standalone workflow (#6167) 2024-03-28 04:02:13 +00:00
pengx17
e53744b740 fix: should use fullscreen to control where to place macos window controls (#6351) 2024-03-28 03:40:46 +00:00
EYHN
4e7652f108 fix(infra): fix white screen issue (#6350) 2024-03-28 02:12:25 +00:00
darkskygit
e24b6e4ddc docs: update supported version (#6344) 2024-03-27 15:35:21 +00:00
EYHN
ba9dad95b4 fix(core): improve performance (#6345) 2024-03-27 14:01:54 +00:00
CatsJuice
710edd28db feat(core): open restore history confirm modal with hook (#6343) 2024-03-27 13:30:36 +00:00
CatsJuice
d412635f6b feat(component): new hook to open confirm modal (#6342)
new exports from `@affine/component`:
```ts
import { ConfirmModalProvider, useConfirmModal } from "@affine/component"
```

Open confirm modal with hook:

```ts
const Component = () => {
  const { openConfirmModal } = useConformModal();

  const open = () => {
    openConfirmModal({
      // props of ConfirmModal
      /**
       * will show loading state when confirm clicked, and close after onConfirm finished
       */
      onConfirm: async () => {
        await new Promise((r) => setTimeout(r, 2000));
      },
    });
  }
  return <Button onClick={open}>Open</Button>
}
```
2024-03-27 13:30:30 +00:00
LongYinan
bf88a36fac Merge remote-tracking branch 'origin/beta' into stable 2024-03-27 17:09:47 +08:00
LongYinan
44c6ee6274 Merge remote-tracking branch 'origin/canary' into beta 2024-03-27 17:08:47 +08:00
Brooooooklyn
39facba92e fix(core): opt out telemetry condition (#6341) 2024-03-27 08:37:15 +00:00
LongYinan
913a8fb36d Merge remote-tracking branch 'origin/canary' into beta 2024-03-27 15:32:45 +08:00
pengx17
d4c7d58b00 fix: use overflow: clip instead of js to prevent scrolling with pgup/pgdown (#6338) 2024-03-27 07:07:22 +00:00
LongYinan
8315908490 Merge remote-tracking branch 'origin/canary' into beta 2024-03-27 14:46:56 +08:00
pengx17
5ca17c155a fix(core): editor pgup/pgdn issues (#6331)
fix https://github.com/toeverything/AFFiNE/issues/6232
2024-03-27 04:47:32 +00:00
Brooooooklyn
5dcb3d69e5 fix(core): opt out telemetry if it was set to false (#6335) 2024-03-27 04:36:09 +00:00
EYHN
30b8b12703 fix(infra): fix sqlite not save data (#6336)
SQLiteDB will not save subdoc data that does not exist on rootdoc, so we must save rootdoc first, and then save subdoc
2024-03-27 04:25:23 +00:00
CatsJuice
a3cc06f3bb fix(core): optimize sidebar workspace card and avatar (#6324)
- adjust avatar size
- unlogged avatar dark-mode
- fix Tooltip console error
- optimize syncing status animation
2024-03-27 03:29:01 +00:00
EYHN
cccf864ed9 fix(core): duplicate window controls in trash (#6329)
fix https://github.com/toeverything/AFFiNE/issues/6310
2024-03-27 02:37:53 +00:00
forehalo
54c06777a6 fix(server): always set new session cookie (#6323) 2024-03-26 09:56:39 +00:00
forehalo
5637676222 fix(server): wrong import path (#6317) 2024-03-26 09:26:56 +00:00
EYHN
16063340d0 fix(core): fix meta.xxx is undefined (#6321) 2024-03-26 08:53:14 +00:00
EYHN
b6bba523ff fix(infra): large page list performance (#6319) 2024-03-26 07:53:53 +00:00
fundon
8ee9f6ec05 chore: improve password error message (#6255)
chore: improve error message

chore: add password minlength & maxlength i18n

chore: check max length

fix: i18n variables

feat: add CredentialsRequirementType
2024-03-26 07:15:06 +00:00
LongYinan
126bfe9c6e Merge remote-tracking branch 'origin/canary' into beta 2024-03-26 14:53:01 +08:00
liuyi
b8e6d7d6cb chore(server): cache blob list result (#6297) 2024-03-26 14:23:47 +08:00
CatsJuice
0731872347 feat(core): refactor sidebar header (#6251)
- Add user avatar
- Move sign-out/user settings link from workspace-modal to user avatar modal
- Modify the style of workspace list items
- Modify gap of navigation buttons
- Animate Syncing/Offline/...

![CleanShot 2024-03-22 at 10.22.38.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/7305f561-a85b-4ec6-89c2-27e2f1b63c85.gif)
2024-03-26 06:10:38 +00:00
Brooooooklyn
d8a3cd5ce2 chore: bump oxlint and rules (#6314) 2024-03-26 05:58:22 +00:00
liuyi
af2d895e78 chore(server): cache blob list result (#6297) 2024-03-26 13:49:24 +08:00
JimmFly
669ca325a1 fix(core): tag color should use palette-line-color (#6315) 2024-03-26 04:57:41 +00:00
pengx17
095f8c2359 fix: button should have its font-family inherited (#6311) 2024-03-26 03:57:59 +00:00
Brooooooklyn
ffbfdb65a2 fix(core): add env info to tracks (#6313) 2024-03-26 03:41:41 +00:00
pengx17
e9bc24bf37 fix(electron): possible issue on openning two main windows (#6307)
fix https://github.com/toeverything/AFFiNE/issues/6303

fetching `getWindowAdditionalArguments` requires forking a new process & handshake, which could be time consuming
2024-03-26 03:29:37 +00:00
renovate
2662ba763c chore: bump up express version to v4.19.2 [SECURITY] (#6308)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express](http://expressjs.com/) ([source](https://togithub.com/expressjs/express)) | [`4.18.2` -> `4.19.2`](https://renovatebot.com/diffs/npm/express/4.18.2/4.19.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/express/4.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express/4.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express/4.18.2/4.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express/4.18.2/4.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-29041](https://togithub.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc)

### Impact

Versions of Express.js prior to 4.19.2 and pre-release alpha and beta versions before 5.0.0-beta.3 are affected by an open redirect vulnerability using malformed URLs.

When a user of Express performs a redirect using a user-provided URL Express performs an encode [using `encodeurl`](https://togithub.com/pillarjs/encodeurl) on the contents before passing it to the `location` header. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list.

The main method impacted is `res.location()` but this is also called from within `res.redirect()`.

### Patches

0867302ddb
0b746953c4

An initial fix went out with `express@4.19.0`, we then patched a feature regression in `4.19.1` and added improved handling for the bypass in `4.19.2`.

### Workarounds

The fix for this involves pre-parsing the url string with either `require('node:url').parse` or `new URL`. These are steps you can take on your own before passing the user input string to `res.location` or `res.redirect`.

### References

[https://github.com/expressjs/express/pull/5539](https://togithub.com/expressjs/express/pull/5539)
[https://github.com/koajs/koa/issues/1800](https://togithub.com/koajs/koa/issues/1800)
https://expressjs.com/en/4x/api.html#res.location

---

### Release Notes

<details>
<summary>expressjs/express (express)</summary>

### [`v4.19.2`](https://togithub.com/expressjs/express/blob/HEAD/History.md#4192--2024-03-25)

[Compare Source](https://togithub.com/expressjs/express/compare/4.19.1...4.19.2)

\==========

-   Improved fix for open redirect allow list bypass

### [`v4.19.1`](https://togithub.com/expressjs/express/blob/HEAD/History.md#4191--2024-03-20)

[Compare Source](https://togithub.com/expressjs/express/compare/4.19.0...4.19.1)

\==========

-   Allow passing non-strings to res.location with new encoding handling checks

### [`v4.19.0`](https://togithub.com/expressjs/express/compare/4.18.3...83e77aff6a3859d58206f3ff9501277023c03f87)

[Compare Source](https://togithub.com/expressjs/express/compare/4.18.3...4.19.0)

### [`v4.18.3`](https://togithub.com/expressjs/express/blob/HEAD/History.md#4183--2024-02-26)

[Compare Source](https://togithub.com/expressjs/express/compare/4.18.2...4.18.3)

\==========

-   Fix routing requests without method
-   deps: body-parser@1.20.2
    -   Fix strict json error message on Node.js 19+
    -   deps: content-type@~1.0.5
    -   deps: raw-body@2.5.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 these updates again.

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-26 03:17:49 +00:00
forehalo
1a1af83375 test(server): auth tests (#6135) 2024-03-26 02:24:17 +00:00
pengx17
1c9d899831 fix: runtime issue for electron app (#6306)
Looks like we need to be careful to share common libraries between electron (nodejs) & web

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7e568e47-2d61-45c8-8a1e-b933b63fd1a9.png)
2024-03-26 02:04:13 +00:00
pengx17
00092c9955 fix(electron): fix electron build (#6305) 2024-03-25 15:57:22 +00:00
EYHN
3e547ce4cc fix(core): hidden modals when workspace fallback (#6301) 2024-03-25 13:52:08 +00:00
EYHN
da12a0e48e fix(core): fix error when switch to local workspace (#6144) 2024-03-25 21:35:10 +08:00
CatsJuice
b2f34d17a2 feat(core): adjust app sidebar's style (#6162) 2024-03-25 10:25:48 +00:00
pengx17
2a019d4fae fix(core): storybook stability for date (#6300) 2024-03-25 09:50:48 +00:00
donteatfriedrice
48abc52e85 feat: bump blocksuite (#6294)
## Features
- https://github.com/toeverything/BlockSuite/pull/6544 @golok727
- https://github.com/toeverything/BlockSuite/pull/6543 @golok727
- https://github.com/toeverything/BlockSuite/pull/6536 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6497 @doouding
- https://github.com/toeverything/BlockSuite/pull/6514 @regischen
- https://github.com/toeverything/BlockSuite/pull/6523 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6530 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/6526 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6532 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6493 @golok727
- https://github.com/toeverything/BlockSuite/pull/6529 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/6528 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/6509 @zzj3720
- https://github.com/toeverything/BlockSuite/pull/6525 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6502 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6489 @Flrande

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/6558 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6556 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6547 @fundon
- https://github.com/toeverything/BlockSuite/pull/6537 @golok727
- https://github.com/toeverything/BlockSuite/pull/6531 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6524 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6519 @regischen
- https://github.com/toeverything/BlockSuite/pull/6517 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6516 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6510 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6511 @congzhou09
- https://github.com/toeverything/BlockSuite/pull/6507 @doouding
- https://github.com/toeverything/BlockSuite/pull/6500 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6486 @congzhou09
- https://github.com/toeverything/BlockSuite/pull/6495 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6488 @Saul-Mirone
- https://github.com/toeverything/BlockSuite/pull/6482 @Flrande
- https://github.com/toeverything/BlockSuite/pull/6558 @fourdim

## Refactor
- https://github.com/toeverything/BlockSuite/pull/6548 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6522 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6518 @regischen
- https://github.com/toeverything/BlockSuite/pull/6521 @Saul-Mirone

## Misc
- https://github.com/toeverything/BlockSuite/pull/6557 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6546 @Flrande
- docs: update package desc
- https://github.com/toeverything/BlockSuite/pull/6527 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6505 @Brooooooklyn
- https://github.com/toeverything/BlockSuite/pull/6503 @fourdim
- v0.13.0
- https://github.com/toeverything/BlockSuite/pull/6496 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6562 @donteatfriedrice
2024-03-25 09:20:45 +00:00
JimmFly
09a27b6c25 feat(core): add remove from collection to collection page list (#6265)
close AFF-246
2024-03-25 08:31:38 +00:00
JimmFly
03c01a9693 fix(core): edit tag input autofocus (#6296)
close TOV-724
2024-03-25 08:05:25 +00:00
JimmFly
1ff6af85f5 feat(core): add page group and display properties (#6228)
close TOV-23

https://github.com/toeverything/AFFiNE/assets/102217452/c05474de-b73c-40ab-9f18-cc43bb9fd828
2024-03-25 07:53:33 +00:00
Brooooooklyn
6467e10690 ci: fix lint oom (#6295) 2024-03-25 07:11:49 +00:00
EYHN
a8cd1579f5 feat(infra): livedata effect (#6281) 2024-03-25 06:09:45 +00:00
EYHN
f2adbdaba4 style: enable import-x/no-duplicates (#6279) 2024-03-25 03:55:33 +00:00
EYHN
7ce2bfbf0b style: no import infra submodule (#6278) 2024-03-25 03:55:29 +00:00
EYHN
b93871f045 feat(electron): define runtimeConfig in esbuild (#6287) 2024-03-25 03:55:26 +00:00
EYHN
d59e1389ec chore(electron): config vitest swc (#6282) 2024-03-25 03:55:23 +00:00
EYHN
82cacd09d6 fix(core): fix flaky e2e (#6293) 2024-03-25 02:58:52 +00:00
pengx17
578d4c9775 fix(core): image preview flaky (#6292) 2024-03-25 02:46:31 +00:00
pengx17
64c011c72f fix(electron): set referer and origin headers for electron (#6289) 2024-03-25 01:23:18 +00:00
EYHN
2b42a75e5a style: enable rxjs/finnish (#6276)
chore(infra): use finnish notation for observables

do rename
2024-03-24 17:04:51 +00:00
dependabot
c6676fd074 build(deps): bump webpack-dev-middleware from 7.0.0 to 7.1.1 (#6275)
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 7.0.0 to 7.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-middleware/releases">webpack-dev-middleware's releases</a>.</em></p>
<blockquote>
<h2>v7.1.1</h2>
<h3><a href="https://github.com/webpack/webpack-dev-middleware/compare/v7.1.0...v7.1.1">7.1.1</a> (2024-03-21)</h3>
<h3>Bug Fixes</h3>
<ul>
<li><code>ContentLength</code> incorrectly set for empty files (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1785">#1785</a>) (<a href="0f3e25e2b0">0f3e25e</a>)</li>
<li>improve perf (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1777">#1777</a>) (<a href="5b47c9294e">5b47c92</a>)</li>
<li><strong>types:</strong> make types better (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1786">#1786</a>) (<a href="e4d183ea6d">e4d183e</a>)</li>
</ul>
<h2>v7.1.0</h2>
<h2><a href="https://github.com/webpack/webpack-dev-middleware/compare/v7.0.0...v7.1.0">7.1.0</a> (2024-03-19)</h2>
<h3>Features</h3>
<ul>
<li>prefer to use <code>fs.createReadStream</code> over <code>fs.readFileSync</code> to read files (<a href="ab533de933">ab533de</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>cleaup stream and handle errors (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1769">#1769</a>) (<a href="1258fdd3d9">1258fdd</a>)</li>
<li><strong>security:</strong> do not allow to read files above (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1771">#1771</a>) (<a href="e10008c762">e10008c</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-middleware/blob/master/CHANGELOG.md">webpack-dev-middleware's changelog</a>.</em></p>
<blockquote>
<h3><a href="https://github.com/webpack/webpack-dev-middleware/compare/v7.1.0...v7.1.1">7.1.1</a> (2024-03-21)</h3>
<h3>Bug Fixes</h3>
<ul>
<li><code>ContentLength</code> incorrectly set for empty files (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1785">#1785</a>) (<a href="0f3e25e2b0">0f3e25e</a>)</li>
<li>improve perf (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1777">#1777</a>) (<a href="5b47c9294e">5b47c92</a>)</li>
<li><strong>types:</strong> make types better (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1786">#1786</a>) (<a href="e4d183ea6d">e4d183e</a>)</li>
</ul>
<h2><a href="https://github.com/webpack/webpack-dev-middleware/compare/v7.0.0...v7.1.0">7.1.0</a> (2024-03-19)</h2>
<h3>Features</h3>
<ul>
<li>prefer to use <code>fs.createReadStream</code> over <code>fs.readFileSync</code> to read files (<a href="ab533de933">ab533de</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>cleaup stream and handle errors (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1769">#1769</a>) (<a href="1258fdd3d9">1258fdd</a>)</li>
<li><strong>security:</strong> do not allow to read files above (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1771">#1771</a>) (<a href="e10008c762">e10008c</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7c6164a82f"><code>7c6164a</code></a> chore(release): 7.1.1</li>
<li><a href="e4d183ea6d"><code>e4d183e</code></a> fix(types): make types better (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1786">#1786</a>)</li>
<li><a href="f23ed7ccd8"><code>f23ed7c</code></a> chore(deps-dev): bump <code>@​babel/core</code> from 7.24.1 to 7.24.3 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1782">#1782</a>)</li>
<li><a href="0f3e25e2b0"><code>0f3e25e</code></a> fix: <code>ContentLength</code> incorrectly set for empty files (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1785">#1785</a>)</li>
<li><a href="d45f033ea7"><code>d45f033</code></a> chore(deps-dev): bump <code>@​babel/preset-env</code> from 7.24.1 to 7.24.3 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1783">#1783</a>)</li>
<li><a href="c0c2eea2e7"><code>c0c2eea</code></a> chore(deps-dev): bump express from 4.18.3 to 4.19.1 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1781">#1781</a>)</li>
<li><a href="5b47c9294e"><code>5b47c92</code></a> fix: improve perf (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1777">#1777</a>)</li>
<li><a href="1a34bc4bce"><code>1a34bc4</code></a> chore(deps-dev): bump <code>@​types/node</code> from 20.11.29 to 20.11.30 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1774">#1774</a>)</li>
<li><a href="d618f1f126"><code>d618f1f</code></a> chore(deps-dev): bump <code>@​babel/preset-env</code> from 7.24.0 to 7.24.1 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1772">#1772</a>)</li>
<li><a href="40daa4bb71"><code>40daa4b</code></a> chore(deps-dev): bump <code>@​babel/core</code> from 7.24.0 to 7.24.1 (<a href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1776">#1776</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/webpack/webpack-dev-middleware/compare/v7.0.0...v7.1.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack-dev-middleware&package-manager=npm_and_yarn&previous-version=7.0.0&new-version=7.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).

</details>
2024-03-24 11:02:10 +00:00
BABA
6a02d0bc96 feat: open about page in setting modal when click about menu (#6245)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-03-23 13:27:05 +00:00
Fangdun Tsai
6c9db367e2 chore(core): add oauth connecting state (#6225) 2024-03-23 21:18:48 +08:00
BABA
a1532d4df2 chore: fix renderer entry path not found in desktop development (#6270)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-03-23 21:12:23 +08:00
fundon
7e161682f0 fix(core): creating multiple workspaces with consecutive clicks (#6259)
Closes #6213
2024-03-23 12:29:46 +00:00
pengx17
62a6075675 fix(core): do not ensure properties on read (#6263) 2024-03-23 12:15:06 +00:00
JimmFly
532d655ffb feat(core): add confirm modal for delete tag action (#6268) 2024-03-23 12:03:14 +00:00
pengx17
3c6983ee49 fix(core): storybook build issue (#6274)
1. es2022 is required and should be set separately in storybook.
2. @blocksuite/icons versions are not consistent across packages.
2024-03-23 06:33:25 +00:00
EYHN
34703a3b7d feat(infra): new doc sync engine (#6205)
https://github.com/toeverything/AFFiNE/blob/eyhn/feat/new-sync/packages/common/infra/src/workspace/engine/doc/README.md
2024-03-22 16:43:26 +00:00
Brooooooklyn
05c44db5a9 chore(core): remove unused dependencies (#6203) 2024-03-22 10:39:39 +00:00
Brooooooklyn
622e90f176 chore(core): add telemetry switch (#6267) 2024-03-22 10:28:55 +00:00
EYHN
a0b97f948c fix(core): fix stuttering when change doc title (#6269) 2024-03-22 10:06:37 +00:00
Fangdun Tsai
69cb8b0f60 chore(core): disable onborading on the web (#6222) 2024-03-22 18:05:36 +08:00
Brooooooklyn
150c22936d chore(core): add mixpanel track (#6202) 2024-03-22 09:24:41 +00:00
Brooooooklyn
10af0ab48d feat(server): support ai plan (#6216) 2024-03-22 08:39:18 +00:00
Brooooooklyn
aecc523663 fix(server): avoid error when other prices added but logic is not released (#6191) 2024-03-22 08:39:12 +00:00
EYHN
75355867c7 feat(core): save user habits in right sidebar (#6262)
Closes #6237
2024-03-22 07:32:59 +00:00
Brooooooklyn
85ee22329c fix(electron): add icon for AppImage build (#6257)
1. the icon is fixed in `/Applications`: 128b8c22f9 (diff-a694a3e854f53b066e34ec310e05bd18b4944c016455f6963f54a351784d5fa6L91)
2. the App's icon MUST be 64x64 png and set via `setIcon`

![image](https://github.com/toeverything/AFFiNE/assets/584378/bbce0007-066b-413f-a85a-193acbbe5c13)
2024-03-21 14:29:02 +00:00
forehalo
540e456704 ci: set private key from env (#6239) 2024-03-21 10:09:26 +00:00
EYHN
d03c72a0a8 fix(electron): linux crash on exiting presentation mode (#6253) 2024-03-21 09:54:48 +00:00
Brooooooklyn
6a0ab54e25 ci: fix isSelfHosted does not take effect (#6249) 2024-03-21 08:52:14 +00:00
Brooooooklyn
18224a83d1 chore(electron): bump @napi-rs/macos-alias (#6240)
fix dmg background missing issue https://github.com/Brooooooklyn/macos-alias/pull/3
2024-03-21 06:53:14 +00:00
pengx17
f4ede22b93 fix(core): change cursor when hovering the area blow editor (#6226) 2024-03-21 02:00:37 +00:00
pengx17
8b2b2646bc fix: move traffic lights based on zoom level (#6201)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/f75d1f6f-18f4-4dff-8174-67223f5f9807.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/f75d1f6f-18f4-4dff-8174-67223f5f9807.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/f75d1f6f-18f4-4dff-8174-67223f5f9807.mp4">Kapture 2024-03-19 at 18.05.20.mp4</video>
2024-03-21 02:00:35 +00:00
EYHN
e1cfa1071e chore(core): align sidebar icons (#6219) 2024-03-20 17:15:13 +00:00
EYHN
e4e4a54d90 fix(core): resize-handle remains interactive when dragging split-view (#6217) 2024-03-20 16:56:17 +00:00
EYHN
08b610bbad fix(electron): menu item position on Mac when fullscreen (#6200)
fix https://github.com/toeverything/AFFiNE/issues/6155
2024-03-20 16:45:14 +00:00
EYHN
3edf32b1df build: add sourceMaps and inlineSourcesContent option to swc (#6234) 2024-03-20 16:33:15 +00:00
EYHN
39cde560d1 fix(templates): fix typo in onboarding template (#6221) 2024-03-20 16:19:28 +00:00
Brooooooklyn
483f957583 chore: bump up @aws-sdk/client-s3 version to v3.537.0 (#6210)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.536.0` -> `3.537.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.536.0/3.537.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.537.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.537.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.536.0/3.537.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.536.0/3.537.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.537.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35370-2024-03-19)

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

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-20 14:44:24 +00:00
Brooooooklyn
32ab0693e2 feat(core): update split view icons and texts (#6193) 2024-03-20 14:30:35 +00:00
pengx17
a8a1074a8a feat(electron): add isMaximized flag to html (#6199)
to make some special ui rules for desktop
2024-03-20 13:20:19 +00:00
pengx17
65ab6c89bf fix(electron): optimize electron open/close on mac (#6224)
1. never close main window on mac to allow it to be quickly open
1. make the browser show a bit faster
2. brought up app window when clicking some menu items
2024-03-20 11:02:22 +00:00
liuyi
4f5907766f fix(server): decode uri component before verify token (#6231) 2024-03-20 18:17:11 +08:00
liuyi
06a5b2e5a5 fix(server): wrong google oauth param (#6227) 2024-03-20 17:45:22 +08:00
pengx17
7adb89f134 feat(core): open new page on meta-clicking a page link (#6220) 2024-03-20 05:38:39 +00:00
EYHN
5623c0967c feat(electron): enable css text autospace (#6218)
before

![CleanShot 2024-03-20 at 10.38.50@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/80a59a2b-ede7-453a-889a-6c54a967c27d.png)

after

![CleanShot 2024-03-20 at 10.39.08@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/5e98d9e1-ec8e-4cc7-804b-e4347c62ee6e.png)
2024-03-20 02:47:49 +00:00
Peng Xiao
fce4484a85 fix(core): tag size in docs view (#6197) 2024-03-19 08:53:08 +00:00
Peng Xiao
0695544073 fix(core): page info should use sans font (inter) (#6196) 2024-03-19 08:53:00 +00:00
JimmFly
9030ca511e refactor(core): refactor tag to use di (#6079)
use case
```
const tagService = useService(TagService);
const tags = useLiveData(tagService.tags);
const currentTagLiveData = tagService.tagByTagId(tagId);
const currentTag = useLiveData(currentTagLiveData);

```
2024-03-19 08:39:15 +00:00
LongYinan
332cd3b380 refactor(core): split web entry from core (#6082)
This pr is trying to split `web` and `electron` entries from `core`. It allows more platform-related optimization to be addressed in each entry.
We should remove all browser/electron only codes from `core` eventually, this is the very first step for that.
2024-03-19 07:48:56 +00:00
LongYinan
26925c96e4 chore: bump up happy-dom version to v14 (#6187)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

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

##### 💣 Breaking Changes

-   Removes interfaces for Node's, as they are no longer needed as newer versions of Typescript can handle circular dependencies - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1330](https://togithub.com/capricorn86/happy-dom/issues/1330)

### [`v13.10.1`](https://togithub.com/capricorn86/happy-dom/compare/v13.10.0...a6debf50e909766e0e5442b9e4c5ebe8dadb1cd1)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.10.0...v13.10.1)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.9.0...v13.10.0)

##### 🎨 Features

-   Adds support for the Headers.getSetCookie - By **[@&#8203;betterqualityassuranceuser](https://togithub.com/betterqualityassuranceuser)** in task [#&#8203;1315](https://togithub.com/capricorn86/happy-dom/issues/1315)

### [`v13.9.0`](https://togithub.com/capricorn86/happy-dom/compare/v13.8.6...9d6d1f39aeb2cbfce914277ce22264ee88290582)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.6...v13.9.0)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.5...v13.8.6)

##### 👷‍♂️ Patch fixes

-   Fixes bug related to multiple fallbacks to CSS variables being set incorrectly - By **[@&#8203;odanado](https://togithub.com/odanado)** in task [#&#8203;1308](https://togithub.com/capricorn86/happy-dom/issues/1308)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.4...v13.8.5)

##### 👷‍♂️ Patch fixes

-   Fixes problem related to invalid pseudo query selectors matching elements (e.g. ":before" should only match the pseudo element and not the actual element) - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1122](https://togithub.com/capricorn86/happy-dom/issues/1122)
-   Adds support for using multiple pseudo query selectors (e.g. ":first-of-type:last-of-type") - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1122](https://togithub.com/capricorn86/happy-dom/issues/1122)
-   Fixes minor typo in `HTMLElementConfig` - By **[@&#8203;danbentley](https://togithub.com/danbentley)** in task [#&#8203;1306](https://togithub.com/capricorn86/happy-dom/issues/1306)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.3...v13.8.4)

##### 👷‍♂️ Patch fixes

-   Adds support for returning URL relative to window location in `HTMLLinkElement.href`, `HTMLImageElement.src` and `HTMLScriptElement.src` - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1135](https://togithub.com/capricorn86/happy-dom/issues/1135)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.2...v13.8.3)

##### 👷‍♂️ Patch fixes

-   Fixes problem where some elements (e.g. `<li>`, `<h1>` or `<table>`) doesn't allow itself as direct descendant when parsing HTML, but should allow itself as descendant when it is not at first level - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1039](https://togithub.com/capricorn86/happy-dom/issues/1039)

### [`v13.8.2`](https://togithub.com/capricorn86/happy-dom/compare/v13.8.1...4970c699d07d97c4a9839e25c831eef230445abf)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.1...v13.8.2)

### [`v13.8.1`](https://togithub.com/capricorn86/happy-dom/compare/v13.8.0...08cd42601d62f39d42d01d902a56d2441f7128e0)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.8.0...v13.8.1)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.8...v13.8.0)

##### 🎨 Features

-   Adds support for Element.scrollIntoView - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1051](https://togithub.com/capricorn86/happy-dom/issues/1051)

### [`v13.7.8`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.7...0dfe51d6006c09b2f12ec2ec4f15858ae6450060)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.7...v13.7.8)

### [`v13.7.7`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.6...v13.7.7)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.6...v13.7.7)

### [`v13.7.6`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.5...54d1ae080f4e91ae09bb586ad01f82050cf5db15)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.5...v13.7.6)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.4...v13.7.5)

##### 👷‍♂️ Patch fixes

-   Modify option node to return empty string even if the value is empty string - In task [#&#8203;1138](https://togithub.com/capricorn86/happy-dom/issues/1138)

### [`v13.7.4`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.3...16396f9d1f114ad70c926f56da40a31382aeabcb)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.3...v13.7.4)

### [`v13.7.3`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.2...1bd90205d67aa78de52ea5d1ebb3c8f8db2364af)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.2...v13.7.3)

### [`v13.7.2`](https://togithub.com/capricorn86/happy-dom/compare/v13.7.1...3b4339d709bb9b097a8302996dc4af356f496e1a)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.1...v13.7.2)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.7.0...v13.7.1)

##### 👷‍♂️ Patch fixes

-   Adds support for cloning body in `Response.clone()` - By **[@&#8203;cprecioso](https://togithub.com/cprecioso)** in task [#&#8203;1216](https://togithub.com/capricorn86/happy-dom/issues/1216)

### [`v13.7.0`](https://togithub.com/capricorn86/happy-dom/compare/v13.6.2...4c808b62f8dcfb5c85d4ac4e94b8e2ba58195e86)

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.2...v13.7.0)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.1...v13.6.2)

##### 🎨 Features

-   Add support for the ":target" pseudo query selector - By **[@&#8203;Schleuse](https://togithub.com/Schleuse)** in task [#&#8203;1221](https://togithub.com/capricorn86/happy-dom/issues/1221)

##### 👷‍♂️ Patch fixes

-   The Event listener method `handleEvent()` should be called within the listener scope - By **[@&#8203;titouanmathis](https://togithub.com/titouanmathis)** in task [#&#8203;1182](https://togithub.com/capricorn86/happy-dom/issues/1182)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.0...v13.6.1)

##### 👷‍♂️ Patch fixes

-   Improves validation for the options argument in `MutationsObserver.observe()` - By **[@&#8203;romansp](https://togithub.com/romansp)** in task [#&#8203;1223](https://togithub.com/capricorn86/happy-dom/issues/1223)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.3...v13.6.0)

##### 🎨 Features

-   Adds support for `Node.isEqualNode()` - By **[@&#8203;aralroca](https://togithub.com/aralroca)** in task [#&#8203;1263](https://togithub.com/capricorn86/happy-dom/issues/1263)

##### 👷‍♂️ Patch fixes

-   Adds support for the property `Document.forms` - By **[@&#8203;juandiegombr](https://togithub.com/juandiegombr)** in task [#&#8203;1260](https://togithub.com/capricorn86/happy-dom/issues/1260)
-   Adds check for if `MutationObserver` options are null, which most likely happens for code that is executed after the Window instance has been closed - By **[@&#8203;zachlankton](https://togithub.com/zachlankton)** in task [#&#8203;1217](https://togithub.com/capricorn86/happy-dom/issues/1217)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.2...v13.5.3)

##### 👷‍♂️ Patch fixes

-   Improves check for invalid query selectors - By **[@&#8203;btea](https://togithub.com/btea)** in task #&#8203;0

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.1...v13.5.2)

##### 👷‍♂️ Patch fixes

-   Adds unit test for Vue component with SVG - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1271](https://togithub.com/capricorn86/happy-dom/issues/1271)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.0...v13.5.1)

##### 👷‍♂️ Patch fixes

-   Fixes problem with query selectors not finding SVG elements after the v13.4.0 release - By **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1274](https://togithub.com/capricorn86/happy-dom/issues/1274)

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v13.4.1...v13.5.0)

##### 🎨 Features

-   Use the Node.js `ReadableStream` class  for the properties `Response.body` and `Request.body` - By **[@&#8203;diego-toro](https://togithub.com/diego-toro)** and **[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task [#&#8203;1180](https://togithub.com/capricorn86/happy-dom/issues/1180)
    -   The previous implementation used the Node.js `Stream.Readable` class, which is not fully spec compliant

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-19 07:34:32 +00:00
LongYinan
398d66fac1 chore: bump up all non-major dependencies (#6107)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.529.1` -> `3.536.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.529.1/3.536.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.536.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.536.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.529.1/3.536.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.529.1/3.536.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.0.8` -> `18.1.2`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.0.8/18.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.0.8/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.0.8/18.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.3.1` -> `1.4.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.3.1/1.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.3.1` -> `1.4.0`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.3.1/1.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.3.1` -> `1.4.0`](https://renovatebot.com/diffs/npm/vitest/1.3.1/1.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.536.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35360-2024-03-18)

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

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

### [`v3.535.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35350-2024-03-15)

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

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

### [`v3.534.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35340-2024-03-14)

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

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

### [`v3.533.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35330-2024-03-13)

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

##### Features

-   **client-s3:** This release makes the default option for S3 on Outposts request signing to use the SigV4A algorithm when using AWS Common Runtime (CRT). ([2ddd8ec](2ddd8ec13e))

#### [3.529.1](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.529.0...v3.529.1) (2024-03-08)

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

</details>

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

### [`v18.1.2`](https://togithub.com/nrwl/nx/releases/tag/18.1.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.1.1...18.1.2)

##### 18.1.2 (2024-03-18)

##### 🚀 Features

-   **nx-dev:** add apollo.io tracking script to `_app.tsx` ([#&#8203;22339](https://togithub.com/nrwl/nx/pull/22339))

##### 🩹 Fixes

-   **core:** do not use pseudo terminal if platform is unsuported and f… ([#&#8203;22341](https://togithub.com/nrwl/nx/pull/22341))
-   **js:** read lockfile from the workspace root ([#&#8203;22340](https://togithub.com/nrwl/nx/pull/22340))

##### ❤️  Thank You

-   Benjamin Cabanes [@&#8203;bcabanes](https://togithub.com/bcabanes)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)

### [`v18.1.1`](https://togithub.com/nrwl/nx/releases/tag/18.1.1)

[Compare Source](5e64e7dcb0...18.1.1)

##### 18.1.1 (2024-03-15)

##### 🚀 Features

-   **angular:** update jest-preset-angular version ([#&#8203;21776](https://togithub.com/nrwl/nx/pull/21776))
-   **angular:** add the extract-i18n executor ([#&#8203;21802](https://togithub.com/nrwl/nx/pull/21802))
-   **angular:** ensure all targets are generated for application and libraries ([#&#8203;21826](https://togithub.com/nrwl/nx/pull/21826))
-   **angular:** support angular 17.2.0 ([#&#8203;21671](https://togithub.com/nrwl/nx/pull/21671))
-   **angular:** force explicit targets when NX_ADD_PLUGINS is not explicitly true ([#&#8203;21852](https://togithub.com/nrwl/nx/pull/21852))
-   **angular:** update jest-preset-angular dependency to 14.0.3 ([#&#8203;21912](https://togithub.com/nrwl/nx/pull/21912))
-   **angular:** remove optional [@&#8203;nx/cypress](https://togithub.com/nx/cypress) and [@&#8203;nx/jest](https://togithub.com/nx/jest) from dependencies ([#&#8203;22162](https://togithub.com/nrwl/nx/pull/22162))
-   **bundling:** bump rollup-plugin-typescript2 version ([#&#8203;20609](https://togithub.com/nrwl/nx/pull/20609))
-   **bundling:** rollup should support ESM config files ([#&#8203;21999](https://togithub.com/nrwl/nx/pull/21999))
-   **bundling:** crystalize rollup ([#&#8203;22045](https://togithub.com/nrwl/nx/pull/22045))
-   **core:** update swc/register ([#&#8203;21755](https://togithub.com/nrwl/nx/pull/21755))
-   **core:** add option to disable log grouping on CI ([#&#8203;21782](https://togithub.com/nrwl/nx/pull/21782))
-   **core:** remove leading arrow from output headlines ([#&#8203;21359](https://togithub.com/nrwl/nx/pull/21359))
-   **core:** remove leading arrow from output headlines" ([#&#8203;21800](https://togithub.com/nrwl/nx/pull/21800))
-   **core:** support migrating to canary versions of nx for testing ([#&#8203;21812](https://togithub.com/nrwl/nx/pull/21812))
-   **core:** flatten default base config to base ([#&#8203;19964](https://togithub.com/nrwl/nx/pull/19964))
-   **core:** execute plugins in isolated processes ([#&#8203;21760](https://togithub.com/nrwl/nx/pull/21760))
-   **core:** provide a hint when project.json has empty targets ([#&#8203;22028](https://togithub.com/nrwl/nx/pull/22028))
-   **core:** add gradle plugin ([#&#8203;21055](https://togithub.com/nrwl/nx/pull/21055))
-   **core:** use flag in nx.json for toggling crystal ([#&#8203;21980](https://togithub.com/nrwl/nx/pull/21980))
-   **core:** forward options for run command ([#&#8203;22064](https://togithub.com/nrwl/nx/pull/22064))
-   **core:** revert running plugins in isolation ([#&#8203;22246](https://togithub.com/nrwl/nx/pull/22246))
-   **core:** run commands directly ([#&#8203;21918](https://togithub.com/nrwl/nx/pull/21918))
-   **detox:** upgrade [@&#8203;config-plugins/detox](https://togithub.com/config-plugins/detox) to 7 ([#&#8203;21959](https://togithub.com/nrwl/nx/pull/21959))
-   **expo:** support cjs and mjs ([#&#8203;21408](https://togithub.com/nrwl/nx/pull/21408))
-   **graph:** add error boundary error page for project details ([#&#8203;22007](https://togithub.com/nrwl/nx/pull/22007))
-   **graph:** add spinner on the projects page ([#&#8203;22149](https://togithub.com/nrwl/nx/pull/22149))
-   **js:** replace publish script with nx release config ([#&#8203;21474](https://togithub.com/nrwl/nx/pull/21474))
-   **misc:** log message in nx init when detecting plugins ([#&#8203;21932](https://togithub.com/nrwl/nx/pull/21932))
-   **nextjs:** use global NX_GRAPH_CREATION in withNx plugin to guard against graph creation during create nodes ([#&#8203;22026](https://togithub.com/nrwl/nx/pull/22026))
-   **nuxt:** export storybook generator ([#&#8203;21969](https://togithub.com/nrwl/nx/pull/21969))
-   **nx-dev:** update launch conf timings ([a0e4cf747d](https://togithub.com/nrwl/nx/commit/a0e4cf747d))
-   **nx-dev:** update launch page link text ([#&#8203;21747](https://togithub.com/nrwl/nx/pull/21747))
-   **nx-dev:** update website header components ([#&#8203;21833](https://togithub.com/nrwl/nx/pull/21833))
-   **nx-dev:** change color for nx-agents & nx-ai buttons on home ([#&#8203;22142](https://togithub.com/nrwl/nx/pull/22142))
-   **react:** add tailwind as style prompt option for app gen ([#&#8203;21784](https://togithub.com/nrwl/nx/pull/21784))
-   **release:** prompt to create github release when no file changes ([#&#8203;21819](https://togithub.com/nrwl/nx/pull/21819))
-   **release:** interpolate workspaceRoot in changelog path ([#&#8203;22058](https://togithub.com/nrwl/nx/pull/22058))
-   **release:** add conventional commits configurability for version and changelog ([#&#8203;22004](https://togithub.com/nrwl/nx/pull/22004))
-   **remix:** add playwright option for e2eTestRunner ([#&#8203;21603](https://togithub.com/nrwl/nx/pull/21603))
-   **remix:** upgrade to latest remix 2.6.0 ([#&#8203;21843](https://togithub.com/nrwl/nx/pull/21843))
-   **remix:** use Remix CLI directly with Remix Crystal Plugin ([#&#8203;22234](https://togithub.com/nrwl/nx/pull/22234))
-   **remix:** support version 2.8.0 ([#&#8203;22326](https://togithub.com/nrwl/nx/pull/22326))
-   **remix:** add option to create-nx-workspace ([#&#8203;22334](https://togithub.com/nrwl/nx/pull/22334))
-   **repo:** use latest pnpm for CI runs ([#&#8203;22207](https://togithub.com/nrwl/nx/pull/22207))
-   **testing:** update cypress version ([#&#8203;21961](https://togithub.com/nrwl/nx/pull/21961))
-   **testing:** add getJestProjectsAsync to support inferred targets ([#&#8203;21897](https://togithub.com/nrwl/nx/pull/21897))
-   **vite:** add vitest.workspace.ts at root ([#&#8203;21915](https://togithub.com/nrwl/nx/pull/21915))

##### 🩹 Fixes

-   **angular:** fix wrong trailing comma in mf bootstrap code generation ([#&#8203;21600](https://togithub.com/nrwl/nx/pull/21600))
-   **angular:** support inferred cypress targets in setup-mf generator ([#&#8203;21619](https://togithub.com/nrwl/nx/pull/21619))
-   **angular:** ajv hoisting issue ([#&#8203;21641](https://togithub.com/nrwl/nx/pull/21641))
-   **angular:** resolve the index html transformer correctly for esbuild based build targets in dev-server ([#&#8203;21679](https://togithub.com/nrwl/nx/pull/21679))
-   **angular:** generate app server module setup correctly in setup-ssr generator ([#&#8203;21702](https://togithub.com/nrwl/nx/pull/21702))
-   **angular:** add missing forceEsbuild option to dev-server executor ([#&#8203;21753](https://togithub.com/nrwl/nx/pull/21753))
-   **angular:** do not force explicit targets for separate e2e projects ([#&#8203;21865](https://togithub.com/nrwl/nx/pull/21865))
-   **angular:** stop using npmScope as a prefix for component and directive selectors ([#&#8203;21828](https://togithub.com/nrwl/nx/pull/21828))
-   **angular:** do not add target defaults for the ng-packagr-lite executor when generating non-buildable library ([#&#8203;21935](https://togithub.com/nrwl/nx/pull/21935))
-   **angular:** ensure generated editor tsconfig in apps only include runtime files ([#&#8203;21945](https://togithub.com/nrwl/nx/pull/21945))
-   **angular:** log message about unsupported ng cache command ([#&#8203;22154](https://togithub.com/nrwl/nx/pull/22154))
-   **angular:** fix message logged for unsupported ng cache ([#&#8203;22211](https://togithub.com/nrwl/nx/pull/22211))
-   **angular:** Module federation with Crystal enabled. ([#&#8203;22224](https://togithub.com/nrwl/nx/pull/22224))
-   **angular:** install jsonc-eslint-parser only when [@&#8203;nx/dependency-checks](https://togithub.com/nx/dependency-checks) is used ([#&#8203;22231](https://togithub.com/nrwl/nx/pull/22231))
-   **core:** nx cloud prompt during migrate doesn't skip connection ([#&#8203;21588](https://togithub.com/nrwl/nx/pull/21588))
-   **core:** pass the full resolved path of ts-node/esm when reloading the CLI ([#&#8203;21607](https://togithub.com/nrwl/nx/pull/21607))
-   **core:** remove logic to reload process with esm loader for Node 18 ([#&#8203;21623](https://togithub.com/nrwl/nx/pull/21623))
-   **core:** prevent target defaults from being discarded during merge process ([#&#8203;21624](https://togithub.com/nrwl/nx/pull/21624))
-   **core:** add missing parts to ci workflws and update docs ([ab76d6291a](https://togithub.com/nrwl/nx/commit/ab76d6291a))
-   **core:** temporary use forked portable_pty to inherit cursor position for windows ([#&#8203;21683](https://togithub.com/nrwl/nx/pull/21683))
-   **core:** handle blocking stdin ([#&#8203;21672](https://togithub.com/nrwl/nx/pull/21672))
-   **core:** remove implementation detail from warning ([18efd62003](https://togithub.com/nrwl/nx/commit/18efd62003))
-   **core:** static run one lifecycle should always print dependent task status, and output when verbose ([#&#8203;21720](https://togithub.com/nrwl/nx/pull/21720))
-   **core:** run migrations ordered by their target version ([#&#8203;21799](https://togithub.com/nrwl/nx/pull/21799))
-   **core:** Update NxWelcome connect to cloud ([#&#8203;21830](https://togithub.com/nrwl/nx/pull/21830))
-   **core:** propagate `verbose` flag when running `init` generator dur… ([#&#8203;21868](https://togithub.com/nrwl/nx/pull/21868))
-   **core:** ensure migrate works with yarn PnP ([#&#8203;21824](https://togithub.com/nrwl/nx/pull/21824))
-   **core:** align terminal output padding and remove leading arrow ([#&#8203;21809](https://togithub.com/nrwl/nx/pull/21809))
-   **core:** read all targets from package json when defining target defaults ([#&#8203;21719](https://togithub.com/nrwl/nx/pull/21719))
-   **core:** include nx/nuxt in migrations ([#&#8203;21885](https://togithub.com/nrwl/nx/pull/21885))
-   **core:** do not use the new pty function for older versions of windows ([#&#8203;21854](https://togithub.com/nrwl/nx/pull/21854))
-   **core:** normalize migration target versions when sorting migrations ([#&#8203;21967](https://togithub.com/nrwl/nx/pull/21967))
-   **core:** target defaults application shouldn't include extra scripts ([#&#8203;21970](https://togithub.com/nrwl/nx/pull/21970))
-   **core:** update generated README pages with more useful instructions ([#&#8203;21976](https://togithub.com/nrwl/nx/pull/21976))
-   **core:** plugin pool should not clobber promises when called multiple times ([#&#8203;21977](https://togithub.com/nrwl/nx/pull/21977))
-   **core:** plugins should not be registered twice and should respect shutdown queue ([#&#8203;22057](https://togithub.com/nrwl/nx/pull/22057))
-   **core:** nextjs-standalone generates package scripts consistent with create-next-app ([#&#8203;21996](https://togithub.com/nrwl/nx/pull/21996))
-   **core:** target defaults should represent nx.json in source info ([#&#8203;22080](https://togithub.com/nrwl/nx/pull/22080))
-   **core:** setting up .nx inside gradle shouldn't throw ([#&#8203;21957](https://togithub.com/nrwl/nx/pull/21957))
-   **core:** add outputs to nx.json for nx init in monorepo ([#&#8203;22061](https://togithub.com/nrwl/nx/pull/22061))
-   **core:** fix no such file or directory, open 'package-lock.json' ([#&#8203;21835](https://togithub.com/nrwl/nx/pull/21835))
-   **core:** reject all promises in pool during shutdown ([#&#8203;22188](https://togithub.com/nrwl/nx/pull/22188))
-   **core:** fix terminal message alignment on errors ([#&#8203;22189](https://togithub.com/nrwl/nx/pull/22189))
-   **core:** only start plugin workers once ([#&#8203;22222](https://togithub.com/nrwl/nx/pull/22222))
-   **core:** properly cleanup when the project-graph creation fails ([#&#8203;22243](https://togithub.com/nrwl/nx/pull/22243))
-   **core:** make windows runtime input hashing windowless ([#&#8203;22197](https://togithub.com/nrwl/nx/pull/22197))
-   **core:** fix gh group success icon ([#&#8203;22281](https://togithub.com/nrwl/nx/pull/22281))
-   **core:** fix pty for multiple commands in 1 process ([#&#8203;22294](https://togithub.com/nrwl/nx/pull/22294))
-   **devkit:** respect expectComments when parsing json ([#&#8203;21584](https://togithub.com/nrwl/nx/pull/21584))
-   **graph:** fix open project with / in name ([#&#8203;21722](https://togithub.com/nrwl/nx/pull/21722))
-   **graph:** show command property as monospace ([#&#8203;21997](https://togithub.com/nrwl/nx/pull/21997))
-   **js:** babel preset should also check for JEST_WORKER_ID to transpile to CJS ([#&#8203;21754](https://togithub.com/nrwl/nx/pull/21754))
-   **js:** nx release-version resolve-version-spec should normalize fetchSpec ([#&#8203;21710](https://togithub.com/nrwl/nx/pull/21710))
-   **js:** swc executor should support inlining on windows ([#&#8203;21801](https://togithub.com/nrwl/nx/pull/21801))
-   **js:** set moduleResolution to Node10 so it is compatible with CommonJS module ([#&#8203;21979](https://togithub.com/nrwl/nx/pull/21979))
-   **js:** use NodeJs moduleResolution with ts-node to support CommonJS module and TS 4.x ([#&#8203;22258](https://togithub.com/nrwl/nx/pull/22258))
-   **linter:** adjust terminal run check for crystal ([#&#8203;21638](https://togithub.com/nrwl/nx/pull/21638))
-   **linter:** fix eslint-plugin migration target version ([#&#8203;21966](https://togithub.com/nrwl/nx/pull/21966))
-   **linter:** add v7 of typescript-eslint to peerDeps ([#&#8203;21853](https://togithub.com/nrwl/nx/pull/21853))
-   **linter:** refactor pcv3 plugin, expose configFiles on context ([#&#8203;21677](https://togithub.com/nrwl/nx/pull/21677))
-   **misc:** handle workspaces if no plugin selected in nx init and only generate files after prompts ([#&#8203;21606](https://togithub.com/nrwl/nx/pull/21606))
-   **misc:** ensure swc transpiler process required files ([#&#8203;21674](https://togithub.com/nrwl/nx/pull/21674))
-   **misc:** pin generated vite version to ~5.0.0 to avoid issues with storybook ([#&#8203;21740](https://togithub.com/nrwl/nx/pull/21740))
-   **misc:** logs from rm-default-collection should render properly ([#&#8203;21953](https://togithub.com/nrwl/nx/pull/21953))
-   **misc:** set nx property in root package.json when no replacing script in nx init ([#&#8203;21974](https://togithub.com/nrwl/nx/pull/21974))
-   **misc:** migration should shutdown plugin workers if it starts them ([#&#8203;22048](https://togithub.com/nrwl/nx/pull/22048))
-   **misc:** make sure to add e2e crystal plugin ([#&#8203;22041](https://togithub.com/nrwl/nx/pull/22041))
-   **misc:** fix buildable libs utils calculating dependent projects from task graph ([#&#8203;22015](https://togithub.com/nrwl/nx/pull/22015))
-   **misc:** add missing format files call ([#&#8203;22137](https://togithub.com/nrwl/nx/pull/22137))
-   **misc:** improve package.json scripts handling when running "nx init" and "nx add" ([#&#8203;22168](https://togithub.com/nrwl/nx/pull/22168))
-   **misc:** do not add includedScripts unless really needed when running nx add ([#&#8203;22180](https://togithub.com/nrwl/nx/pull/22180))
-   **module-federation:** map static remote locations correctly ([#&#8203;21709](https://togithub.com/nrwl/nx/pull/21709))
-   **module-federation:** ensure targetDefaults for module federation executors are setup correctly ([#&#8203;22282](https://togithub.com/nrwl/nx/pull/22282))
-   **nextjs:** move `next/constants` from top-level import to when it is needed ([#&#8203;21612](https://togithub.com/nrwl/nx/pull/21612))
-   **nextjs:** Enable next e2e test ([#&#8203;21625](https://togithub.com/nrwl/nx/pull/21625))
-   **nextjs:** src package.json should not be copied to output folder ([aa622bab5a](https://togithub.com/nrwl/nx/commit/aa622bab5a))
-   **nextjs:** Custom server should work with Crystal ([#&#8203;21736](https://togithub.com/nrwl/nx/pull/21736))
-   **nextjs:** Svg should work when svgr is true in next config ([#&#8203;21761](https://togithub.com/nrwl/nx/pull/21761))
-   **nextjs:** Add missing e2e-ci target for cypress ([#&#8203;21805](https://togithub.com/nrwl/nx/pull/21805))
-   **nextjs:** Add spec files when creating a next app ([#&#8203;22079](https://togithub.com/nrwl/nx/pull/22079))
-   **nextjs:** avoid path error on dev  server creation ([#&#8203;21998](https://togithub.com/nrwl/nx/pull/21998))
-   **nextjs:** Adding styles to nextjs cypress should not fail. ([#&#8203;22170](https://togithub.com/nrwl/nx/pull/22170))
-   **nextjs:** Surface error codes when build is interrupted by signals SIGINT, SIGTERM etc... ([#&#8203;22190](https://togithub.com/nrwl/nx/pull/22190))
-   **nextjs:** runCLI stdio ([#&#8203;22267](https://togithub.com/nrwl/nx/pull/22267))
-   **node:** Broken E2E tests ([#&#8203;21569](https://togithub.com/nrwl/nx/pull/21569))
-   **node:** Increase timeout for CI ([#&#8203;22003](https://togithub.com/nrwl/nx/pull/22003))
-   **nuxt:** init generator should add [@&#8203;nx/vite](https://togithub.com/nx/vite) to dependencies ([#&#8203;21911](https://togithub.com/nrwl/nx/pull/21911))
-   **nuxt:** turn on autoimport ([#&#8203;21894](https://togithub.com/nrwl/nx/pull/21894))
-   **nuxt:** tsconfig types and output dir ([#&#8203;21934](https://togithub.com/nrwl/nx/pull/21934))
-   **nuxt:** fix storybook preview config path ([#&#8203;22020](https://togithub.com/nrwl/nx/pull/22020))
-   **nuxt:** Add e2e-ci and serve-static targets ([#&#8203;22056](https://togithub.com/nrwl/nx/pull/22056))
-   **nx-dev:** redirect core-features page ([#&#8203;21616](https://togithub.com/nrwl/nx/pull/21616))
-   **nx-dev:** launch page mobile experience ([de676e207f](https://togithub.com/nrwl/nx/commit/de676e207f))
-   **nx-dev:** redirect on remote caching page ([#&#8203;21669](https://togithub.com/nrwl/nx/pull/21669))
-   **nx-dev:** remove fence from new packages and "nx add" commands ([#&#8203;21705](https://togithub.com/nrwl/nx/pull/21705))
-   **nx-dev:** add colors to ms logo ([#&#8203;21790](https://togithub.com/nrwl/nx/pull/21790))
-   **nx-plugin:** do not print duplicated warning about derived format when generating plugin ([#&#8203;22230](https://togithub.com/nrwl/nx/pull/22230))
-   **nx-plugin:** support root tsconfig.json in nx-plugin-checks eslint rule ([4850bdb6aa](https://togithub.com/nrwl/nx/commit/4850bdb6aa))
-   **playwright:** fix include in tsconfig.json ([#&#8203;21730](https://togithub.com/nrwl/nx/pull/21730))
-   **react:** generate correctly when --js is used for module federation host/remote ([#&#8203;20119](https://togithub.com/nrwl/nx/pull/20119))
-   **react:** full support custom secure host for module federation ([#&#8203;21777](https://togithub.com/nrwl/nx/pull/21777))
-   **react:** ensure playwright configuration is using correct port in app gen ([#&#8203;21941](https://togithub.com/nrwl/nx/pull/21941))
-   **react:** pass correct argument to rspack configuration generator ([#&#8203;22241](https://togithub.com/nrwl/nx/pull/22241))
-   **react-native:** change gradlew to absolute path ([#&#8203;21725](https://togithub.com/nrwl/nx/pull/21725))
-   **react-native:** add all flag to sync-deps ([#&#8203;21821](https://togithub.com/nrwl/nx/pull/21821))
-   **react-native:** pin ajv version to 8.12.0 ([#&#8203;22002](https://togithub.com/nrwl/nx/pull/22002))
-   **release:** logging improvements ([#&#8203;21692](https://togithub.com/nrwl/nx/pull/21692))
-   **release:** ensure `nx release publish --graph` only includes projects with target ([#&#8203;21726](https://togithub.com/nrwl/nx/pull/21726))
-   **release:** do not stop daemon in dry-run ([#&#8203;21743](https://togithub.com/nrwl/nx/pull/21743))
-   **release:** skip prompt for publish when no version created ([#&#8203;21769](https://togithub.com/nrwl/nx/pull/21769))
-   **release:** use --first-parent to support merged repos ([#&#8203;21686](https://togithub.com/nrwl/nx/pull/21686))
-   **release:** move github release creation to git tasks ([#&#8203;21510](https://togithub.com/nrwl/nx/pull/21510))
-   **release:** currentVersionResolver git-tag should prefer merged tags ([#&#8203;22082](https://togithub.com/nrwl/nx/pull/22082))
-   **release:** skip lock file update if workspaces are not enabled ([#&#8203;22055](https://togithub.com/nrwl/nx/pull/22055))
-   **release:** store rawVersionSpec on versionData ([#&#8203;22071](https://togithub.com/nrwl/nx/pull/22071))
-   **release:** fix default renderer resolution to be relative within t… ([#&#8203;22331](https://togithub.com/nrwl/nx/pull/22331))
-   **remix:** do not rename root jest.preset.js ([#&#8203;21703](https://togithub.com/nrwl/nx/pull/21703))
-   **remix:** should add remix plugin to nx.json on init correctly ([#&#8203;21827](https://togithub.com/nrwl/nx/pull/21827))
-   **remix:** the output path should respect the remix.config.js in crystal ([#&#8203;21842](https://togithub.com/nrwl/nx/pull/21842))
-   **remix:** adjust remix start script when building ([#&#8203;21883](https://togithub.com/nrwl/nx/pull/21883))
-   **remix:** typo in tsconfig.spec.json update led to invalid tsconfig ([#&#8203;21886](https://togithub.com/nrwl/nx/pull/21886))
-   **remix:** ensure component-testing is exported correctly [#&#8203;22091](https://togithub.com/nrwl/nx/issues/22091) ([#&#8203;22095](https://togithub.com/nrwl/nx/pull/22095), [#&#8203;22091](https://togithub.com/nrwl/nx/issues/22091))
-   **repo:** update browser tools to fix ci ([#&#8203;21955](https://togithub.com/nrwl/nx/pull/21955))
-   **storybook:** handle main.js file correctly in storybook plugin ([#&#8203;22081](https://togithub.com/nrwl/nx/pull/22081))
-   **testing:** cleanup e2e atomization plugins ([#&#8203;21688](https://togithub.com/nrwl/nx/pull/21688))
-   **testing:** increase the default timeout to 15s for the dev server to start ([#&#8203;21716](https://togithub.com/nrwl/nx/pull/21716))
-   **testing:** ensure cypress closes the web dev server ([#&#8203;21759](https://togithub.com/nrwl/nx/pull/21759))
-   **testing:** jest should handle root jest.preset.cjs ([#&#8203;21746](https://togithub.com/nrwl/nx/pull/21746))
-   **testing:** fix cypress project targets does not exist ([#&#8203;21785](https://togithub.com/nrwl/nx/pull/21785))
-   **testing:** pin cypress version to avoid issue with verifying cypress ([#&#8203;21917](https://togithub.com/nrwl/nx/pull/21917))
-   **testing:** ensure baseUrl is not passed to playwright cli ([#&#8203;21943](https://togithub.com/nrwl/nx/pull/21943))
-   **testing:** playwright plugin enoent error ([#&#8203;21951](https://togithub.com/nrwl/nx/pull/21951))
-   **testing:** add null checks when reading targets ([#&#8203;21952](https://togithub.com/nrwl/nx/pull/21952))
-   **testing:** calculate correct support file path in cypress e2e preset ([#&#8203;22096](https://togithub.com/nrwl/nx/pull/22096))
-   **testing:** increase the default timeout to 60s for the cypress web dev server to start ([#&#8203;22132](https://togithub.com/nrwl/nx/pull/22132))
-   **testing:** close cypress web server correctly on windows ([#&#8203;22125](https://togithub.com/nrwl/nx/pull/22125))
-   **testing:** resolve cypress config glob pattern correctly to handle root projects ([#&#8203;22165](https://togithub.com/nrwl/nx/pull/22165))
-   **testing:** minor adjustment to the config generation template ([#&#8203;22175](https://togithub.com/nrwl/nx/pull/22175))
-   **testing:** fix project config might not be defined ([#&#8203;22174](https://togithub.com/nrwl/nx/pull/22174))
-   **vite:** import esbuild before loading config to keep it in cache ([#&#8203;21685](https://togithub.com/nrwl/nx/pull/21685))
-   **vite:** normalize vitest cli args in executor ([#&#8203;21870](https://togithub.com/nrwl/nx/pull/21870))
-   **vite:** project conversion generator ([#&#8203;21646](https://togithub.com/nrwl/nx/pull/21646))
-   **vite:** update vitest and use parseCLI ([#&#8203;21890](https://togithub.com/nrwl/nx/pull/21890))
-   **vite:** Storing nxjson details too early ([#&#8203;22285](https://togithub.com/nrwl/nx/pull/22285))
-   **vue:** fixing vue and nuxt welcome templates ([#&#8203;21792](https://togithub.com/nrwl/nx/pull/21792))
-   **vue:** tailwind generator ignoring styleSheet option ([#&#8203;21840](https://togithub.com/nrwl/nx/pull/21840))
-   **vue:** small typo in CNW description ([#&#8203;21888](https://togithub.com/nrwl/nx/pull/21888))
-   **webpack:** require ForkTsCheckerWebpackPlugin only as required ([#&#8203;21629](https://togithub.com/nrwl/nx/pull/21629))
-   **webpack:** resolve relative path for assets inputs ([#&#8203;21822](https://togithub.com/nrwl/nx/pull/21822))
-   **webpack:** correctly handle paranthesis in PostCSS in url ([#&#8203;21884](https://togithub.com/nrwl/nx/pull/21884))
-   **webpack:** surface original error when remotes fail to start ([#&#8203;21919](https://togithub.com/nrwl/nx/pull/21919))

##### ❤️  Thank You

-   Alex Swindler
-   Alon Valadji [@&#8203;alonronin](https://togithub.com/alonronin)
-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Benjamin Cabanes [@&#8203;bcabanes](https://togithub.com/bcabanes)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Dan Roujinsky
-   Edouard Bozon [@&#8203;edbzn](https://togithub.com/edbzn)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Javier Abia [@&#8203;weberjavi](https://togithub.com/weberjavi)
-   Jonathan Cammisuli
-   Julian Martin
-   Juri [@&#8203;juristr](https://togithub.com/juristr)
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonas [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Nikita Barsukov [@&#8203;nsbarsukov](https://togithub.com/nsbarsukov)
-   Philip Fulcher
-   Remco Krams
-   Steven Nance [@&#8203;llwt](https://togithub.com/llwt)
-   Tine Kondo [@&#8203;tinesoft](https://togithub.com/tinesoft)
-   Vadim Goy
-   Victor Login [@&#8203;batazor](https://togithub.com/batazor)
-   Viktor Pöntinen
-   Yu Zheng
-   Zachary DeRose [@&#8203;ZackDeRose](https://togithub.com/ZackDeRose)

### [`v18.1.0`](https://togithub.com/nrwl/nx/compare/18.0.8...5e64e7dcb011fd164e22f87a9f2a6358a7c2cd32)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.8...5e64e7dcb011fd164e22f87a9f2a6358a7c2cd32)

</details>

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

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.3.1...v1.4.0)

#####    🚀 Features

-   Throw error when using snapshot assertion with `not`  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5294](https://togithub.com/vitest-dev/vitest/issues/5294) [<samp>(b9d37)</samp>](https://togithub.com/vitest-dev/vitest/commit/b9d378f5)
-   Add a flag to include test location in tasks  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5342](https://togithub.com/vitest-dev/vitest/issues/5342) [<samp>(d627e)</samp>](https://togithub.com/vitest-dev/vitest/commit/d627e209)
-   **cli**:
    -   Support wildcards in `--project` option  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5295](https://togithub.com/vitest-dev/vitest/issues/5295) [<samp>(201bd)</samp>](https://togithub.com/vitest-dev/vitest/commit/201bd067)
-   **config**:
    -   Add `shuffle.files` and `shuffle.tests` options  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5281](https://togithub.com/vitest-dev/vitest/issues/5281) [<samp>(356db)</samp>](https://togithub.com/vitest-dev/vitest/commit/356db87b)
    -   Deprecate `cache.dir` option  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5229](https://togithub.com/vitest-dev/vitest/issues/5229) [<samp>(d7e8b)</samp>](https://togithub.com/vitest-dev/vitest/commit/d7e8b53e)
-   **coverage**:
    -   Support `--changed` option  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5314](https://togithub.com/vitest-dev/vitest/issues/5314) [<samp>(600b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/600b44d6)
-   **vitest**:
    -   Support `clearScreen` cli flag  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5241](https://togithub.com/vitest-dev/vitest/issues/5241) [<samp>(e1735)</samp>](https://togithub.com/vitest-dev/vitest/commit/e1735fb6)

#####    🐞 Bug Fixes

-   Repeatable `--project` option  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5265](https://togithub.com/vitest-dev/vitest/issues/5265) [<samp>(d1a06)</samp>](https://togithub.com/vitest-dev/vitest/commit/d1a06730)
-   `--inspect-brk` to pause before execution  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5355](https://togithub.com/vitest-dev/vitest/issues/5355) [<samp>(e77c5)</samp>](https://togithub.com/vitest-dev/vitest/commit/e77c553f)
-   Correct locations in test.each tasks  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(4f6e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/4f6e39c1)
-   **api**:
    -   Use resolvedUrls from devserver  -  by [@&#8203;saitonakamura](https://togithub.com/saitonakamura) and [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5289](https://togithub.com/vitest-dev/vitest/issues/5289) [<samp>(2fef5)</samp>](https://togithub.com/vitest-dev/vitest/commit/2fef5a7e)
-   **browser**:
    -   Add `magic-string` to `optimizeDeps.include`  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5278](https://togithub.com/vitest-dev/vitest/issues/5278) [<samp>(8f04e)</samp>](https://togithub.com/vitest-dev/vitest/commit/8f04e798)
-   **coverage**:
    -   Expensive regexp hangs v8 report generation  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5259](https://togithub.com/vitest-dev/vitest/issues/5259) [<samp>(d68a7)</samp>](https://togithub.com/vitest-dev/vitest/commit/d68a7390)
    -   V8 to ignore type-only files  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5328](https://togithub.com/vitest-dev/vitest/issues/5328) [<samp>(c3eb8)</samp>](https://togithub.com/vitest-dev/vitest/commit/c3eb8deb)
    -   Respect source maps of pre-transpiled sources  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5367](https://togithub.com/vitest-dev/vitest/issues/5367) [<samp>(6eda4)</samp>](https://togithub.com/vitest-dev/vitest/commit/6eda473f)
    -   Prevent `reportsDirectory` from removing user's project  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5376](https://togithub.com/vitest-dev/vitest/issues/5376) [<samp>(07ec3)</samp>](https://togithub.com/vitest-dev/vitest/commit/07ec3779)
-   **expect**:
    -   Show diff on `toContain/toMatch` assertion error  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5267](https://togithub.com/vitest-dev/vitest/issues/5267) [<samp>(8ee59)</samp>](https://togithub.com/vitest-dev/vitest/commit/8ee59f0d)
-   **forks**:
    -   Wrap `defines` to support `undefined` values  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5284](https://togithub.com/vitest-dev/vitest/issues/5284) [<samp>(5b58b)</samp>](https://togithub.com/vitest-dev/vitest/commit/5b58b399)
-   **typecheck**:
    -   Update get-tsconfig 4.7.3 to fix false circularity error  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5384](https://togithub.com/vitest-dev/vitest/issues/5384) [<samp>(bdc37)</samp>](https://togithub.com/vitest-dev/vitest/commit/bdc371ee)
-   **ui**:
    -   Escape html in error diff  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5325](https://togithub.com/vitest-dev/vitest/issues/5325) [<samp>(ab60b)</samp>](https://togithub.com/vitest-dev/vitest/commit/ab60bf8d)
-   **vitest**:
    -   Loosen `onConsoleLog` return type  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5337](https://togithub.com/vitest-dev/vitest/issues/5337) [<samp>(6d1b1)</samp>](https://togithub.com/vitest-dev/vitest/commit/6d1b1451)
    -   Ensure restoring terminal cursor on close  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5292](https://togithub.com/vitest-dev/vitest/issues/5292) [<samp>(0bea2)</samp>](https://togithub.com/vitest-dev/vitest/commit/0bea2247)
    -   Ignore timeout on websocket reporter rpc  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(38119)</samp>](https://togithub.com/vitest-dev/vitest/commit/38119b75)
    -   Correctly override api with --no-api flag  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5386](https://togithub.com/vitest-dev/vitest/issues/5386) [<samp>(51d1d)</samp>](https://togithub.com/vitest-dev/vitest/commit/51d1d472)
    -   Logs in `beforeAll` and `afterAll`  -  by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5288](https://togithub.com/vitest-dev/vitest/issues/5288) [<samp>(ce5ca)</samp>](https://togithub.com/vitest-dev/vitest/commit/ce5ca6bf)
-   **workspace**:
    -   Throw error when browser mode and `@vitest/coverage-v8` are used  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5250](https://togithub.com/vitest-dev/vitest/issues/5250) [<samp>(29f98)</samp>](https://togithub.com/vitest-dev/vitest/commit/29f98cd3)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.3.1...v1.4.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzguMSIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-19 03:01:03 +00:00
liuyi
797e3c5b35 fix(server): do not force sign in password length (#6188)
hotfix
2024-03-19 10:58:34 +08:00
liuyi
bba1a95f9c chore: bump base version to 0.14.0 (#6170) 2024-03-19 02:34:18 +00:00
DarkSky
da32682afb fix(server): handle expired lock re-release & external locker injection (#6145) 2024-03-19 02:16:47 +00:00
liuyi
4702c1a9ca fix(server): inject correct locker to request scope mutex (#6140) 2024-03-19 02:16:35 +00:00
DarkSky
f18133af82 fix(server): wrap read-modify-write apis with distributed lock (#6142) 2024-03-19 02:16:24 +00:00
liuyi
a4cd8d6ca3 chore(server): organize server configs (#6169) 2024-03-19 02:05:56 +00:00
liuyi
a721b3887b fix(server): hotfix auth & doc push (#6168) 2024-03-18 16:32:35 +08:00
Peng Xiao
5693d90451 e2e(core): add test for split view (#6133) 2024-03-18 07:04:06 +00:00
Peng Xiao
dc8f351051 refactor(component): render react element into lit (#6124)
See docs in https://insider.affine.pro/share/af3478a2-9c9c-4d16-864d-bffa1eb10eb6/oL1ifjA4rKv7HRn5nYzIF

This PR also enables opening split view by ctrl-click a page link in a doc.
2024-03-18 07:04:02 +00:00
Peng Xiao
e896f19f1a fix(electron): disable mica for windows for now (#6165)
Upstream https://github.com/electron/electron/issues/41073
2024-03-18 06:52:40 +00:00
Peng Xiao
386bd033af fix(electron): add dedicated api for opening external links in the default browser (#6166) 2024-03-18 06:41:48 +00:00
Fangdun Tsai
8301d82548 fix(core): sync list titles in sidebar (#6157) 2024-03-18 14:39:28 +08:00
LongYinan
0b0b3e0ae9 build(deps): bump follow-redirects from 1.15.5 to 1.15.6 (#6164)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
<details>
<summary>Commits</summary>
<ul>
<li><a href="35a517c586"><code>35a517c</code></a> Release version 1.15.6 of the npm package.</li>
<li><a href="c4f847f851"><code>c4f847f</code></a> Drop Proxy-Authorization across hosts.</li>
<li><a href="8526b4a1b2"><code>8526b4a</code></a> Use GitHub for disclosure.</li>
<li>See full diff in <a href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.5&new-version=1.15.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).

</details>
2024-03-18 03:53:11 +00:00
liuyi
268ca03f62 fix(server): ensure selfhost admin created after all data migrated (#6163)
fix #6154 

cp to canary
2024-03-18 11:43:12 +08:00
LongYinan
58c81dd1ac chore: bump up get-stream version to v9 (#6139)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/get-stream (get-stream)</summary>

### [`v9.0.0`](https://togithub.com/sindresorhus/get-stream/releases/tag/v9.0.0)

[Compare Source](https://togithub.com/sindresorhus/get-stream/compare/v8.0.1...v9.0.0)

##### Breaking

-   Require Node.js 18 ([#&#8203;111](https://togithub.com/sindresorhus/get-stream/issues/111))  [`7ccab70`](https://togithub.com/sindresorhus/get-stream/commit/7ccab70)

##### Improvements

-   Fix browser support ([#&#8203;122](https://togithub.com/sindresorhus/get-stream/issues/122))  [`4d233d3`](https://togithub.com/sindresorhus/get-stream/commit/4d233d3)
-   Allow multiple readers at once ([#&#8203;121](https://togithub.com/sindresorhus/get-stream/issues/121))  [`a51d085`](https://togithub.com/sindresorhus/get-stream/commit/a51d085)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-18 03:08:03 +00:00
liuyi
e94be8968b fix(server): hotfix (#6161) 2024-03-18 10:41:11 +08:00
Fangdun Tsai
636fa503b8 feat: support esc shortcut on input-edit (#6143) 2024-03-16 13:13:37 +00:00
Fangdun Tsai
eec24db1a1 fix: use the esc shortcut to exit in create collection dialog (#6138) 2024-03-16 19:18:06 +08:00
LongYinan
7ed86a66e8 build(core): add source-map-loader for blocksuite codes (#6137) 2024-03-15 09:37:48 +00:00
LongYinan
bc465f9704 Revert "fix(server): wrap read-modify-write apis with distributed lock (#5979)"
This reverts commit 34f892b05b.
2024-03-15 16:55:48 +08:00
Chen
a24320da68 feat: bump blocksuite (#6123) 2024-03-15 16:54:24 +08:00
EYHN
78f7e3a45e fix(core): catch page load error (#6134) 2024-03-15 08:44:36 +00:00
DarkSky
34f892b05b fix(server): wrap read-modify-write apis with distributed lock (#5979) 2024-03-15 13:31:11 +08:00
Chen
fd4e4123f5 fix: note added with template should be edgeless only (#6122) 2024-03-15 12:51:03 +08:00
EYHN
9ba47f43bb fix(core): fix active view undefined (#6131)
close https://github.com/toeverything/AFFiNE/issues/6127, #6132
2024-03-15 03:45:41 +00:00
EYHN
12c04a8575 feat(core): allow switch workspace in loading fallback (#6129) 2024-03-15 03:45:32 +00:00
EYHN
96c67afc11 fix(core): catch auth error (#6128) 2024-03-15 03:45:23 +00:00
Cats Juice
ee75b468e6 fix(core): shared page's present button not working (#6117) 2024-03-15 03:32:37 +00:00
Peng Xiao
e35f6dca0e fix: update docs (#6094) 2024-03-15 02:33:55 +00:00
LongYinan
5a0e207a8c ci: fix canary backend auto release job (#6121) 2024-03-15 02:21:57 +00:00
liuyi
533c181640 feat(server): cleanup gateway code (#6118) 2024-03-15 02:00:40 +00:00
liuyi
79ffca314d feat(server): allow prefetch doc stats before sync (#6115) 2024-03-14 17:34:33 +00:00
Cats Juice
7fdb1f2d97 feat(core): adjust split view ui (#6076) 2024-03-14 06:41:29 +00:00
EYHN
b9fc848824 fix(infra): avoid data loss (#6111) 2024-03-14 06:27:49 +00:00
Peng Xiao
d2bad68b74 feat(core): move blocksuite flags to experimental features (#6113) 2024-03-14 05:24:47 +00:00
Peng Xiao
dd9a253772 feat(core): add split view to experimental features settings (#6093) 2024-03-14 05:13:04 +00:00
Lye Hongtao
05583dbe98 feat: bump blocksuite (#6112) 2024-03-14 13:05:52 +08:00
liuyi
c5d8c6cc8c fix(server): blob api should be public (#6109) 2024-03-14 02:36:13 +00:00
regischen
c1f5e848b4 feat: blocksuite bump (#6104) 2024-03-13 23:50:10 +08:00
Peng Xiao
e116a82c24 fix(component): an input display issue in confirm dialog (#6102)
fix the following issue of `input`

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/8a439fd1-3f96-46c3-9e8d-0449779b5c36.png)
2024-03-13 11:40:34 +00:00
DarkSky
282b788258 fix: allow empty mailer password (#6066)
fix #6046
smtp relay may allow empty password, although this is usually not safe
2024-03-13 10:07:18 +00:00
liuyi
f2ec81b2d0 feat(server): user connected accounts migration (#6103) 2024-03-13 09:28:52 +00:00
regischen
fddbb426a6 feat: bump blocksuite (#6078) 2024-03-13 17:04:21 +08:00
liuyi
573528be41 fix(server): user can not signup through oauth if ever invited (#6101) 2024-03-13 07:50:11 +00:00
EYHN
fd9084ea6a feat(infra): computed livedata (#6091) 2024-03-13 06:26:05 +00:00
EYHN
cacc2d311e feat(infra): livedata flatten (#6083) 2024-03-13 06:06:18 +00:00
Peng Xiao
e8f83a237d fix(core): vitest on windows (#6100) 2024-03-13 04:32:39 +00:00
LongYinan
9e1adfed81 chore: bump up all non-major dependencies (#6069)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`^0.16.0` -> `^0.17.0`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.16.0/0.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.16.0/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.16.0/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [next-themes](https://togithub.com/pacocoursey/next-themes) | [`^0.2.1` -> `^0.3.0`](https://renovatebot.com/diffs/npm/next-themes/0.2.1/0.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/next-themes/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next-themes/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next-themes/0.2.1/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next-themes/0.2.1/0.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>storybookjs/test-runner (@&#8203;storybook/test-runner)</summary>

### [`v0.17.0`](https://togithub.com/storybookjs/test-runner/releases/tag/v0.17.0)

[Compare Source](https://togithub.com/storybookjs/test-runner/compare/v0.16.0...v0.17.0)

##### 🚀 Enhancement

-   Release 0.17.0 [#&#8203;438](https://togithub.com/storybookjs/test-runner/pull/438) ([@&#8203;JReinhold](https://togithub.com/JReinhold) [@&#8203;shilman](https://togithub.com/shilman) [@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic) [@&#8203;yannbf](https://togithub.com/yannbf) [@&#8203;ndelangen](https://togithub.com/ndelangen))
-   Support Storybook 8 [#&#8203;429](https://togithub.com/storybookjs/test-runner/pull/429) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Support unhandled rendering errors [#&#8203;421](https://togithub.com/storybookjs/test-runner/pull/421) ([@&#8203;yannbf](https://togithub.com/yannbf))

##### 🐛 Bug Fix

-   Prebundle dependencies [#&#8203;431](https://togithub.com/storybookjs/test-runner/pull/431) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Update internal example to Storybook 8 [#&#8203;430](https://togithub.com/storybookjs/test-runner/pull/430) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   swap storybook/jest to storybook/test [#&#8203;427](https://togithub.com/storybookjs/test-runner/pull/427) ([@&#8203;ndelangen](https://togithub.com/ndelangen))
-   Add PR template [#&#8203;428](https://togithub.com/storybookjs/test-runner/pull/428) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Fix build step [#&#8203;425](https://togithub.com/storybookjs/test-runner/pull/425) ([@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic))
-   Remove --prerelease from sb upgrade CI [#&#8203;423](https://togithub.com/storybookjs/test-runner/pull/423) ([@&#8203;JReinhold](https://togithub.com/JReinhold))
-   Support stories with meta id for permalinking [#&#8203;419](https://togithub.com/storybookjs/test-runner/pull/419) ([@&#8203;yannbf](https://togithub.com/yannbf))

##### 📝 Documentation

-   Docs: Add remark regarding pnp support [#&#8203;432](https://togithub.com/storybookjs/test-runner/pull/432) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   docs: replace postRender(deprecated) with postVisit [#&#8203;418](https://togithub.com/storybookjs/test-runner/pull/418) ([@&#8203;junkisai](https://togithub.com/junkisai))

##### Authors: 6

-   Jeppe Reinhold ([@&#8203;JReinhold](https://togithub.com/JReinhold))
-   Junki Saito ([@&#8203;junkisai](https://togithub.com/junkisai))
-   Michael Shilman ([@&#8203;shilman](https://togithub.com/shilman))
-   Norbert de Langen ([@&#8203;ndelangen](https://togithub.com/ndelangen))
-   Valentin Palkovic ([@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic))
-   Yann Braga ([@&#8203;yannbf](https://togithub.com/yannbf))

</details>

<details>
<summary>pacocoursey/next-themes (next-themes)</summary>

### [`v0.3.0`](https://togithub.com/pacocoursey/next-themes/releases/tag/v0.3.0)

#### What's

-   `"use client"` was added to the library output so that you can use it as a React Client component without creating a wrapper.

#### New Contributors

-   [@&#8203;MaxLeiter](https://togithub.com/MaxLeiter) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/120](https://togithub.com/pacocoursey/next-themes/pull/120)
-   [@&#8203;gnoff](https://togithub.com/gnoff) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/135](https://togithub.com/pacocoursey/next-themes/pull/135)
-   [@&#8203;WITS](https://togithub.com/WITS) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/168](https://togithub.com/pacocoursey/next-themes/pull/168)
-   [@&#8203;dimaMachina](https://togithub.com/dimaMachina) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/186](https://togithub.com/pacocoursey/next-themes/pull/186)
-   [@&#8203;amrhassab](https://togithub.com/amrhassab) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/192](https://togithub.com/pacocoursey/next-themes/pull/192)
-   [@&#8203;BekzodIsakov](https://togithub.com/BekzodIsakov) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/241](https://togithub.com/pacocoursey/next-themes/pull/241)
-   [@&#8203;BlankParticle](https://togithub.com/BlankParticle) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/253](https://togithub.com/pacocoursey/next-themes/pull/253)

**Full Changelog**: https://github.com/pacocoursey/next-themes/compare/v0.2.0...v0.3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzOC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-13 04:22:43 +00:00
liuyi
73801ce864 fix(server): gql schema is outdated (#6097) 2024-03-13 04:11:44 +00:00
liuyi
495855cc07 fix(server): server info api should be public (#6098) 2024-03-13 03:59:26 +00:00
EYHN
05b79aae89 fix(core): fix tags includes missing error (#6096)
fix https://toeverything.sentry.io/issues/5059796018/events/0899e77a3f6842088568b4cc42b814d7/
2024-03-13 02:43:28 +00:00
liuyi
d8f9e357d0 ci: proxy /oauth to server (#6095) 2024-03-13 02:33:58 +00:00
Peng Xiao
20bce48132 fix: experimental settings sometimes not show (#6090) 2024-03-13 02:07:51 +00:00
Peng Xiao
3f27b7e5f7 fix(core): adjust suspense loading for some components (#6088)
Adjust setting & user info popover suspense to make them a little bit more responsive
2024-03-12 15:18:43 +00:00
Peng Xiao
9f74cb32ea fix(component): input focus implementation (#6086) 2024-03-12 15:07:48 +00:00
Peng Xiao
e333b4d348 fix(core): make sidebar switch transition smooth (#6085) 2024-03-12 14:56:45 +00:00
liuyi
fb3a0e7b8f refactor(server): auth (#5895)
Remove `next-auth` and implement our own Authorization/Authentication system from scratch.

## Server

- [x] tokens
  - [x] function
  - [x] encryption

- [x] AuthController
  - [x] /api/auth/sign-in
  - [x] /api/auth/sign-out
  - [x] /api/auth/session
  - [x] /api/auth/session (WE SUPPORT MULTI-ACCOUNT!)

- [x] OAuthPlugin
  - [x] OAuthController
  - [x] /oauth/login
  - [x] /oauth/callback
  - [x] Providers
    - [x] Google
    - [x] GitHub

## Client

- [x] useSession
- [x] cloudSignIn
- [x] cloudSignOut

## NOTE:

Tests will be adding in the future
2024-03-12 10:00:09 +00:00
liuyi
af49e8cc41 ci: only enable jwst codec in canary (#6081) 2024-03-12 09:44:39 +00:00
Peng Xiao
4e79d720df docs(server): update docs for running server locally (#6080) 2024-03-12 09:33:52 +00:00
Peng Xiao
1c5279747b fix(server): migration script running on windows (#6077) 2024-03-12 16:19:48 +08:00
regischen
5c1e904335 fix: linked doc jump (#6074) 2024-03-12 16:02:56 +08:00
Lye Hongtao
d5386bee41 fix: std might not be ready when onLoad invoked (#6075) 2024-03-12 16:02:42 +08:00
Peng Xiao
83e1217f61 fix(server): server startup on windows (#6071) 2024-03-12 06:41:42 +00:00
JimmFly
f832ada98c fix(core): cannot scroll when dragging (#6070)
close TOV-671
2024-03-12 05:43:47 +00:00
EYHN
eca35ded2f fix(core): fix page priority load (#6072)
When refactoring, I planned to put the logic of loading current pages priority in `PageManager.open`, but I forgot, so the current page will not be loaded priority.

But currently `PageManager.open` has been used in many places, but only one priority page can be set, so the logic of setting the priority page is still placed in the detail page.
2024-03-12 05:09:14 +00:00
EYHN
3672366fea fix(core): fix missing windows controls (#6067)
fix #6064
2024-03-12 02:43:45 +00:00
JimmFly
33501d5fdc fix(electron): invalid isLinux function (#6065) 2024-03-12 10:17:53 +08:00
Peng Xiao
716f679914 feat(electron): mica styles for windows (#5802)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/1b59f076-fc43-42a0-899d-007aeb16a4d6.png)
2024-03-11 09:41:09 +00:00
JimmFly
b26efa4940 feat(core): add tag operation to tag list (#5998)
https://github.com/toeverything/AFFiNE/assets/102217452/11745733-0d7b-494b-97fd-33e40a240a02
2024-03-11 08:36:07 +00:00
LongYinan
cb96d7de43 chore: bump up @blocksuite/icons version to v2.1.45 (#6061)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.45`](bc31d70961...cc4113532a)

[Compare Source](bc31d70961...cc4113532a)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-11 07:35:56 +00:00
EYHN
ba4637a6bd fix(core): add view error boundary (#6036) 2024-03-11 07:09:47 +00:00
Peng Xiao
c93077f643 fix: divider styles issue (#6058)
Using height: 1 as divider may have some display issues on Chrome. No idea why yet.
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/42b342fb-d109-4bf7-b458-e870099710bc.png)
2024-03-11 06:04:55 +00:00
Jason
fc9bf9cd8a chore(component): simplify code (#6056) 2024-03-11 14:04:16 +08:00
LongYinan
d81c017224 chore: bump up all non-major dependencies (#6037)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.525.0` -> `3.529.1`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.0.7` -> `18.0.8`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.0.7/18.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.0.7/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.0.7/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.34.0` -> `^0.35.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.36.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

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

### [`v3.529.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35290-2024-03-07)

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

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

</details>

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

### [`v18.0.8`](https://togithub.com/nrwl/nx/releases/tag/18.0.8)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.7...18.0.8)

##### 18.0.8 (2024-03-08)

##### 🩹 Fixes

-   **angular:** log message about unsupported ng cache command ([#&#8203;22154](https://togithub.com/nrwl/nx/pull/22154))
-   **angular:** fix message logged for unsupported ng cache ([#&#8203;22211](https://togithub.com/nrwl/nx/pull/22211))
-   **angular:** Module federation with Crystal enabled. ([#&#8203;22224](https://togithub.com/nrwl/nx/pull/22224))
-   **angular:** install jsonc-eslint-parser only when [@&#8203;nx/dependency-checks](https://togithub.com/nx/dependency-checks) is used ([#&#8203;22231](https://togithub.com/nrwl/nx/pull/22231))
-   **core:** setting up .nx inside gradle shouldn't throw ([#&#8203;21957](https://togithub.com/nrwl/nx/pull/21957))
-   **core:** add outputs to nx.json for nx init in monorepo ([#&#8203;22061](https://togithub.com/nrwl/nx/pull/22061))
-   **core:** fix no such file or directory, open 'package-lock.json' ([#&#8203;21835](https://togithub.com/nrwl/nx/pull/21835))
-   **core:** fix terminal message alignment on errors ([#&#8203;22189](https://togithub.com/nrwl/nx/pull/22189))
-   **graph:** show command property as monospace ([#&#8203;21997](https://togithub.com/nrwl/nx/pull/21997))
-   **linter:** add v7 of typescript-eslint to peerDeps ([#&#8203;21853](https://togithub.com/nrwl/nx/pull/21853))
-   **misc:** improve package.json scripts handling when running "nx init" and "nx add" ([#&#8203;22168](https://togithub.com/nrwl/nx/pull/22168))
-   **misc:** do not add includedScripts unless really needed when running nx add ([#&#8203;22180](https://togithub.com/nrwl/nx/pull/22180))
-   **nextjs:** avoid path error on dev  server creation ([#&#8203;21998](https://togithub.com/nrwl/nx/pull/21998))
-   **nextjs:** Surface error codes when build is interrupted by signals SIGINT, SIGTERM etc... ([#&#8203;22190](https://togithub.com/nrwl/nx/pull/22190))
-   **nx-plugin:** do not print duplicated warning about derived format when generating plugin ([#&#8203;22230](https://togithub.com/nrwl/nx/pull/22230))
-   **react:** pass correct argument to rspack configuration generator ([#&#8203;22241](https://togithub.com/nrwl/nx/pull/22241))
-   **release:** store rawVersionSpec on versionData ([#&#8203;22071](https://togithub.com/nrwl/nx/pull/22071))
-   **testing:** close cypress web server correctly on windows ([#&#8203;22125](https://togithub.com/nrwl/nx/pull/22125))
-   **testing:** resolve cypress config glob pattern correctly to handle root projects ([#&#8203;22165](https://togithub.com/nrwl/nx/pull/22165))
-   **testing:** fix project config might not be defined ([#&#8203;22174](https://togithub.com/nrwl/nx/pull/22174))
-   **vue:** small typo in CNW description ([#&#8203;21888](https://togithub.com/nrwl/nx/pull/21888))

##### ❤️  Thank You

-   Alon Valadji [@&#8203;alonronin](https://togithub.com/alonronin)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Javier Abia [@&#8203;weberjavi](https://togithub.com/weberjavi)
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Victor Login [@&#8203;batazor](https://togithub.com/batazor)

</details>

<details>
<summary>open-telemetry/opentelemetry-js-contrib (@&#8203;opentelemetry/instrumentation-graphql)</summary>

### [`v0.38.0`](efdfc727a4...f81f8a76a8)

[Compare Source](32204a362d...fcea8ca0c8)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-11 03:53:00 +00:00
LongYinan
c37f15cf97 chore: bump up softprops/action-gh-release action to v2 (#6051)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [softprops/action-gh-release](https://togithub.com/softprops/action-gh-release) | action | major | `v1` -> `v2` |

---

### Release Notes

<details>
<summary>softprops/action-gh-release (softprops/action-gh-release)</summary>

### [`v2`](https://togithub.com/softprops/action-gh-release/compare/v1...v2)

[Compare Source](https://togithub.com/softprops/action-gh-release/compare/v1...v2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-11 02:25:33 +00:00
LongYinan
08fa157ce4 chore: bump up vite-plugin-istanbul version to v6 (#6054)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>ifaxity/vite-plugin-istanbul (vite-plugin-istanbul)</summary>

### [`v6.0.0`](https://togithub.com/iFaxity/vite-plugin-istanbul/releases/tag/v6.0.0)

[Compare Source](https://togithub.com/ifaxity/vite-plugin-istanbul/compare/v5.0.0...v6.0.0)

##### Bug Fixes

-   add regex for vue SFC to prevent instrumenting style and templates ([#&#8203;180](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/180)) ([c8a7ca7](c8a7ca771e)), closes [#&#8203;96](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/96) [#&#8203;178](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/178) [#&#8203;89](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/89)

-   feat!: update to support vite v5  ([#&#8203;183](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/183)) ([614f8bd](614f8bd365)), closes [#&#8203;183](https://togithub.com/ifaxity/vite-plugin-istanbul/issues/183)

##### BREAKING CHANGES

-   updating from espree v9 to v10 deprecates older node versions

-   feat!: update to support vite v5

-   least supported version changed from v2.9.1 to v4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-11 02:15:20 +00:00
EYHN
5091174da2 fix(core): remove unexpected loading (#6035) 2024-03-09 15:01:18 +00:00
EYHN
ae22d6469d fix(core): fix unit test (#6040) 2024-03-09 15:01:16 +00:00
Fangdun Tsai
c99f0249d9 fix(native): needless borrows for generic args (#6039) 2024-03-06 14:52:16 +00:00
LongYinan
3aba2d220b fix: backlinks jump (#6034)
Fix [AFF-656](https://linear.app/affine-design/issue/AFF-656/back-links-看起来都坏了)
2024-03-06 11:06:02 +00:00
LongYinan
e1ec90dcc5 ci: add write packages permission to release workflow 2024-03-06 18:25:37 +08:00
LongYinan
665fc69f67 ci: add write permission to release workflow 2024-03-06 18:25:26 +08:00
JimmFly
c7dd6778ac fix(core): disable doc info and backlinks in readonly mode (#6033)
close AFF-671

<img width="1422" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/ef80b195-3d67-4751-82d9-12973f331798">
2024-03-06 10:07:20 +00:00
LongYinan
e96b86ec71 ci: add write permission to release workflow 2024-03-06 15:01:21 +08:00
EYHN
633a5bab53 fix(core): fix cmdk not show current page (#6031) 2024-03-06 06:31:38 +00:00
Fangdun Tsai
5d63ca0bab fix(core): canvas font loading in desktop (#6025) 2024-03-06 13:42:56 +08:00
fourdim
0ff1e8d2f7 fix: breaking function signature on showImportModal onSuceessHandler (#6011)
This will fix the breaking change introduced in
da781df473
This should be merged after the next BlockSuite bump.
2024-03-05 18:51:39 +00:00
EYHN
dce3b59c52 fix(core): fix falsy e2e (#6027) 2024-03-05 15:25:19 +00:00
EYHN
5d8dea084c fix(core): fix journal missing after refresh (#6022) 2024-03-05 11:42:09 +00:00
JimmFly
c1afdb9bd6 fix(core): unexpected line breaks (#6019) 2024-03-05 10:02:22 +00:00
EYHN
ceec54b423 fix(docs): fix bug-report template (#6020) 2024-03-05 09:52:57 +00:00
EYHN
e9d51f6c96 fix(component): journal header button no responce (#6021) 2024-03-05 09:40:19 +00:00
Peng Xiao
65b32156a8 build: do not fail build for a non-fatal error (#6017) 2024-03-05 08:27:47 +00:00
EYHN
7c55472b78 docs: update bug-report.yml (#6018) 2024-03-05 16:27:14 +08:00
Peng Xiao
55ecd92722 fix(electron): windows distribution name (#6014) 2024-03-05 07:53:30 +00:00
Peng Xiao
63e82cca78 build: remove incorrect project dep (#6016) 2024-03-05 07:44:13 +00:00
Lye Hongtao
5bebcec2eb feat: bump blocksuite (#6015)
## Features
- https://github.com/toeverything/BlockSuite/pull/6379 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6375 @doodlewind
- https://github.com/toeverything/BlockSuite/pull/6370 @donteatfriedrice

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/6380 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6377 @doouding
- https://github.com/toeverything/BlockSuite/pull/6376 @fourdim
- https://github.com/toeverything/BlockSuite/pull/6374 @regischen

## Misc
- docs: update examples desc
- ci: start publishing 0.13 canary
2024-03-05 07:35:05 +00:00
EYHN
7c76c25a9c refactor(core): new back&forward button base on workbench (#6012)
# feature:

## In Browser:
- hidden back&forward button in sidebar.
- back and forward is equal with `window.history.back()` `window.history.forward()`

## In Desktop:
- Back and forward can be controlled through the sidebar, cmdk, and shortcut keys.
- back and forward act on the currently **active** view.
- buttons change disable&enable style based on current active view history

# Refactor:

Move app-sidebar and app-container from @affine/component to @affine/core
2024-03-05 07:01:24 +00:00
Lye Hongtao
b06aeb22dd fix: view in edgeless button of surface block (#6013)
Co-authored-by: donteatfriedrice <huisheng.chen7788@outlook.com>
Co-authored-by: Chen <99816898+donteatfriedrice@users.noreply.github.com>
2024-03-05 14:35:53 +08:00
Chen
ebf7a74387 feat: bump blocksuite (#6010) 2024-03-05 14:19:11 +08:00
LongYinan
43813d7f86 build(deps): bump mio from 0.8.9 to 0.8.11 (#6009)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.9 to 0.8.11.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md">mio's changelog</a>.</em></p>
<blockquote>
<h1>0.8.11</h1>
<ul>
<li>Fix receiving IOCP events after deregistering a Windows named pipe
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1760">tokio-rs/mio#1760</a>, backport pr:
<a href="https://redirect.github.com/tokio-rs/mio/pull/1761">tokio-rs/mio#1761</a>).</li>
</ul>
<h1>0.8.10</h1>
<h2>Added</h2>
<ul>
<li>Solaris support
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1724">tokio-rs/mio#1724</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0328bdef90"><code>0328bde</code></a> Release v0.8.11</li>
<li><a href="7084498512"><code>7084498</code></a> Fix warnings</li>
<li><a href="90d4fe00df"><code>90d4fe0</code></a> named-pipes: fix receiving IOCP events after deregister</li>
<li><a href="c710a307f8"><code>c710a30</code></a> Add v0.8.x to the CI</li>
<li><a href="c29e21c244"><code>c29e21c</code></a> Release v0.8.10</li>
<li><a href="f6a20da1c8"><code>f6a20da</code></a> Add Solaris operating system support (<a href="https://redirect.github.com/tokio-rs/mio/issues/1724">#1724</a>)</li>
<li>See full diff in <a href="https://github.com/tokio-rs/mio/compare/v0.8.9...v0.8.11">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mio&package-manager=cargo&previous-version=0.8.9&new-version=0.8.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).

</details>
2024-03-05 04:02:36 +00:00
LongYinan
9a3ae9302e chore: bump up all non-major dependencies (#5964)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.523.0` -> `3.525.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.523.0/3.525.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.525.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.525.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.523.0/3.525.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.523.0/3.525.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@node-rs/jsonwebtoken](https://togithub.com/napi-rs/node-rs) | [`^0.4.0` -> `^0.5.0`](https://renovatebot.com/diffs/npm/@node-rs%2fjsonwebtoken/0.4.0/0.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fjsonwebtoken/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fjsonwebtoken/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fjsonwebtoken/0.4.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fjsonwebtoken/0.4.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.0.5` -> `18.0.7`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.0.5/18.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.0.5/18.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.0.5/18.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.48.0` -> `^0.49.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.48.0/0.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.48.0` -> `^0.49.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.48.0/0.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.48.0` -> `^0.49.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.48.0/0.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.48.0` -> `^0.49.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.48.0/0.49.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.48.0/0.49.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai-effect](https://togithub.com/jotaijs/jotai-effect) | [`^0.5.0` -> `^0.6.0`](https://renovatebot.com/diffs/npm/jotai-effect/0.5.0/0.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-effect/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-effect/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-effect/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-effect/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [yarn](https://togithub.com/yarnpkg/berry) ([source](https://togithub.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.1.0` -> `4.1.1`](https://renovatebot.com/diffs/npm/yarn/4.1.0/4.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yarn/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yarn/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yarn/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yarn/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.525.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35250-2024-02-29)

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

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

</details>

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

### [`v0.5.1`](https://togithub.com/napi-rs/node-rs/releases/tag/%40node-rs/jsonwebtoken%400.5.1)

[Compare Source](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.5.0...@node-rs/jsonwebtoken@0.5.1)

#### What's Changed

-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/node-rs/pull/800](https://togithub.com/napi-rs/node-rs/pull/800)
-   fix(jsonwebtoken): handle error in decodeHeader by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/node-rs/pull/801](https://togithub.com/napi-rs/node-rs/pull/801)

**Full Changelog**: https://github.com/napi-rs/node-rs/compare/[@&#8203;node-rs/crc32](https://togithub.com/node-rs/crc32)[@&#8203;1](https://togithub.com/1).10.0...[@&#8203;node-rs/jsonwebtoken](https://togithub.com/node-rs/jsonwebtoken)[@&#8203;0](https://togithub.com/0).5.1

### [`v0.5.0`](https://togithub.com/napi-rs/node-rs/releases/tag/%40node-rs/jsonwebtoken%400.5.0)

[Compare Source](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.4.0...@node-rs/jsonwebtoken@0.5.0)

#### What's Changed

-   fix(jsonwebtoken): num typings by [@&#8203;tada5hi](https://togithub.com/tada5hi) in [https://github.com/napi-rs/node-rs/pull/777](https://togithub.com/napi-rs/node-rs/pull/777)
-   feat(jsonwebtoken): flatten claims to align with rfc by [@&#8203;tada5hi](https://togithub.com/tada5hi) in [https://github.com/napi-rs/node-rs/pull/780](https://togithub.com/napi-rs/node-rs/pull/780)
-   feat(jsonwebtoken): expose decode header utility by [@&#8203;tada5hi](https://togithub.com/tada5hi) in [https://github.com/napi-rs/node-rs/pull/795](https://togithub.com/napi-rs/node-rs/pull/795)
-   chore(\*): upgrade NAPI-RS cli and bindings by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/node-rs/pull/797](https://togithub.com/napi-rs/node-rs/pull/797)
-   feat(jsonwebtoken): support wasm32-wasi target by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/node-rs/pull/798](https://togithub.com/napi-rs/node-rs/pull/798)

#### New Contributors

-   [@&#8203;tada5hi](https://togithub.com/tada5hi) made their first contribution in [https://github.com/napi-rs/node-rs/pull/777](https://togithub.com/napi-rs/node-rs/pull/777)

**Full Changelog**: https://github.com/napi-rs/node-rs/compare/[@&#8203;node-rs/argon2](https://togithub.com/node-rs/argon2)[@&#8203;1](https://togithub.com/1).7.0...[@&#8203;node-rs/jsonwebtoken](https://togithub.com/node-rs/jsonwebtoken)[@&#8203;0](https://togithub.com/0).5.0

</details>

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

### [`v18.0.7`](https://togithub.com/nrwl/nx/releases/tag/18.0.7)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.6...18.0.7)

#### 18.0.7 (2024-03-04)

##### 🩹 Fixes

-   **core:** target defaults should represent nx.json in source info ([#&#8203;22080](https://togithub.com/nrwl/nx/pull/22080))
-   **nextjs:** Add spec files when creating a next app ([#&#8203;22079](https://togithub.com/nrwl/nx/pull/22079))
-   **release:** skip lock file update if workspaces are not enabled ([#&#8203;22055](https://togithub.com/nrwl/nx/pull/22055))
-   **remix:** ensure component-testing is exported correctly [#&#8203;22091](https://togithub.com/nrwl/nx/issues/22091) ([#&#8203;22095](https://togithub.com/nrwl/nx/pull/22095), [#&#8203;22091](https://togithub.com/nrwl/nx/issues/22091))
-   **storybook:** handle main.js file correctly in storybook plugin ([#&#8203;22081](https://togithub.com/nrwl/nx/pull/22081))
-   **testing:** calculate correct support file path in cypress e2e preset ([#&#8203;22096](https://togithub.com/nrwl/nx/pull/22096))

##### ❤️  Thank You

-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v18.0.6`](https://togithub.com/nrwl/nx/releases/tag/18.0.6)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.5...18.0.6)

##### 18.0.6 (2024-02-29)

##### 🩹 Fixes

-   **core:** nextjs-standalone generates package scripts consistent with create-next-app ([#&#8203;21996](https://togithub.com/nrwl/nx/pull/21996))
-   **misc:** make sure to add e2e crystal plugin ([#&#8203;22041](https://togithub.com/nrwl/nx/pull/22041))
-   **misc:** fix buildable libs utils calculating dependent projects from task graph ([#&#8203;22015](https://togithub.com/nrwl/nx/pull/22015))
-   **node:** Increase timeout for CI ([#&#8203;22003](https://togithub.com/nrwl/nx/pull/22003))
-   **nuxt:** fix storybook preview config path ([#&#8203;22020](https://togithub.com/nrwl/nx/pull/22020))
-   **nuxt:** Add e2e-ci and serve-static targets ([#&#8203;22056](https://togithub.com/nrwl/nx/pull/22056))
-   **release:** currentVersionResolver git-tag should prefer merged tags ([#&#8203;22082](https://togithub.com/nrwl/nx/pull/22082))

##### ❤️  Thank You

-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

</details>

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

### [`v0.49.1`](7be35c7845...3920b158d0)

[Compare Source](7be35c7845...3920b158d0)

### [`v0.49.0`](828f2ed730...7be35c7845)

[Compare Source](828f2ed730...7be35c7845)

</details>

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

### [`v0.6.0`](https://togithub.com/jotaijs/jotai-effect/releases/tag/v0.6.0)

[Compare Source](https://togithub.com/jotaijs/jotai-effect/compare/v0.5.0...v0.6.0)

#### What's Changed

-   rethrow errors thrown during effectFn and cleanup by [@&#8203;dmaskasky](https://togithub.com/dmaskasky) in [https://github.com/jotaijs/jotai-effect/pull/33](https://togithub.com/jotaijs/jotai-effect/pull/33)

**Full Changelog**: https://github.com/jotaijs/jotai-effect/compare/v0.5.0...v0.6.0

</details>

<details>
<summary>yarnpkg/berry (yarn)</summary>

### [`v4.1.1`](52909a5e0d...6b7621f073)

[Compare Source](52909a5e0d...6b7621f073)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-05 03:46:56 +00:00
Cats Juice
358e1e99c5 feat(core): set journal's really created time (#5968)
closes #5958;

This makes the creation date of the journal correspond to the date, and the creation time is the real creation time.
2024-03-05 03:37:23 +00:00
Peng Xiao
3fcbfe4d30 fix(electron): electron updater issues (#6005)
- generate-yml.js does not filter files correctly
- add version to generated bundles
- change `.AppImage` to `.appimage`. See https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/src/providers/Provider.ts#L88
2024-03-05 03:27:52 +00:00
EYHN
a9be19ce6c fix(core): fix style break when scroll to block (#6001) 2024-03-04 11:43:10 +00:00
EYHN
d935cf9d4d fix(core): dont break workspace when page load failed (#5988) 2024-03-04 11:32:56 +00:00
tzyoo
ee54e00a03 fix(core): upgrade dialog close button layout level (#6004) 2024-03-04 11:30:25 +00:00
Cats Juice
2275eee5b2 feat(core): resize and reorder split-view (#5994) 2024-03-04 11:19:39 +00:00
Peng Xiao
7b31363c51 fix(electron): do not open external links in the browser for internal links in electron (#5997) 2024-03-04 09:39:03 +00:00
EYHN
c599715963 feat(core): split right sidebar (#5971)
https://github.com/toeverything/AFFiNE/assets/13579374/c846c069-aa32-445d-b59b-b773a9b05ced

Now each view has a general container, the yellow area is the general container part, and the green part is the routing specific part.

![CleanShot 2024-03-01 at 11.47.35@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/9a9f6ad6-2207-42e5-ae66-f7426bc9f3fc.png)
2024-03-04 06:42:12 +00:00
Peng Xiao
e2a31ea1fc fix(core): some ui style issues (#5995)
Increase page info toggle click area:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7f712008-c2db-4522-81b0-6c18d2aea421.png)

fix history modal page height
2024-03-04 03:57:45 +00:00
JimmFly
ffda9a0567 feat(core): separate runtimeConfig for e2e tests and deployment (#5976)
Prior to modification, it will function for both `deploy` and `e2e-test`. Consequently, `allowLocalWorkspace` is also set to `true` in the production environment.
https://github.com/toeverything/AFFiNE/actions/runs/8093473180/job/22116199541#step:5:120
2024-03-03 12:00:11 +00:00
Peng Xiao
a1ea19fcb7 fix: optimize history animation (#5973)
- adjust timing
- make sure card do not show the bottom border on transitioning

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/7a225ec1-eb33-45ab-bf27-646bb2519a83.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/7a225ec1-eb33-45ab-bf27-646bb2519a83.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7a225ec1-eb33-45ab-bf27-646bb2519a83.mp4">Kapture 2024-03-01 at 10.56.09.mp4</video>
2024-03-01 06:08:08 +00:00
EYHN
de939bb6f6 fix(core): fix page mode scroll bar (#5955) 2024-03-01 04:46:15 +00:00
JimmFly
ff7e7f237f fix(core): update src in video tag to correct URL (#5974)
In app.affine.pro the video is not displayed correctly.

<img width="1026" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/8e9d9bb2-f973-433e-88c9-bedfe0f55935">
2024-03-01 04:36:37 +00:00
EYHN
a231884d9e fix(storybook): fix storybook test (#5970) 2024-03-01 02:30:04 +00:00
Peng Xiao
d4e78dd3d0 feat: add animation for history preview (#5966)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/5ce45d13-1117-4853-a066-e8ab1446eb4f.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/5ce45d13-1117-4853-a066-e8ab1446eb4f.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/5ce45d13-1117-4853-a066-e8ab1446eb4f.mp4">Kapture 2024-02-29 at 18.54.15.mp4</video>
2024-02-29 14:08:21 +00:00
EYHN
78ce30db69 fix(core): fix editor sidebar (#5965) 2024-02-29 13:59:20 +00:00
Cats Juice
aaf048fcb8 chore(core): update journal's daily count label (#5967)
[tov-568](https://linear.app/affine-design/issue/TOV-568/journal-聚合的部分的名称需要修改一下)
2024-02-29 13:50:09 +00:00
Peng Xiao
752c8580ae fix: remove vite-tsconfig-paths (#5960)
It will cause storybook from running.
related to https://github.com/aleclarson/vite-tsconfig-paths/issues/132

We are not actually using `vite-tsconfig-paths` now because we rely on package.json's export field to do path mapping.
2024-02-29 07:58:41 +00:00
LongYinan
6f8a4d7bd5 chore: bump up all non-major dependencies (#5897)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.515.0` -> `3.523.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.515.0/3.523.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.523.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.523.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.515.0/3.523.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.515.0/3.523.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.41` -> `3.0.0-alpha.43`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.41/3.0.0-alpha.43) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.43?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.43?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.41/3.0.0-alpha.43?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.41/3.0.0-alpha.43?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.0.4` -> `18.0.5`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.0.4/18.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.0.4/18.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.0.4/18.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.523.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35230-2024-02-27)

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

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

### [`v3.521.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35210-2024-02-23)

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

##### Features

-   requestHandler ctor param pass-through ([#&#8203;5820](https://togithub.com/aws/aws-sdk-js-v3/issues/5820)) ([9fec71d](9fec71d193))

</details>

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

### [`v3.0.0-alpha.43`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.43)

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

##### What's Changed

-   fix(cli): cleanup js binding template by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1984](https://togithub.com/napi-rs/napi-rs/pull/1984)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.42...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.43

### [`v3.0.0-alpha.42`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.42)

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

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.16.0...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.42

##### What's Changed

-   chore: fix renovate path and dedupe electron versions by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1974](https://togithub.com/napi-rs/napi-rs/pull/1974)
-   refactor(cli): refactor js-binding to support easier bundling. by [@&#8203;everett1992](https://togithub.com/everett1992) in [https://github.com/napi-rs/napi-rs/pull/1957](https://togithub.com/napi-rs/napi-rs/pull/1957)

##### New Contributors

-   [@&#8203;everett1992](https://togithub.com/everett1992) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1957](https://togithub.com/napi-rs/napi-rs/pull/1957)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.4...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.42

</details>

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

### [`v18.0.5`](https://togithub.com/nrwl/nx/releases/tag/18.0.5)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.4...18.0.5)

#### 18.0.5 (2024-02-24)

##### 🩹 Fixes

-   **angular:** do not add target defaults for the ng-packagr-lite executor when generating non-buildable library ([#&#8203;21935](https://togithub.com/nrwl/nx/pull/21935))
-   **angular:** ensure generated editor tsconfig in apps only include runtime files ([#&#8203;21945](https://togithub.com/nrwl/nx/pull/21945))
-   **core:** run migrations ordered by their target version ([#&#8203;21799](https://togithub.com/nrwl/nx/pull/21799))
-   **core:** Update NxWelcome connect to cloud ([#&#8203;21830](https://togithub.com/nrwl/nx/pull/21830))
-   **core:** propagate `verbose` flag when running `init` generator dur… ([#&#8203;21868](https://togithub.com/nrwl/nx/pull/21868))
-   **core:** ensure migrate works with yarn PnP ([#&#8203;21824](https://togithub.com/nrwl/nx/pull/21824))
-   **core:** align terminal output padding and remove leading arrow ([#&#8203;21809](https://togithub.com/nrwl/nx/pull/21809))
-   **core:** read all targets from package json when defining target defaults ([#&#8203;21719](https://togithub.com/nrwl/nx/pull/21719))
-   **core:** include nx/nuxt in migrations ([#&#8203;21885](https://togithub.com/nrwl/nx/pull/21885))
-   **core:** do not use the new pty function for older versions of windows ([#&#8203;21854](https://togithub.com/nrwl/nx/pull/21854))
-   **core:** normalize migration target versions when sorting migrations ([#&#8203;21967](https://togithub.com/nrwl/nx/pull/21967))
-   **core:** target defaults application shouldn't include extra scripts ([#&#8203;21970](https://togithub.com/nrwl/nx/pull/21970))
-   **core:** update generated README pages with more useful instructions ([#&#8203;21976](https://togithub.com/nrwl/nx/pull/21976))
-   **devkit:** respect expectComments when parsing json ([#&#8203;21584](https://togithub.com/nrwl/nx/pull/21584))
-   **graph:** fix open project with / in name ([#&#8203;21722](https://togithub.com/nrwl/nx/pull/21722))
-   **js:** nx release-version resolve-version-spec should normalize fetchSpec ([#&#8203;21710](https://togithub.com/nrwl/nx/pull/21710))
-   **js:** swc executor should support inlining on windows ([#&#8203;21801](https://togithub.com/nrwl/nx/pull/21801))
-   **js:** set moduleResolution to Node10 so it is compatible with CommonJS module ([2dac233cf](https://togithub.com/nrwl/nx/commit/2dac233cf))
-   **linter:** fix eslint-plugin migration target version ([#&#8203;21966](https://togithub.com/nrwl/nx/pull/21966))
-   **misc:** logs from rm-default-collection should render properly ([#&#8203;21953](https://togithub.com/nrwl/nx/pull/21953))
-   **misc:** set nx property in root package.json when no replacing script in nx init ([#&#8203;21974](https://togithub.com/nrwl/nx/pull/21974))
-   **nextjs:** Svg should work when svgr is true in next config ([#&#8203;21761](https://togithub.com/nrwl/nx/pull/21761))
-   **nextjs:** Add missing e2e-ci target for cypress ([#&#8203;21805](https://togithub.com/nrwl/nx/pull/21805))
-   **nuxt:** init generator should add [@&#8203;nx/vite](https://togithub.com/nx/vite) to dependencies ([#&#8203;21911](https://togithub.com/nrwl/nx/pull/21911))
-   **nuxt:** turn on autoimport ([#&#8203;21894](https://togithub.com/nrwl/nx/pull/21894))
-   **nuxt:** tsconfig types and output dir ([#&#8203;21934](https://togithub.com/nrwl/nx/pull/21934))
-   **react:** generate correctly when --js is used for module federation host/remote ([#&#8203;20119](https://togithub.com/nrwl/nx/pull/20119))
-   **react:** full support custom secure host for module federation ([#&#8203;21777](https://togithub.com/nrwl/nx/pull/21777))
-   **react:** ensure playwright configuration is using correct port in app gen ([#&#8203;21941](https://togithub.com/nrwl/nx/pull/21941))
-   **react-native:** change gradlew to absolute path ([#&#8203;21725](https://togithub.com/nrwl/nx/pull/21725))
-   **react-native:** add all flag to sync-deps ([#&#8203;21821](https://togithub.com/nrwl/nx/pull/21821))
-   **release:** skip prompt for publish when no version created ([#&#8203;21769](https://togithub.com/nrwl/nx/pull/21769))
-   **release:** use --first-parent to support merged repos ([#&#8203;21686](https://togithub.com/nrwl/nx/pull/21686))
-   **release:** move github release creation to git tasks ([#&#8203;21510](https://togithub.com/nrwl/nx/pull/21510))
-   **remix:** should add remix plugin to nx.json on init correctly ([#&#8203;21827](https://togithub.com/nrwl/nx/pull/21827))
-   **remix:** the output path should respect the remix.config.js in crystal ([#&#8203;21842](https://togithub.com/nrwl/nx/pull/21842))
-   **remix:** adjust remix start script when building ([#&#8203;21883](https://togithub.com/nrwl/nx/pull/21883))
-   **remix:** typo in tsconfig.spec.json update led to invalid tsconfig ([#&#8203;21886](https://togithub.com/nrwl/nx/pull/21886))
-   **repo:** update browser tools to fix ci ([#&#8203;21955](https://togithub.com/nrwl/nx/pull/21955))
-   **testing:** jest should handle root jest.preset.cjs ([#&#8203;21746](https://togithub.com/nrwl/nx/pull/21746))
-   **testing:** fix cypress project targets does not exist ([#&#8203;21785](https://togithub.com/nrwl/nx/pull/21785))
-   **testing:** pin cypress version to avoid issue with verifying cypress ([#&#8203;21917](https://togithub.com/nrwl/nx/pull/21917))
-   **testing:** ensure baseUrl is not passed to playwright cli ([#&#8203;21943](https://togithub.com/nrwl/nx/pull/21943))
-   **testing:** playwright plugin enoent error ([#&#8203;21951](https://togithub.com/nrwl/nx/pull/21951))
-   **testing:** add null checks when reading targets ([#&#8203;21952](https://togithub.com/nrwl/nx/pull/21952))
-   **vite:** normalize vitest cli args in executor ([#&#8203;21870](https://togithub.com/nrwl/nx/pull/21870))
-   **vite:** project conversion generator ([#&#8203;21646](https://togithub.com/nrwl/nx/pull/21646))
-   **vite:** update vitest and use parseCLI ([#&#8203;21890](https://togithub.com/nrwl/nx/pull/21890))
-   **vue:** fixing vue and nuxt welcome templates ([#&#8203;21792](https://togithub.com/nrwl/nx/pull/21792))
-   **vue:** tailwind generator ignoring styleSheet option ([#&#8203;21840](https://togithub.com/nrwl/nx/pull/21840))
-   **webpack:** resolve relative path for assets inputs ([#&#8203;21822](https://togithub.com/nrwl/nx/pull/21822))
-   **webpack:** correctly handle paranthesis in PostCSS in url ([#&#8203;21884](https://togithub.com/nrwl/nx/pull/21884))
-   **webpack:** surface original error when remotes fail to start ([#&#8203;21919](https://togithub.com/nrwl/nx/pull/21919))

##### ❤️  Thank You

-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Dan Roujinsky
-   Edouard Bozon [@&#8203;edbzn](https://togithub.com/edbzn)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Jonathan Cammisuli
-   Julian Martin
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Remco Krams
-   Steven Nance [@&#8203;llwt](https://togithub.com/llwt)
-   Tine Kondo [@&#8203;tinesoft](https://togithub.com/tinesoft)
-   Vadim Goy
-   Viktor Pöntinen
-   Zachary DeRose [@&#8203;ZackDeRose](https://togithub.com/ZackDeRose)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-29 06:51:59 +00:00
regischen
d1e6b23e1a feat: bump blocksuite (#5953) 2024-02-29 14:33:50 +08:00
EYHN
fa534869e1 feat(core): new onboarding template (#5951) 2024-02-29 06:02:32 +00:00
LongYinan
931c29fd31 chore: bump up commitlint monorepo to v19 (major) (#5928)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`^18.6.2` -> `^19.0.0`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/18.6.2/19.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fconfig-conventional/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fconfig-conventional/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fconfig-conventional/18.6.2/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fconfig-conventional/18.6.2/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [commitlint](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint)) | [`^18.6.1` -> `^19.0.0`](https://renovatebot.com/diffs/npm/commitlint/18.6.1/19.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/commitlint/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/commitlint/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/commitlint/18.6.1/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commitlint/18.6.1/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/config-conventional)</summary>

### [`v19.0.3`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#1903-2024-02-28)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v19.0.0...v19.0.3)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

### [`v19.0.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#1900-2024-02-27)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.2...v19.0.0)

-   feat!: migrate to pure ESM ([#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)) ([3423735](342373559b)), closes [#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)

##### Reverts

-   Revert "chore!: minimum node version v20" ([2816783](2816783d00))

##### BREAKING CHANGES

-   migrate to pure ESM

-   feat: migrate to pure ESM

-   chore: update snapshot

-   fix: load `parserPreset` with another `await`

-   test: migrate to vitest

-   test: remove no replacement `--runInBand` test-ci script

-   chore: fix code reviews

-   refactor(load): rewrite resolve logic

-   fix(config-nx-scopes): fix syntax error

-   feat(resolve-extends): add resolveFrom and loadParserPreset

-   feat(load): use resolveFrom and loadParserPreset from resolve-extends

-   test: include only @&#8203;commitlint/\* packages src in coverage

-   test: explicit import vitest utilities

-   test: remove [@&#8203;jest/globals](https://togithub.com/jest/globals) from dependencies

-   fix(resolve-extends): `resolveFrom` output should be platform aware

-   test: restore NO_COLOR to test script

-   chore: fix linting issues

-   fix: should use fileURLToPath instead of pathname for Windows compatibility

-   Apply suggestions from code review

-   fix: should reuse `cli` instead call `yargs()`

-   feat(cli): set terminalWidth as wrap to avoid work break on help

-   Update .eslintrc.cjs

-   feat: migrate [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional) to pure ESM

#### [18.6.2](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.1...v18.6.2) (2024-02-14)

##### Bug Fixes

-   **config-conventional:** use default export ([#&#8203;3911](https://togithub.com/conventional-changelog/commitlint/issues/3911)) ([bc48408](bc4840832f))

#### [18.6.1](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.0...v18.6.1) (2024-02-13)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

</details>

<details>
<summary>conventional-changelog/commitlint (commitlint)</summary>

### [`v19.0.3`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;alias/commitlint/CHANGELOG.md#1903-2024-02-28)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v19.0.2...v19.0.3)

**Note:** Version bump only for package commitlint

### [`v19.0.2`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;alias/commitlint/CHANGELOG.md#1902-2024-02-28)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v19.0.1...v19.0.2)

**Note:** Version bump only for package commitlint

### [`v19.0.1`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;alias/commitlint/CHANGELOG.md#1901-2024-02-27)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v19.0.0...v19.0.1)

**Note:** Version bump only for package commitlint

### [`v19.0.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;alias/commitlint/CHANGELOG.md#1900-2024-02-27)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.1...v19.0.0)

-   feat!: migrate to pure ESM ([#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)) ([3423735](342373559b)), closes [#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)

##### Reverts

-   Revert "chore!: minimum node version v20" ([2816783](2816783d00))

##### BREAKING CHANGES

-   migrate to pure ESM

-   feat: migrate to pure ESM

-   chore: update snapshot

-   fix: load `parserPreset` with another `await`

-   test: migrate to vitest

-   test: remove no replacement `--runInBand` test-ci script

-   chore: fix code reviews

-   refactor(load): rewrite resolve logic

-   fix(config-nx-scopes): fix syntax error

-   feat(resolve-extends): add resolveFrom and loadParserPreset

-   feat(load): use resolveFrom and loadParserPreset from resolve-extends

-   test: include only @&#8203;commitlint/\* packages src in coverage

-   test: explicit import vitest utilities

-   test: remove [@&#8203;jest/globals](https://togithub.com/jest/globals) from dependencies

-   fix(resolve-extends): `resolveFrom` output should be platform aware

-   test: restore NO_COLOR to test script

-   chore: fix linting issues

-   fix: should use fileURLToPath instead of pathname for Windows compatibility

-   Apply suggestions from code review

-   fix: should reuse `cli` instead call `yargs()`

-   feat(cli): set terminalWidth as wrap to avoid work break on help

-   Update .eslintrc.cjs

-   feat: migrate [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional) to pure ESM

#### [18.6.1](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.0...v18.6.1) (2024-02-13)

**Note:** Version bump only for package commitlint

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-29 03:44:13 +00:00
LongYinan
29fc4d141f chore: bump up azure/setup-helm action to v4 (#5950)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [azure/setup-helm](https://togithub.com/azure/setup-helm) | action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>azure/setup-helm (azure/setup-helm)</summary>

### [`v4`](https://togithub.com/Azure/setup-helm/releases/tag/v4)

[Compare Source](https://togithub.com/azure/setup-helm/compare/v3...v4)

Latest v4 release

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-29 03:34:02 +00:00
DarkSky
3432f355b0 feat: backend module awareness & optional request (#5909) 2024-02-28 08:29:37 +00:00
Peng Xiao
35454c3bfc fix(core): polyfill resize-observer for development to avoid error overlay (#5943)
Brought a temporary solution from https://github.com/petyosi/react-virtuoso/issues/875#issuecomment-1962897033
2024-02-28 08:18:33 +00:00
DarkSky
82f21ac60b feat: udpate security policy docs (#5927) 2024-02-28 08:07:49 +00:00
wumo
d7ff7a3d95 docs: update contributed tutorial documentation (#5939) 2024-02-28 06:31:28 +00:00
liuyi
a38f7ee252 fix(server): sender passed to nextauth is never used (#5938) 2024-02-28 05:44:25 +00:00
Peng Xiao
27f2209e87 fix(core): date formatter timezone issue (#5936)
date seems not hornoring the locale browser's locale when parsing date string like "2024-02-28".
fixed by using dayjs instead.

Fix incorrect journal title issue
2024-02-28 04:27:32 +00:00
LongYinan
9e09166452 build: fix selfhost config (#5930) 2024-02-28 04:17:29 +00:00
Peng Xiao
a0364dd4ea fix(core): minor page info style issues (#5935) 2024-02-28 03:45:51 +00:00
Peng Xiao
148807879b refactor(component): use react-transition-state to simplify exit animation (#5923)
## **User description**
use react-transition-state to simplify exit animation

___

## **Type**
enhancement

___

## **Description**
- Integrated `react-transition-state` for managing animations in `ResizePanel` and `CMDKModal` components, simplifying the code and improving maintainability.
- Introduced a shared animation timeout variable to standardize animation durations across components.
- Added `react-transition-state` to dependencies to enable the new animation handling.

___

## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>resize-panel.tsx</strong><dd><code>Integrate `react-transition-state` for Resize Panel Animations</code></dd></summary>
<hr>

packages/frontend/component/src/components/resize-panel/resize-panel.tsx

<li>Introduced <code>useTransition</code> hook from <code>react-transition-state</code> for managing <br>animations.<br> <li> Added a constant for animation timeout and applied it to the <br>transition.<br> <li> Utilized the transition state to toggle the open state of the resize <br>panel.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5923/files#diff-a4d6e633862f63f97c167ff41ba62aff8aebf3e3b2f6e7ce13d5a0e22e8ff287">+12/-0</a>&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>modal.css.ts</strong><dd><code>Use Variable for Animation Timeout in Modal CSS</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/frontend/core/src/components/pure/cmdk/modal.css.ts

<li>Created a variable for animation timeout.<br> <li> Updated animation durations to use the new timeout variable.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5923/files#diff-ba8935611b9c1695153d92d08ecb0f7dac73a6197f54ccda5a6e791902cd651d">+6/-3</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>modal.tsx</strong><dd><code>Simplify CMDK Modal Animation with `react-transition-state`</code></dd></summary>
<hr>

packages/frontend/core/src/components/pure/cmdk/modal.tsx

<li>Replaced custom animation state management with <code>useTransition</code> hook.<br> <li> Removed old animation state logic and simplified the component.<br> <li> Added animation timeout variable and applied it to the transition.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5923/files#diff-ab3fe66c9b1d3a691fafd1aebc9988e840fedfcd09b5b89570838a5a2a9469c9">+13/-33</a>&nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>package.json</strong><dd><code>Add `react-transition-state` Dependency</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/frontend/core/package.json

- Added `react-transition-state` as a dependency.

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5923/files#diff-23e0e5dc0ceb004a0a5d3d13e7d00545de7487535ca0e5eab4c5047f1e24eff0">+1/-0</a>&nbsp; &nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

>  **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
2024-02-27 14:55:33 +00:00
LongYinan
c724b3fece build(electron): fix dmg maker (#5922)
## **Type**
enhancement

___

## **Description**
- Introduced a custom DMG packaging solution `@affine/appdmg-patch` for Electron applications.
- Implemented a new TypeScript class `MakerDmg` to handle the custom packaging logic, including support for custom backgrounds, icons, and app positioning within the DMG.
- Updated Electron Forge configuration to use the new `@affine/appdmg-patch` package instead of `@electron-forge/maker-dmg`.
- Adjusted package dependencies in `packages/frontend/electron/package.json`, adding `@affine/appdmg-patch` and removing `@electron-forge/maker-dmg`.

___

## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement
</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>index.ts</strong><dd><code>Implement Custom DMG Packaging Logic</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

tools/appdmg-patch/index.ts

<li>Introduced a new class <code>MakerDmg</code> extending <code>MakerBase</code> with support for <br>custom DMG packaging.<br> <li> Implemented custom DMG packaging logic including background, icon, and <br>app positioning.<br> <li> Added support for custom <code>contents</code> configuration to define the DMG <br>layout.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5922/files#diff-96a537c04a2a740dca542688b3e6a65c67e6cf339b146bf0a9c49008ad58ea77">+80/-0</a>&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Configuration changes
</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>forge.config.mjs</strong><dd><code>Update Electron Forge Configuration for Custom DMG Packaging</code></dd></summary>
<hr>

packages/frontend/electron/forge.config.mjs

<li>Replaced <code>@electron-forge/maker-dmg</code> with <code>@affine/appdmg-patch</code> in the <br>makers configuration.<br> <li> Adjusted DMG icon size and background configuration.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5922/files#diff-bd3343a702deabb8f5f6f77e34fbc215615538875f59b68d82612c0f5ed532a3">+2/-3</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>package.json</strong><dd><code>Introduce Package Configuration for Custom DMG Packaging</code>&nbsp; </dd></summary>
<hr>

tools/appdmg-patch/package.json

<li>Created a new package <code>@affine/appdmg-patch</code> with necessary dependencies <br>for custom DMG packaging.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5922/files#diff-395b189951512e67d55b0abc55a167f014f239f608ec5b180f9c7d48e1ea9e8b">+16/-0</a>&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Dependencies
</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>package.json</strong><dd><code>Update Package Dependencies for Electron Frontend</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/frontend/electron/package.json

<li>Added <code>@affine/appdmg-patch</code> to <code>devDependencies</code>.<br> <li> Removed <code>@electron-forge/maker-dmg</code> from <code>devDependencies</code>.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5922/files#diff-37323e9da5e4b1606abb6eb8e5ff1516ae5fce925bceaafeeade61bd80c0b62d">+1/-1</a>&nbsp; &nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

>  **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
2024-02-27 14:41:39 +00:00
LongYinan
571b20d082 chore: bump up @commitlint/cli version to v19 (#5926)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)) | [`^18.6.1` -> `^19.0.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/18.6.1/19.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fcli/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fcli/18.6.1/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/18.6.1/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/cli)</summary>

### [`v19.0.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#1900-2024-02-27)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.1...f1ff12159d627ee63bf8982ab02e6cca8f10b09f)

-   feat!: migrate to pure ESM ([#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)) ([3423735](342373559b)), closes [#&#8203;3850](https://togithub.com/conventional-changelog/commitlint/issues/3850)

##### Reverts

-   Revert "chore!: minimum node version v20" ([2816783](2816783d00))

##### BREAKING CHANGES

-   migrate to pure ESM

-   feat: migrate to pure ESM

-   chore: update snapshot

-   fix: load `parserPreset` with another `await`

-   test: migrate to vitest

-   test: remove no replacement `--runInBand` test-ci script

-   chore: fix code reviews

-   refactor(load): rewrite resolve logic

-   fix(config-nx-scopes): fix syntax error

-   feat(resolve-extends): add resolveFrom and loadParserPreset

-   feat(load): use resolveFrom and loadParserPreset from resolve-extends

-   test: include only @&#8203;commitlint/\* packages src in coverage

-   test: explicit import vitest utilities

-   test: remove [@&#8203;jest/globals](https://togithub.com/jest/globals) from dependencies

-   fix(resolve-extends): `resolveFrom` output should be platform aware

-   test: restore NO_COLOR to test script

-   chore: fix linting issues

-   fix: should use fileURLToPath instead of pathname for Windows compatibility

-   Apply suggestions from code review

-   fix: should reuse `cli` instead call `yargs()`

-   feat(cli): set terminalWidth as wrap to avoid work break on help

-   Update .eslintrc.cjs

-   feat: migrate [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional) to pure ESM

#### [18.6.1](https://togithub.com/conventional-changelog/commitlint/compare/v18.6.0...v18.6.1) (2024-02-13)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-27 13:09:18 +00:00
liuyi
540d079308 ci: fix selfhost (#5920)
## **Type**
enhancement

___

## **Description**
- Introduced a new ESM module resolution setup using `ts-node` to enhance the development and deployment process.
- Implemented a dynamic loader script registration mechanism to facilitate ESM module loading.
- Simplified the predeploy script execution by refining environment variable handling and stdout configuration.
- Updated `package.json` to reflect changes in script commands for better ESM support and added necessary dependencies for `ts-node` and `typescript`.

___

## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>loader.js</strong><dd><code>Introduce ESM Module Resolution via ts-node</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/loader.js

<li>Introduced <code>ts-node</code> configuration for ESM module resolution.<br> <li> Exported a <code>resolve</code> function for module resolution.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-9ed793897a493633028d510db0742ff38d2d86471c54b17513d4354c51597ef8">+11/-0</a>&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>register.js</strong><dd><code>Implement Dynamic Loader Script Registration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/register.js

<li>Implemented dynamic registration of the loader script.<br> <li> Utilized <code>node:module</code> and <code>node:url</code> for script registration.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-64831012a09f2bc4bc5a611ddb8e0871b0e83588de6c5d4f2f5cb1dae8fff244">+4/-0</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>self-host-predeploy.js</strong><dd><code>Simplify Predeploy Script Execution</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/self-host-predeploy.js

<li>Simplified environment variable passing to <code>execSync</code>.<br> <li> Changed stdout handling to inherit from the parent process.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-bd7b0be14c198018c21dadda6945a779c57d13e4c8584ee62da4baa99d370664">+3/-5</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>package.json</strong><dd><code>Update Scripts and Dependencies for ESM Support</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/package.json

<li>Updated script commands for ESM compatibility.<br> <li> Added <code>ts-node</code> and <code>typescript</code> dependencies.<br> <li> Removed redundant <code>--es-module-specifier-resolution=node</code> flags.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-a6530c6fe539aaa49ff0a7a80bc4362c1d95c419fdd19125415dcc869b31a443">+6/-6</a>&nbsp; &nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

>  **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
2024-02-27 07:22:21 +00:00
Peng Xiao
39d177c507 build: codesigning dmg (#5921)
fix https://github.com/toeverything/AFFiNE/issues/5898
2024-02-27 06:35:46 +00:00
EYHN
606397e319 feat(core): workbench system (#5837) 2024-02-27 04:14:07 +00:00
EYHN
5cd488fe1d refactor(core): remove collection atom (#5832) 2024-02-27 03:50:56 +00:00
EYHN
ad9b0303c4 refactor(core): refactor atom to use di (#5831)
To support multiple instances, this PR removes some atoms and implements them using the new DI system.

removed atom

- `pageSettingsAtom`
- `currentPageIdAtom`
- `currentModeAtom`
2024-02-27 03:50:53 +00:00
EYHN
0dabb08217 chore: create default user for devcontainer (#5917)
## **Type**
enhancement

___

## **Description**
- Added a command to `.devcontainer/build.sh` to create a default user (`affine`) in the database for development purposes.
- Introduced error handling in `.devcontainer/setup-user.sh` to ensure the script stops on the first error.
- Modified the git fetch command in `.devcontainer/setup-user.sh` to fetch the `canary` branch from `origin` with a depth of 1, optimizing the setup process.

___

## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement
</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>build.sh</strong><dd><code>Add Default User Creation to Dev Container Build Script</code>&nbsp; &nbsp; </dd></summary>
<hr>

.devcontainer/build.sh

<li>Added command to create a default user with username and password <br>'affine'.<br> <li> Ensured database push command is followed by a newline.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5917/files#diff-165b66803397b501866b23a0532418e9ad3eb2ab642274f9679383c76d18136f">+4/-1</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>setup-user.sh</strong><dd><code>Enhance User Setup Script with Error Handling and Specific Git Fetch</code></dd></summary>
<hr>

.devcontainer/setup-user.sh

<li>Introduced error handling with 'set -e' to stop on first error.<br> <li> Modified 'git fetch' to specifically fetch 'canary' branch from <br>'origin' with depth of 1.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5917/files#diff-8c5e76719e2ff0a3bf2b59d108dc9cf88bdae00c317728454cfa5108f2fc76af">+3/-1</a>&nbsp; &nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

>  **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
2024-02-27 03:32:03 +00:00
Peng Xiao
2295685590 fix: page info styles (#5910)
fix inconsistent styles compared to the one defined in figma
fix https://github.com/toeverything/AFFiNE/issues/5904
fix https://github.com/toeverything/AFFiNE/issues/5903
2024-02-26 14:11:24 +00:00
EYHN
6ccc4f1501 chore: start dev server on devcontainer (#5914) 2024-02-26 13:47:06 +00:00
EYHN
ee4918b3b8 chore: update devcontainer build.sh (#5912) 2024-02-26 13:47:00 +00:00
Hwang
8e5ab2bfbf docs(docs): update readmd.md (#5911)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-02-26 10:57:11 +00:00
HeJiachen-PM
d602cbb53c ci: update compose.yaml (#5905) 2024-02-26 18:47:37 +08:00
Peng Xiao
298afc7d74 feat(core): enable right sidepanel animation (#5902) 2024-02-26 09:04:04 +00:00
JimmFly
0be62d892d refactor(core): use custom scrollbar for editor and adjust shared page style (#5752)
Close TOV-481
- Use a custom scrollbar component for editor
- Modified the header of the share page and added a new footer
2024-02-26 08:54:52 +00:00
JimmFly
e9f9eea80c fix(core): handling error message when sending verify change email (#5894) 2024-02-26 08:32:48 +00:00
JimmFly
d3360f655e chore: update i18n resources (#5906) 2024-02-26 07:53:45 +00:00
Peng Xiao
cc2d97e3b8 fix: right sidepanel open on focus (#5901)
fix TOV-614
Should not show sidepanel on focusing inner elemenets
2024-02-26 03:43:37 +00:00
Peng Xiao
7d73145a69 fix: page info -> info (#5892)
fix AFF-607
2024-02-23 14:14:43 +00:00
Peng Xiao
c16e4d4464 fix: page properties flaky tests (#5893) 2024-02-23 14:14:41 +00:00
Peng Xiao
9e7406e0a1 chore: downgrade react-virtuoso to 4.6.3 (#5896)
temp workaround for https://github.com/petyosi/react-virtuoso/issues/1039

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/79901ff6-fe30-4794-ab93-c81f217022d0.png)
2024-02-23 13:55:11 +00:00
LongYinan
ae41c6c544 chore: bump all dependencies (#5891) 2024-02-23 09:37:14 +00:00
Peng Xiao
db1d0dcf52 fix(electron): autohide menu bar on linux (#5890) 2024-02-23 09:27:29 +00:00
LongYinan
ccd3190cec ci: run CI on beta/stable push (#5889) 2024-02-23 09:17:13 +00:00
LongYinan
062526d452 chore: bump up node version to v20 (#5201)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) |  | major | `18` -> `20` |
| [node](https://nodejs.org) ([source](https://togithub.com/nodejs/node)) | engines | major | [`>=18.16.1 <19.0.0` -> `<21.0.0`](https://renovatebot.com/diffs/npm/node/v18.19.1/v20.11.1) |
| [node](https://togithub.com/nodejs/node) | final | major | `18-bookworm-slim` -> `20-bookworm-slim` |

---

### Release Notes

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

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

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

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

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

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

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

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

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

### [`v20.8.1`](https://togithub.com/nodejs/node/releases/tag/v20.8.1): 2023-10-13, Version 20.8.1 (Current), @&#8203;RafaelGSS

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

This is a security release.

##### Notable Changes

The following CVEs are fixed in this release:

-   [CVE-2023-44487](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487): `nghttp2` Security Release (High)
-   [CVE-2023-45143](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-45143): `undici` Security Release (High)
-   [CVE-2023-39332](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39332): Path traversal through path stored in Uint8Array (High)
-   [CVE-2023-39331](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39331): Permission model improperly protects against path traversal (High)
-   [CVE-2023-38552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-38552):  Integrity checks according to policies can be circumvented (Medium)
-   [CVE-2023-39333](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39333): Code injection via WebAssembly export names (Low)

More detailed information on each of the vulnerabilities can be found in [October 2023 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2023-security-releases/) blog post.

##### Commits

-   \[[`c86883e844`](https://togithub.com/nodejs/node/commit/c86883e844)] - **deps**: update nghttp2 to 1.57.0 (James M Snell) [#&#8203;50121](https://togithub.com/nodejs/node/pull/50121)
-   \[[`2860631359`](https://togithub.com/nodejs/node/commit/2860631359)] - **deps**: update undici to v5.26.3 (Matteo Collina) [#&#8203;50153](https://togithub.com/nodejs/node/pull/50153)
-   \[[`cd37838bf8`](https://togithub.com/nodejs/node/commit/cd37838bf8)] - **lib**: let deps require `node` prefixed modules (Matthew Aitken) [#&#8203;50047](https://togithub.com/nodejs/node/pull/50047)
-   \[[`f5c90b2951`](https://togithub.com/nodejs/node/commit/f5c90b2951)] - **module**: fix code injection through export names (Tobias Nießen) [nodejs-private/node-private#461](https://togithub.com/nodejs-private/node-private/pull/461)
-   \[[`fa5dae1944`](https://togithub.com/nodejs/node/commit/fa5dae1944)] - **permission**: fix Uint8Array path traversal (Tobias Nießen) [nodejs-private/node-private#456](https://togithub.com/nodejs-private/node-private/pull/456)
-   \[[`cd35275111`](https://togithub.com/nodejs/node/commit/cd35275111)] - **permission**: improve path traversal protection (Tobias Nießen) [nodejs-private/node-private#456](https://togithub.com/nodejs-private/node-private/pull/456)
-   \[[`a4cb7fc7c0`](https://togithub.com/nodejs/node/commit/a4cb7fc7c0)] - **policy**: use tamper-proof integrity check function (Tobias Nießen) [nodejs-private/node-private#462](https://togithub.com/nodejs-private/node-private/pull/462)

### [`v20.8.0`](https://togithub.com/nodejs/node/releases/tag/v20.8.0): 2023-09-28, Version 20.8.0 (Current), @&#8203;ruyadorno

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

##### Notable Changes

##### Stream performance improvements

Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js

Contributed by Benjamin Gruenbaum in [#&#8203;49745](https://togithub.com/nodejs/node/pull/49745) and Raz Luvaton in [#&#8203;49834](https://togithub.com/nodejs/node/pull/49834).

Performance improvements for readable webstream, improving readable stream async iterator consumption by ±140% and improving readable stream `pipeTo` consumption by ±60%

Contributed by Raz Luvaton in [#&#8203;49662](https://togithub.com/nodejs/node/pull/49662) and [#&#8203;49690](https://togithub.com/nodejs/node/pull/49690).

##### Rework of memory management in `vm` APIs with the `importModuleDynamically` option

This rework addressed a series of long-standing memory leaks and use-after-free issues in the following APIs that support `importModuleDynamically`:

-   `vm.Script`
-   `vm.compileFunction`
-   `vm.SyntheticModule`
-   `vm.SourceTextModule`

This should enable affected users (in particular Jest users) to upgrade from older versions of Node.js.

Contributed by Joyee Cheung in [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510).

##### Other notable changes

-   \[[`32d4d29d02`](https://togithub.com/nodejs/node/commit/32d4d29d02)] - **deps**: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) [#&#8203;49874](https://togithub.com/nodejs/node/pull/49874)
-   \[[`0e686d096b`](https://togithub.com/nodejs/node/commit/0e686d096b)] - **doc**: deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) [#&#8203;49683](https://togithub.com/nodejs/node/pull/49683)
-   \[[`a5dd057540`](https://togithub.com/nodejs/node/commit/a5dd057540)] - **doc**: deprecate `util.toUSVString` (Yagiz Nizipli) [#&#8203;49725](https://togithub.com/nodejs/node/pull/49725)
-   \[[`7b6a73172f`](https://togithub.com/nodejs/node/commit/7b6a73172f)] - **doc**: deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) [#&#8203;49647](https://togithub.com/nodejs/node/pull/49647)
-   \[[`1beefd5f16`](https://togithub.com/nodejs/node/commit/1beefd5f16)] - **esm**: set all hooks as release candidate (Geoffrey Booth) [#&#8203;49597](https://togithub.com/nodejs/node/pull/49597)
-   \[[`b0ce78a75b`](https://togithub.com/nodejs/node/commit/b0ce78a75b)] - **module**: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`4e578f8ab1`](https://togithub.com/nodejs/node/commit/4e578f8ab1)] - **module**: fix leak of vm.SyntheticModule (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`69e4218772`](https://togithub.com/nodejs/node/commit/69e4218772)] - **module**: use symbol in WeakMap to manage host defined options (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`14ece0aa76`](https://togithub.com/nodejs/node/commit/14ece0aa76)] - **(SEMVER-MINOR)** **src**: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) [#&#8203;49279](https://togithub.com/nodejs/node/pull/49279)
-   \[[`9fd67fbff0`](https://togithub.com/nodejs/node/commit/9fd67fbff0)] - **stream**: use bitmap in writable state (Raz Luvaton) [#&#8203;49834](https://togithub.com/nodejs/node/pull/49834)
-   \[[`0ccd4638ac`](https://togithub.com/nodejs/node/commit/0ccd4638ac)] - **stream**: use bitmap in readable state (Benjamin Gruenbaum) [#&#8203;49745](https://togithub.com/nodejs/node/pull/49745)
-   \[[`7c5e322346`](https://togithub.com/nodejs/node/commit/7c5e322346)] - **stream**: improve webstream readable async iterator performance (Raz Luvaton) [#&#8203;49662](https://togithub.com/nodejs/node/pull/49662)
-   \[[`80b342cc38`](https://togithub.com/nodejs/node/commit/80b342cc38)] - **(SEMVER-MINOR)** **test_runner**: accept `testOnly` in `run` (Moshe Atlow) [#&#8203;49753](https://togithub.com/nodejs/node/pull/49753)
-   \[[`17a05b141d`](https://togithub.com/nodejs/node/commit/17a05b141d)] - **(SEMVER-MINOR)** **test_runner**: add junit reporter (Moshe Atlow) [#&#8203;49614](https://togithub.com/nodejs/node/pull/49614)

##### Commits

-   \[[`4879e3fbbe`](https://togithub.com/nodejs/node/commit/4879e3fbbe)] - **benchmark**: add a benchmark for read() of ReadableStreams (Debadree Chatterjee) [#&#8203;49622](https://togithub.com/nodejs/node/pull/49622)
-   \[[`78a6c73157`](https://togithub.com/nodejs/node/commit/78a6c73157)] - **benchmark**: shorten pipe-to by reducing number of chunks (Raz Luvaton) [#&#8203;49577](https://togithub.com/nodejs/node/pull/49577)
-   \[[`4126a6e4c9`](https://togithub.com/nodejs/node/commit/4126a6e4c9)] - **benchmark**: fix webstream pipe-to (Raz Luvaton) [#&#8203;49552](https://togithub.com/nodejs/node/pull/49552)
-   \[[`6010a91825`](https://togithub.com/nodejs/node/commit/6010a91825)] - **bootstrap**: do not expand argv1 for snapshots (Joyee Cheung) [#&#8203;49506](https://togithub.com/nodejs/node/pull/49506)
-   \[[`8480280c4b`](https://togithub.com/nodejs/node/commit/8480280c4b)] - **bootstrap**: only use the isolate snapshot when compiling code cache (Joyee Cheung) [#&#8203;49288](https://togithub.com/nodejs/node/pull/49288)
-   \[[`b30754aa87`](https://togithub.com/nodejs/node/commit/b30754aa87)] - **build**: run embedtest using node executable (Joyee Cheung) [#&#8203;49506](https://togithub.com/nodejs/node/pull/49506)
-   \[[`31db0b8e2b`](https://togithub.com/nodejs/node/commit/31db0b8e2b)] - **build**: add --write-snapshot-as-array-literals to configure.py (Joyee Cheung) [#&#8203;49312](https://togithub.com/nodejs/node/pull/49312)
-   \[[`6fcb51d3ba`](https://togithub.com/nodejs/node/commit/6fcb51d3ba)] - **debugger**: use `internal/url.URL` instead of `url.parse` (LiviaMedeiros) [#&#8203;49590](https://togithub.com/nodejs/node/pull/49590)
-   \[[`32d4d29d02`](https://togithub.com/nodejs/node/commit/32d4d29d02)] - **deps**: add v8::Object::SetInternalFieldForNodeCore() (Joyee Cheung) [#&#8203;49874](https://togithub.com/nodejs/node/pull/49874)
-   \[[`ad37cadc3f`](https://togithub.com/nodejs/node/commit/ad37cadc3f)] - **deps**: V8: backport [`de9a5de`](https://togithub.com/nodejs/node/commit/de9a5de2274f) (Joyee Cheung) [#&#8203;49703](https://togithub.com/nodejs/node/pull/49703)
-   \[[`cdd1c66222`](https://togithub.com/nodejs/node/commit/cdd1c66222)] - **deps**: V8: cherry-pick [`b33bf2d`](https://togithub.com/nodejs/node/commit/b33bf2dfd261) (Joyee Cheung) [#&#8203;49703](https://togithub.com/nodejs/node/pull/49703)
-   \[[`61d18d6473`](https://togithub.com/nodejs/node/commit/61d18d6473)] - **deps**: update undici to 5.24.0 (Node.js GitHub Bot) [#&#8203;49559](https://togithub.com/nodejs/node/pull/49559)
-   \[[`b8a4fef393`](https://togithub.com/nodejs/node/commit/b8a4fef393)] - **deps**: remove pthread-fixes.c from uv.gyp (Ben Noordhuis) [#&#8203;49744](https://togithub.com/nodejs/node/pull/49744)
-   \[[`6c86c0683c`](https://togithub.com/nodejs/node/commit/6c86c0683c)] - **deps**: update googletest to [`d1467f5`](https://togithub.com/nodejs/node/commit/d1467f5) (Node.js GitHub Bot) [#&#8203;49676](https://togithub.com/nodejs/node/pull/49676)
-   \[[`1424404742`](https://togithub.com/nodejs/node/commit/1424404742)] - **deps**: update nghttp2 to 1.56.0 (Node.js GitHub Bot) [#&#8203;49582](https://togithub.com/nodejs/node/pull/49582)
-   \[[`15b54ff95d`](https://togithub.com/nodejs/node/commit/15b54ff95d)] - **deps**: update googletest to [`8a6feab`](https://togithub.com/nodejs/node/commit/8a6feab) (Node.js GitHub Bot) [#&#8203;49463](https://togithub.com/nodejs/node/pull/49463)
-   \[[`2ceab877c2`](https://togithub.com/nodejs/node/commit/2ceab877c2)] - **deps**: update corepack to 0.20.0 (Node.js GitHub Bot) [#&#8203;49464](https://togithub.com/nodejs/node/pull/49464)
-   \[[`4814872ddc`](https://togithub.com/nodejs/node/commit/4814872ddc)] - **doc**: fix `DEP0176` number (LiviaMedeiros) [#&#8203;49858](https://togithub.com/nodejs/node/pull/49858)
-   \[[`0e686d096b`](https://togithub.com/nodejs/node/commit/0e686d096b)] - **doc**: deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) [#&#8203;49683](https://togithub.com/nodejs/node/pull/49683)
-   \[[`5877c403a2`](https://togithub.com/nodejs/node/commit/5877c403a2)] - **doc**: add mertcanaltin as a triager (mert.altin) [#&#8203;49826](https://togithub.com/nodejs/node/pull/49826)
-   \[[`864fe56432`](https://togithub.com/nodejs/node/commit/864fe56432)] - **doc**: add `git node backport` way to the backporting guide (Raz Luvaton) [#&#8203;49760](https://togithub.com/nodejs/node/pull/49760)
-   \[[`e0f93492d5`](https://togithub.com/nodejs/node/commit/e0f93492d5)] - **doc**: improve documentation about ICU data fallback (Joyee Cheung) [#&#8203;49666](https://togithub.com/nodejs/node/pull/49666)
-   \[[`a5dd057540`](https://togithub.com/nodejs/node/commit/a5dd057540)] - **doc**: deprecate `util.toUSVString` (Yagiz Nizipli) [#&#8203;49725](https://togithub.com/nodejs/node/pull/49725)
-   \[[`774c1cfd52`](https://togithub.com/nodejs/node/commit/774c1cfd52)] - **doc**: add missing function call to example for `util.promisify` (Jungku Lee) [#&#8203;49719](https://togithub.com/nodejs/node/pull/49719)
-   \[[`fe78a34845`](https://togithub.com/nodejs/node/commit/fe78a34845)] - **doc**: update output of example in `mimeParams.set()` (Deokjin Kim) [#&#8203;49718](https://togithub.com/nodejs/node/pull/49718)
-   \[[`4175ea33bd`](https://togithub.com/nodejs/node/commit/4175ea33bd)] - **doc**: add missed `inspect` with numericSeparator to example (Deokjin Kim) [#&#8203;49717](https://togithub.com/nodejs/node/pull/49717)
-   \[[`3a88571972`](https://togithub.com/nodejs/node/commit/3a88571972)] - **doc**: fix history comments (Antoine du Hamel) [#&#8203;49701](https://togithub.com/nodejs/node/pull/49701)
-   \[[`db4ab1ccbb`](https://togithub.com/nodejs/node/commit/db4ab1ccbb)] - **doc**: add missing history info for `import.meta.resolve` (Antoine du Hamel) [#&#8203;49700](https://togithub.com/nodejs/node/pull/49700)
-   \[[`a304d1ee19`](https://togithub.com/nodejs/node/commit/a304d1ee19)] - **doc**: link maintaining deps to pull-request.md (Marco Ippolito) [#&#8203;49716](https://togithub.com/nodejs/node/pull/49716)
-   \[[`35294486ad`](https://togithub.com/nodejs/node/commit/35294486ad)] - **doc**: fix print results in `events` (Jungku Lee) [#&#8203;49548](https://togithub.com/nodejs/node/pull/49548)
-   \[[`9f0b0e15c9`](https://togithub.com/nodejs/node/commit/9f0b0e15c9)] - **doc**: alphabetize cli.md sections (Geoffrey Booth) [#&#8203;49668](https://togithub.com/nodejs/node/pull/49668)
-   \[[`7b6a73172f`](https://togithub.com/nodejs/node/commit/7b6a73172f)] - **doc**: deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) [#&#8203;49647](https://togithub.com/nodejs/node/pull/49647)
-   \[[`d316b32fff`](https://togithub.com/nodejs/node/commit/d316b32fff)] - **doc**: update `corepack.md` to account for 0.20.0 changes (Antoine du Hamel) [#&#8203;49486](https://togithub.com/nodejs/node/pull/49486)
-   \[[`c2eac7dc7c`](https://togithub.com/nodejs/node/commit/c2eac7dc7c)] - **doc**: remove `@anonrig` from performance initiative (Yagiz Nizipli) [#&#8203;49641](https://togithub.com/nodejs/node/pull/49641)
-   \[[`3d839fbf87`](https://togithub.com/nodejs/node/commit/3d839fbf87)] - **doc**: mark Node.js 16 as End-of-Life (Richard Lau) [#&#8203;49651](https://togithub.com/nodejs/node/pull/49651)
-   \[[`53fb5aead8`](https://togithub.com/nodejs/node/commit/53fb5aead8)] - **doc**: save user preference for JS flavor (Vidar Eldøy) [#&#8203;49526](https://togithub.com/nodejs/node/pull/49526)
-   \[[`e3594d5658`](https://togithub.com/nodejs/node/commit/e3594d5658)] - **doc**: update documentation for node:process warning (Shubham Pandey) [#&#8203;49517](https://togithub.com/nodejs/node/pull/49517)
-   \[[`8e033c3963`](https://togithub.com/nodejs/node/commit/8e033c3963)] - **doc**: rename possibly confusing variable and CSS class (Antoine du Hamel) [#&#8203;49536](https://togithub.com/nodejs/node/pull/49536)
-   \[[`d0e0eb4bb3`](https://togithub.com/nodejs/node/commit/d0e0eb4bb3)] - **doc**: update outdated history info (Antoine du Hamel) [#&#8203;49530](https://togithub.com/nodejs/node/pull/49530)
-   \[[`b4724e2e3a`](https://togithub.com/nodejs/node/commit/b4724e2e3a)] - **doc**: close a parenthesis (Sébastien Règne) [#&#8203;49525](https://togithub.com/nodejs/node/pull/49525)
-   \[[`0471c5798e`](https://togithub.com/nodejs/node/commit/0471c5798e)] - **doc**: cast GetInternalField() return type to v8::Value in addons.md (Joyee Cheung) [#&#8203;49439](https://togithub.com/nodejs/node/pull/49439)
-   \[[`9f8bea3dda`](https://togithub.com/nodejs/node/commit/9f8bea3dda)] - **doc**: fix documentation for input option in child_process (Ariel Weiss) [#&#8203;49481](https://togithub.com/nodejs/node/pull/49481)
-   \[[`f3fea92f8a`](https://togithub.com/nodejs/node/commit/f3fea92f8a)] - **doc**: fix missing imports in `test.run` code examples (Oshri Asulin) [#&#8203;49489](https://togithub.com/nodejs/node/pull/49489)
-   \[[`e426b77b67`](https://togithub.com/nodejs/node/commit/e426b77b67)] - **doc**: fix documentation for fs.createWriteStream highWaterMark option (Mert Can Altın) [#&#8203;49456](https://togithub.com/nodejs/node/pull/49456)
-   \[[`2b119108ff`](https://togithub.com/nodejs/node/commit/2b119108ff)] - **doc**: updated releasers instructions for node.js website (Claudio W) [#&#8203;49427](https://togithub.com/nodejs/node/pull/49427)
-   \[[`b9d4a80183`](https://togithub.com/nodejs/node/commit/b9d4a80183)] - **doc**: edit `import.meta.resolve` documentation (Antoine du Hamel) [#&#8203;49247](https://togithub.com/nodejs/node/pull/49247)
-   \[[`f67433f666`](https://togithub.com/nodejs/node/commit/f67433f666)] - **doc,tools**: switch to `@node-core/utils` (Michaël Zasso) [#&#8203;49851](https://togithub.com/nodejs/node/pull/49851)
-   \[[`142e256fc5`](https://togithub.com/nodejs/node/commit/142e256fc5)] - **errors**: improve classRegExp in errors.js (Uzlopak) [#&#8203;49643](https://togithub.com/nodejs/node/pull/49643)
-   \[[`6377f1bce2`](https://togithub.com/nodejs/node/commit/6377f1bce2)] - **errors**: use `determineSpecificType` in more error messages (Antoine du Hamel) [#&#8203;49580](https://togithub.com/nodejs/node/pull/49580)
-   \[[`05f0fcb4c4`](https://togithub.com/nodejs/node/commit/05f0fcb4c4)] - **esm**: identify parent importing a url with invalid host (Jacob Smith) [#&#8203;49736](https://togithub.com/nodejs/node/pull/49736)
-   \[[`8a6f5fb8f3`](https://togithub.com/nodejs/node/commit/8a6f5fb8f3)] - **esm**: fix return type of `import.meta.resolve` (Antoine du Hamel) [#&#8203;49698](https://togithub.com/nodejs/node/pull/49698)
-   \[[`a6140f1b8c`](https://togithub.com/nodejs/node/commit/a6140f1b8c)] - **esm**: update loaders warning (Geoffrey Booth) [#&#8203;49633](https://togithub.com/nodejs/node/pull/49633)
-   \[[`521a9327e0`](https://togithub.com/nodejs/node/commit/521a9327e0)] - **esm**: fix support for `URL` instances in `register` (Antoine du Hamel) [#&#8203;49655](https://togithub.com/nodejs/node/pull/49655)
-   \[[`3a9ea0925a`](https://togithub.com/nodejs/node/commit/3a9ea0925a)] - **esm**: clarify ERR_REQUIRE_ESM errors (Daniel Compton) [#&#8203;49521](https://togithub.com/nodejs/node/pull/49521)
-   \[[`1beefd5f16`](https://togithub.com/nodejs/node/commit/1beefd5f16)] - **esm**: set all hooks as release candidate (Geoffrey Booth) [#&#8203;49597](https://togithub.com/nodejs/node/pull/49597)
-   \[[`be48267888`](https://togithub.com/nodejs/node/commit/be48267888)] - **esm**: remove return value for `Module.register` (Antoine du Hamel) [#&#8203;49529](https://togithub.com/nodejs/node/pull/49529)
-   \[[`e74a075124`](https://togithub.com/nodejs/node/commit/e74a075124)] - **esm**: refactor test-esm-loader-resolve-type (Geoffrey Booth) [#&#8203;49493](https://togithub.com/nodejs/node/pull/49493)
-   \[[`17823b3533`](https://togithub.com/nodejs/node/commit/17823b3533)] - **esm**: refactor test-esm-named-exports (Geoffrey Booth) [#&#8203;49493](https://togithub.com/nodejs/node/pull/49493)
-   \[[`f34bd15ac1`](https://togithub.com/nodejs/node/commit/f34bd15ac1)] - **esm**: refactor mocking test (Geoffrey Booth) [#&#8203;49465](https://togithub.com/nodejs/node/pull/49465)
-   \[[`ec323bbd99`](https://togithub.com/nodejs/node/commit/ec323bbd99)] - **fs**: replace `SetMethodNoSideEffect` in node_file (CanadaHonk) [#&#8203;49857](https://togithub.com/nodejs/node/pull/49857)
-   \[[`6acf800123`](https://togithub.com/nodejs/node/commit/6acf800123)] - **fs**: improve error performance for `unlinkSync` (CanadaHonk) [#&#8203;49856](https://togithub.com/nodejs/node/pull/49856)
-   \[[`31702c9403`](https://togithub.com/nodejs/node/commit/31702c9403)] - **fs**: improve `readFileSync` with file descriptors (Yagiz Nizipli) [#&#8203;49691](https://togithub.com/nodejs/node/pull/49691)
-   \[[`835f9fe7b9`](https://togithub.com/nodejs/node/commit/835f9fe7b9)] - **fs**: fix file descriptor validator (Yagiz Nizipli) [#&#8203;49752](https://togithub.com/nodejs/node/pull/49752)
-   \[[`b618fe262f`](https://togithub.com/nodejs/node/commit/b618fe262f)] - **fs**: improve error performance of `opendirSync` (Yagiz Nizipli) [#&#8203;49705](https://togithub.com/nodejs/node/pull/49705)
-   \[[`938471ef55`](https://togithub.com/nodejs/node/commit/938471ef55)] - **fs**: improve error performance of sync methods (Yagiz Nizipli) [#&#8203;49593](https://togithub.com/nodejs/node/pull/49593)
-   \[[`db3fc6d087`](https://togithub.com/nodejs/node/commit/db3fc6d087)] - **fs**: fix readdir and opendir recursive with unknown file types (William Marlow) [#&#8203;49603](https://togithub.com/nodejs/node/pull/49603)
-   \[[`0f020ed22d`](https://togithub.com/nodejs/node/commit/0f020ed22d)] - **gyp**: put cctest filenames in variables (Cheng Zhao) [#&#8203;49178](https://togithub.com/nodejs/node/pull/49178)
-   \[[`0ce1e94d12`](https://togithub.com/nodejs/node/commit/0ce1e94d12)] - **lib**: update encoding sets in `WHATWG API` (Jungku Lee) [#&#8203;49610](https://togithub.com/nodejs/node/pull/49610)
-   \[[`efd6815a7a`](https://togithub.com/nodejs/node/commit/efd6815a7a)] - **lib**: fix `internalBinding` typings (Yagiz Nizipli) [#&#8203;49742](https://togithub.com/nodejs/node/pull/49742)
-   \[[`1287d5b74e`](https://togithub.com/nodejs/node/commit/1287d5b74e)] - **lib**: allow byob reader for 'blob.stream()' (Debadree Chatterjee) [#&#8203;49713](https://togithub.com/nodejs/node/pull/49713)
-   \[[`bbc710522d`](https://togithub.com/nodejs/node/commit/bbc710522d)] - **lib**: reset the cwd cache before execution (Maël Nison) [#&#8203;49684](https://togithub.com/nodejs/node/pull/49684)
-   \[[`f62d649e4d`](https://togithub.com/nodejs/node/commit/f62d649e4d)] - **lib**: use internal `fileURLToPath` (Deokjin Kim) [#&#8203;49558](https://togithub.com/nodejs/node/pull/49558)
-   \[[`e515046941`](https://togithub.com/nodejs/node/commit/e515046941)] - **lib**: use internal `pathToFileURL` (Livia Medeiros) [#&#8203;49553](https://togithub.com/nodejs/node/pull/49553)
-   \[[`00608e8070`](https://togithub.com/nodejs/node/commit/00608e8070)] - **lib**: check SharedArrayBuffer availability in freeze_intrinsics.js (Milan Burda) [#&#8203;49482](https://togithub.com/nodejs/node/pull/49482)
-   \[[`8bfbe7079c`](https://togithub.com/nodejs/node/commit/8bfbe7079c)] - **meta**: fix linter error (Antoine du Hamel) [#&#8203;49755](https://togithub.com/nodejs/node/pull/49755)
-   \[[`58f7a9e096`](https://togithub.com/nodejs/node/commit/58f7a9e096)] - **meta**: add primordials strategic initiative (Benjamin Gruenbaum) [#&#8203;49706](https://togithub.com/nodejs/node/pull/49706)
-   \[[`5366027756`](https://togithub.com/nodejs/node/commit/5366027756)] - **meta**: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot\[bot]) [#&#8203;49438](https://togithub.com/nodejs/node/pull/49438)
-   \[[`fe26b74082`](https://togithub.com/nodejs/node/commit/fe26b74082)] - **meta**: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot\[bot]) [#&#8203;49437](https://togithub.com/nodejs/node/pull/49437)
-   \[[`b0ce78a75b`](https://togithub.com/nodejs/node/commit/b0ce78a75b)] - **module**: fix the leak in SourceTextModule and ContextifySript (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`4e578f8ab1`](https://togithub.com/nodejs/node/commit/4e578f8ab1)] - **module**: fix leak of vm.SyntheticModule (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`69e4218772`](https://togithub.com/nodejs/node/commit/69e4218772)] - **module**: use symbol in WeakMap to manage host defined options (Joyee Cheung) [#&#8203;48510](https://togithub.com/nodejs/node/pull/48510)
-   \[[`96874e8fbc`](https://togithub.com/nodejs/node/commit/96874e8fbc)] - **node-api**: enable uncaught exceptions policy by default (Chengzhong Wu) [#&#8203;49313](https://togithub.com/nodejs/node/pull/49313)
-   \[[`b931aeadfd`](https://togithub.com/nodejs/node/commit/b931aeadfd)] - **perf_hooks**: reduce overhead of new performance_entries (Vinicius Lourenço) [#&#8203;49803](https://togithub.com/nodejs/node/pull/49803)
-   \[[`ad043bac31`](https://togithub.com/nodejs/node/commit/ad043bac31)] - **process**: add custom dir support for heapsnapshot-signal (Jithil P Ponnan) [#&#8203;47854](https://togithub.com/nodejs/node/pull/47854)
-   \[[`8a7c10194c`](https://togithub.com/nodejs/node/commit/8a7c10194c)] - **repl**: don't accumulate excess indentation in .load (Daniel X Moore) [#&#8203;49461](https://togithub.com/nodejs/node/pull/49461)
-   \[[`10a2adeed5`](https://togithub.com/nodejs/node/commit/10a2adeed5)] - **src**: improve error message when ICU data cannot be initialized (Joyee Cheung) [#&#8203;49666](https://togithub.com/nodejs/node/pull/49666)
-   \[[`ce37688bac`](https://togithub.com/nodejs/node/commit/ce37688bac)] - **src**: remove unnecessary todo (Rafael Gonzaga) [#&#8203;49227](https://togithub.com/nodejs/node/pull/49227)
-   \[[`f611583b71`](https://togithub.com/nodejs/node/commit/f611583b71)] - **src**: use SNAPSHOT_SERDES to log snapshot ser/deserialization (Joyee Cheung) [#&#8203;49637](https://togithub.com/nodejs/node/pull/49637)
-   \[[`a597cb8457`](https://togithub.com/nodejs/node/commit/a597cb8457)] - **src**: port Pipe to uv_pipe_bind2, uv_pipe_connect2 (Geoff Goodman) [#&#8203;49667](https://togithub.com/nodejs/node/pull/49667)
-   \[[`fb21062338`](https://togithub.com/nodejs/node/commit/fb21062338)] - **src**: set --rehash-snapshot explicitly (Joyee Cheung) [#&#8203;49556](https://togithub.com/nodejs/node/pull/49556)
-   \[[`14ece0aa76`](https://togithub.com/nodejs/node/commit/14ece0aa76)] - **(SEMVER-MINOR)** **src**: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) [#&#8203;49279](https://togithub.com/nodejs/node/pull/49279)
-   \[[`4b5e23c71b`](https://togithub.com/nodejs/node/commit/4b5e23c71b)] - **src**: set ModuleWrap internal fields only once (Joyee Cheung) [#&#8203;49391](https://togithub.com/nodejs/node/pull/49391)
-   \[[`2d3f5c7cab`](https://togithub.com/nodejs/node/commit/2d3f5c7cab)] - **src**: fix fs_type_to_name default value (Mustafa Ateş Uzun) [#&#8203;49239](https://togithub.com/nodejs/node/pull/49239)
-   \[[`cfbcb1059c`](https://togithub.com/nodejs/node/commit/cfbcb1059c)] - **src**: fix comment on StreamResource (rogertyang) [#&#8203;49193](https://togithub.com/nodejs/node/pull/49193)
-   \[[`39fb83ad16`](https://togithub.com/nodejs/node/commit/39fb83ad16)] - **src**: do not rely on the internal field being default to undefined (Joyee Cheung) [#&#8203;49413](https://togithub.com/nodejs/node/pull/49413)
-   \[[`9fd67fbff0`](https://togithub.com/nodejs/node/commit/9fd67fbff0)] - **stream**: use bitmap in writable state (Raz Luvaton) [#&#8203;49834](https://togithub.com/nodejs/node/pull/49834)
-   \[[`0ccd4638ac`](https://togithub.com/nodejs/node/commit/0ccd4638ac)] - **stream**: use bitmap in readable state (Benjamin Gruenbaum) [#&#8203;49745](https://togithub.com/nodejs/node/pull/49745)
-   \[[`b29d927010`](https://togithub.com/nodejs/node/commit/b29d927010)] - **stream**: improve readable webstream `pipeTo` (Raz Luvaton) [#&#8203;49690](https://togithub.com/nodejs/node/pull/49690)
-   \[[`7c5e322346`](https://togithub.com/nodejs/node/commit/7c5e322346)] - **stream**: improve webstream readable async iterator performance (Raz Luvaton) [#&#8203;49662](https://togithub.com/nodejs/node/pull/49662)
-   \[[`be211ef818`](https://togithub.com/nodejs/node/commit/be211ef818)] - **test**: deflake test-vm-contextified-script-leak (Joyee Cheung) [#&#8203;49710](https://togithub.com/nodejs/node/pull/49710)
-   \[[`355f10dab2`](https://togithub.com/nodejs/node/commit/355f10dab2)] - **test**: use checkIfCollectable in vm leak tests (Joyee Cheung) [#&#8203;49671](https://togithub.com/nodejs/node/pull/49671)
-   \[[`17cfc531aa`](https://togithub.com/nodejs/node/commit/17cfc531aa)] - **test**: add checkIfCollectable to test/common/gc.js (Joyee Cheung) [#&#8203;49671](https://togithub.com/nodejs/node/pull/49671)
-   \[[`e49a573752`](https://togithub.com/nodejs/node/commit/e49a573752)] - **test**: add os setPriority, getPriority test coverage (Wael) [#&#8203;38771](https://togithub.com/nodejs/node/pull/38771)
-   \[[`5f02711522`](https://togithub.com/nodejs/node/commit/5f02711522)] - **test**: deflake test-runner-output (Moshe Atlow) [#&#8203;49878](https://togithub.com/nodejs/node/pull/49878)
-   \[[`cd9754d6a7`](https://togithub.com/nodejs/node/commit/cd9754d6a7)] - **test**: mark test-runner-output as flaky (Joyee Cheung) [#&#8203;49854](https://togithub.com/nodejs/node/pull/49854)
-   \[[`5ad00424dd`](https://togithub.com/nodejs/node/commit/5ad00424dd)] - **test**: use mustSucceed instead of mustCall (SiddharthDevulapalli) [#&#8203;49788](https://togithub.com/nodejs/node/pull/49788)
-   \[[`3db9b40081`](https://togithub.com/nodejs/node/commit/3db9b40081)] - **test**: refactor test-readline-async-iterators into a benchmark (Shubham Pandey) [#&#8203;49237](https://togithub.com/nodejs/node/pull/49237)
-   \[[`2cc5ad7859`](https://togithub.com/nodejs/node/commit/2cc5ad7859)] - ***Revert*** "**test**: mark test-http-regr-[gh-2928](https://togithub.com/nodejs/node/issues/2928) as flaky" (Luigi Pinca) [#&#8203;49708](https://togithub.com/nodejs/node/pull/49708)
-   \[[`e5185b053c`](https://togithub.com/nodejs/node/commit/e5185b053c)] - **test**: use `fs.constants` for `fs.access` constants (Livia Medeiros) [#&#8203;49685](https://togithub.com/nodejs/node/pull/49685)
-   \[[`b9e5b43462`](https://togithub.com/nodejs/node/commit/b9e5b43462)] - **test**: deflake test-http-regr-[gh-2928](https://togithub.com/nodejs/node/issues/2928) (Luigi Pinca) [#&#8203;49574](https://togithub.com/nodejs/node/pull/49574)
-   \[[`1fffda504e`](https://togithub.com/nodejs/node/commit/1fffda504e)] - **test**: fix argument computation in embedtest (Joyee Cheung) [#&#8203;49506](https://togithub.com/nodejs/node/pull/49506)
-   \[[`6e56f2db52`](https://togithub.com/nodejs/node/commit/6e56f2db52)] - **test**: skip test-child-process-stdio-reuse-readable-stdio on Windows (Joyee Cheung) [#&#8203;49621](https://togithub.com/nodejs/node/pull/49621)
-   \[[`ab3afb330d`](https://togithub.com/nodejs/node/commit/ab3afb330d)] - **test**: mark test-runner-watch-mode as flaky (Joyee Cheung) [#&#8203;49627](https://togithub.com/nodejs/node/pull/49627)
-   \[[`185d9b50db`](https://togithub.com/nodejs/node/commit/185d9b50db)] - **test**: deflake test-tls-socket-close (Luigi Pinca) [#&#8203;49575](https://togithub.com/nodejs/node/pull/49575)
-   \[[`c70c74a9e6`](https://togithub.com/nodejs/node/commit/c70c74a9e6)] - **test**: show more info on failure in test-cli-syntax-require.js (Joyee Cheung) [#&#8203;49561](https://togithub.com/nodejs/node/pull/49561)
-   \[[`ed7c6d1114`](https://togithub.com/nodejs/node/commit/ed7c6d1114)] - **test**: mark test-http-regr-[gh-2928](https://togithub.com/nodejs/node/issues/2928) as flaky (Joyee Cheung) [#&#8203;49565](https://togithub.com/nodejs/node/pull/49565)
-   \[[`3599eebab9`](https://togithub.com/nodejs/node/commit/3599eebab9)] - **test**: use spawnSyncAndExitWithoutError in sea tests (Joyee Cheung) [#&#8203;49543](https://togithub.com/nodejs/node/pull/49543)
-   \[[`f79b153e89`](https://togithub.com/nodejs/node/commit/f79b153e89)] - **test**: use spawnSyncAndExitWithoutError in test/common/sea.js (Joyee Cheung) [#&#8203;49543](https://togithub.com/nodejs/node/pull/49543)
-   \[[`c079c73769`](https://togithub.com/nodejs/node/commit/c079c73769)] - **test**: use setImmediate() in test-heapdump-shadowrealm.js (Joyee Cheung) [#&#8203;49573](https://togithub.com/nodejs/node/pull/49573)
-   \[[`667a92493c`](https://togithub.com/nodejs/node/commit/667a92493c)] - **test**: skip test-child-process-pipe-dataflow.js on Windows (Joyee Cheung) [#&#8203;49563](https://togithub.com/nodejs/node/pull/49563)
-   \[[`91af0a9a3c`](https://togithub.com/nodejs/node/commit/91af0a9a3c)] - ***Revert*** "**test**: ignore the copied entry_point.c" (Chengzhong Wu) [#&#8203;49515](https://togithub.com/nodejs/node/pull/49515)
-   \[[`567afc71b8`](https://togithub.com/nodejs/node/commit/567afc71b8)] - **test**: avoid copying test source files (Chengzhong Wu) [#&#8203;49515](https://togithub.com/nodejs/node/pull/49515)
-   \[[`ced25a976d`](https://togithub.com/nodejs/node/commit/ced25a976d)] - **test**: increase coverage of `Module.register` and `initialize` hook (Antoine du Hamel) [#&#8203;49532](https://togithub.com/nodejs/node/pull/49532)
-   \[[`be02fbdb8a`](https://togithub.com/nodejs/node/commit/be02fbdb8a)] - **test**: isolate `globalPreload` tests (Geoffrey Booth) [#&#8203;49545](https://togithub.com/nodejs/node/pull/49545)
-   \[[`f214428845`](https://togithub.com/nodejs/node/commit/f214428845)] - **test**: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) [#&#8203;49492](https://togithub.com/nodejs/node/pull/49492)
-   \[[`3987094569`](https://togithub.com/nodejs/node/commit/3987094569)] - **test**: make `test-dotenv-node-options` locale-independent (Livia Medeiros) [#&#8203;49470](https://togithub.com/nodejs/node/pull/49470)
-   \[[`34c1741792`](https://togithub.com/nodejs/node/commit/34c1741792)] - **test**: add test for urlstrings usage in `node:fs` (Livia Medeiros) [#&#8203;49471](https://togithub.com/nodejs/node/pull/49471)
-   \[[`c3c6c4f007`](https://togithub.com/nodejs/node/commit/c3c6c4f007)] - **test**: make test-worker-prof more robust (Joyee Cheung) [#&#8203;49274](https://togithub.com/nodejs/node/pull/49274)
-   \[[`843df1a4da`](https://togithub.com/nodejs/node/commit/843df1a4da)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#&#8203;49714](https://togithub.com/nodejs/node/pull/49714)
-   \[[`80b342cc38`](https://togithub.com/nodejs/node/commit/80b342cc38)] - **(SEMVER-MINOR)** **test_runner**: accept `testOnly` in `run` (Moshe Atlow) [#&#8203;49753](https://togithub.com/nodejs/node/pull/49753)
-   \[[`76865515b9`](https://togithub.com/nodejs/node/commit/76865515b9)] - **test_runner**: fix test runner watch mode when no positional arguments (Moshe Atlow) [#&#8203;49578](https://togithub.com/nodejs/node/pull/49578)
-   \[[`17a05b141d`](https://togithub.com/nodejs/node/commit/17a05b141d)] - **(SEMVER-MINOR)** **test_runner**: add junit reporter (Moshe Atlow) [#&#8203;49614](https://togithub.com/nodejs/node/pull/49614)
-   \[[`5672e38457`](https://togithub.com/nodejs/node/commit/5672e38457)] - **test_runner**: add jsdocs to mock.js (Caio Borghi) [#&#8203;49555](https://togithub.com/nodejs/node/pull/49555)
-   \[[`b4d42a8f2b`](https://togithub.com/nodejs/node/commit/b4d42a8f2b)] - **test_runner**: fix invalid timer call (Erick Wendel) [#&#8203;49477](https://togithub.com/nodejs/node/pull/49477)
-   \[[`f755e6786b`](https://togithub.com/nodejs/node/commit/f755e6786b)] - **test_runner**: add jsdocs to MockTimers (Erick Wendel) [#&#8203;49476](https://togithub.com/nodejs/node/pull/49476)
-   \[[`e7285d4bf0`](https://togithub.com/nodejs/node/commit/e7285d4bf0)] - **test_runner**: fix typescript coverage (Moshe Atlow) [#&#8203;49406](https://togithub.com/nodejs/node/pull/49406)
-   \[[`07a2e29bf3`](https://togithub.com/nodejs/node/commit/07a2e29bf3)] - **tools**: support updating [@&#8203;reporters/github](https://togithub.com/reporters/github) manually (Moshe Atlow) [#&#8203;49871](https://togithub.com/nodejs/node/pull/49871)
-   \[[`5ac6722031`](https://togithub.com/nodejs/node/commit/5ac6722031)] - **tools**: skip ruff on tools/node_modules (Moshe Atlow) [#&#8203;49838](https://togithub.com/nodejs/node/pull/49838)
-   \[[`462228bd24`](https://togithub.com/nodejs/node/commit/462228bd24)] - **tools**: fix uvwasi updater (Michael Dawson) [#&#8203;49682](https://togithub.com/nodejs/node/pull/49682)
-   \[[`ff81bfb958`](https://togithub.com/nodejs/node/commit/ff81bfb958)] - **tools**: update lint-md-dependencies to rollup@3.29.2 (Node.js GitHub Bot) [#&#8203;49679](https://togithub.com/nodejs/node/pull/49679)
-   \[[`08ffc6344c`](https://togithub.com/nodejs/node/commit/08ffc6344c)] - **tools**: restrict internal code from using public `url` module (LiviaMedeiros) [#&#8203;49590](https://togithub.com/nodejs/node/pull/49590)
-   \[[`728ebf6c97`](https://togithub.com/nodejs/node/commit/728ebf6c97)] - **tools**: update eslint to 8.49.0 (Node.js GitHub Bot) [#&#8203;49586](https://togithub.com/nodejs/node/pull/49586)
-   \[[`20d038ffb1`](https://togithub.com/nodejs/node/commit/20d038ffb1)] - **tools**: update lint-md-dependencies to rollup@3.29.0 unified@11.0.3 (Node.js GitHub Bot) [#&#8203;49584](https://togithub.com/nodejs/node/pull/49584)
-   \[[`210c15bd12`](https://togithub.com/nodejs/node/commit/210c15bd12)] - **tools**: allow passing absolute path of config.gypi in js2c (Cheng Zhao) [#&#8203;49162](https://togithub.com/nodejs/node/pull/49162)
-   \[[`e341efe173`](https://togithub.com/nodejs/node/commit/e341efe173)] - **tools**: configure never-stale label correctly (Michaël Zasso) [#&#8203;49498](https://togithub.com/nodejs/node/pull/49498)
-   \[[`a8a8a498ce`](https://togithub.com/nodejs/node/commit/a8a8a498ce)] - **tools**: update doc dependencies (Node.js GitHub Bot) [#&#8203;49467](https://togithub.com/nodejs/node/pull/49467)
-   \[[`ac06607f9e`](https://togithub.com/nodejs/node/commit/ac06607f9e)] - **typings**: fix missing property in `ExportedHooks` (Antoine du Hamel) [#&#8203;49567](https://togithub.com/nodejs/node/pull/49567)
-   \[[`097b59807a`](https://togithub.com/nodejs/node/commit/097b59807a)] - **url**: improve invalid url performance (Yagiz Nizipli) [#&#8203;49692](https://togithub.com/nodejs/node/pull/49692)
-   \[[`7c2060cfac`](https://togithub.com/nodejs/node/commit/7c2060cfac)] - **util**: add `getCwdSafe` internal util fn (João Lenon) [#&#8203;48434](https://togithub.com/nodejs/node/pull/48434)
-   \[[`c23c60f545`](https://togithub.com/nodejs/node/commit/c23c60f545)] - **zlib**: disable CRC32 SIMD optimization (Luigi Pinca) [#&#8203;49511](https://togithub.com/nodejs/node/pull/49511)

### [`v20.7.0`](https://togithub.com/nodejs/node/releases/tag/v20.7.0): 2023-09-18, Version 20.7.0 (Current), @&#8203;UlisesGascon

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

##### Notable Changes

-   \[[`022f1b70c1`](https://togithub.com/nodejs/node/commit/022f1b70c1)] - **src**: support multiple `--env-file` declarations (Yagiz Nizipli) [#&#8203;49542](https://togithub.com/nodejs/node/pull/49542)
-   \[[`4a1d1cad61`](https://togithub.com/nodejs/node/commit/4a1d1cad61)] - **crypto**: update root certificates to NSS 3.93 (Node.js GitHub Bot) [#&#8203;49341](https://togithub.com/nodejs/node/pull/49341)
-   \[[`a1a65f593c`](https://togithub.com/nodejs/node/commit/a1a65f593c)] - **deps**: upgrade npm to 10.1.0 (npm team) [#&#8203;49570](https://togithub.com/nodejs/node/pull/49570)
-   \[[`6c2480cad9`](https://togithub.com/nodejs/node/commit/6c2480cad9)] - **(SEMVER-MINOR)** **deps**: upgrade npm to 10.0.0 (npm team) [#&#8203;49423](https://togithub.com/nodejs/node/pull/49423)
-   \[[`bef900e56b`](https://togithub.com/nodejs/node/commit/bef900e56b)] - **doc**: move and rename loaders section (Geoffrey Booth) [#&#8203;49261](https://togithub.com/nodejs/node/pull/49261)
-   \[[`db4ce8a593`](https://togithub.com/nodejs/node/commit/db4ce8a593)] - **doc**: add release key for Ulises Gascon (Ulises Gascón) [#&#8203;49196](https://togithub.com/nodejs/node/pull/49196)
-   \[[`11c85ffa98`](https://togithub.com/nodejs/node/commit/11c85ffa98)] - **(SEMVER-MINOR)** **lib**: add api to detect whether source-maps are enabled (翠 / green) [#&#8203;46391](https://togithub.com/nodejs/node/pull/46391)
-   \[[`ec51e25ed7`](https://togithub.com/nodejs/node/commit/ec51e25ed7)] - **src,permission**: add multiple allow-fs-\* flags (Carlos Espa) [#&#8203;49047](https://togithub.com/nodejs/node/pull/49047)
-   \[[`efdc95fbc0`](https://togithub.com/nodejs/node/commit/efdc95fbc0)] - **(SEMVER-MINOR)** **test_runner**: expose location of tests (Colin Ihrig) [#&#8203;48975](https://togithub.com/nodejs/node/pull/48975)

##### Commits

-   \[[`e84515594e`](https://togithub.com/nodejs/node/commit/e84515594e)] - **benchmark**: use `tmpdir.resolve()` (Livia Medeiros) [#&#8203;49137](https://togithub.com/nodejs/node/pull/49137)
-   \[[`f37444e896`](https://togithub.com/nodejs/node/commit/f37444e896)] - **bootstrap**: build code cache from deserialized isolate (Joyee Cheung) [#&#8203;49099](https://togithub.com/nodejs/node/pull/49099)
-   \[[`af6dc1754d`](https://togithub.com/nodejs/node/commit/af6dc1754d)] - **bootstrap**: do not generate code cache in an unfinalized isolate (Joyee Cheung) [#&#8203;49108](https://togithub.com/nodejs/node/pull/49108)
-   \[[`cade5716df`](https://togithub.com/nodejs/node/commit/cade5716df)] - **build**: add symlink to `compile_commands.json` file if needed (Juan José) [#&#8203;49260](https://togithub.com/nodejs/node/pull/49260)
-   \[[`34a2590b05`](https://togithub.com/nodejs/node/commit/34a2590b05)] - **build**: expand when we run internet tests (Michael Dawson) [#&#8203;49218](https://togithub.com/nodejs/node/pull/49218)
-   \[[`f637fd46ab`](https://togithub.com/nodejs/node/commit/f637fd46ab)] - **build**: fix typo `libray` -> `library` (configure.py) (michalbiesek) [#&#8203;49106](https://togithub.com/nodejs/node/pull/49106)
-   \[[`ef3d8dd493`](https://togithub.com/nodejs/node/commit/ef3d8dd493)] - **crypto**: remove webcrypto EdDSA key checks and properties (Filip Skokan) [#&#8203;49408](https://togithub.com/nodejs/node/pull/49408)
-   \[[`4a1d1cad61`](https://togithub.com/nodejs/node/commit/4a1d1cad61)] - **crypto**: update root certificates to NSS 3.93 (Node.js GitHub Bot) [#&#8203;49341](https://togithub.com/nodejs/node/pull/49341)
-   \[[`7eb10a38ea`](https://togithub.com/nodejs/node/commit/7eb10a38ea)] - **crypto**: remove getDefaultEncoding() (Tobias Nießen) [#&#8203;49170](https://togithub.com/nodejs/node/pull/49170)
-   \[[`772496c030`](https://togithub.com/nodejs/node/commit/772496c030)] - **crypto**: remove default encoding from DiffieHellman (Tobias Nießen) [#&#8203;49169](https://togithub.com/nodejs/node/pull/49169)
-   \[[`c795083232`](https://togithub.com/nodejs/node/commit/c795083232)] - **crypto**: remove default encoding from Hash/Hmac (Tobias Nießen) [#&#8203;49167](https://togithub.com/nodejs/node/pull/49167)
-   \[[`08197aa010`](https://togithub.com/nodejs/node/commit/08197aa010)] - **crypto**: remove default encoding from sign/verify (Tobias Nießen) [#&#8203;49145](https://togithub.com/nodejs/node/pull/49145)
-   \[[`a1a65f593c`](https://togithub.com/nodejs/node/commit/a1a65f593c)] - **deps**: upgrade npm to 10.1.0 (npm team) [#&#8203;49570](https://togithub.com/nodejs/node/pull/49570)
-   \[[`6c2480cad9`](https://togithub.com/nodejs/node/commit/6c2480cad9)] - **(SEMVER-MINOR)** **deps**: upgrade npm to 10.0.0 (npm team) [#&#8203;49423](https://togithub.com/nodejs/node/pull/49423)
-   \[[`84195d9584`](https://togithub.com/nodejs/node/commit/84195d9584)] - **deps**: add missing thread-common.c in uv.gyp (Santiago Gimeno) [#&#8203;49410](https://togithub.com/nodejs/node/pull/49410)
-   \[[`5b70b68b3d`](https://togithub.com/nodejs/node/commit/5b70b68b3d)] - **deps**: V8: cherry-pick [`eadaef5`](https://togithub.com/nodejs/node/commit/eadaef581c29) (Adam Majer) [#&#8203;49401](https://togithub.com/nodejs/node/pull/49401)
-   \[[`fe34d632e8`](https://togithub.com/nodejs/node/commit/fe34d632e8)] - **deps**: update zlib to 1.2.13.1-motley-f5fd0ad (Node.js GitHub Bot) [#&#8203;49252](https://togithub.com/nodejs/node/pull/49252)
-   \[[`db4ce8a593`](https://togithub.com/nodejs/node/commit/db4ce8a593)] - **doc**: add release key for Ulises Gascon (Ulises Gascón) [#&#8203;49196](https://togithub.com/nodejs/node/pull/49196)
-   \[[`e5f3a694cf`](https://togithub.com/nodejs/node/commit/e5f3a694cf)] - **doc**: fix node-api call example (Chengzhong Wu) [#&#8203;49395](https://togithub.com/nodejs/node/pull/49395)
-   \[[`021345a724`](https://togithub.com/nodejs/node/commit/021345a724)] - **doc**: add news issue for Diagnostics WG (Michael Dawson) [#&#8203;49306](https://togithub.com/nodejs/node/pull/49306)
-   \[[`f82347266b`](https://togithub.com/nodejs/node/commit/f82347266b)] - **doc**: clarify policy expectations (Rafael Gonzaga) [#&#8203;48947](https://togithub.com/nodejs/node/pull/48947)
-   \[[`73cfd9c895`](https://togithub.com/nodejs/node/commit/73cfd9c895)] - **doc**: add print results for examples in `StringDecoder` (Jungku Lee) [#&#8203;49326](https://togithub.com/nodejs/node/pull/49326)
-   \[[`63ab591416`](https://togithub.com/nodejs/node/commit/63ab591416)] - **doc**: update outdated reference to NIST SP 800-131A (Tobias Nießen) [#&#8203;49316](https://togithub.com/nodejs/node/pull/49316)
-   \[[`935dfe2afd`](https://togithub.com/nodejs/node/commit/935dfe2afd)] - **doc**: use `cjs` as block code's type in `MockTimers` (Deokjin Kim) [#&#8203;49309](https://togithub.com/nodejs/node/pull/49309)
-   \[[`7c0cd2fb87`](https://togithub.com/nodejs/node/commit/7c0cd2fb87)] - **doc**: update `options.filter` description for `fs.cp` (Shubham Pandey) [#&#8203;49289](https://togithub.com/nodejs/node/pull/49289)
-   \[[`f72e79ea67`](https://togithub.com/nodejs/node/commit/f72e79ea67)] - **doc**: add riscv64 to list of architectures (Stewart X Addison) [#&#8203;49284](https://togithub.com/nodejs/node/pull/49284)
-   \[[`d19c710064`](https://togithub.com/nodejs/node/commit/d19c710064)] - **doc**: avoid "not currently recommended" (Tobias Nießen) [#&#8203;49300](https://togithub.com/nodejs/node/pull/49300)
-   \[[`ae656101c0`](https://togithub.com/nodejs/node/commit/ae656101c0)] - **doc**: update module hooks docs (Geoffrey Booth) [#&#8203;49265](https://togithub.com/nodejs/node/pull/49265)
-   \[[`fefbdb92f2`](https://togithub.com/nodejs/node/commit/fefbdb92f2)] - **doc**: modify param description for end(),write() in `StringDecoder` (Jungku Lee) [#&#8203;49285](https://togithub.com/nodejs/node/pull/49285)
-   \[[`59e66a1ebe`](https://togithub.com/nodejs/node/commit/59e66a1ebe)] - **doc**: use NODE_API_SUPPORTED_VERSION_MAX in release doc (Cheng Zhao) [#&#8203;49268](https://togithub.com/nodejs/node/pull/49268)
-   \[[`ac3b88449b`](https://togithub.com/nodejs/node/commit/ac3b88449b)] - **doc**: fix typo in `stream.finished` documentation (Antoine du Hamel) [#&#8203;49271](https://togithub.com/nodejs/node/pull/49271)
-   \[[`7428ebf6c3`](https://togithub.com/nodejs/node/commit/7428ebf6c3)] - **doc**: update description for `percent_encode` sets in `WHATWG API` (Jungku Lee) [#&#8203;49258](https://togithub.com/nodejs/node/pull/49258)
-   \[[`bef900e56b`](https://togithub.com/nodejs/node/commit/bef900e56b)] - **doc**: move and rename loaders section (Geoffrey Booth) [#&#8203;49261](https://togithub.com/nodejs/node/pull/49261)
-   \[[`a22e0d9696`](https://togithub.com/nodejs/node/commit/a22e0d9696)] - **doc**: clarify use of Uint8Array for n-api (Fedor Indutny) [#&#8203;48742](https://togithub.com/nodejs/node/pull/48742)
-   \[[`1704f24cb9`](https://togithub.com/nodejs/node/commit/1704f24cb9)] - **doc**: add signature for `module.register` (Geoffrey Booth) [#&#8203;49251](https://togithub.com/nodejs/node/pull/49251)
-   \[[`5a363bb01b`](https://togithub.com/nodejs/node/commit/5a363bb01b)] - **doc**: caveat unavailability of `import.meta.resolve` in custom loaders (Jacob Smith) [#&#8203;49242](https://togithub.com/nodejs/node/pull/49242)
-   \[[`8101f2b259`](https://togithub.com/nodejs/node/commit/8101f2b259)] - **doc**: use same name in the doc as in the code (Hyunjin Kim) [#&#8203;49216](https://togithub.com/nodejs/node/pull/49216)
-   \[[`edf278d60d`](https://togithub.com/nodejs/node/commit/edf278d60d)] - **doc**: add notable-change label mention to PR template (Rafael Gonzaga) [#&#8203;49188](https://togithub.com/nodejs/node/pull/49188)
-   \[[`3df2251a6a`](https://togithub.com/nodejs/node/commit/3df2251a6a)] - **doc**: add h1 summary to security release process (Rafael Gonzaga) [#&#8203;49112](https://togithub.com/nodejs/node/pull/49112)
-   \[[`9fcd99a744`](https://togithub.com/nodejs/node/commit/9fcd99a744)] - **doc**: update to semver-minor releases by default (Rafael Gonzaga) [#&#8203;49175](https://togithub.com/nodejs/node/pull/49175)
-   \[[`777931f499`](https://togithub.com/nodejs/node/commit/777931f499)] - **doc**: fix wording in napi_async_init (Tobias Nießen) [#&#8203;49180](https://togithub.com/nodejs/node/pull/49180)
-   \[[`f45c8e10c0`](https://togithub.com/nodejs/node/commit/f45c8e10c0)] - **doc,test**: add known path resolution issue in permission model (Tobias Nießen) [#&#8203;49155](https://togithub.com/nodejs/node/pull/49155)
-   \[[`a6cfea3f74`](https://togithub.com/nodejs/node/commit/a6cfea3f74)] - **esm**: align sync and async load implementations (Antoine du Hamel) [#&#8203;49152](https://togithub.com/nodejs/node/pull/49152)
-   \[[`9fac310b33`](https://togithub.com/nodejs/node/commit/9fac310b33)] - **fs**: add the options param description in openAsBlob() (Yeseul Lee) [#&#8203;49308](https://togithub.com/nodejs/node/pull/49308)
-   \[[`92772a8175`](https://togithub.com/nodejs/node/commit/92772a8175)] - **fs**: remove redundant code in readableWebStream() (Deokjin Kim) [#&#8203;49298](https://togithub.com/nodejs/node/pull/49298)
-   \[[`88ba79b083`](https://togithub.com/nodejs/node/commit/88ba79b083)] - **fs**: make sure to write entire buffer (Robert Nagy) [#&#8203;49211](https://togithub.com/nodejs/node/pull/49211)
-   \[[`11c85ffa98`](https://togithub.com/nodejs/node/commit/11c85ffa98)] - **(SEMVER-MINOR)** **lib**: add api to detect whether source-maps are enabled (翠 / green) [#&#8203;46391](https://togithub.com/nodejs/node/pull/46391)
-   \[[`c12711ebfe`](https://togithub.com/nodejs/node/commit/c12711ebfe)] - **lib**: implement WeakReference on top of JS WeakRef (Joyee Cheung) [#&#8203;49053](https://togithub.com/nodejs/node/pull/49053)
-   \[[`9a0891f88d`](https://togithub.com/nodejs/node/commit/9a0891f88d)] - **meta**: bump step-security/harden-runner from 2.5.0 to 2.5.1 (dependabot\[bot]) [#&#8203;49435](https://togithub.com/nodejs/node/pull/49435)
-   \[[`ae67f41ef1`](https://togithub.com/nodejs/node/commit/ae67f41ef1)] - **meta**: bump actions/checkout from 3.5.3 to 3.6.0 (dependabot\[bot]) [#&#8203;49436](https://togithub.com/nodejs/node/pull/49436)
-   \[[`71b4411fb2`](https://togithub.com/nodejs/node/commit/71b4411fb2)] - **meta**: bump actions/setup-node from 3.7.0 to 3.8.1 (dependabot\[bot]) [#&#8203;49434](https://togithub.com/nodejs/node/pull/49434)
-   \[[`83b7d3a395`](https://togithub.com/nodejs/node/commit/83b7d3a395)] - **meta**: remove modules team from CODEOWNERS (Benjamin Gruenbaum) [#&#8203;49412](https://togithub.com/nodejs/node/pull/49412)
-   \[[`81ff68c45c`](https://togithub.com/nodejs/node/commit/81ff68c45c)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;49264](https://togithub.com/nodejs/node/pull/49264)
-   \[[`ab975233cc`](https://togithub.com/nodejs/node/commit/ab975233cc)] - **meta**: mention nodejs/tsc when changing GH templates (Rafael Gonzaga) [#&#8203;49189](https://togithub.com/nodejs/node/pull/49189)
-   \[[`ceaa5494de`](https://togithub.com/nodejs/node/commit/ceaa5494de)] - **meta**: add test/reporters to codeowners (Chemi Atlow) [#&#8203;49186](https://togithub.com/nodejs/node/pull/49186)
-   \[[`de0a51b7cf`](https://togithub.com/nodejs/node/commit/de0a51b7cf)] - **net**: improve performance of isIPv4 and isIPv6 (Uzlopak) [#&#8203;49568](https://togithub.com/nodejs/node/pull/49568)
-   \[[`8d0913bf95`](https://togithub.com/nodejs/node/commit/8d0913bf95)] - **net**: use asserts in JS Socket Stream to catch races in future (Tim Perry) [#&#8203;49400](https://togithub.com/nodejs/node/pull/49400)
-   \[[`2486836a7d`](https://togithub.com/nodejs/node/commit/2486836a7d)] - **net**: fix crash due to simultaneous close/shutdown on JS Stream Sockets (Tim Perry) [#&#8203;49400](https://togithub.com/nodejs/node/pull/49400)
-   \[[`7a808340cd`](https://togithub.com/nodejs/node/commit/7a808340cd)] - **node-api**: fix compiler warning in node_api.h (Michael Graeb) [#&#8203;49103](https://togithub.com/nodejs/node/pull/49103)
-   \[[`30f26a99f4`](https://togithub.com/nodejs/node/commit/30f26a99f4)] - **permission**: ensure to resolve path when calling mkdtemp (RafaelGSS) [nodejs-private/node-private#440](https://togithub.com/nodejs-private/node-private/pull/440)
-   \[[`5051c75a5b`](https://togithub.com/nodejs/node/commit/5051c75a5b)] - **policy**: fix path to URL conversion (Antoine du Hamel) [#&#8203;49133](https://togithub.com/nodejs/node/pull/49133)
-   \[[`173aed4757`](https://togithub.com/nodejs/node/commit/173aed4757)] - **report**: fix recent coverity warning (Michael Dawson) [#&#8203;48954](https://togithub.com/nodejs/node/pull/48954)
-   \[[`d7ff78b442`](https://togithub.com/nodejs/node/commit/d7ff78b442)] - **sea**: generate code cache with deserialized isolate (Joyee Cheung) [#&#8203;49226](https://togithub.com/nodejs/node/pull/49226)
-   \[[`022f1b70c1`](https://togithub.com/nodejs/node/commit/022f1b70c1)] - **src**: support multiple `--env-file` declarations (Yagiz Nizipli) [#&#8203;49542](https://togithub.com/nodejs/node/pull/49542)
-   \[[`154b1c2115`](https://togithub.com/nodejs/node/commit/154b1c2115)] - **src**: don't overwrite environment from .env file (Phil Nash) [#&#8203;49424](https://togithub.com/nodejs/node/pull/49424)
-   \[[`dc4de1c69b`](https://togithub.com/nodejs/node/commit/dc4de1c69b)] - **src**: modify code for empty string (pluris) [#&#8203;49336](https://togithub.com/nodejs/node/pull/49336)
-   \[[`701c46f967`](https://togithub.com/nodejs/node/commit/701c46f967)] - **src**: remove unused PromiseWrap-related code (Joyee Cheung) [#&#8203;49335](https://togithub.com/nodejs/node/pull/49335)
-   \[[`4a094dc7af`](https://togithub.com/nodejs/node/commit/4a094dc7af)] - **src**: rename IsAnyByteSource to IsAnyBufferSource (Tobias Nießen) [#&#8203;49346](https://togithub.com/nodejs/node/pull/49346)
-   \[[`55d6649175`](https://togithub.com/nodejs/node/commit/55d6649175)] - **src**: support snapshot deserialization in RAIIIsolate (Joyee Cheung) [#&#8203;49226](https://togithub.com/nodejs/node/pull/49226)
-   \[[`dc092864ef`](https://togithub.com/nodejs/node/commit/dc092864ef)] - **src**: remove unused function `GetName()` in node_perf (Jungku Lee) [#&#8203;49244](https://togithub.com/nodejs/node/pull/49244)
-   \[[`f2552a410e`](https://togithub.com/nodejs/node/commit/f2552a410e)] - **src**: use ARES_SUCCESS instead of 0 (Jungku Lee) [#&#8203;49048](https://togithub.com/nodejs/node/pull/49048)
-   \[[`4a9ae31519`](https://togithub.com/nodejs/node/commit/4a9ae31519)] - **src**: add a condition if the argument of `DomainToUnicode` is empty (Jungku Lee) [#&#8203;49097](https://togithub.com/nodejs/node/pull/49097)
-   \[[`f460362cdf`](https://togithub.com/nodejs/node/commit/f460362cdf)] - **src**: remove C++ WeakReference implementation (Joyee Cheung) [#&#8203;49053](https://togithub.com/nodejs/node/pull/49053)
-   \[[`2a35383b3e`](https://togithub.com/nodejs/node/commit/2a35383b3e)] - **src**: use per-realm GetBindingData() wherever applicable (Joyee Cheung) [#&#8203;49007](https://togithub.com/nodejs/node/pull/49007)
-   \[[`184bbddcf5`](https://togithub.com/nodejs/node/commit/184bbddcf5)] - **src**: add per-realm GetBindingData() method (Joyee Cheung) [#&#8203;49007](https://togithub.com/nodejs/node/pull/49007)
-   \[[`e9946885f9`](https://togithub.com/nodejs/node/commit/e9946885f9)] - **src**: serialize both BaseObject slots (Joyee Cheung) [#&#8203;48996](https://togithub.com/nodejs/node/pull/48996)
-   \[[`ec51e25ed7`](https://togithub.com/nodejs/node/commit/ec51e25ed7)] - **src,permission**: add multiple allow-fs-\* flags (Carlos Espa) [#&#8203;49047](https://togithub.com/nodejs/node/pull/49047)
-   \[[`8aac95de4b`](https://togithub.com/nodejs/node/commit/8aac95de4b)] - **stream**: improve tee perf by reduce `ReflectConstruct` usages (Raz Luvaton) [#&#8203;49546](https://togithub.com/nodejs/node/pull/49546)
-   \[[`0eea7fd8fb`](https://togithub.com/nodejs/node/commit/0eea7fd8fb)] - **stream**: use Buffer.from when constructor is a Buffer (Matthew Aitken) [#&#8203;49250](https://togithub.com/nodejs/node/pull/49250)
-   \[[`b961d9bd52`](https://togithub.com/nodejs/node/commit/b961d9bd52)] - **stream**: add `highWaterMark` for the map operator (Raz Luvaton) [#&#8203;49249](https://togithub.com/nodejs/node/pull/49249)
-   \[[`ca1384166d`](https://togithub.com/nodejs/node/commit/ca1384166d)] - **test**: fix warning for comment in embedtest (Jungku Lee) [#&#8203;49416](https://togithub.com/nodejs/node/pull/49416)
-   \[[`2a35782809`](https://togithub.com/nodejs/node/commit/2a35782809)] - **test**: simplify test-crypto-dh-group-setters (Tobias Nießen) [#&#8203;49404](https://togithub.com/nodejs/node/pull/49404)
-   \[[`6740f3c209`](https://togithub.com/nodejs/node/commit/6740f3c209)] - **test**: verify dynamic import call with absolute path strings (Chengzhong Wu) [#&#8203;49275](https://togithub.com/nodejs/node/pull/49275)
-   \[[`6ed47bd8fb`](https://togithub.com/nodejs/node/commit/6ed47bd8fb)] - **test**: reduce length in crypto keygen tests (Joyee Cheung) [#&#8203;49221](https://togithub.com/nodejs/node/pull/49221)
-   \[[`4faa30c553`](https://togithub.com/nodejs/node/commit/4faa30c553)] - **test**: split JWK async elliptic curve keygen tests (Joyee Cheung) [#&#8203;49221](https://togithub.com/nodejs/node/pull/49221)
-   \[[`e04a2603d8`](https://togithub.com/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuMjAwLjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkifQ==-->
2024-02-23 09:03:57 +00:00
DarkSky
d9fee81b10 fix(server): handle unexpected error from storage provider (#5888)
![image](https://github.com/toeverything/AFFiNE/assets/25152247/5a914c7d-0cc2-44ad-97a9-3d39199d8131)

handle unexpected error in workspace usage calc
2024-02-23 08:53:32 +00:00
LongYinan
f003fa0968 chore: bump up all non-major dependencies (#5858)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@electron-forge/maker-base](https://togithub.com/electron/forge) | [`7.2.0` -> `7.3.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-base/7.2.0/7.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-base/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-base/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-base/7.2.0/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-base/7.2.0/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.40` -> `3.0.0-alpha.41`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.40/3.0.0-alpha.41) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.41?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.41?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.40/3.0.0-alpha.41?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.40/3.0.0-alpha.41?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v7.3.0`](https://togithub.com/electron/forge/releases/tag/v7.3.0)

[Compare Source](https://togithub.com/electron/forge/compare/v7.2.0...v7.3.0)

##### What's Changed

##### Features

-   feat(plugin-vite): upgrade to vite@5 by [@&#8203;caoxiemeihao](https://togithub.com/caoxiemeihao) in [https://github.com/electron/forge/pull/3468](https://togithub.com/electron/forge/pull/3468)
-   feat: allow a custom out dir from forge config by [@&#8203;lutzroeder](https://togithub.com/lutzroeder) in [https://github.com/electron/forge/pull/3458](https://togithub.com/electron/forge/pull/3458)
-   feat(template-vite): patch types by [@&#8203;caoxiemeihao](https://togithub.com/caoxiemeihao) in [https://github.com/electron/forge/pull/3494](https://togithub.com/electron/forge/pull/3494)
-   feat: adds default fuses to templates by [@&#8203;yangannyx](https://togithub.com/yangannyx) in [https://github.com/electron/forge/pull/3480](https://togithub.com/electron/forge/pull/3480)
-   feat(publisher-github): option to automatically generate release notes by [@&#8203;dsanders11](https://togithub.com/dsanders11) in [https://github.com/electron/forge/pull/3484](https://togithub.com/electron/forge/pull/3484)

##### Fixes

-   fix(electron-release-publisher): change api/version endpoint in PublisherERS to use versions/sorted by [@&#8203;kgallagher52](https://togithub.com/kgallagher52) in [https://github.com/electron/forge/pull/3431](https://togithub.com/electron/forge/pull/3431)
-   fix(core): packageJSON won't be found when programmatic usage instead of CLI by [@&#8203;ianho](https://togithub.com/ianho) in [https://github.com/electron/forge/pull/3455](https://togithub.com/electron/forge/pull/3455)
-   fix: actually depend on preceeding groups by [@&#8203;MarshallOfSound](https://togithub.com/MarshallOfSound) in [https://github.com/electron/forge/pull/3438](https://togithub.com/electron/forge/pull/3438)
-   fix: normalize windows version with build part correctly by [@&#8203;rickymohk](https://togithub.com/rickymohk) in [https://github.com/electron/forge/pull/3461](https://togithub.com/electron/forge/pull/3461)
-   fix: .vscode settings.json changes on open by [@&#8203;lutzroeder](https://togithub.com/lutzroeder) in [https://github.com/electron/forge/pull/3460](https://togithub.com/electron/forge/pull/3460)
-   fix(plugin-vite): package volume size to large by [@&#8203;caoxiemeihao](https://togithub.com/caoxiemeihao) in [https://github.com/electron/forge/pull/3336](https://togithub.com/electron/forge/pull/3336)

##### Performance

-   refactor: only run webpack once for multi-arch packages by [@&#8203;MarshallOfSound](https://togithub.com/MarshallOfSound) in [https://github.com/electron/forge/pull/3437](https://togithub.com/electron/forge/pull/3437)

##### Other Changes

-   chore: update Packager by [@&#8203;erikian](https://togithub.com/erikian) in [https://github.com/electron/forge/pull/3419](https://togithub.com/electron/forge/pull/3419)
-   chore: bump electronjs/node to 2.2.0 (main) by [@&#8203;electron-roller](https://togithub.com/electron-roller) in [https://github.com/electron/forge/pull/3469](https://togithub.com/electron/forge/pull/3469)
-   chore(plugins/electronegativity): correct some config types  by [@&#8203;Dogdriip](https://togithub.com/Dogdriip) in [https://github.com/electron/forge/pull/3482](https://togithub.com/electron/forge/pull/3482)
-   chore: use Dependabot to update GitHub Actions deps by [@&#8203;dsanders11](https://togithub.com/dsanders11) in [https://github.com/electron/forge/pull/3487](https://togithub.com/electron/forge/pull/3487)
-   chore: bump electronjs/node to 2.2.1 (main) by [@&#8203;electron-roller](https://togithub.com/electron-roller) in [https://github.com/electron/forge/pull/3496](https://togithub.com/electron/forge/pull/3496)

##### New Contributors

-   [@&#8203;kgallagher52](https://togithub.com/kgallagher52) made their first contribution in [https://github.com/electron/forge/pull/3431](https://togithub.com/electron/forge/pull/3431)
-   [@&#8203;rickymohk](https://togithub.com/rickymohk) made their first contribution in [https://github.com/electron/forge/pull/3461](https://togithub.com/electron/forge/pull/3461)
-   [@&#8203;lutzroeder](https://togithub.com/lutzroeder) made their first contribution in [https://github.com/electron/forge/pull/3460](https://togithub.com/electron/forge/pull/3460)
-   [@&#8203;ianho](https://togithub.com/ianho) made their first contribution in [https://github.com/electron/forge/pull/3455](https://togithub.com/electron/forge/pull/3455)
-   [@&#8203;yangannyx](https://togithub.com/yangannyx) made their first contribution in [https://github.com/electron/forge/pull/3480](https://togithub.com/electron/forge/pull/3480)
-   [@&#8203;Dogdriip](https://togithub.com/Dogdriip) made their first contribution in [https://github.com/electron/forge/pull/3482](https://togithub.com/electron/forge/pull/3482)

**Full Changelog**: https://github.com/electron/forge/compare/v7.2.0...v7.3.0

</details>

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

### [`v3.0.0-alpha.41`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.41)

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

##### What's Changed

-   fix(cli): fallback to wasm32 if platform is not support by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1967](https://togithub.com/napi-rs/napi-rs/pull/1967)
-   fix(cli): allow more platform & arch fallback to wasm by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1969](https://togithub.com/napi-rs/napi-rs/pull/1969)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.3...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.41

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-23 08:39:35 +00:00
JimmFly
815ddd3778 chore: replace pricing plan link (#5886)
close TOV-609
2024-02-23 08:28:24 +00:00
Whitewater
9692a120a0 chore: filter out edgeless content from page preview (#5607)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-02-23 08:16:26 +00:00
Whitewater
228b0d789d feat: add shared page filter to all pages (#5540)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-02-23 16:07:13 +08:00
Peng Xiao
745110c799 fix: page info ui issue on journal page (#5887) 2024-02-23 07:55:44 +00:00
EYHN
3f7f78c8f4 fix(core): fix app boot speed (#5885) 2024-02-23 07:07:03 +00:00
Peng Xiao
7ec3f7a042 feat(core): add shortcut for openning settings (#5883)
fix https://github.com/toeverything/AFFiNE/issues/5881
2024-02-23 06:29:49 +00:00
Peng Xiao
bef72029a0 fix: keyboard shortcut style in cmdk (#5882)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7eb2fa93-675a-43a6-8db4-9681fbbd1406.png)
2024-02-23 06:29:46 +00:00
JimmFly
4ea4a2d25f feat(core): support create cloud workspace (#5771)
close TOV-475

has not logged:

https://github.com/toeverything/AFFiNE/assets/102217452/b9aa2806-7dbd-4235-895d-5b27effb5831

 has logged :

https://github.com/toeverything/AFFiNE/assets/102217452/259a1c35-c6ab-4a52-9e03-4438ca64e620

client has not logged:

https://github.com/toeverything/AFFiNE/assets/102217452/af6ef528-6fb8-4a27-842f-00c9669afcb2
2024-02-23 06:18:25 +00:00
Peng Xiao
c22216c71a fix: fix image preview modal story (#5879) 2024-02-23 06:07:46 +00:00
Peng Xiao
0bbecec2fb fix(electron): add back bundle test for appimage (#5876)
In an attempt to fix AppImage build test, I incorrectly removed the script.
This PR add it back.
2024-02-23 04:36:15 +00:00
Peng Xiao
8b1d7219be chore(electron): bump @pengx17/electron-forge-maker-appimage to fix appimage build (#5875)
It looks like I did not publish the correct `@pengx17/electron-forge-maker-appimage`, which will result in failed build for AppImage
2024-02-23 04:36:06 +00:00
LongYinan
f58cb1085e chore: bump up chromatic version to v11 (#5877)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [chromatic](https://www.chromatic.com) ([source](https://togithub.com/chromaui/chromatic-cli)) | [`^10.0.0` -> `^11.0.0`](https://renovatebot.com/diffs/npm/chromatic/10.2.0/11.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/chromatic/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/chromatic/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/chromatic/10.2.0/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chromatic/10.2.0/11.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>chromaui/chromatic-cli (chromatic)</summary>

### [`v11.0.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1100-Thu-Feb-22-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.6...v11.0.0)

##### 💥 Breaking Change

-   Add new invalid sb base dir error message and validator function [#&#8203;921](https://togithub.com/chromaui/chromatic-cli/pull/921) ([@&#8203;andrewortwein](https://togithub.com/andrewortwein) [@&#8203;ethriel3695](https://togithub.com/ethriel3695))

##### Authors: 2

-   Andrew Ortwein ([@&#8203;andrewortwein](https://togithub.com/andrewortwein))
-   Reuben Ellis ([@&#8203;ethriel3695](https://togithub.com/ethriel3695))

***

### [`v10.9.6`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1096-Fri-Feb-16-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.5...v10.9.6)

##### 🐛 Bug Fix

-   Avoid build verify timeout when waiting for upgrade builds [#&#8203;922](https://togithub.com/chromaui/chromatic-cli/pull/922) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 1

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

***

### [`v10.9.5`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1095-Wed-Feb-14-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.4...v10.9.5)

##### 🐛 Bug Fix

-   Fix Storybook published messaging [#&#8203;920](https://togithub.com/chromaui/chromatic-cli/pull/920) ([@&#8203;tevanoff](https://togithub.com/tevanoff))

##### Authors: 1

-   Todd Evanoff ([@&#8203;tevanoff](https://togithub.com/tevanoff))

***

### [`v10.9.4`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1094-Mon-Feb-12-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.3...v10.9.4)

##### 🐛 Bug Fix

-   Allow `traceChanged` in Chromatic config spec [#&#8203;916](https://togithub.com/chromaui/chromatic-cli/pull/916) ([@&#8203;tevanoff](https://togithub.com/tevanoff))

##### Authors: 1

-   Todd Evanoff ([@&#8203;tevanoff](https://togithub.com/tevanoff))

***

### [`v10.9.3`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1093-Fri-Feb-09-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.2...v10.9.3)

##### 🐛 Bug Fix

-   clean up debug log as it's too much noise [#&#8203;919](https://togithub.com/chromaui/chromatic-cli/pull/919) ([@&#8203;ethriel3695](https://togithub.com/ethriel3695))

##### Authors: 1

-   Reuben Ellis ([@&#8203;ethriel3695](https://togithub.com/ethriel3695))

***

### [`v10.9.2`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1092-Thu-Feb-08-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.1...v10.9.2)

##### 🐛 Bug Fix

-   Directly execute build-archive-storybook if we can't resolve it [#&#8203;917](https://togithub.com/chromaui/chromatic-cli/pull/917) ([@&#8203;tmeasday](https://togithub.com/tmeasday))

##### Authors: 1

-   Tom Coleman ([@&#8203;tmeasday](https://togithub.com/tmeasday))

***

### [`v10.9.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1091-Thu-Feb-08-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.9.0...v10.9.1)

##### 🐛 Bug Fix

-   Add missing `fileHashing` option to GitHub Action [#&#8203;918](https://togithub.com/chromaui/chromatic-cli/pull/918) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 1

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

***

### [`v10.9.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1090-Wed-Feb-07-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.8.0...v10.9.0)

##### 🚀 Enhancement

-   Be smarter about comparing lock files [#&#8203;912](https://togithub.com/chromaui/chromatic-cli/pull/912) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld) [@&#8203;tmeasday](https://togithub.com/tmeasday))

##### Authors: 2

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

***

### [`v10.8.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1080-Tue-Feb-06-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.7.1...v10.8.0)

##### 🚀 Enhancement

-   Expose `repositoryRootDir`, `configFile` and fix `diagnosticsFile` [#&#8203;913](https://togithub.com/chromaui/chromatic-cli/pull/913) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Support `env`, `sessionId` and `log` options via Node API [#&#8203;897](https://togithub.com/chromaui/chromatic-cli/pull/897) ([@&#8203;work933k](https://togithub.com/work933k))
-   Add timestamps to debug and file logging [#&#8203;907](https://togithub.com/chromaui/chromatic-cli/pull/907) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

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

***

### [`v10.7.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1071-Fri-Feb-02-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.7.0...v10.7.1)

##### 🐛 Bug Fix

-   Add Fallback getGitInfo if we cannot find the origin URL [#&#8203;910](https://togithub.com/chromaui/chromatic-cli/pull/910) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.7.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1070-Fri-Feb-02-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.6.1...v10.7.0)

##### 🚀 Enhancement

-   Rename E2E peer dependencies [#&#8203;909](https://togithub.com/chromaui/chromatic-cli/pull/909) ([@&#8203;tevanoff](https://togithub.com/tevanoff))

##### Authors: 1

-   Todd Evanoff ([@&#8203;tevanoff](https://togithub.com/tevanoff))

***

### [`v10.6.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1061-Fri-Jan-26-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.6.0...v10.6.1)

##### 🐛 Bug Fix

-   Remove after-release script [#&#8203;906](https://togithub.com/chromaui/chromatic-cli/pull/906) ([@&#8203;skitterm](https://togithub.com/skitterm))

##### Authors: 1

-   Steven Kitterman ([@&#8203;skitterm](https://togithub.com/skitterm))

***

### [`v10.6.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1060-Fri-Jan-26-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.2...v10.6.0)

##### 🚀 Enhancement

-   CLI should throw error when using TurboSnap but missing a stats file. [#&#8203;899](https://togithub.com/chromaui/chromatic-cli/pull/899) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.5.2`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1052-Thu-Jan-25-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.1...v10.5.2)

##### 🐛 Bug Fix

-   Remove latest from the chromatic package in Init script [#&#8203;902](https://togithub.com/chromaui/chromatic-cli/pull/902) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.5.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1051-Thu-Jan-25-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.5.0...v10.5.1)

##### 🐛 Bug Fix

-   Add "package.json" to exports map [#&#8203;900](https://togithub.com/chromaui/chromatic-cli/pull/900) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Improve logging around upload errors [#&#8203;894](https://togithub.com/chromaui/chromatic-cli/pull/894) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Don't skip uploading of empty files, it works now [#&#8203;901](https://togithub.com/chromaui/chromatic-cli/pull/901) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

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

***

### [`v10.5.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1050-Wed-Jan-24-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.4.0...v10.5.0)

##### 🚀 Enhancement

-   Add `--playwright` & `--cypress` flags [#&#8203;882](https://togithub.com/chromaui/chromatic-cli/pull/882) ([@&#8203;tmeasday](https://togithub.com/tmeasday))

##### Authors: 1

-   Tom Coleman ([@&#8203;tmeasday](https://togithub.com/tmeasday))

***

### [`v10.4.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1040-Tue-Jan-23-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.3.1...v10.4.0)

##### 🚀 Enhancement

-   Add new Init command for Project Setup [#&#8203;880](https://togithub.com/chromaui/chromatic-cli/pull/880) ([@&#8203;thafryer](https://togithub.com/thafryer))

##### Authors: 1

-   Jarel Fryer ([@&#8203;thafryer](https://togithub.com/thafryer))

***

### [`v10.3.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1031-Wed-Jan-17-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.3.0...v10.3.1)

##### 🐛 Bug Fix

-   Fix potential zip upload error when deduping files on a very large Storybook [#&#8203;892](https://togithub.com/chromaui/chromatic-cli/pull/892) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 1

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

***

### [`v10.3.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1030-Tue-Jan-16-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.2.2...v10.3.0)

##### 🚀 Enhancement

-   Add missing `skip` option to configuration schema [#&#8203;890](https://togithub.com/chromaui/chromatic-cli/pull/890) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Detect merge queue branch and retrieve real branch name from pull request [#&#8203;884](https://togithub.com/chromaui/chromatic-cli/pull/884) ([@&#8203;JonathanKolnik](https://togithub.com/JonathanKolnik) [@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Deduplicate files to be uploaded using file hashing [#&#8203;875](https://togithub.com/chromaui/chromatic-cli/pull/875) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Replace upload mechanism to use a batched mutation with a new API [#&#8203;888](https://togithub.com/chromaui/chromatic-cli/pull/888) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### 🐛 Bug Fix

-   Retrieve `sentinelUrls` from `uploadBuild` and wait for all of them before finishing upload task [#&#8203;878](https://togithub.com/chromaui/chromatic-cli/pull/878) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

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

***

### [`v10.2.2`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1022-Fri-Jan-12-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.2.1...v10.2.2)

##### 🐛 Bug Fix

-   Add configFile option to GitHub Action [#&#8203;885](https://togithub.com/chromaui/chromatic-cli/pull/885) ([@&#8203;wisestuart](https://togithub.com/wisestuart))

##### Authors: 1

-   Stuart Hammar ([@&#8203;wisestuart](https://togithub.com/wisestuart))

***

### [`v10.2.1`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1021-Wed-Jan-10-2024)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.2.0...v10.2.1)

##### 🐛 Bug Fix

-   Revert "Replace `getUploadUrls` with `uploadBuild` mutation" [#&#8203;883](https://togithub.com/chromaui/chromatic-cli/pull/883) ([@&#8203;JonathanKolnik](https://togithub.com/JonathanKolnik))
-   Run publish-action script as afterShipIt hook [#&#8203;877](https://togithub.com/chromaui/chromatic-cli/pull/877) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

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

***

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-23 04:19:38 +00:00
LongYinan
ca2fc86902 ci: add AppImage bundle step to electron test (#5871)
Just ensure nothing breaks the AppImage bundle
2024-02-22 14:56:25 +00:00
LongYinan
a84460cc3a chore: remove swc plugin because it is too outdated (#5870) 2024-02-22 11:08:30 +00:00
LongYinan
c88998678e feat: add paragraph when clicking end area (#5869)
Close [TOV-442](https://linear.app/affine-design/issue/TOV-442/结尾是非编辑yuan素时,无法在最底部添加block)
2024-02-22 09:54:17 +00:00
Peng Xiao
2df8f29b64 refactor(core): use fractional indexing for sorting (#5809)
use https://github.com/rocicorp/fractional-indexing to enable better sorting logic for crdt app
2024-02-22 09:38:00 +00:00
Peng Xiao
372b4da884 test(core): add tests for page info ui (#5769)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/64419f79-46e8-4171-b853-5908841f827a.png)
2024-02-22 09:37:55 +00:00
Peng Xiao
bb8e601f82 feat(core): tags inline editor (#5748)
tags inline editor and some refactor

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/439da1e3-30a9-462a-b7b4-c8e7c3b5ef17.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/439da1e3-30a9-462a-b7b4-c8e7c3b5ef17.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/439da1e3-30a9-462a-b7b4-c8e7c3b5ef17.mp4">Kapture 2024-01-31 at 23.29.11.mp4</video>

fix AFF-467
fix AFF-468
fix AFF-472
fix AFF-466
2024-02-22 09:37:50 +00:00
Peng Xiao
546d96c5c9 feat(core): workspace properties setting (#5739)
the property settings in workspace settings
2024-02-22 09:37:46 +00:00
Ayush Agrawal
55b8082d3a chore: bump blocksuite (#5868)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-02-22 17:11:10 +08:00
LongYinan
35842ae1c5 fix(core): fix 404 after signout (#5866)
CherryPick https://github.com/toeverything/AFFiNE/pull/5865
2024-02-22 08:30:41 +00:00
Cats Juice
390fb90a8b feat(core): ignore empty journal for global useBlockSuitePageMeta hook (#5715)
[TOV-494](https://linear.app/affine-design/issue/TOV-494/空-journal-的隐藏处理)
2024-02-22 08:09:33 +00:00
EYHN
0fff5588e6 fix(core): disable sidebar user select (#5862)
close #5846
2024-02-22 07:58:14 +00:00
liuyi
4d421a324f refactor(server): import prisma from @prisma/client (#5863) 2024-02-22 07:46:57 +00:00
Umar Faiz
f2c5786dd0 fix(core): the pitch zooming function incorrectly zooms the toolbar (#5456)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-02-22 15:04:33 +08:00
Peng Xiao
58ea2fbc4c fix(core): editor container grow to full height (#5743) 2024-02-22 06:20:40 +00:00
Peng Xiao
a120eb90ab fix(core): journal display on cmdk (#5723)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/01d2c2ec-cfdd-4c90-9616-606e4a473cc0.png)
2024-02-22 06:09:18 +00:00
Peng Xiao
d97304e9eb feat(core): page info ui (#5729)
this PR includes the main table view in the page detail page
2024-02-22 05:58:15 +00:00
L-Sun
46cc0810e9 test(server): incorrect prisma overriding (#5857) 2024-02-22 11:55:37 +08:00
Ayush Agrawal
a01f0d86a5 fix: css style should not apply on nested editor's viewport (#5859) 2024-02-22 10:46:16 +08:00
Cats Juice
67dffc2a5a feat(component): remove react-datepicker (#5681) 2024-02-21 13:09:44 +00:00
JimmFly
8d746f17de chore: remove preloading pages (#5854) 2024-02-21 12:57:18 +00:00
JimmFly
c353b0d30f chore: replace ambiguous "page" with "doc" (#5761)
close TOV-532
2024-02-21 12:47:17 +00:00
liuyi
85be45a79c fix(core): window.open to a new origin will be blocked by browser (#5856) 2024-02-21 12:35:25 +00:00
LongYinan
4a7f0a6142 chore: bump up all non-major dependencies (#5793)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.504.0` -> `3.515.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.504.0/3.515.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.515.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.515.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.504.0/3.515.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.504.0/3.515.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@graphql-codegen/cli](https://togithub.com/dotansimha/graphql-code-generator) ([source](https://togithub.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.0` -> `5.0.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.0/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fcli/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2fcli/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2fcli/5.0.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fcli/5.0.0/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.36` -> `3.0.0-alpha.40`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.36/3.0.0-alpha.40) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.40?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.40?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.36/3.0.0-alpha.40?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.36/3.0.0-alpha.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.2.2` -> `1.3.1`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.2.2/1.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.2.2` -> `1.3.1`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.2.2/1.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-sonarjs](https://togithub.com/SonarSource/eslint-plugin-sonarjs) | [`^0.23.0` -> `^0.24.0`](https://renovatebot.com/diffs/npm/eslint-plugin-sonarjs/0.23.0/0.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-sonarjs/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-sonarjs/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-sonarjs/0.23.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-sonarjs/0.23.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai-devtools](https://togithub.com/jotaijs/jotai-devtools) | [`^0.7.0` -> `^0.8.0`](https://renovatebot.com/diffs/npm/jotai-devtools/0.7.0/0.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-devtools/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-devtools/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-devtools/0.7.0/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-devtools/0.7.0/0.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [swr](https://swr.vercel.app) ([source](https://togithub.com/vercel/swr)) | [`2.2.4` -> `2.2.5`](https://renovatebot.com/diffs/npm/swr/2.2.4/2.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/swr/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/swr/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/swr/2.2.4/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swr/2.2.4/2.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.7.2` -> `3.7.3`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.7.2/3.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.7.2/3.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.7.2/3.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.2.2` -> `1.3.1`](https://renovatebot.com/diffs/npm/vitest/1.2.2/1.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.2.2/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.515.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35150-2024-02-15)

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

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

### [`v3.514.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35140-2024-02-14)

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

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

### [`v3.513.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35130-2024-02-13)

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

##### Features

-   **experimentalIdentityAndAuth:** release phase for services without customizations ([#&#8203;5787](https://togithub.com/aws/aws-sdk-js-v3/issues/5787)) ([4004ff6](4004ff68a8))

### [`v3.511.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35110-2024-02-09)

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

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

### [`v3.509.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35090-2024-02-07)

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

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

### [`v3.507.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35070-2024-02-05)

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

##### Features

-   unified error dispatcher in protocols ([#&#8203;5756](https://togithub.com/aws/aws-sdk-js-v3/issues/5756)) ([0872087](0872087ef5))

</details>

<details>
<summary>dotansimha/graphql-code-generator (@&#8203;graphql-codegen/cli)</summary>

### [`v5.0.2`](https://togithub.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#502)

[Compare Source](86c82177b0...@graphql-codegen/cli@5.0.2)

##### Patch Changes

-   [#&#8203;9813](https://togithub.com/dotansimha/graphql-code-generator/pull/9813) [`4e69568`](4e6956899c) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - bumping for a release

-   Updated dependencies \[[`4e69568`](4e6956899c)]:
    -   [@&#8203;graphql-codegen/client-preset](https://togithub.com/graphql-codegen/client-preset)[@&#8203;4](https://togithub.com/4).2.2
    -   [@&#8203;graphql-codegen/core](https://togithub.com/graphql-codegen/core)[@&#8203;4](https://togithub.com/4).0.2
    -   [@&#8203;graphql-codegen/plugin-helpers](https://togithub.com/graphql-codegen/plugin-helpers)[@&#8203;5](https://togithub.com/5).0.3

### [`v5.0.1`](https://togithub.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#501)

[Compare Source](https://togithub.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.0...86c82177b0b9ab1853f6c4e6fba17218dafa3d7d)

##### Patch Changes

-   [#&#8203;9811](https://togithub.com/dotansimha/graphql-code-generator/pull/9811) [`d8364e045`](d8364e045a) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - dependencies updates:

    -   Added dependency [`@graphql-codegen/client-preset@^4.1.0` ↗︎](https://www.npmjs.com/package/@&#8203;graphql-codegen/client-preset/v/4.1.0) (to `dependencies`)

-   [#&#8203;9811](https://togithub.com/dotansimha/graphql-code-generator/pull/9811) [`d8364e045`](d8364e045a) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - ignore events in `.git` directory

-   [#&#8203;9811](https://togithub.com/dotansimha/graphql-code-generator/pull/9811) [`d8364e045`](d8364e045a) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - Surface error occurring during import of [@&#8203;parcel/watcher](https://togithub.com/parcel/watcher)

-   [#&#8203;9811](https://togithub.com/dotansimha/graphql-code-generator/pull/9811) [`d8364e045`](d8364e045a) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - Include [@&#8203;graphql-codegen/client-preset](https://togithub.com/graphql-codegen/client-preset) in [@&#8203;graphql-codegen/cli](https://togithub.com/graphql-codegen/cli) by default

-   [#&#8203;9811](https://togithub.com/dotansimha/graphql-code-generator/pull/9811) [`d8364e045`](d8364e045a) Thanks [@&#8203;saihaj](https://togithub.com/saihaj)! - fix watcher unable to find highest common directory on Windows

-   Updated dependencies \[[`d8364e045`](d8364e045a), [`d8364e045`](d8364e045a), [`d8364e045`](d8364e045a), [`d8364e045`](d8364e045a)]:
    -   [@&#8203;graphql-codegen/client-preset](https://togithub.com/graphql-codegen/client-preset)[@&#8203;4](https://togithub.com/4).2.0
    -   [@&#8203;graphql-codegen/core](https://togithub.com/graphql-codegen/core)[@&#8203;4](https://togithub.com/4).0.1
    -   [@&#8203;graphql-codegen/plugin-helpers](https://togithub.com/graphql-codegen/plugin-helpers)[@&#8203;5](https://togithub.com/5).0.2

</details>

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

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

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

### [`v3.0.0-alpha.39`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.39)

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

#### What's Changed

-   chore(deps): update typescript-eslint monorepo to v7 (major) by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1947](https://togithub.com/napi-rs/napi-rs/pull/1947)
-   Ensure cwd and outputDir are used for finding files by [@&#8203;andymac4182](https://togithub.com/andymac4182) in [https://github.com/napi-rs/napi-rs/pull/1949](https://togithub.com/napi-rs/napi-rs/pull/1949)
-   fix(cli): set cxxflags while WASI_SDK_PATH exists by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1955](https://togithub.com/napi-rs/napi-rs/pull/1955)
-   feat(cli,build): support setjmp.h by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1958](https://togithub.com/napi-rs/napi-rs/pull/1958)

#### New Contributors

-   [@&#8203;andymac4182](https://togithub.com/andymac4182) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1949](https://togithub.com/napi-rs/napi-rs/pull/1949)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.38...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.39

### [`v3.0.0-alpha.38`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.38)

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

##### What's Changed

-   feat(cli): respect WASI_SDK_PATH env by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1946](https://togithub.com/napi-rs/napi-rs/pull/1946)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.37...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.38

### [`v3.0.0-alpha.37`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.37)

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

##### What's Changed

-   fix(cli): setup cxx env while using napi-cross by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1942](https://togithub.com/napi-rs/napi-rs/pull/1942)
-   fix(cli): log more wasi load errors by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1943](https://togithub.com/napi-rs/napi-rs/pull/1943)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.15.1...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.37

</details>

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

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.3.0...v1.3.1)

#####    🚀 Features

-   **vitest**: Expose parseCLI method  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5248](https://togithub.com/vitest-dev/vitest/issues/5248) [<samp>(c793a)</samp>](https://togithub.com/vitest-dev/vitest/commit/c793a136)
    -   This feature is not affected by SemVer because it is part of an [experimental API](https://vitest.dev/advanced/api.html).

#####    🐞 Bug Fixes

-   Add task tests iteratively  -  by [@&#8203;DerYeger](https://togithub.com/DerYeger) in [https://github.com/vitest-dev/vitest/issues/5235](https://togithub.com/vitest-dev/vitest/issues/5235) [<samp>(38155)</samp>](https://togithub.com/vitest-dev/vitest/commit/38155548)
-   **coverage**: Ignore generated TS decorators  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5206](https://togithub.com/vitest-dev/vitest/issues/5206) [<samp>(a2804)</samp>](https://togithub.com/vitest-dev/vitest/commit/a280451b)
-   **ui**: Auto reload coverage iframe after test run  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5242](https://togithub.com/vitest-dev/vitest/issues/5242) [<samp>(5376d)</samp>](https://togithub.com/vitest-dev/vitest/commit/5376d5be)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.3.0...v1.3.1)

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.2.2...v1.3.0)

##### 🚀 Features

-   Deprecate watchExclude - by [@&#8203;patak-dev](https://togithub.com/patak-dev) in [https://github.com/vitest-dev/vitest/issues/5171](https://togithub.com/vitest-dev/vitest/issues/5171) [<samp>(82885)</samp>](https://togithub.com/vitest-dev/vitest/commit/828858f8)
-   **browser**:
    -   Run test files in isolated iframes - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5036](https://togithub.com/vitest-dev/vitest/issues/5036) [<samp>(4f401)</samp>](https://togithub.com/vitest-dev/vitest/commit/4f40177e)
-   **config**:
    -   Add `snapshotSerializers` option - by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5092](https://togithub.com/vitest-dev/vitest/issues/5092) [<samp>(5b102)</samp>](https://togithub.com/vitest-dev/vitest/commit/5b1021da)
-   **reporters**:
    -   Support custom options - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5111](https://togithub.com/vitest-dev/vitest/issues/5111) [<samp>(fec9c)</samp>](https://togithub.com/vitest-dev/vitest/commit/fec9ca0b)
-   **runner**:
    -   Support automatic fixtures - by [@&#8203;fenghan34](https://togithub.com/fenghan34) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5102](https://togithub.com/vitest-dev/vitest/issues/5102) [<samp>(0441f)</samp>](https://togithub.com/vitest-dev/vitest/commit/0441f761)
-   **ui**:
    -   Save splitpanes size to local storage - by [@&#8203;posva](https://togithub.com/posva) in [https://github.com/vitest-dev/vitest/issues/5166](https://togithub.com/vitest-dev/vitest/issues/5166) [<samp>(c28b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/c28b4c26)
-   **vitest**:
    -   Add onTestFinished hook - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5128](https://togithub.com/vitest-dev/vitest/issues/5128) [<samp>(6f5b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/6f5b42b7)
    -   Add github actions reporter - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5093](https://togithub.com/vitest-dev/vitest/issues/5093) [<samp>(40afb)</samp>](https://togithub.com/vitest-dev/vitest/commit/40afbe3a)
    -   Expose jsdom global if jsdom environment is enabled - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5155](https://togithub.com/vitest-dev/vitest/issues/5155) [<samp>(567d2)</samp>](https://togithub.com/vitest-dev/vitest/commit/567d20b9)
    -   Add new CLI options - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5163](https://togithub.com/vitest-dev/vitest/issues/5163) [<samp>(4e179)</samp>](https://togithub.com/vitest-dev/vitest/commit/4e179426)
    -   "test" accepts options object as the second parameter - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5142](https://togithub.com/vitest-dev/vitest/issues/5142) [<samp>(7d9b1)</samp>](https://togithub.com/vitest-dev/vitest/commit/7d9b1fb0)
-   **vm**:
    -   Support wasm module - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5131](https://togithub.com/vitest-dev/vitest/issues/5131) [<samp>(5ed53)</samp>](https://togithub.com/vitest-dev/vitest/commit/5ed537f0)

##### 🐞 Bug Fixes

-   Fix sourcemap in vm pools - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5063](https://togithub.com/vitest-dev/vitest/issues/5063) [<samp>(81105)</samp>](https://togithub.com/vitest-dev/vitest/commit/8110540a)
-   Don't optimize react/jsx-runtime by default when running in Node - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5079](https://togithub.com/vitest-dev/vitest/issues/5079) [<samp>(0d2bf)</samp>](https://togithub.com/vitest-dev/vitest/commit/0d2bfeac)
-   Rpc timeout error messages to include caller - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5103](https://togithub.com/vitest-dev/vitest/issues/5103) [<samp>(a6e04)</samp>](https://togithub.com/vitest-dev/vitest/commit/a6e04bd8)
-   Requires fixed version across the monorepo - by [@&#8203;antfu](https://togithub.com/antfu) in [https://github.com/vitest-dev/vitest/issues/5208](https://togithub.com/vitest-dev/vitest/issues/5208) [<samp>(68f51)</samp>](https://togithub.com/vitest-dev/vitest/commit/68f51961)
-   Prevent merging of `poolOptions` - by [@&#8203;penalosa](https://togithub.com/penalosa) in [https://github.com/vitest-dev/vitest/issues/5221](https://togithub.com/vitest-dev/vitest/issues/5221) [<samp>(bc5b2)</samp>](https://togithub.com/vitest-dev/vitest/commit/bc5b2d04)
-   **browser**:
    -   Don't exclude node builtins from optimization - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5082](https://togithub.com/vitest-dev/vitest/issues/5082) [<samp>(714c9)</samp>](https://togithub.com/vitest-dev/vitest/commit/714c911f)
    -   Support `coverage.reportsDirectory` with multiple directories - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5056](https://togithub.com/vitest-dev/vitest/issues/5056) [<samp>(ae73f)</samp>](https://togithub.com/vitest-dev/vitest/commit/ae73f273)
-   **cli**:
    -   Parse `--browser=<name>` correctly - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5179](https://togithub.com/vitest-dev/vitest/issues/5179) [<samp>(656e2)</samp>](https://togithub.com/vitest-dev/vitest/commit/656e210b)
-   **coverage**:
    -   `.tmp` directory conflicts with `--shard` option - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5184](https://togithub.com/vitest-dev/vitest/issues/5184) [<samp>(5749d)</samp>](https://togithub.com/vitest-dev/vitest/commit/5749d2c2)
-   **deps**:
    -   Update dependency strip-literal to v2 - by [@&#8203;renovate](https://togithub.com/renovate)\[bot] in[https://github.com/vitest-dev/vitest/issues/5136](https://togithub.com/vitest-dev/vitest/issues/5136)6 [<samp>(ef557)</samp>](https://togithub.com/vitest-dev/vitest/commit/ef557243)
-   **reporters**:
    -   Testsuite name should include project root in Junit output - by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5116](https://togithub.com/vitest-dev/vitest/issues/5116) [<samp>(2494f)</samp>](https://togithub.com/vitest-dev/vitest/commit/2494fbf2)
-   **typecheck**:
    -   Fix suite collection while-loop - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5065](https://togithub.com/vitest-dev/vitest/issues/5065) [<samp>(35675)</samp>](https://togithub.com/vitest-dev/vitest/commit/35675bd3)
-   **ui**:
    -   Fix tests duration time - by [@&#8203;vovsemenv](https://togithub.com/vovsemenv) in [https://github.com/vitest-dev/vitest/issues/5219](https://togithub.com/vitest-dev/vitest/issues/5219) [<samp>(58103)</samp>](https://togithub.com/vitest-dev/vitest/commit/581030ee)
-   **utils**:
    -   Fix asymmetric matcher diff inside array - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5189](https://togithub.com/vitest-dev/vitest/issues/5189) [<samp>(3ffcd)</samp>](https://togithub.com/vitest-dev/vitest/commit/3ffcd2ea)
-   **vitest**:
    -   Correctly report failed test files as failures in json reporter, export json reporter types - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5081](https://togithub.com/vitest-dev/vitest/issues/5081) [<samp>(0417b)</samp>](https://togithub.com/vitest-dev/vitest/commit/0417ba20)
    -   Don't run typecheck tests in browser if both are enabled - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5080](https://togithub.com/vitest-dev/vitest/issues/5080) [<samp>(1045b)</samp>](https://togithub.com/vitest-dev/vitest/commit/1045b98b)
    -   Handle function config inside `defineWorkspace` - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5089](https://togithub.com/vitest-dev/vitest/issues/5089) [<samp>(0bf52)</samp>](https://togithub.com/vitest-dev/vitest/commit/0bf52533)
    -   Remove excessive listeners when running without isolation, don't reset the state - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5132](https://togithub.com/vitest-dev/vitest/issues/5132) [<samp>(b607f)</samp>](https://togithub.com/vitest-dev/vitest/commit/b607f1ea)
    -   Auto-enable "github-actions" only where users didn't configure reporters - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5158](https://togithub.com/vitest-dev/vitest/issues/5158) [<samp>(ef044)</samp>](https://togithub.com/vitest-dev/vitest/commit/ef0440cb)
    -   Support more array cli options - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5162](https://togithub.com/vitest-dev/vitest/issues/5162) [<samp>(3afe6)</samp>](https://togithub.com/vitest-dev/vitest/commit/3afe68f1)
    -   Add types for the new global `jsdom` variable - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5164](https://togithub.com/vitest-dev/vitest/issues/5164) [<samp>(0f898)</samp>](https://togithub.com/vitest-dev/vitest/commit/0f898d87)
    -   Expose onTestFinished globally - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(1304f)</samp>](https://togithub.com/vitest-dev/vitest/commit/1304fed7)
    -   Disable optimizer by default until it's stable - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5156](https://togithub.com/vitest-dev/vitest/issues/5156) [<samp>(e1bd8)</samp>](https://togithub.com/vitest-dev/vitest/commit/e1bd8d5d)
    -   Delegate snapshot options to workspace from root config - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5199](https://togithub.com/vitest-dev/vitest/issues/5199) [<samp>(86297)</samp>](https://togithub.com/vitest-dev/vitest/commit/86297d42)
    -   Fix `optimizeDeps.disabled` warnings on Vite 5.1 - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5215](https://togithub.com/vitest-dev/vitest/issues/5215) [<samp>(1aecd)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aecd650)
-   **vm**:
    -   Handle `disableConsoleIntercept` config - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5074](https://togithub.com/vitest-dev/vitest/issues/5074) [<samp>(a55ad)</samp>](https://togithub.com/vitest-dev/vitest/commit/a55adac6)
    -   Improve error when module is not found - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5053](https://togithub.com/vitest-dev/vitest/issues/5053) [<samp>(79a50)</samp>](https://togithub.com/vitest-dev/vitest/commit/79a50c3f)

##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.2.2...v1.3.0)

</details>

<details>
<summary>SonarSource/eslint-plugin-sonarjs (eslint-plugin-sonarjs)</summary>

### [`v0.24.0`](https://togithub.com/SonarSource/eslint-plugin-sonarjs/releases/tag/0.24.0)

[Compare Source](https://togithub.com/SonarSource/eslint-plugin-sonarjs/compare/0.23.0...0.24.0)

#### What's Changed

-   Prepare for next development iteration by [@&#8203;yassin-kammoun-sonarsource](https://togithub.com/yassin-kammoun-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/429](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/429)
-   Add prettier as pre-commit hook by [@&#8203;vdiez](https://togithub.com/vdiez) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/432](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/432)
-   Fix cognitive complexity link by [@&#8203;ilia-kebets-sonarsource](https://togithub.com/ilia-kebets-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/443](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/443)
-   Drop Node.js 14 support and test against Node.js 20 on CI by [@&#8203;yassin-kammoun-sonarsource](https://togithub.com/yassin-kammoun-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/445](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/445)
-   Fix FP S3776 (`cognitive-complexity`): Ignore nested functions and default values by [@&#8203;yassin-kammoun-sonarsource](https://togithub.com/yassin-kammoun-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/444](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/444)

**Full Changelog**: https://github.com/SonarSource/eslint-plugin-sonarjs/compare/0.23.0...0.24.0

</details>

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

### [`v0.8.0`](https://togithub.com/jotaijs/jotai-devtools/blob/HEAD/CHANGELOG.md#080-2024-02-20)

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

##### Features

-   add position option
    ([#&#8203;118](https://togithub.com/jotaijs/jotai-devtools/issues/118))
    ([9db1951](9db195108c))

### [`v0.7.1`](https://togithub.com/jotaijs/jotai-devtools/blob/HEAD/CHANGELOG.md#071-2023-12-04)

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

##### Bug Fixes

-   defer setAtom in subscribers of store change during main render to next micro
    task ([#&#8203;109](https://togithub.com/jotaijs/jotai-devtools/issues/109))
    ([2cdc81d](2cdc81d834))

</details>

<details>
<summary>vercel/swr (swr)</summary>

### [`v2.2.5`](https://togithub.com/vercel/swr/releases/tag/v2.2.5)

[Compare Source](https://togithub.com/vercel/swr/compare/v2.2.4...v2.2.5)

##### Patches

-   types: isLoading typed as boolean when using fallbackData ([#&#8203;2866](https://togithub.com/vercel/swr/issues/2866)) by [@&#8203;yjrhgvbn](https://togithub.com/yjrhgvbn) in [https://github.com/vercel/swr/pull/2875](https://togithub.com/vercel/swr/pull/2875)
-   fix: allow onErrorRetry on inactive tab without focus/reconnect revalidation by [@&#8203;qkdreyer](https://togithub.com/qkdreyer) in [https://github.com/vercel/swr/pull/2848](https://togithub.com/vercel/swr/pull/2848)
-   feat: pass a function to the revalidate option in mutate by [@&#8203;koba04](https://togithub.com/koba04) in [https://github.com/vercel/swr/pull/2862](https://togithub.com/vercel/swr/pull/2862)
-   fix: SWRConfiguration type by [@&#8203;hulla-dev](https://togithub.com/hulla-dev) in [https://github.com/vercel/swr/pull/2882](https://togithub.com/vercel/swr/pull/2882)

##### Misc

-   build: use new bundle convention by [@&#8203;huozhi](https://togithub.com/huozhi) in [https://github.com/vercel/swr/pull/2865](https://togithub.com/vercel/swr/pull/2865)
-   chore: update pnpm-lock.yaml by [@&#8203;koba04](https://togithub.com/koba04) in [https://github.com/vercel/swr/pull/2874](https://togithub.com/vercel/swr/pull/2874)
-   chore: remove useless comment by [@&#8203;kongmoumou](https://togithub.com/kongmoumou) in [https://github.com/vercel/swr/pull/2868](https://togithub.com/vercel/swr/pull/2868)
-   test: run pnpm test on CI by [@&#8203;koba04](https://togithub.com/koba04) in [https://github.com/vercel/swr/pull/2872](https://togithub.com/vercel/swr/pull/2872)
-   fix: all act warnings by [@&#8203;koba04](https://togithub.com/koba04) in [https://github.com/vercel/swr/pull/2861](https://togithub.com/vercel/swr/pull/2861)
-   Update bundler by [@&#8203;huozhi](https://togithub.com/huozhi) in [https://github.com/vercel/swr/pull/2830](https://togithub.com/vercel/swr/pull/2830)

##### New Contributors

-   [@&#8203;kongmoumou](https://togithub.com/kongmoumou) made their first contribution in [https://github.com/vercel/swr/pull/2868](https://togithub.com/vercel/swr/pull/2868)
-   [@&#8203;yjrhgvbn](https://togithub.com/yjrhgvbn) made their first contribution in [https://github.com/vercel/swr/pull/2875](https://togithub.com/vercel/swr/pull/2875)
-   [@&#8203;qkdreyer](https://togithub.com/qkdreyer) made their first contribution in [https://github.com/vercel/swr/pull/2848](https://togithub.com/vercel/swr/pull/2848)
-   [@&#8203;hulla-dev](https://togithub.com/hulla-dev) made their first contribution in [https://github.com/vercel/swr/pull/2882](https://togithub.com/vercel/swr/pull/2882)

**Full Changelog**: https://github.com/vercel/swr/compare/v2.2.4...v2.2.5

</details>

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

### [`v3.7.3`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#373-2024-02-21)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.7.2...v3.7.3)

##### Bug Fixes

-   incorrect process for removing pure import ([d0c0c86](d0c0c867d6)), closes [#&#8203;301](https://togithub.com/qmhc/vite-plugin-dts/issues/301)

</details>

<details>
<summary>vitest-dev/vitest (vitest)</summary>

### [`v1.3.1`](https://togithub.com/vitest-dev/vitest/compare/v1.3.0...v1.3.1)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.3.0...v1.3.1)

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.2.2...v1.3.0)

##### 🚀 Features

-   Deprecate watchExclude - by [@&#8203;patak-dev](https://togithub.com/patak-dev) in [https://github.com/vitest-dev/vitest/issues/5171](https://togithub.com/vitest-dev/vitest/issues/5171) [<samp>(82885)</samp>](https://togithub.com/vitest-dev/vitest/commit/828858f8)
-   **browser**:
    -   Run test files in isolated iframes - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5036](https://togithub.com/vitest-dev/vitest/issues/5036) [<samp>(4f401)</samp>](https://togithub.com/vitest-dev/vitest/commit/4f40177e)
-   **config**:
    -   Add `snapshotSerializers` option - by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5092](https://togithub.com/vitest-dev/vitest/issues/5092) [<samp>(5b102)</samp>](https://togithub.com/vitest-dev/vitest/commit/5b1021da)
-   **reporters**:
    -   Support custom options - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5111](https://togithub.com/vitest-dev/vitest/issues/5111) [<samp>(fec9c)</samp>](https://togithub.com/vitest-dev/vitest/commit/fec9ca0b)
-   **runner**:
    -   Support automatic fixtures - by [@&#8203;fenghan34](https://togithub.com/fenghan34) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5102](https://togithub.com/vitest-dev/vitest/issues/5102) [<samp>(0441f)</samp>](https://togithub.com/vitest-dev/vitest/commit/0441f761)
-   **ui**:
    -   Save splitpanes size to local storage - by [@&#8203;posva](https://togithub.com/posva) in [https://github.com/vitest-dev/vitest/issues/5166](https://togithub.com/vitest-dev/vitest/issues/5166) [<samp>(c28b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/c28b4c26)
-   **vitest**:
    -   Add onTestFinished hook - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5128](https://togithub.com/vitest-dev/vitest/issues/5128) [<samp>(6f5b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/6f5b42b7)
    -   Add github actions reporter - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5093](https://togithub.com/vitest-dev/vitest/issues/5093) [<samp>(40afb)</samp>](https://togithub.com/vitest-dev/vitest/commit/40afbe3a)
    -   Expose jsdom global if jsdom environment is enabled - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5](https://togithub.com/vitest-dev/vitest/issues/5)[15](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:16)5 [<samp>(567d2)</samp>](https://togithub.com/vitest-dev/vitest/commit/567d20b9)
    -   Add new CLI options - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5](https://togithub.com/vitest-dev/vitest/issues/5)[16](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:17)3 [<samp>(4e179)</samp>](https://togithub.com/vitest-dev/vitest/commit/4e179426)
    -   "test" accepts options object as the second parameter - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5142](https://togithub.com/vitest-dev/vitest/issues/5142) [<samp>(7d9b1)</samp>](https://togithub.com/vitest-dev/vitest/commit/7d9b1fb0)
-   **vm**:
    -   Support wasm module - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5131](https://togithub.com/vitest-dev/vitest/issues/5131) [<samp>(5ed53)</samp>](https://togithub.com/vitest-dev/vitest/commit/5ed537f0)

##### 🐞 Bug Fixes

-   Fix sourcemap in vm pools - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5063](https://togithub.com/vitest-dev/vitest/issues/5063) [<samp>(81105)</samp>](https://togithub.com/vitest-dev/vitest/commit/8110540a)
-   Don't optimize react/jsx-runtime by default when running in Node - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5079](https://togithub.com/vitest-dev/vitest/issues/5079) [<samp>(0d2bf)</samp>](https://togithub.com/vitest-dev/vitest/commit/0d2bfeac)
-   Rpc timeout error messages to include caller - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5103](https://togithub.com/vitest-dev/vitest/issues/5103) [<samp>(a6e04)</samp>](https://togithub.com/vitest-dev/vitest/commit/a6e04bd8)
-   Requires fixed version across the monorepo - by [@&#8203;antfu](https://togithub.com/antfu) in [https://github.com/vitest-dev/vitest/issues/5208](https://togithub.com/vitest-dev/vitest/issues/5208) [<samp>(68f51)</samp>](https://togithub.com/vitest-dev/vitest/commit/68f51961)
-   Prevent merging of `poolOptions` - by [@&#8203;penalosa](https://togithub.com/penalosa) in [https://github.com/vitest-dev/vitest/issues/5221](https://togithub.com/vitest-dev/vitest/issues/5221) [<samp>(bc5b2)</samp>](https://togithub.com/vitest-dev/vitest/commit/bc5b2d04)
-   **browser**:
    -   Don't exclude node builtins from optimization - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5082](https://togithub.com/vitest-dev/vitest/issues/5082) [<samp>(714c9)</samp>](https://togithub.com/vitest-dev/vitest/commit/714c911f)
    -   Support `coverage.reportsDirectory` with multiple directories - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5056](https://togithub.com/vitest-dev/vitest/issues/5056) [<samp>(ae73f)</samp>](https://togithub.com/vitest-dev/vitest/commit/ae73f273)
-   **cli**:
    -   Parse `--browser=<name>` correctly - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5](https://togithub.com/vitest-dev/vitest/issues/5)[17](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:18)9 [<samp>(656e2)</samp>](https://togithub.com/vitest-dev/vitest/commit/656e210b)
-   **coverage**:
    -   `.tmp` directory conflicts with `--shard` option - by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/5](https://togithub.com/vitest-dev/vitest/issues/5)[18](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:19)4 [<samp>(5749d)</samp>](https://togithub.com/vitest-dev/vitest/commit/5749d2c2)
-   **deps**:
    -   Update dependency strip-literal to v2 - by [@&#8203;renovate](https://togithub.com/renovate)\[bot] in[https://github.com/vitest-dev/vitest/issues/5136](https://togithub.com/vitest-dev/vitest/issues/5136)6 [<samp>(ef557)</samp>](https://togithub.com/vitest-dev/vitest/commit/ef557243)
-   **reporters**:
    -   Testsuite name should include project root in Junit output - by [@&#8203;fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/5116](https://togithub.com/vitest-dev/vitest/issues/5116) [<samp>(2494f)</samp>](https://togithub.com/vitest-dev/vitest/commit/2494fbf2)
-   **typecheck**:
    -   Fix suite collection while-loop - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5065](https://togithub.com/vitest-dev/vitest/issues/5065) [<samp>(35675)</samp>](https://togithub.com/vitest-dev/vitest/commit/35675bd3)
-   **ui**:
    -   Fix tests duration time - by [@&#8203;vovsemenv](https://togithub.com/vovsemenv) in [https://github.com/vitest-dev/vitest/issues/52](https://togithub.com/vitest-dev/vitest/issues/52)[19](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:20) [<samp>(58103)</samp>](https://togithub.com/vitest-dev/vitest/commit/581030ee)
-   **utils**:
    -   Fix asymmetric matcher diff inside array - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5189](https://togithub.com/vitest-dev/vitest/issues/5189) [<samp>(3ffcd)</samp>](https://togithub.com/vitest-dev/vitest/commit/3ffcd2ea)
-   **vitest**:
    -   Correctly report failed test files as failures in json reporter, export json reporter types - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5081](https://togithub.com/vitest-dev/vitest/issues/5081) [<samp>(0417b)</samp>](https://togithub.com/vitest-dev/vitest/commit/0417ba\[20]\(https://github.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:21\))
    -   Don't run typecheck tests in browser if both are enabled - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5080](https://togithub.com/vitest-dev/vitest/issues/5080) [<samp>(1045b)</samp>](https://togithub.com/vitest-dev/vitest/commit/1045b98b)
    -   Handle function config inside `defineWorkspace` - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5089](https://togithub.com/vitest-dev/vitest/issues/5089) [<samp>(0bf52)</samp>](https://togithub.com/vitest-dev/vitest/commit/0bf52533)
    -   Remove excessive listeners when running without isolation, don't reset the state - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5132](https://togithub.com/vitest-dev/vitest/issues/5132) [<samp>(b607f)</samp>](https://togithub.com/vitest-dev/vitest/commit/b607f1ea)
    -   Auto-enable "github-actions" only where users didn't configure reporters - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5158](https://togithub.com/vitest-dev/vitest/issues/5158) [<samp>(ef044)</samp>](https://togithub.com/vitest-dev/vitest/commit/ef0440cb)
    -   Support more array cli options - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5162](https://togithub.com/vitest-dev/vitest/issues/5162) [<samp>(3afe6)</samp>](https://togithub.com/vitest-dev/vitest/commit/3afe68f1)
    -   Add types for the new global `jsdom` variable - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5164](https://togithub.com/vitest-dev/vitest/issues/5164) [<samp>(0f898)</samp>](https://togithub.com/vitest-dev/vitest/commit/0f898d87)
    -   Expose onTestFinished globally - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(1304f)</samp>](https://togithub.com/vitest-dev/vitest/commit/1304fed7)
    -   Disable optimizer by default until it's stable - by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5156](https://togithub.com/vitest-dev/vitest/issues/5156) [<samp>(e1bd8)</samp>](https://togithub.com/vitest-dev/vitest/commit/e1bd8d5d)
    -   Delegate snapshot options to workspace from root config - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5199](https://togithub.com/vitest-dev/vitest/issues/5199) [<samp>(86297)</samp>](https://togithub.com/vitest-dev/vitest/commit/86297d42)
    -   Fix `optimizeDeps.disabled` warnings on Vite 5.1 - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/5](https://togithub.com/vitest-dev/vitest/issues/5)[21](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:22)5 [<samp>(1aecd)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aecd650)
-   **vm**:
    -   Handle `disableConsoleIntercept` config - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in https://github.com/vitest-dev/vitest/issues/[50](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:51)74 [<samp>(a55ad)</samp>](https://togithub.com/vitest-dev/vitest/commit/a55adac6)
    -   Improve error when module is not found - by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/50](https://togithub.com/vitest-dev/vitest/issues/50)[53](https://togithub.com/vitest-dev/vitest/actions/runs/7934052979/job/21664152574#step:8:54) [<samp>(79a50)</samp>](https://togithub.com/vitest-dev/vitest/commit/79a50c3f)

##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.2.2...v1.3.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-21 12:24:48 +00:00
Cats Juice
ed0d67ee56 fix(component): nowrap inline-edit (#5844) 2024-02-21 10:03:05 +00:00
LongYinan
201f68056e build(deps): bump ip from 2.0.0 to 2.0.1 (#5855)
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="3b0994a74e"><code>3b0994a</code></a> 2.0.1</li>
<li><a href="32f468f124"><code>32f468f</code></a> lib: fixed CVE-2023-42282 and added unit test</li>
<li>See full diff in <a href="https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ip&package-manager=npm_and_yarn&previous-version=2.0.0&new-version=2.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).

</details>
2024-02-21 08:41:24 +00:00
LongYinan
bd43f73904 fix(electron): linux AppImage output path (#5853) 2024-02-21 08:00:58 +00:00
Ayush Agrawal
11b3184537 feat: blocksuite integration for pageMode & pageUpdatedAt (#5849)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-02-21 15:03:02 +08:00
Lye Hongtao
4641bc422b feat: move templates into AFFiNE (#5750)
Related to https://github.com/toeverything/blocksuite/pull/6156

### Change
Move the edgeless templates to AFFiNE. All templates are stored as zip files. Run `node build-edgeless.mjs` in `@affine/templates` to generate JSON-format templates and importing script. The template will be generated automatically during building and dev (`yarn dev`).
2024-02-21 06:26:01 +00:00
Ayush Agrawal
53b312c06f chore: bump blocksuite (#5852) 2024-02-21 14:06:53 +08:00
liuyi
d2bf1451fa ci: fix canary deployment (#5851) 2024-02-21 03:01:33 +00:00
Cats Juice
3fe9d834de feat(core): replace page filter, journal's date-picker with new one (#5675) 2024-02-20 13:53:41 +00:00
Cats Juice
e664494b2f refactor(component): new calendar-view DatePicker (#5654) 2024-02-20 13:53:37 +00:00
JimmFly
876b85304e feat(core): add loading to quick search modal (#5785)
close AFF-285

add `useSyncEngineStatus` hooks
add loading style

<img width="977" alt="test1" src="https://github.com/toeverything/AFFiNE/assets/102217452/e8bf6714-e42b-4adf-a279-341ef5f5cfc0">
2024-02-20 13:05:22 +00:00
JimmFly
3792506b09 feat(core): add history tips modal (#5733)
close TOV-459 TOV-503

https://github.com/toeverything/AFFiNE/assets/102217452/9cbfaf35-bc7b-4275-94be-6e777447ef11
2024-02-20 12:50:55 +00:00
JimmFly
4068e7aeff feat(core): add starAFFiNE and issueFeedback modal (#5718)
close TOV-482

https://github.com/toeverything/AFFiNE/assets/102217452/da1f74bc-4b8d-4d7f-987d-f53da98d92fe
2024-02-20 12:50:51 +00:00
Ayush Agrawal
6fad241350 feat: bump blocksuite (#5845) 2024-02-20 20:49:41 +08:00
JimmFly
a554c8aabe fix(core): match page preview and page title in page list (#5840)
close TOV-578
2024-02-20 09:27:23 +00:00
LongYinan
7ec3ef8753 chore: bump up nx-cloud version to v18 (#5790)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 09:15:27 +00:00
LongYinan
15cedcefc5 chore: upgrade Rust to 1.76 (#5843) 2024-02-20 09:01:43 +00:00
Adithyan
afe59a864d feat: Duplicate page in page list and clone naming improvements (#5818) 2024-02-20 16:44:25 +08:00
LongYinan
aa79229a21 chore: bump up nrwl monorepo to v18 (major) (#5791)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`17.3.1` -> `18.0.4`](https://renovatebot.com/diffs/npm/@nx%2fvite/17.3.1/18.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`^17.1.3` -> `^18.0.0`](https://renovatebot.com/diffs/npm/nx/17.3.1/18.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`^17.2.8` -> `^18.0.0`](https://renovatebot.com/diffs/npm/nx/17.3.1/18.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nx/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/17.3.1/18.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v18.0.4`](https://togithub.com/nrwl/nx/releases/tag/18.0.4)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.3...18.0.4)

##### 18.0.4 (2024-02-09)

##### 🚀 Features

-   **core:** update swc/register ([#&#8203;21755](https://togithub.com/nrwl/nx/pull/21755))
-   **expo:** support cjs and mjs ([#&#8203;21408](https://togithub.com/nrwl/nx/pull/21408))
-   **nx-dev:** update launch conf timings ([db78715a70](https://togithub.com/nrwl/nx/commit/db78715a70))
-   **nx-dev:** update launch page link text ([#&#8203;21747](https://togithub.com/nrwl/nx/pull/21747))

##### 🩹 Fixes

-   **angular:** resolve the index html transformer correctly for esbuild based build targets in dev-server ([#&#8203;21679](https://togithub.com/nrwl/nx/pull/21679))
-   **angular:** generate app server module setup correctly in setup-ssr generator ([#&#8203;21702](https://togithub.com/nrwl/nx/pull/21702))
-   **angular:** add missing forceEsbuild option to dev-server executor ([#&#8203;21753](https://togithub.com/nrwl/nx/pull/21753))
-   **core:** remove implementation detail from warning ([89797d2f7a](https://togithub.com/nrwl/nx/commit/89797d2f7a))
-   **core:** static run one lifecycle should always print dependent task status, and output when verbose ([#&#8203;21720](https://togithub.com/nrwl/nx/pull/21720))
-   **js:** babel preset should also check for JEST_WORKER_ID to transpile to CJS ([#&#8203;21754](https://togithub.com/nrwl/nx/pull/21754))
-   **misc:** pin generated vite version to ~5.0.0 to avoid issues with storybook ([#&#8203;21740](https://togithub.com/nrwl/nx/pull/21740))
-   **module-federation:** map static remote locations correctly ([#&#8203;21709](https://togithub.com/nrwl/nx/pull/21709))
-   **nextjs:** src package.json should not be copied to output folder ([b0506c9f8f](https://togithub.com/nrwl/nx/commit/b0506c9f8f))
-   **nextjs:** Custom server should work with Crystal ([#&#8203;21736](https://togithub.com/nrwl/nx/pull/21736))
-   **nx-dev:** remove fence from new packages and "nx add" commands ([#&#8203;21705](https://togithub.com/nrwl/nx/pull/21705))
-   **playwright:** fix include in tsconfig.json ([#&#8203;21730](https://togithub.com/nrwl/nx/pull/21730))
-   **release:** logging improvements ([#&#8203;21692](https://togithub.com/nrwl/nx/pull/21692))
-   **release:** ensure `nx release publish --graph` only includes projects with target ([#&#8203;21726](https://togithub.com/nrwl/nx/pull/21726))
-   **release:** do not stop daemon in dry-run ([#&#8203;21743](https://togithub.com/nrwl/nx/pull/21743))
-   **remix:** do not rename root jest.preset.js ([#&#8203;21703](https://togithub.com/nrwl/nx/pull/21703))
-   **testing:** increase the default timeout to 15s for the dev server to start ([#&#8203;21716](https://togithub.com/nrwl/nx/pull/21716))
-   **testing:** ensure cypress closes the web dev server ([#&#8203;21759](https://togithub.com/nrwl/nx/pull/21759))

##### ❤️  Thank You

-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Juri [@&#8203;juristr](https://togithub.com/juristr)
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Miroslav Jonas [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Yu Zheng

### [`v18.0.3`](https://togithub.com/nrwl/nx/releases/tag/18.0.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.2...18.0.3)

#### 18.0.3 (2024-02-07)

##### 🚀 Features

-   **bundling:** bump rollup-plugin-typescript2 version ([#&#8203;20609](https://togithub.com/nrwl/nx/pull/20609))
-   **remix:** add playwright option for e2eTestRunner ([#&#8203;21603](https://togithub.com/nrwl/nx/pull/21603))

##### 🩹 Fixes

-   **angular:** ajv hoisting issue ([#&#8203;21641](https://togithub.com/nrwl/nx/pull/21641))
-   **core:** add missing parts to ci workflws and update docs ([3078ecf66f](https://togithub.com/nrwl/nx/commit/3078ecf66f))
-   **core:** temporary use forked portable_pty to inherit cursor position for windows ([#&#8203;21683](https://togithub.com/nrwl/nx/pull/21683))
-   **core:** handle blocking stdin ([#&#8203;21672](https://togithub.com/nrwl/nx/pull/21672))
-   **linter:** adjust terminal run check for crystal ([#&#8203;21638](https://togithub.com/nrwl/nx/pull/21638))
-   **misc:** ensure swc transpiler process required files ([#&#8203;21674](https://togithub.com/nrwl/nx/pull/21674))
-   **nx-dev:** launch page mobile experience ([e8d2b471a8](https://togithub.com/nrwl/nx/commit/e8d2b471a8))
-   **nx-dev:** redirect on remote caching page ([#&#8203;21669](https://togithub.com/nrwl/nx/pull/21669))
-   **testing:** cleanup e2e atomization plugins ([#&#8203;21688](https://togithub.com/nrwl/nx/pull/21688))
-   **vite:** import esbuild before loading config to keep it in cache ([#&#8203;21685](https://togithub.com/nrwl/nx/pull/21685))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Jonathan Cammisuli
-   Juri [@&#8203;juristr](https://togithub.com/juristr)
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Miroslav Jonas [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nikita Barsukov [@&#8203;nsbarsukov](https://togithub.com/nsbarsukov)

### [`v18.0.2`](https://togithub.com/nrwl/nx/releases/tag/18.0.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.1...18.0.2)

##### 18.0.2 (2024-02-05)

##### 🩹 Fixes

-   **angular:** fix wrong trailing comma in mf bootstrap code generation ([#&#8203;21600](https://togithub.com/nrwl/nx/pull/21600))
-   **angular:** support inferred cypress targets in setup-mf generator ([#&#8203;21619](https://togithub.com/nrwl/nx/pull/21619))
-   **core:** pass the full resolved path of ts-node/esm when reloading the CLI ([#&#8203;21607](https://togithub.com/nrwl/nx/pull/21607))
-   **core:** remove logic to reload process with esm loader for Node 18 ([#&#8203;21623](https://togithub.com/nrwl/nx/pull/21623))
-   **core:** prevent target defaults from being discarded during merge process ([#&#8203;21624](https://togithub.com/nrwl/nx/pull/21624))
-   **misc:** handle workspaces if no plugin selected in nx init and only generate files after prompts ([#&#8203;21606](https://togithub.com/nrwl/nx/pull/21606))
-   **nextjs:** move `next/constants` from top-level import to when it is needed ([#&#8203;21612](https://togithub.com/nrwl/nx/pull/21612))
-   **nextjs:** Enable next e2e test ([#&#8203;21625](https://togithub.com/nrwl/nx/pull/21625))
-   **node:** Broken E2E tests ([#&#8203;21569](https://togithub.com/nrwl/nx/pull/21569))
-   **nx-dev:** redirect core-features page ([#&#8203;21616](https://togithub.com/nrwl/nx/pull/21616))
-   **webpack:** require ForkTsCheckerWebpackPlugin only as required ([#&#8203;21629](https://togithub.com/nrwl/nx/pull/21629))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v18.0.1`](https://togithub.com/nrwl/nx/releases/tag/18.0.1)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.0...18.0.1)

##### 18.0.1 (2024-02-04)

##### 🩹 Fixes

-   **core:** nx cloud prompt during migrate doesn't skip connection ([#&#8203;21588](https://togithub.com/nrwl/nx/pull/21588))

##### ❤️  Thank You

-   Philip Fulcher

### [`v18.0.0`](https://togithub.com/nrwl/nx/releases/tag/18.0.0)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.3.2...18.0.0)

##### 18.0.0 (2024-02-03)

Nx 18 introduces Project Crystal 💎, a significant shift towards making Nx more transparent and easy to understand! [Learn more here!](https://nx.dev/concepts/inferred-tasks). This is now enabled by default where avaialble and is the reason why we decided to mark it as a major version.

> Note: Though this is a major version, there are no removals of previous deprecations. Any deprecations which were previously scheduled for Nx 18 are now scheduled for Nx 19 which will still be coming out around April 2024.

##### 🚀 Features

-   **angular:** add generator to convert targets to use the esbuild-based application executor ([#&#8203;21333](https://togithub.com/nrwl/nx/pull/21333))
-   **core:** don't clear NX_BASE or NX_HEAD ([#&#8203;20125](https://togithub.com/nrwl/nx/pull/20125))
-   **core:** log to guide users to show details after project generation ([#&#8203;21350](https://togithub.com/nrwl/nx/pull/21350))
-   **core:** improve nx connect success message ([#&#8203;21295](https://togithub.com/nrwl/nx/pull/21295))
-   **core:** add support for loading .ts files using ESM ([#&#8203;21268](https://togithub.com/nrwl/nx/pull/21268))
-   **core:** support --use-agents and --no-agents ([#&#8203;21472](https://togithub.com/nrwl/nx/pull/21472))
-   **core:** enable project crystal by default ([#&#8203;21403](https://togithub.com/nrwl/nx/pull/21403))
-   **core:** move distribution to beginning of generated ci workflows ([#&#8203;21483](https://togithub.com/nrwl/nx/pull/21483))
-   **core:** add migration to disable adding plugins automatically in existing workspaces ([#&#8203;21508](https://togithub.com/nrwl/nx/pull/21508))
-   **core:** add log lines grouping for GH Actions ([#&#8203;21357](https://togithub.com/nrwl/nx/pull/21357))
-   **core:** add fallback flow to nx init when no plugins are detected ([#&#8203;21538](https://togithub.com/nrwl/nx/pull/21538))
-   **core:** improve the commented dte message on ci-workflows ([#&#8203;21524](https://togithub.com/nrwl/nx/pull/21524))
-   **core:** add e2e to ci workflows ([#&#8203;21487](https://togithub.com/nrwl/nx/pull/21487))
-   **devkit:** improving error handeling read target options ([#&#8203;20336](https://togithub.com/nrwl/nx/pull/20336))
-   **devkit:** add loadConfigFile function for plugins to use ([#&#8203;21511](https://togithub.com/nrwl/nx/pull/21511))
-   **linter:** add error and warning statistics ([#&#8203;18313](https://togithub.com/nrwl/nx/pull/18313))
-   **linter:** add option for [@&#8203;nx/dependency-checks](https://togithub.com/nx/dependency-checks) to update workspace dependencies using local file paths ([#&#8203;20157](https://togithub.com/nrwl/nx/pull/20157))
-   **nextjs:** upgrade Next.js 14.0.3 ([#&#8203;20334](https://togithub.com/nrwl/nx/pull/20334))
-   **nx-dev:** more logos & announcement banner ([#&#8203;21444](https://togithub.com/nrwl/nx/pull/21444))
-   **react-native:** add useTransformReactJSX babel config to generators ([#&#8203;19170](https://togithub.com/nrwl/nx/pull/19170))
-   **react-native:** upgrade react native to 0.73 ([#&#8203;20896](https://togithub.com/nrwl/nx/pull/20896))
-   **vite:** allow passing path to custom tsconfig file when skipTypeCheck is false ([#&#8203;19784](https://togithub.com/nrwl/nx/pull/19784))

##### 🩹 Fixes

-   nestjs lib generator pass skipPackageJson flag to js lib generator ([#&#8203;20442](https://togithub.com/nrwl/nx/pull/20442))
-   **angular:** fix dev-server validation for esbuildMiddleware ([#&#8203;21413](https://togithub.com/nrwl/nx/pull/21413))
-   **angular:** should not log invalid extension includedScripts ([#&#8203;21441](https://togithub.com/nrwl/nx/pull/21441))
-   **angular:** handle indexHtmlTransformer option in dev-server correctly ([#&#8203;21520](https://togithub.com/nrwl/nx/pull/21520))
-   **bundling:** consider index/folder imports in manual file resolution ([#&#8203;19030](https://togithub.com/nrwl/nx/pull/19030))
-   **core:** remove misleading message at front of error ([#&#8203;21443](https://togithub.com/nrwl/nx/pull/21443))
-   **core:** new generator not skipping package installation ([#&#8203;17927](https://togithub.com/nrwl/nx/pull/17927))
-   **core:** include typescript package when calculating project hashes ([#&#8203;21285](https://togithub.com/nrwl/nx/pull/21285))
-   **core:** do not append node_module paths in `run-script` executor ([#&#8203;21445](https://togithub.com/nrwl/nx/pull/21445))
-   **core:** update axios to address CVE-2023-45857 ([#&#8203;20493](https://togithub.com/nrwl/nx/pull/20493))
-   **core:** Add missing migration from playwright ([#&#8203;21448](https://togithub.com/nrwl/nx/pull/21448))
-   **core:** always remove cursor reset in terminal output for Windows ([#&#8203;21467](https://togithub.com/nrwl/nx/pull/21467))
-   **core:** do not run pty in run-script when we're not TTY ([#&#8203;21496](https://togithub.com/nrwl/nx/pull/21496))
-   **core:** target defaults should be able to apply to multiple targets with the same executor ([#&#8203;21438](https://togithub.com/nrwl/nx/pull/21438))
-   **core:** nx build --graph file.json should work in subdirectories ([#&#8203;19858](https://togithub.com/nrwl/nx/pull/19858))
-   **core:** Update Nx Welcome to include nx show project ([#&#8203;21509](https://togithub.com/nrwl/nx/pull/21509))
-   **core:** handle negative patterns better when specified in pnpm-workspaces ([#&#8203;19983](https://togithub.com/nrwl/nx/pull/19983))
-   **core:** module federation migration for project with no targets ([#&#8203;21536](https://togithub.com/nrwl/nx/pull/21536))
-   **core:** remove the full workspace path with node_modules from the path env variable when running `run-scripts` ([#&#8203;21532](https://togithub.com/nrwl/nx/pull/21532))
-   **core:** do not watch temporary vite files ([#&#8203;21514](https://togithub.com/nrwl/nx/pull/21514))
-   **core:** target defaults from specifier should not be clobbered by name based target defaults ([#&#8203;21539](https://togithub.com/nrwl/nx/pull/21539))
-   **core:** fix missing nxCloud error message on ci workflows ([#&#8203;21564](https://togithub.com/nrwl/nx/pull/21564))
-   **core:** handle spaces when launching nxFork ([#&#8203;21571](https://togithub.com/nrwl/nx/pull/21571))
-   **expo:** set port for e2e ([#&#8203;21559](https://togithub.com/nrwl/nx/pull/21559))
-   **graph:** repair externalApiService usage broken after refactor ([#&#8203;21422](https://togithub.com/nrwl/nx/pull/21422))
-   **graph:** fix expand when using external api ([#&#8203;21433](https://togithub.com/nrwl/nx/pull/21433))
-   **graph:** don't show open config button on nx.dev & refactor tooltips ([#&#8203;21463](https://togithub.com/nrwl/nx/pull/21463))
-   **graph:** fix openen project details with expanded target from external api ([#&#8203;21548](https://togithub.com/nrwl/nx/pull/21548))
-   **js:** allow inlined libs without imports ([#&#8203;20649](https://togithub.com/nrwl/nx/pull/20649))
-   **js:** package type is module should emit esm ([#&#8203;21473](https://togithub.com/nrwl/nx/pull/21473))
-   **linter:** remove extend of [@&#8203;angular-eslint/recommended--extra](https://togithub.com/angular-eslint/recommended--extra) config ([#&#8203;18465](https://togithub.com/nrwl/nx/pull/18465))
-   **linter:** restore rules to match previous [@&#8203;typescript-eslint/recommended](https://togithub.com/typescript-eslint/recommended) ([#&#8203;21424](https://togithub.com/nrwl/nx/pull/21424))
-   **linter:** make target default migrations a bit more robust ([#&#8203;21446](https://togithub.com/nrwl/nx/pull/21446))
-   **linter:** make eslint mandatory dependency ([#&#8203;21406](https://togithub.com/nrwl/nx/pull/21406))
-   **linter:** ensure flat config generator works for pcv3 plugin ([#&#8203;21485](https://togithub.com/nrwl/nx/pull/21485))
-   **linter:** remove reportUnusedDisableDirectives for flat config ([#&#8203;21405](https://togithub.com/nrwl/nx/pull/21405))
-   **linter:** prevent dep-checks leaking when used outside nx ([#&#8203;21404](https://togithub.com/nrwl/nx/pull/21404))
-   **misc:** prevent ts-node from reading tsconfig when registering transpiler ([#&#8203;21381](https://togithub.com/nrwl/nx/pull/21381))
-   **misc:** set $schema in nx.json generated during nx init ([#&#8203;21455](https://togithub.com/nrwl/nx/pull/21455))
-   **misc:** use caret for semver version ([#&#8203;18140](https://togithub.com/nrwl/nx/pull/18140))
-   **module-federation:** ensure the static remotes env var is used for task hashing [#&#8203;21390](https://togithub.com/nrwl/nx/issues/21390) ([#&#8203;21414](https://togithub.com/nrwl/nx/pull/21414), [#&#8203;21390](https://togithub.com/nrwl/nx/issues/21390))
-   **module-federation:** ensure incorrect tsconfig path mappings are not used [#&#8203;21391](https://togithub.com/nrwl/nx/issues/21391) ([#&#8203;21416](https://togithub.com/nrwl/nx/pull/21416), [#&#8203;21391](https://togithub.com/nrwl/nx/issues/21391))
-   **nest:** exclude react-specific packages when generating nx nest monorepo ([#&#8203;21153](https://togithub.com/nrwl/nx/pull/21153))
-   **nest:** ensure dependencies are installed when generating nest libraries ([#&#8203;21534](https://togithub.com/nrwl/nx/pull/21534))
-   **nextjs:** Add missing support swc for custom server ([#&#8203;21401](https://togithub.com/nrwl/nx/pull/21401))
-   **nextjs:** lazy load plugin import ([#&#8203;21426](https://togithub.com/nrwl/nx/pull/21426))
-   **nextjs:** nextjs standalone playwright linting ([#&#8203;21555](https://togithub.com/nrwl/nx/pull/21555))
-   **nextjs:** vite workspace libs ([#&#8203;21553](https://togithub.com/nrwl/nx/pull/21553))
-   **nuxt:** change nuxi to nuxt ([#&#8203;21484](https://togithub.com/nrwl/nx/pull/21484))
-   **nx-dev:** fix hero text typo ([#&#8203;20937](https://togithub.com/nrwl/nx/pull/20937))
-   **nx-dev:** remove unmatched bracket. updates warning description ([#&#8203;19481](https://togithub.com/nrwl/nx/pull/19481))
-   **nx-dev:** launch week agenda minor fixes ([#&#8203;21419](https://togithub.com/nrwl/nx/pull/21419))
-   **nx-dev:** typos on launch-nx website ([#&#8203;21552](https://togithub.com/nrwl/nx/pull/21552))
-   **react:** import SupportedStyles type from correct path ([#&#8203;20239](https://togithub.com/nrwl/nx/pull/20239))
-   **react:** setup-ssr generator should not read the graph for a project that doesnt exist ([#&#8203;21522](https://togithub.com/nrwl/nx/pull/21522))
-   **react:** extensions - vite e2e test ([#&#8203;21530](https://togithub.com/nrwl/nx/pull/21530))
-   **react:** app generator should handle crystal workspaces ([#&#8203;21537](https://togithub.com/nrwl/nx/pull/21537))
-   **react-native:** Application generator failing ([#&#8203;21507](https://togithub.com/nrwl/nx/pull/21507))
-   **release:** skip lock file update if yarn classic ([#&#8203;21489](https://togithub.com/nrwl/nx/pull/21489))
-   **testing:** fix config references to js files ([#&#8203;21018](https://togithub.com/nrwl/nx/pull/21018))
-   **testing:** add support for generating and loading cypress config in ESM format ([#&#8203;21471](https://togithub.com/nrwl/nx/pull/21471))
-   **vite:** prevent vite:build copying package.json when generatePackageJson false ([#&#8203;19780](https://togithub.com/nrwl/nx/pull/19780))
-   **vite:** deep file resolution in nx-tsconfig-paths.plugin.ts ([#&#8203;21513](https://togithub.com/nrwl/nx/pull/21513))
-   **vue:** do not add [@&#8203;vue/tsconfig](https://togithub.com/vue/tsconfig) dependency ([#&#8203;19873](https://togithub.com/nrwl/nx/pull/19873))
-   **webpack:** correctly handle data URIs with escaped quotes in style… ([#&#8203;20988](https://togithub.com/nrwl/nx/pull/20988))
-   **webpack:** fix webpack plugin issues and e2e tests ([#&#8203;21531](https://togithub.com/nrwl/nx/pull/21531))

##### ❤️  Thank You

-   Adam Hunter [@&#8203;adamrhunter](https://togithub.com/adamrhunter)
-   Altan Stalker
-   andreasmoller25 [@&#8203;andreasmoller25](https://togithub.com/andreasmoller25)
-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Benjamin Kroeger [@&#8203;benkroeger](https://togithub.com/benkroeger)
-   Christian Käslin
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Denis Frenademetz [@&#8203;skrtheboss](https://togithub.com/skrtheboss)
-   Eduardo Barros
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Ian Chadwick [@&#8203;ianchadwick](https://togithub.com/ianchadwick)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jan Pretzel
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Lukas [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Michal Jez [@&#8203;MJez29](https://togithub.com/MJez29)
-   Mihail Golban [@&#8203;mihailgolban](https://togithub.com/mihailgolban)
-   Miloš Lajtman [@&#8203;miluoshi](https://togithub.com/miluoshi)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Phillip Barta [@&#8203;Phillip9587](https://togithub.com/Phillip9587)
-   Remco Krams
-   Simeon Cheeseman [@&#8203;SimeonC](https://togithub.com/SimeonC)
-   Tobbb
-   Vinit Neogi [@&#8203;vneogi199](https://togithub.com/vneogi199)
-   wout junius [@&#8203;wout-junius](https://togithub.com/wout-junius)
-   Zac Bristow
-   zenvanexus [@&#8203;zenvanexus](https://togithub.com/zenvanexus)

### [`v17.3.2`](https://togithub.com/nrwl/nx/releases/tag/17.3.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.3.1...17.3.2)

##### 17.3.2 (2024-02-03)

##### 🚀 Features

-   **core:** add log lines grouping for GH Actions ([#&#8203;21357](https://togithub.com/nrwl/nx/pull/21357))
-   **linter:** add error and warning statistics ([#&#8203;18313](https://togithub.com/nrwl/nx/pull/18313))

##### 🩹 Fixes

-   **angular:** handle indexHtmlTransformer option in dev-server correctly ([#&#8203;21520](https://togithub.com/nrwl/nx/pull/21520))
-   **core:** update axios to address CVE-2023-45857 ([#&#8203;20493](https://togithub.com/nrwl/nx/pull/20493))
-   **core:** Add missing migration from playwright ([#&#8203;21448](https://togithub.com/nrwl/nx/pull/21448))
-   **core:** always remove cursor reset in terminal output for Windows ([#&#8203;21467](https://togithub.com/nrwl/nx/pull/21467))
-   **core:** do not run pty in run-script when we're not TTY ([#&#8203;21496](https://togithub.com/nrwl/nx/pull/21496))
-   **core:** target defaults should be able to apply to multiple targets with the same executor ([#&#8203;21438](https://togithub.com/nrwl/nx/pull/21438))
-   **core:** nx build --graph file.json should work in subdirectories ([#&#8203;19858](https://togithub.com/nrwl/nx/pull/19858))
-   **core:** Update Nx Welcome to include nx show project ([#&#8203;21509](https://togithub.com/nrwl/nx/pull/21509))
-   **core:** handle negative patterns better when specified in pnpm-workspaces ([#&#8203;19983](https://togithub.com/nrwl/nx/pull/19983))
-   **core:** remove the full workspace path with node_modules from the path env variable when running `run-scripts` ([#&#8203;21532](https://togithub.com/nrwl/nx/pull/21532))
-   **core:** do not watch temporary vite files ([#&#8203;21514](https://togithub.com/nrwl/nx/pull/21514))
-   **core:** target defaults from specifier should not be clobbered by name based target defaults ([#&#8203;21539](https://togithub.com/nrwl/nx/pull/21539))
-   **graph:** fix expand when using external api ([#&#8203;21433](https://togithub.com/nrwl/nx/pull/21433))
-   **graph:** don't show open config button on nx.dev & refactor tooltips ([#&#8203;21463](https://togithub.com/nrwl/nx/pull/21463))
-   **js:** package type is module should emit esm ([#&#8203;21473](https://togithub.com/nrwl/nx/pull/21473))
-   **linter:** make eslint mandatory dependency ([#&#8203;21406](https://togithub.com/nrwl/nx/pull/21406))
-   **linter:** ensure flat config generator works for pcv3 plugin ([#&#8203;21485](https://togithub.com/nrwl/nx/pull/21485))
-   **linter:** remove reportUnusedDisableDirectives for flat config ([#&#8203;21405](https://togithub.com/nrwl/nx/pull/21405))
-   **linter:** prevent dep-checks leaking when used outside nx ([#&#8203;21404](https://togithub.com/nrwl/nx/pull/21404))
-   **misc:** set $schema in nx.json generated during nx init ([#&#8203;21455](https://togithub.com/nrwl/nx/pull/21455))
-   **misc:** use caret for semver version ([#&#8203;18140](https://togithub.com/nrwl/nx/pull/18140))
-   **module-federation:** ensure the static remotes env var is used for task hashing [#&#8203;21390](https://togithub.com/nrwl/nx/issues/21390) ([#&#8203;21414](https://togithub.com/nrwl/nx/pull/21414), [#&#8203;21390](https://togithub.com/nrwl/nx/issues/21390))
-   **module-federation:** ensure incorrect tsconfig path mappings are not used [#&#8203;21391](https://togithub.com/nrwl/nx/issues/21391) ([#&#8203;21416](https://togithub.com/nrwl/nx/pull/21416), [#&#8203;21391](https://togithub.com/nrwl/nx/issues/21391))
-   **nest:** exclude react-specific packages when generating nx nest monorepo ([#&#8203;21153](https://togithub.com/nrwl/nx/pull/21153))
-   **release:** skip lock file update if yarn classic ([#&#8203;21489](https://togithub.com/nrwl/nx/pull/21489))
-   **testing:** fix config references to js files ([#&#8203;21018](https://togithub.com/nrwl/nx/pull/21018))
-   **vite:** deep file resolution in nx-tsconfig-paths.plugin.ts ([#&#8203;21513](https://togithub.com/nrwl/nx/pull/21513))
-   **webpack:** correctly handle data URIs with escaped quotes in style… ([#&#8203;20988](https://togithub.com/nrwl/nx/pull/20988))

##### ❤️  Thank You

-   andreasmoller25 [@&#8203;andreasmoller25](https://togithub.com/andreasmoller25)
-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Ian Chadwick [@&#8203;ianchadwick](https://togithub.com/ianchadwick)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Jonathan Cammisuli
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Lukas [@&#8203;LukasTy](https://togithub.com/LukasTy)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Mihail Golban [@&#8203;mihailgolban](https://togithub.com/mihailgolban)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Phillip Barta [@&#8203;Phillip9587](https://togithub.com/Phillip9587)
-   Remco Krams
-   Simeon Cheeseman [@&#8203;SimeonC](https://togithub.com/SimeonC)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 08:28:37 +00:00
Muhammad Arsil
1eb317d8fa fix: cards overlapping issue (#5727)
Co-authored-by: EYHN <cneyhn@gmail.com>
2024-02-20 16:27:43 +08:00
LongYinan
b8679172c9 chore: bump up electron version to v29 (#5841)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](https://togithub.com/electron/electron/compare/v28.2.3...v29.0.0)

### Release Notes for v29.0.0

#### Stack Upgrades

-   Chromium `122.0.6261.39`
    -   [New in 122](https://developer.chrome.com/blog/new-in-chrome-122/)
    -   [New in 121](https://developer.chrome.com/blog/new-in-chrome-121/)
-   Node `20.9.0`
    -   [Node 20.9.0 blog post](https://nodejs.org/en/blog/release/v20.9.0/)
-   V8 `12.2`

#### Breaking Changes

-   Functions called over the `contextBridge` are now called with the expected receiver (`this`). [#&#8203;39978](https://togithub.com/electron/electron/pull/39978) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40262), [28](https://togithub.com/electron/electron/pull/40263))</span>
-   The `gpu-process-crashed` event on `app` has been deprecated. [#&#8203;40169](https://togithub.com/electron/electron/pull/40169) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40195))</span>
-   The deprecated `gpu-process-crashed` event on `app` has been removed. [#&#8203;40255](https://togithub.com/electron/electron/pull/40255)
-   The deprecated `renderer-process-crashed` event on `app` and `crashed` event on `WebContents` and `<webview>` have been removed. [#&#8203;40115](https://togithub.com/electron/electron/pull/40115)

#### Features

##### Additions

-   Added `WebContentsView` and `BaseWindow`, replacing the now-deprecated `BrowserView` APIs. [#&#8203;40759](https://togithub.com/electron/electron/pull/40759)
-   Added `keyboardLock` to `ses.setPermissionRequestHandler(handler)`. [#&#8203;40369](https://togithub.com/electron/electron/pull/40369) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40458), [27](https://togithub.com/electron/electron/pull/40459), [28](https://togithub.com/electron/electron/pull/40460))</span>
-   Added an option in `protocol.registerSchemesAsPrivileged` to allow V8 code cache in custom schemes. [#&#8203;40544](https://togithub.com/electron/electron/pull/40544) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40708), [28](https://togithub.com/electron/electron/pull/40709))</span>
-   Added net module to utility process. [#&#8203;40890](https://togithub.com/electron/electron/pull/40890) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40968), [28](https://togithub.com/electron/electron/pull/40967))</span>
-   Added new [Electron Fuse](https://www.electronjs.org/docs/latest/tutorial/fuses) that opts the `file://` protocol into more secure and restrictive behaviour that matches Chromium. [#&#8203;40372](https://togithub.com/electron/electron/pull/40372)
-   Added new `webUtils.getPathForFile` method to replace `File.path` augmentation. [#&#8203;38776](https://togithub.com/electron/electron/pull/38776)
-   Added support for configuring `use_remote_checksums` via `.npmrc`. [#&#8203;40253](https://togithub.com/electron/electron/pull/40253)
-   Migrated `app.{set|get}LoginItemSettings(settings)` to use Apple's new recommended underlying framework on macOS. [#&#8203;37244](https://togithub.com/electron/electron/pull/37244)
-   This PR adds several properties to the `display` object including `detected`, `maximumCursorSize`, and `nativeOrigin`. [#&#8203;40497](https://togithub.com/electron/electron/pull/40497) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40554))</span>

##### Removed/Deprecated

-   Removed extraneous dlls from Windows zip files. [#&#8203;41129](https://togithub.com/electron/electron/pull/41129) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41128))</span>

#### Fixes

-   Added support for `ThumbnailCapturerMac` and `ScreenCaptureKitStreamPickerSonoma` chromium feature flags to bypass deprecated API warning on macOS 14.4. [#&#8203;41329](https://togithub.com/electron/electron/pull/41329)
-   Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. [#&#8203;41296](https://togithub.com/electron/electron/pull/41296)
-   Fixed an issue where `import.meta.url` did not work in the renderer process with `contextIsolation` enabled. [#&#8203;41265](https://togithub.com/electron/electron/pull/41265)
-   Fixed an issue where `original-fs` methods were not properly corrected for patched imports. [#&#8203;41238](https://togithub.com/electron/electron/pull/41238)
-   Fixed an issue where draggable regions didn't work across platforms. [#&#8203;41112](https://togithub.com/electron/electron/pull/41112)
-   Fixed crash in MessagePort::close. [#&#8203;41237](https://togithub.com/electron/electron/pull/41237)
-   Fixed the `GrantFileProtocolExtraPrivileges` not correctly preventing `fetch()` calls to `file://` URLs. [#&#8203;40864](https://togithub.com/electron/electron/pull/40864)

##### Also in earlier versions...

-   Apply module search paths restriction on worker and child process. [#&#8203;41138](https://togithub.com/electron/electron/pull/41138) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41139), [28](https://togithub.com/electron/electron/pull/41137))</span>
-   Backported fix for AVX related crashes on certain linux machines. [#&#8203;40536](https://togithub.com/electron/electron/pull/40536) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40540), [27](https://togithub.com/electron/electron/pull/40541), [28](https://togithub.com/electron/electron/pull/40542))</span>
-   CSS style `-webkit-app-region: drag;` has no effect in full screen mode. [#&#8203;41332](https://togithub.com/electron/electron/pull/41332) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41331), [28](https://togithub.com/electron/electron/pull/41330))</span>
-   Fixed "will-navigate" not being emitted when pressing links in `chrome:` pages. [#&#8203;40390](https://togithub.com/electron/electron/pull/40390) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40524), [28](https://togithub.com/electron/electron/pull/40525))</span>
-   Fixed `session.fromPartition()` key lookup bug. [#&#8203;41084](https://togithub.com/electron/electron/pull/41084) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41083))</span>
-   Fixed a crash resultant from trying to listen to power-related events before the `ready` event was emitted on Linux. [#&#8203;40925](https://togithub.com/electron/electron/pull/40925) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40922), [27](https://togithub.com/electron/electron/pull/40923), [28](https://togithub.com/electron/electron/pull/40924))</span>
-   Fixed a crash that started occurring sporadically with some types of macOS window close. [#&#8203;41299](https://togithub.com/electron/electron/pull/41299) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41298))</span>
-   Fixed a partition alloc ref count check for higher MacOS versions. [#&#8203;40766](https://togithub.com/electron/electron/pull/40766) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40765))</span>
-   Fixed a potential `async_hooks` crash when listening for the `restore` event on Windows after minimizing a maximized BrowserWindow. [#&#8203;41146](https://togithub.com/electron/electron/pull/41146) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41144), [28](https://togithub.com/electron/electron/pull/41145))</span>
-   Fixed a potential crash when calling `dialog.showMessageBoxSync`. [#&#8203;41043](https://togithub.com/electron/electron/pull/41043) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41041), [28](https://togithub.com/electron/electron/pull/41042))</span>
-   Fixed a potential issue with `async_hook` corruption in some error contexts. [#&#8203;40574](https://togithub.com/electron/electron/pull/40574) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40592), [27](https://togithub.com/electron/electron/pull/40593), [28](https://togithub.com/electron/electron/pull/40594))</span>
-   Fixed a unexpectedly thrown error in some unsupported chrome extensions. [#&#8203;40500](https://togithub.com/electron/electron/pull/40500) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40512), [27](https://togithub.com/electron/electron/pull/40513), [28](https://togithub.com/electron/electron/pull/40514))</span>
-   Fixed an error changing file format in `dialog.showOpenDialog` on macOS. [#&#8203;40308](https://togithub.com/electron/electron/pull/40308) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40347), [28](https://togithub.com/electron/electron/pull/40346))</span>
-   Fixed an issue where Request objects did not correctly copy headers into fetches. [#&#8203;41019](https://togithub.com/electron/electron/pull/41019) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41103))</span>
-   Fixed an issue where WebViews could sometimes crash on unload. [#&#8203;40400](https://togithub.com/electron/electron/pull/40400) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40443), [27](https://togithub.com/electron/electron/pull/40444), [28](https://togithub.com/electron/electron/pull/40445))</span>
-   Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on `notification.close()` if they'd previously been dismissed. [#&#8203;40197](https://togithub.com/electron/electron/pull/40197) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40242), [27](https://togithub.com/electron/electron/pull/40244), [28](https://togithub.com/electron/electron/pull/40243))</span>
-   Fixed an issue where `MessagePorts` were not being correctly garbage collected when not referenced. [#&#8203;40189](https://togithub.com/electron/electron/pull/40189) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40201))</span>
-   Fixed an issue where `inAppPurchase.getProducts` and `inAppPurchase.purchasedProduct` did not resolve as expected. [#&#8203;40957](https://togithub.com/electron/electron/pull/40957) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40955), [28](https://togithub.com/electron/electron/pull/40956))</span>
-   Fixed an issue where `navigator.keyboard.lock()` did not work per [latest expected behavior](https://developer.chrome.com/blog/better-full-screen-mode). [#&#8203;40365](https://togithub.com/electron/electron/pull/40365) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40387), [27](https://togithub.com/electron/electron/pull/40388), [28](https://togithub.com/electron/electron/pull/40389))</span>
-   Fixed an issue where `select-usb-device` did not respect the `filter` option in `navigator.usb.requestDevice()`. [#&#8203;41197](https://togithub.com/electron/electron/pull/41197) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41196), [28](https://togithub.com/electron/electron/pull/41198))</span>
-   Fixed an issue where `webContents.printToPDF` could fail when certain combinations of `margins` and `pageSize` values are passed. [#&#8203;41266](https://togithub.com/electron/electron/pull/41266) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41267))</span>
-   Fixed an issue where crashes in `node::Environment` destruction potentially wouldn't be propagated to the `
    Service ` exit handler. [#&#8203;41301](https://togithub.com/electron/electron/pull/41301) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41300), [28](https://togithub.com/electron/electron/pull/41302))</span>
-   Fixed an issue where devtools could not be re-opened. [#&#8203;40666](https://togithub.com/electron/electron/pull/40666) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40679))</span>
-   Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. [#&#8203;40681](https://togithub.com/electron/electron/pull/40681) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40715), [28](https://togithub.com/electron/electron/pull/40688))</span>
-   Fixed an issue where fully occluded windows would return an empty image from `webContents.capturePage()` on Windows and Linux. [#&#8203;39730](https://togithub.com/electron/electron/pull/39730) <span style="font-size:small;">(Also in [25](https://togithub.com/electron/electron/pull/40186), [26](https://togithub.com/electron/electron/pull/40187), [27](https://togithub.com/electron/electron/pull/40188), [28](https://togithub.com/electron/electron/pull/40185))</span>
-   Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. [#&#8203;41037](https://togithub.com/electron/electron/pull/41037) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41035), [28](https://togithub.com/electron/electron/pull/41036))</span>
-   Fixed an issue where the `printBackground` option in `webContents.printToPDF` did not work as expected. [#&#8203;41180](https://togithub.com/electron/electron/pull/41180) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/41179))</span>
-   Fixed an issue where zoom level settings did not persist per-session for webviews. [#&#8203;40650](https://togithub.com/electron/electron/pull/40650) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41269), [28](https://togithub.com/electron/electron/pull/41268))</span>
-   Fixed an issue with webContents interaction with fullscreen and WCO on macOS. [#&#8203;40179](https://togithub.com/electron/electron/pull/40179) <span style="font-size:small;">(Also in [25](https://togithub.com/electron/electron/pull/40220), [26](https://togithub.com/electron/electron/pull/40218), [27](https://togithub.com/electron/electron/pull/40217), [28](https://togithub.com/electron/electron/pull/40219))</span>
-   Fixed app incorrectly activating panel windows on macOS Sonoma. [#&#8203;40307](https://togithub.com/electron/electron/pull/40307) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40465))</span>
-   Fixed child window opening in non-active macOS apps. [#&#8203;40546](https://togithub.com/electron/electron/pull/40546) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40657), [27](https://togithub.com/electron/electron/pull/40658), [28](https://togithub.com/electron/electron/pull/40659))</span>
-   Fixed default protocol handler behavior on Windows. [#&#8203;40908](https://togithub.com/electron/electron/pull/40908) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40909))</span>
-   Fixed file paths passed to `shell.showItemInFolder` not being escaped in Linux. [#&#8203;40527](https://togithub.com/electron/electron/pull/40527) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40560), [27](https://togithub.com/electron/electron/pull/40561), [28](https://togithub.com/electron/electron/pull/40562))</span>
-   Fixed forked child process not able to send IPC message under some cases on macOS. [#&#8203;41102](https://togithub.com/electron/electron/pull/41102) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/41099), [27](https://togithub.com/electron/electron/pull/41100), [28](https://togithub.com/electron/electron/pull/41101))</span>
-   Fixed incorrect title bar shown on frameless transparent windows. [#&#8203;40862](https://togithub.com/electron/electron/pull/40862) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40868), [28](https://togithub.com/electron/electron/pull/40867))</span>
-   Fixed loading nested ESM dependencies in `node_modules`
    -   Correctly support the `throwIfNoEntry` option in `fs.statSync`/`fs.lstatSync` in asar files. [#&#8203;40221](https://togithub.com/electron/electron/pull/40221) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40224))</span>
-   Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. [#&#8203;41029](https://togithub.com/electron/electron/pull/41029) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41027), [28](https://togithub.com/electron/electron/pull/41028))</span>
-   Fixed on-screen-keyboard not hiding for webviews under some cases. [#&#8203;41149](https://togithub.com/electron/electron/pull/41149) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41151), [28](https://togithub.com/electron/electron/pull/41150))</span>
-   Fixed problem with bounds of maximized window when  toggle BrowserWindow.setResizable function. [#&#8203;40503](https://togithub.com/electron/electron/pull/40503) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40580), [27](https://togithub.com/electron/electron/pull/40581), [28](https://togithub.com/electron/electron/pull/40582))</span>
-   Fixed resizing performance issue on macOS. [#&#8203;40577](https://togithub.com/electron/electron/pull/40577) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40584), [27](https://togithub.com/electron/electron/pull/40585), [28](https://togithub.com/electron/electron/pull/40586))</span>
-   Fixed some redundant permission dialogs while screen sharing on Wayland. [#&#8203;40098](https://togithub.com/electron/electron/pull/40098) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40191), [27](https://togithub.com/electron/electron/pull/40193), [28](https://togithub.com/electron/electron/pull/40192))</span>
-   Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. [#&#8203;40897](https://togithub.com/electron/electron/pull/40897) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/40895), [28](https://togithub.com/electron/electron/pull/40896))</span>
-   Prevent node mode to be used as script runner by other apps on macOS. [#&#8203;40579](https://togithub.com/electron/electron/pull/40579) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40738), [27](https://togithub.com/electron/electron/pull/40737), [28](https://togithub.com/electron/electron/pull/40710))</span>
-   Unset all Node envs in node process when parent is a foreign process. [#&#8203;40881](https://togithub.com/electron/electron/pull/40881) <span style="font-size:small;">(Also in [26](https://togithub.com/electron/electron/pull/40882), [27](https://togithub.com/electron/electron/pull/40879), [28](https://togithub.com/electron/electron/pull/40880))</span>
-   Use `activateIgnoringOtherApps` for focusing non-panels on macOS. [#&#8203;40570](https://togithub.com/electron/electron/pull/40570) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40621))</span>

#### Other Changes

-   Re-enabled partition alloc on Mac. [#&#8203;33981](https://togithub.com/electron/electron/pull/33981) <span style="font-size:small;">(Also in [28](https://togithub.com/electron/electron/pull/40230))</span>
-   Reverted new WebContentsView and BaseWindow APIs. [#&#8203;41060](https://togithub.com/electron/electron/pull/41060)
-   Security: backported fix for chromium:1517354. [#&#8203;40969](https://togithub.com/electron/electron/pull/40969)

#### Notices

##### End of Support for 26.x.y

Electron 26.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron.

### [`v28.2.3`](https://togithub.com/electron/electron/releases/tag/v28.2.3): electron v28.2.3

[Compare Source](https://togithub.com/electron/electron/compare/v28.2.2...v28.2.3)

### Release Notes for v28.2.3

#### Fixes

-   Fixed a crash that started occurring sporadically with some types of macOS window close. [#&#8203;41298](https://togithub.com/electron/electron/pull/41298) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41299))</span>
-   Fixed an issue where `webContents.printToPDF` could fail when certain combinations of `margins` and `pageSize` values are passed. [#&#8203;41267](https://togithub.com/electron/electron/pull/41267) <span style="font-size:small;">(Also in [29](https://togithub.com/electron/electron/pull/41266))</span>
-   Fixed an issue where crashes in `node::Environment` destruction potentially wouldn't be propagated to the `NodeService` exit handler. [#&#8203;41302](https://togithub.com/electron/electron/pull/41302) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41300), [29](https://togithub.com/electron/electron/pull/41301))</span>
-   Fixed an issue where zoom level settings did not persist per-session for webviews. [#&#8203;41268](https://togithub.com/electron/electron/pull/41268) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41269))</span>

#### Other Changes

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

### [`v28.2.2`](https://togithub.com/electron/electron/releases/tag/v28.2.2): electron v28.2.2

[Compare Source](https://togithub.com/electron/electron/compare/v28.2.1...v28.2.2)

### Release Notes for v28.2.2

#### Fixes

-   Fixed an issue where `select-usb-device` did not respect the `filter` option in `navigator.usb.requestDevice()`. [#&#8203;41198](https://togithub.com/electron/electron/pull/41198) <span style="font-size:small;">(Also in [27](https://togithub.com/electron/electron/pull/41196), [29](https://togithub.com/electron/electron/pull/41197))</span>

#### Other Changes

-   Security: backported fix for [`1511567`](https://togithub.com/electron/electron/commit/1511567).
    -   Security: backported fix for [`1514777`](https://togithub.com/electron/electron/commit/1514777).
    -   Security: backported fix for [`1511085`](https://togithub.com/electron/electron/commit/1511085).
    -   Security: backported fix for [`1519980`](https://togithub.com/electron/electron/commit/1519980). [#&#8203;41178](https://togithub.com/electron/electron/pull/41178)
-   Updated Chromium to 120.0.6099.276. [#&#8203;41195](https://togithub.com/electron/electron/pull/41195)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 08:08:38 +00:00
LongYinan
aa3baa60d1 chore: bump up @types/react-datepicker version to v6 (#5839)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/react-datepicker](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-datepicker) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-datepicker)) | [`^4.19.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@types%2freact-datepicker/4.19.3/6.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-datepicker/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-datepicker/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-datepicker/4.19.3/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-datepicker/4.19.3/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 06:27:23 +00:00
LongYinan
b6f776ca24 chore: bump up undici version to v6.6.1 [SECURITY] (#5828)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [undici](https://undici.nodejs.org) ([source](https://togithub.com/nodejs/undici)) | [`6.0.1` -> `6.6.1`](https://renovatebot.com/diffs/npm/undici/6.0.1/6.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/6.0.1/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/6.0.1/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-24750](https://togithub.com/nodejs/undici/security/advisories/GHSA-9f24-jqhm-jfcw)

### Impact

Calling `fetch(url)` and not consuming the incoming body ((or consuming it very slowing) will lead to a memory leak.

### Patches

Patched in v6.6.1

### Workarounds

Make sure to always consume the incoming body.

#### [CVE-2024-24758](https://togithub.com/nodejs/undici/security/advisories/GHSA-3787-6prv-h9w3)

### Impact

Undici already cleared Authorization headers on cross-origin redirects, but did not clear `Proxy-Authorization` headers.

### Patches

This is patched in v5.28.3 and v6.6.1

### Workarounds

There are no known workarounds.

### References

- https://fetch.spec.whatwg.org/#authentication-entries
- https://github.com/nodejs/undici/security/advisories/GHSA-wqq4-5wpv-mx2g

---

### Release Notes

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

### [`v6.6.1`](https://togithub.com/nodejs/undici/releases/tag/v6.6.1)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.6.0...v6.6.1)

#### ⚠️ Security Release ⚠️

Details on the vulnerabilities fixed will be shared in the next couple of days.

#### What's Changed

-   fix: flaky debug test by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2687](https://togithub.com/nodejs/undici/pull/2687)
-   build(deps): bump github/codeql-action from 3.22.12 to 3.23.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2688](https://togithub.com/nodejs/undici/pull/2688)
-   build(deps): bump actions/dependency-review-action from 3.1.0 to 4.0.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2689](https://togithub.com/nodejs/undici/pull/2689)
-   fix: ci pipeline warnings by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2685](https://togithub.com/nodejs/undici/pull/2685)
-   perf: optimize Iterator by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2692](https://togithub.com/nodejs/undici/pull/2692)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.6.0...v6.6.1

### [`v6.6.0`](https://togithub.com/nodejs/undici/releases/tag/v6.6.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.5.0...v6.6.0)

#### What's Changed

-   add webSocket example by [@&#8203;mertcanaltin](https://togithub.com/mertcanaltin) in [https://github.com/nodejs/undici/pull/2626](https://togithub.com/nodejs/undici/pull/2626)
-   chore: remove atomic-sleep as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2648](https://togithub.com/nodejs/undici/pull/2648)
-   chore: remove semver as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2646](https://togithub.com/nodejs/undici/pull/2646)
-   chore: remove table as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2649](https://togithub.com/nodejs/undici/pull/2649)
-   chore: remove delay as dev dependency by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2647](https://togithub.com/nodejs/undici/pull/2647)
-   chore: reduce noise in test-logs test/issue-2349.js by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2655](https://togithub.com/nodejs/undici/pull/2655)
-   chore: fix faketimer warning in test/request-timeout.js by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2656](https://togithub.com/nodejs/undici/pull/2656)
-   chore: reduce noise in test logs test/client-node-max-header-size.js by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2654](https://togithub.com/nodejs/undici/pull/2654)
-   refactor: use fromInnerResponse by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2635](https://togithub.com/nodejs/undici/pull/2635)
-   fix: support deflate raw responses by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2650](https://togithub.com/nodejs/undici/pull/2650)
-   Support building for externally shared js builtins by [@&#8203;mochaaP](https://togithub.com/mochaaP) in [https://github.com/nodejs/undici/pull/2643](https://togithub.com/nodejs/undici/pull/2643)
-   fix: typo clampAndCoarsenConnectionTimingInfo by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2653](https://togithub.com/nodejs/undici/pull/2653)
-   chore: use 'node:'-prefix for requiring node core modules by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2662](https://togithub.com/nodejs/undici/pull/2662)
-   build(deps-dev): bump husky from 8.0.3 to 9.0.7 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2667](https://togithub.com/nodejs/undici/pull/2667)
-   build(deps-dev): bump cronometro from 1.2.0 to 2.0.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2668](https://togithub.com/nodejs/undici/pull/2668)
-   remove timers/promises import by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2665](https://togithub.com/nodejs/undici/pull/2665)
-   chore: fix various codesmells by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2669](https://togithub.com/nodejs/undici/pull/2669)
-   chore: remove this alias in agent.js by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2671](https://togithub.com/nodejs/undici/pull/2671)
-   chore: use optional chaining by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2666](https://togithub.com/nodejs/undici/pull/2666)
-   chore: small perf improvements by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2661](https://togithub.com/nodejs/undici/pull/2661)
-   implement spec changes from a while ago by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2676](https://togithub.com/nodejs/undici/pull/2676)
-   websocket: fix close when no closing code is received by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2680](https://togithub.com/nodejs/undici/pull/2680)
-   fix: make ci less flaky by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2684](https://togithub.com/nodejs/undici/pull/2684)

#### New Contributors

-   [@&#8203;mochaaP](https://togithub.com/mochaaP) made their first contribution in [https://github.com/nodejs/undici/pull/2643](https://togithub.com/nodejs/undici/pull/2643)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.5.0...v6.6.0

### [`v6.5.0`](https://togithub.com/nodejs/undici/releases/tag/v6.5.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.4.0...v6.5.0)

#### What's Changed

-   build(deps-dev): bump jsdom from 23.2.0 to 24.0.0 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2632](https://togithub.com/nodejs/undici/pull/2632)
-   feat: Implement EventSource by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2608](https://togithub.com/nodejs/undici/pull/2608)
-   fix: readable body by [@&#8203;ronag](https://togithub.com/ronag) in [https://github.com/nodejs/undici/pull/2642](https://togithub.com/nodejs/undici/pull/2642)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.4.0...v6.5.0

### [`v6.4.0`](https://togithub.com/nodejs/undici/releases/tag/v6.4.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.3.0...v6.4.0)

##### What's Changed

-   refactor: version cleanup by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2605](https://togithub.com/nodejs/undici/pull/2605)
-   cacheStorage: separate matchAll logic by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2599](https://togithub.com/nodejs/undici/pull/2599)
-   cleanup index by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2598](https://togithub.com/nodejs/undici/pull/2598)
-   feat: port `balanced-pool`, `ca-fingerprint`, `client-abort` tests to `node:test` by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2584](https://togithub.com/nodejs/undici/pull/2584)
-   ci: unpin nodejs workflow version by [@&#8203;dominykas](https://togithub.com/dominykas) in [https://github.com/nodejs/undici/pull/2434](https://togithub.com/nodejs/undici/pull/2434)
-   test([#&#8203;2600](https://togithub.com/nodejs/undici/issues/2600)): Flaky debug test by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [https://github.com/nodejs/undici/pull/2607](https://togithub.com/nodejs/undici/pull/2607)
-   fix: h2 hang issue with empty body by [@&#8203;timursevimli](https://togithub.com/timursevimli) in [https://github.com/nodejs/undici/pull/2601](https://togithub.com/nodejs/undici/pull/2601)
-   Fix tests for Node.js v21 by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2609](https://togithub.com/nodejs/undici/pull/2609)
-   perf(cache): avoid Request and Response initialization by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2610](https://togithub.com/nodejs/undici/pull/2610)
-   Add more libraries to benchmarks by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2614](https://togithub.com/nodejs/undici/pull/2614)
-   feat: port `client-connect`, `client-dispatch`, `client-errors` test to `node:test` by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2591](https://togithub.com/nodejs/undici/pull/2591)
-   exit with 1 if WPT runner has unexpected errors by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2621](https://togithub.com/nodejs/undici/pull/2621)
-   Fix tests for Node.js v20.11.0 by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2618](https://togithub.com/nodejs/undici/pull/2618)
-   fix(mock-agent): split set-cookie by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2619](https://togithub.com/nodejs/undici/pull/2619)
-   feat: implement throwOnMaxRedirect option for RedirectHandler by [@&#8203;mertcanaltin](https://togithub.com/mertcanaltin) in [https://github.com/nodejs/undici/pull/2563](https://togithub.com/nodejs/undici/pull/2563)
-   test: fix flaky debug test by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [https://github.com/nodejs/undici/pull/2613](https://togithub.com/nodejs/undici/pull/2613)
-   fix: hide statusOutput if empty in handleRunnerCompletion by [@&#8203;Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/nodejs/undici/pull/2624](https://togithub.com/nodejs/undici/pull/2624)
-   docs: Fix typo in Debug.md by [@&#8203;Skn0tt](https://togithub.com/Skn0tt) in [https://github.com/nodejs/undici/pull/2625](https://togithub.com/nodejs/undici/pull/2625)
-   fix(cache): set AbortSignal by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2612](https://togithub.com/nodejs/undici/pull/2612)
-   Use correct http Agent for node-fetch, axios, got and request by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2629](https://togithub.com/nodejs/undici/pull/2629)

##### New Contributors

-   [@&#8203;timursevimli](https://togithub.com/timursevimli) made their first contribution in [https://github.com/nodejs/undici/pull/2601](https://togithub.com/nodejs/undici/pull/2601)
-   [@&#8203;mertcanaltin](https://togithub.com/mertcanaltin) made their first contribution in [https://github.com/nodejs/undici/pull/2563](https://togithub.com/nodejs/undici/pull/2563)
-   [@&#8203;Skn0tt](https://togithub.com/Skn0tt) made their first contribution in [https://github.com/nodejs/undici/pull/2625](https://togithub.com/nodejs/undici/pull/2625)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.3.0...v6.4.0

### [`v6.3.0`](https://togithub.com/nodejs/undici/releases/tag/v6.3.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.2.1...v6.3.0)

#### What's Changed

-   Clear all timeout on destroy and close by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2535](https://togithub.com/nodejs/undici/pull/2535)
-   ConnectOptions should include 'origin' field by [@&#8203;dvoytenko](https://togithub.com/dvoytenko) in [https://github.com/nodejs/undici/pull/2532](https://togithub.com/nodejs/undici/pull/2532)
-   perf: avoid toLowerCase call by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2537](https://togithub.com/nodejs/undici/pull/2537)
-   revert [`a1a8136`](https://togithub.com/nodejs/undici/commit/a1a8136) by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2539](https://togithub.com/nodejs/undici/pull/2539)
-   docs: add Util to sidebar by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2529](https://togithub.com/nodejs/undici/pull/2529)
-   fix: call explicitly unregister by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2534](https://togithub.com/nodejs/undici/pull/2534)
-   fix: check the content-type of invalid formData by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2541](https://togithub.com/nodejs/undici/pull/2541)
-   Add request examples. by [@&#8203;autopulated](https://togithub.com/autopulated) in [https://github.com/nodejs/undici/pull/2380](https://togithub.com/nodejs/undici/pull/2380)
-   fix(HTTP/2): handle consumption of aborted request by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [https://github.com/nodejs/undici/pull/2387](https://togithub.com/nodejs/undici/pull/2387)
-   chore: update tst test by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2538](https://togithub.com/nodejs/undici/pull/2538)
-   fix(fetch): do not abort fetch on redirect by [@&#8203;angelyan](https://togithub.com/angelyan) in [https://github.com/nodejs/undici/pull/2545](https://togithub.com/nodejs/undici/pull/2545)
-   drop verifyVersion in scripts by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2549](https://togithub.com/nodejs/undici/pull/2549)
-   types: remove unused Client and Pool types by [@&#8203;RafaelGSS](https://togithub.com/RafaelGSS) in [https://github.com/nodejs/undici/pull/2557](https://togithub.com/nodejs/undici/pull/2557)
-   lib: fix Host header when CONNECT ProxyAgent by [@&#8203;RafaelGSS](https://togithub.com/RafaelGSS) in [https://github.com/nodejs/undici/pull/2556](https://togithub.com/nodejs/undici/pull/2556)
-   feat: port cookies tests to node runner by [@&#8203;pmarchini](https://togithub.com/pmarchini) in [https://github.com/nodejs/undici/pull/2547](https://togithub.com/nodejs/undici/pull/2547)
-   feat: port webidl tests to node test runner by [@&#8203;ilteoood](https://togithub.com/ilteoood) in [https://github.com/nodejs/undici/pull/2554](https://togithub.com/nodejs/undici/pull/2554)
-   perf: Improve percentDecode by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2562](https://togithub.com/nodejs/undici/pull/2562)
-   Fix parseHashWithOptions regex by [@&#8203;flapenna](https://togithub.com/flapenna) in [https://github.com/nodejs/undici/pull/2561](https://togithub.com/nodejs/undici/pull/2561)
-   feat: port diagnostic-channel tests to node test runner by [@&#8203;ilteoood](https://togithub.com/ilteoood) in [https://github.com/nodejs/undici/pull/2559](https://togithub.com/nodejs/undici/pull/2559)
-   feat: port websocket tests to node test runner by [@&#8203;ilteoood](https://togithub.com/ilteoood) in [https://github.com/nodejs/undici/pull/2553](https://togithub.com/nodejs/undici/pull/2553)
-   build(deps-dev): bump tsd from 0.29.0 to 0.30.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2551](https://togithub.com/nodejs/undici/pull/2551)
-   build(deps): bump actions/setup-node from 4.0.0 to 4.0.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2572](https://togithub.com/nodejs/undici/pull/2572)
-   build(deps): bump github/codeql-action from 2.22.5 to 3.22.12 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/nodejs/undici/pull/2574](https://togithub.com/nodejs/undici/pull/2574)
-   Update `@matteo.collina/tspl` to 0.1.1 by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2576](https://togithub.com/nodejs/undici/pull/2576)
-   mark wpt as failing by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2581](https://togithub.com/nodejs/undici/pull/2581)
-   feat: port `abort-controller.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2564](https://togithub.com/nodejs/undici/pull/2564)
-   fix data url test by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2580](https://togithub.com/nodejs/undici/pull/2580)
-   feat: port `async_hooks.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2568](https://togithub.com/nodejs/undici/pull/2568)
-   feat: port `agent.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2566](https://togithub.com/nodejs/undici/pull/2566)
-   feat: port `abort-event-emitter.js` tests to `node:test` runnner by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2565](https://togithub.com/nodejs/undici/pull/2565)
-   feat: port first half of fetch tests to node test runner by [@&#8203;anurag-roy](https://togithub.com/anurag-roy) in [https://github.com/nodejs/undici/pull/2569](https://togithub.com/nodejs/undici/pull/2569)
-   perf: bypass method validation by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2583](https://togithub.com/nodejs/undici/pull/2583)
-   fetch: warn when using patch method by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2577](https://togithub.com/nodejs/undici/pull/2577)
-   feat: port `autoselectfamily.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2570](https://togithub.com/nodejs/undici/pull/2570)
-   feat: port remaining fetch tests to node test runner by [@&#8203;anurag-roy](https://togithub.com/anurag-roy) in [https://github.com/nodejs/undici/pull/2587](https://togithub.com/nodejs/undici/pull/2587)
-   fix: use isArrayBuffer instead of isAnyArrayBuffer by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2586](https://togithub.com/nodejs/undici/pull/2586)
-   Feat/migrate tests to node runner by [@&#8203;pmarchini](https://togithub.com/pmarchini) in [https://github.com/nodejs/undici/pull/2593](https://togithub.com/nodejs/undici/pull/2593)
-   abort request with reason if one is provided by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2592](https://togithub.com/nodejs/undici/pull/2592)
-   feat: port tst test to node test runner by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2595](https://togithub.com/nodejs/undici/pull/2595)
-   feat([#&#8203;2191](https://togithub.com/nodejs/undici/issues/2191)): Add support for `NODE_DEBUG` by [@&#8203;metcoder95](https://togithub.com/metcoder95) in [https://github.com/nodejs/undici/pull/2585](https://togithub.com/nodejs/undici/pull/2585)
-   cacheStorage: fix bugs make wpts pass by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in [https://github.com/nodejs/undici/pull/2596](https://togithub.com/nodejs/undici/pull/2596)
-   fix: non-object error in abort throws bad error by [@&#8203;atlowChemi](https://togithub.com/atlowChemi) in [https://github.com/nodejs/undici/pull/2597](https://togithub.com/nodejs/undici/pull/2597)
-   fix: add test helper for closing server as promise by [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) in [https://github.com/nodejs/undici/pull/2604](https://togithub.com/nodejs/undici/pull/2604)

#### New Contributors

-   [@&#8203;dvoytenko](https://togithub.com/dvoytenko) made their first contribution in [https://github.com/nodejs/undici/pull/2532](https://togithub.com/nodejs/undici/pull/2532)
-   [@&#8203;autopulated](https://togithub.com/autopulated) made their first contribution in [https://github.com/nodejs/undici/pull/2380](https://togithub.com/nodejs/undici/pull/2380)
-   [@&#8203;angelyan](https://togithub.com/angelyan) made their first contribution in [https://github.com/nodejs/undici/pull/2545](https://togithub.com/nodejs/undici/pull/2545)
-   [@&#8203;pmarchini](https://togithub.com/pmarchini) made their first contribution in [https://github.com/nodejs/undici/pull/2547](https://togithub.com/nodejs/undici/pull/2547)
-   [@&#8203;ilteoood](https://togithub.com/ilteoood) made their first contribution in [https://github.com/nodejs/undici/pull/2554](https://togithub.com/nodejs/undici/pull/2554)
-   [@&#8203;flapenna](https://togithub.com/flapenna) made their first contribution in [https://github.com/nodejs/undici/pull/2561](https://togithub.com/nodejs/undici/pull/2561)
-   [@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki) made their first contribution in [https://github.com/nodejs/undici/pull/2576](https://togithub.com/nodejs/undici/pull/2576)
-   [@&#8203;anurag-roy](https://togithub.com/anurag-roy) made their first contribution in [https://github.com/nodejs/undici/pull/2569](https://togithub.com/nodejs/undici/pull/2569)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.2.1...v6.3.0

### [`v6.2.1`](https://togithub.com/nodejs/undici/releases/tag/v6.2.1)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.2.0...v6.2.1)

##### What's Changed

-   perf: use tree by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2528](https://togithub.com/nodejs/undici/pull/2528)
-   chore: reduce dependencies by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2533](https://togithub.com/nodejs/undici/pull/2533)
-   Remove timers in agent.js by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2536](https://togithub.com/nodejs/undici/pull/2536)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.2.0...v6.2.1

### [`v6.2.0`](https://togithub.com/nodejs/undici/releases/tag/v6.2.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.1.0...v6.2.0)

#### What's Changed

-   Remove FinalizationRegistry from Agent by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2530](https://togithub.com/nodejs/undici/pull/2530)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.1.0...v6.2.0

### [`v6.1.0`](https://togithub.com/nodejs/undici/releases/tag/v6.1.0)

[Compare Source](https://togithub.com/nodejs/undici/compare/v6.0.1...v6.1.0)

#### What's Changed

-   fix: more sensible stack trace from dump error by [@&#8203;ronag](https://togithub.com/ronag) in [https://github.com/nodejs/undici/pull/2503](https://togithub.com/nodejs/undici/pull/2503)
-   refactor: remove some node compat by [@&#8203;ronag](https://togithub.com/ronag) in [https://github.com/nodejs/undici/pull/2502](https://togithub.com/nodejs/undici/pull/2502)
-   refactor: version cleanup by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2507](https://togithub.com/nodejs/undici/pull/2507)
-   perf(fetch): Improve fetch of detaurl by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2479](https://togithub.com/nodejs/undici/pull/2479)
-   feat: expose parseHeader by [@&#8203;ronag](https://togithub.com/ronag) in [https://github.com/nodejs/undici/pull/2511](https://togithub.com/nodejs/undici/pull/2511)
-   perf(fetch): optimize call `dispatch` by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2493](https://togithub.com/nodejs/undici/pull/2493)
-   perf(util/parseHeaders): If the header name is buffer by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2501](https://togithub.com/nodejs/undici/pull/2501)
-   perf: twice faster method check by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2495](https://togithub.com/nodejs/undici/pull/2495)
-   refactor: remove Error.captureStackTrace by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2509](https://togithub.com/nodejs/undici/pull/2509)
-   perf: Improve processHeader by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2513](https://togithub.com/nodejs/undici/pull/2513)
-   perf: reduce `String#toLowerCase` call by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2516](https://togithub.com/nodejs/undici/pull/2516)
-   perf: optimize consumeEnd by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2510](https://togithub.com/nodejs/undici/pull/2510)
-   perf: reduce tst built time by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2517](https://togithub.com/nodejs/undici/pull/2517)
-   feat: allow customization of build environment by [@&#8203;khardix](https://togithub.com/khardix) in [https://github.com/nodejs/undici/pull/2403](https://togithub.com/nodejs/undici/pull/2403)
-   fix: clear cache by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2519](https://togithub.com/nodejs/undici/pull/2519)
-   feat: Add resource timing entries for connection, request and response by [@&#8203;ToshB](https://togithub.com/ToshB) in [https://github.com/nodejs/undici/pull/2481](https://togithub.com/nodejs/undici/pull/2481)
-   Call fg.unregister() after a dispatcher is done, adds UNDICI_NO_FG to… by [@&#8203;mcollina](https://togithub.com/mcollina) in [https://github.com/nodejs/undici/pull/2527](https://togithub.com/nodejs/undici/pull/2527)
-   feat: expose headerNameToString by [@&#8203;tsctx](https://togithub.com/tsctx) in [https://github.com/nodejs/undici/pull/2525](https://togithub.com/nodejs/undici/pull/2525)

#### New Contributors

-   [@&#8203;khardix](https://togithub.com/khardix) made their first contribution in [https://github.com/nodejs/undici/pull/2403](https://togithub.com/nodejs/undici/pull/2403)

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.0.1...v6.1.0

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 06:14:08 +00:00
LongYinan
88e5ab061f chore: bump up webpack-dev-server version to v5 (#5819)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v5.0.2`](https://togithub.com/webpack/webpack-dev-server/blob/HEAD/CHANGELOG.md#502-2024-02-16)

[Compare Source](https://togithub.com/webpack/webpack-dev-server/compare/v5.0.1...v5.0.2)

### [`v5.0.1`](https://togithub.com/webpack/webpack-dev-server/blob/HEAD/CHANGELOG.md#501-2024-02-13)

[Compare Source](https://togithub.com/webpack/webpack-dev-server/compare/v5.0.0...v5.0.1)

### [`v5.0.0`](https://togithub.com/webpack/webpack-dev-server/blob/HEAD/CHANGELOG.md#500-2024-02-12)

[Compare Source](https://togithub.com/webpack/webpack-dev-server/compare/v4.15.1...v5.0.0)

[Migration Guide and Changes](https://togithub.com/webpack/webpack-dev-server/blob/master/migration-v5.md).

##### [4.15.1](https://togithub.com/webpack/webpack-dev-server/compare/v4.15.0...v4.15.1) (2023-06-09)

##### Bug Fixes

-   replace `::` with `localhost` before openBrowser() ([#&#8203;4856](https://togithub.com/webpack/webpack-dev-server/issues/4856)) ([874c44b](874c44b072))
-   **types:** compatibility with `@types/ws` ([#&#8203;4899](https://togithub.com/webpack/webpack-dev-server/issues/4899)) ([34bcec2](34bcec242b))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 04:39:28 +00:00
LongYinan
18e212b95c chore: bump up linter to v7 (major) (#5820)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`^6.13.1` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.13.1/7.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.13.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.13.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`^6.13.1` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.13.1/7.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.13.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.13.1/7.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.0.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#702-2024-02-19)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.1...v7.0.2)

##### 🩹 Fixes

-   fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests

##### ❤️  Thank You

-   Brad Zacher
-   Gareth Jones

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#701-2024-02-12)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.0...v7.0.1)

##### 🩹 Fixes

-   **eslint-plugin:** update peer dep for parser

##### ❤️  Thank You

-   Tim Dorr

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#700-2024-02-12)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.21.0...v7.0.0)

##### 🚀 Features

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

-   add support for flat configs

##### 🩹 Fixes

-   **eslint-plugin:** \[prefer-find] stop throwing type errors when converting symbols to numbers

##### ⚠️  Breaking Changes

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

##### ❤️  Thank You

-   Brad Zacher
-   Kirk Waiblinger
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.21.0 (2024-02-05)

##### 🚀 Features

-   export plugin metadata

-   allow `parserOptions.project: false`

-   **eslint-plugin:** add rule prefer-find

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression

-   **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

-   **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions

-   **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

-   **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists

-   **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.20.0 (2024-01-29)

##### 🚀 Features

-   **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering

##### 🩹 Fixes

-   **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result

-   **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable

-   **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN

-   **eslint-plugin:** \[prefer-readonly] disable checking accessors

##### ❤️  Thank You

-   Alex Parloti
-   auvred
-   James Browning
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.1 (2024-01-22)

##### 🩹 Fixes

-   **type-utils:** preventing isUnsafeAssignment infinite recursive calls

-   **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable

##### ❤️  Thank You

-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.0 (2024-01-15)

##### 🚀 Features

-   **eslint-plugin:** \[prefer-promise-reject-errors] add rule

-   **eslint-plugin:** \[no-array-delete] add new rule

-   **eslint-plugin:** \[no-useless-template-literals] add fix suggestions

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

-   **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg 
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.1 (2024-01-08)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line

-   **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee

-   **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections

-   **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

##### ❤️  Thank You

-   auvred
-   James
-   Josh Goldberg 
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.0 (2024-01-06)

##### 🚀 Features

-   **typescript-estree:** throw on invalid update expressions

-   **eslint-plugin:** \[no-var-requires, no-require-imports] allow option

##### ❤️  Thank You

-   auvred
-   Joshua Chen

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6210-2024-02-05)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0)

##### 🚀 Features

-   export plugin metadata

-   allow `parserOptions.project: false`

-   **eslint-plugin:** add rule prefer-find

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression

-   **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

-   **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions

-   **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

-   **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists

-   **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)

##### 🚀 Features

-   **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering

##### 🩹 Fixes

-   **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result

-   **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable

-   **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN

-   **eslint-plugin:** \[prefer-readonly] disable checking accessors

##### ❤️  Thank You

-   Alex Parloti
-   auvred
-   James Browning
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

##### 🩹 Fixes

-   **type-utils:** preventing isUnsafeAssignment infinite recursive calls

-   **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable

##### ❤️  Thank You

-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

##### 🚀 Features

-   **eslint-plugin:** \[prefer-promise-reject-errors] add rule

-   **eslint-plugin:** \[no-array-delete] add new rule

-   **eslint-plugin:** \[no-useless-template-literals] add fix suggestions

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

-   **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Josh Goldberg 
-   Joshua Chen
-   LJX
-   Steven
-   StyleShit

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6181-2024-01-08)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line

-   **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee

-   **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections

-   **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

##### ❤️  Thank You

-   auvred
-   James
-   Josh Goldberg 
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6180-2024-01-06)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0)

##### 🚀 Features

-   **typescript-estree:** throw on invalid update expressions

-   **eslint-plugin:** \[no-var-requires, no-require-imports] allow option

##### ❤️  Thank You

-   auvred
-   Joshua Chen

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6170-2024-01-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0)

##### Bug Fixes

-   **eslint-plugin:** \[no-restricted-imports] prevent crash when `patterns` or `paths` in options are empty ([#&#8203;8108](https://togithub.com/typescript-eslint/typescript-eslint/issues/8108)) ([675e987](675e987ca1))

##### Features

-   **eslint-plugin:** \[no-floating-promises] flag result of .map(async) ([#&#8203;7897](https://togithub.com/typescript-eslint/typescript-eslint/issues/7897)) ([5857356](5857356962))
-   **eslint-plugin:** \[switch-exhaustiveness-check] add an option to warn against a `default` case on an already exhaustive `switch` ([#&#8203;7539](https://togithub.com/typescript-eslint/typescript-eslint/issues/7539)) ([6a219bd](6a219bdfe6))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6160-2023-12-25)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0)

##### Bug Fixes

-   **eslint-plugin:** \[unbound-method] exempt all non-Promise built-in statics ([#&#8203;8096](https://togithub.com/typescript-eslint/typescript-eslint/issues/8096)) ([3182959](31829591e2))

##### Features

-   **eslint-plugin:** deprecate formatting (meta.type: layout) rules ([#&#8203;8073](https://togithub.com/typescript-eslint/typescript-eslint/issues/8073)) ([04dea84](04dea84e8e))
-   **eslint-plugin:** deprecate no-extra-semi in favor of ESLint Stylistic equivalent ([#&#8203;8123](https://togithub.com/typescript-eslint/typescript-eslint/issues/8123)) ([9368bf3](9368bf390a))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6150-2023-12-18)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0)

##### Features

-   **eslint-plugin:** \[no-useless-template-literals] add new rule ([#&#8203;7957](https://togithub.com/typescript-eslint/typescript-eslint/issues/7957)) ([ff75785](ff75785f4c)), closes [#&#8203;2846](https://togithub.com/typescript-eslint/typescript-eslint/issues/2846)
-   require-array-sort-compare + toSorted ([#&#8203;8052](https://togithub.com/typescript-eslint/typescript-eslint/issues/8052)) ([c9661c8](c9661c8bbf))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6140-2023-12-11)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0)

##### Bug Fixes

-   **eslint-plugin:** add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked ([#&#8203;8038](https://togithub.com/typescript-eslint/typescript-eslint/issues/8038)) ([431cd15](431cd1559f))
-   **eslint-plugin:** correct message for `no-unsafe-unary-minus` ([#&#8203;7998](https://togithub.com/typescript-eslint/typescript-eslint/issues/7998)) ([705370a](705370ac0d))

##### Features

-   **eslint-plugin:** \[explicit-function-return-type] add support for typed class property definitions ([#&#8203;8027](https://togithub.com/typescript-eslint/typescript-eslint/issues/8027)) ([bff47d7](bff47d7885))
-   **eslint-plugin:** \[require-await] allow yielding Promise in async generators ([#&#8203;8003](https://togithub.com/typescript-eslint/typescript-eslint/issues/8003)) ([4c3e704](4c3e704b97))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6132-2023-12-04)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2)

**Note:** Version bump only for package [@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v7.0.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#702-2024-02-19)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.1...v7.0.2)

##### 🩹 Fixes

-   fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests

##### ❤️  Thank You

-   Brad Zacher
-   Gareth Jones

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#701-2024-02-12)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.0...v7.0.1)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v7.0.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#700-2024-02-12)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.21.0...v7.0.0)

##### 🚀 Features

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

-   add support for flat configs

##### ⚠️  Breaking Changes

-   ⚠️  bump ESLint, NodeJS, and TS minimum version requirements

##### ❤️  Thank You

-   Brad Zacher
-   Kirk Waiblinger
-   StyleShit
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.21.0 (2024-02-05)

##### 🚀 Features

-   allow `parserOptions.project: false`

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.20.0 (2024-01-29)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.1 (2024-01-22)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.19.0 (2024-01-15)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.1 (2024-01-08)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### 6.18.0 (2024-01-06)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6210-2024-02-05)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0)

##### 🚀 Features

-   allow `parserOptions.project: false`

##### ❤️  Thank You

-   auvred
-   Brad Zacher
-   Kirk Waiblinger
-   Pete Gonzalez
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6190-2024-01-15)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6181-2024-01-08)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6180-2024-01-06)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6170-2024-01-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6160-2023-12-25)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6150-2023-12-18)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6140-2023-12-11)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

#### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6132-2023-12-04)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 04:14:37 +00:00
DarkSky
fd18732e6e feat: use custom verify token policy (#5836) 2024-02-20 09:47:27 +08:00
liuyi
df157819dc feat(server): allow customize mailer server (#5835) 2024-02-19 14:37:08 +00:00
Peng Xiao
3881164854 build(electron): generate latest-linux.yml (#5822) 2024-02-19 14:25:02 +00:00
Peng Xiao
20f7473e20 fix(electron): linux login issues (#5821)
Looks like there are some issues using `@reforged/maker-appimage`:
- deep link not working properly (cannot login)
- cannot be installed via AppImageLauncher, which is required to enable deep link on linux

I forked saleae/electron-forge-maker-appimage into https://github.com/toeverything/electron-forge-maker-appimage to fix these issues
See changes: https://github.com/saleae/electron-forge-maker-appimage/compare/master...toeverything:electron-forge-maker-appimage:master?w=1

To enable login on Linux, the app must be installed via AppImageLauncher.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/28dcaadb-49d1-4c95-8a4f-ef41bef604be.png)

fix https://github.com/toeverything/AFFiNE/issues/4978
fix https://github.com/toeverything/AFFiNE/issues/4466
2024-02-19 14:24:59 +00:00
LongYinan
28ee66173e fix: selfhost build (#5833) 2024-02-19 14:03:26 +00:00
DarkSky
d665eaec34 feat: refresh new workspace feature (#5834) 2024-02-19 21:58:54 +08:00
Whitewater
1ceaf87a86 chore: skip sync when offline (#5786) 2024-02-19 10:22:22 +08:00
Peng Xiao
d1c4e6141a refactor(component): cmdk ordering (#5722)
Replace internal CMDK command filtering/sorting logic.
The new implementation includes the following for command scoring:
- categories weights
- highlighted fragments
- original command score value

The new logic should be much cleaner and remove some hacks in the original implementation.

Not sure if this is optimal yet. Could be changed later.

fix https://github.com/toeverything/AFFiNE/issues/5699
2024-02-16 13:20:24 +00:00
LongYinan
9e7eb5629c chore: bump up eslint-plugin-simple-import-sort version to v12 (#5815)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [eslint-plugin-simple-import-sort](https://togithub.com/lydell/eslint-plugin-simple-import-sort) | [`^10.0.0` -> `^12.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-simple-import-sort/10.0.0/12.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-simple-import-sort/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-simple-import-sort/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-simple-import-sort/10.0.0/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-simple-import-sort/10.0.0/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>lydell/eslint-plugin-simple-import-sort (eslint-plugin-simple-import-sort)</summary>

### [`v12.0.0`](https://togithub.com/lydell/eslint-plugin-simple-import-sort/blob/HEAD/CHANGELOG.md#Version-1200-2024-02-10)

[Compare Source](https://togithub.com/lydell/eslint-plugin-simple-import-sort/compare/v11.0.0...v12.0.0)

This release removes the support for import assignments added in version 11.0.0:

-   Turns out it was broken in some cases.
-   The suggested fix went past my complexity tolerance for such an esoteric feature.
-   I also learned that they aren’t really imports, and that I don’t understand their semantics well enough to know how sorting them affects your program.

If you miss the support for import assignments, I suggest you write your own ESLint rule which moves them out of the way from the actual imports, sorting them or not.

### [`v11.0.0`](https://togithub.com/lydell/eslint-plugin-simple-import-sort/blob/HEAD/CHANGELOG.md#Version-1100-2024-02-08)

[Compare Source](https://togithub.com/lydell/eslint-plugin-simple-import-sort/compare/v10.0.0...v11.0.0)

This release adds support for TypeScript import assignments (`import A = B.C` and `import A = require("module")`). Thanks to Szabolcs Kurdi ([@&#8203;szku01](https://togithub.com/szku01)) and Svyatoslav Zaytsev ([@&#8203;MillerSvt](https://togithub.com/MillerSvt))!

It’s only a breaking change if you use TypeScript import assignments, and only in the form that you need to autofix your files.

In other news, this release adds the `meta` plugin property in preparation for ESLint Flat Config, and avoids the deprecated `context.getSourceCode()` method (while still being backwards compatible).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-12 17:12:47 +00:00
Ayush Agrawal
5dc7cd336f feat: bump blocksuite (#5817) 2024-02-11 10:23:30 +08:00
Flrande
2e3ffeced9 feat: bump blocksuite (#5812) 2024-02-08 08:18:03 +08:00
LongYinan
a84a91d896 chore: bump up eslint-plugin-unicorn version to v51 (#5810)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)</summary>

### [`v51.0.0`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

[Compare Source](https://togithub.com/sindresorhus/eslint-plugin-unicorn/compare/v50.0.1...v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#&#8203;2260](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2260))  [`702d51b`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#&#8203;2262](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2262))  [`797caee`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#&#8203;2248](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2248))  [`3c7d7c0`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#&#8203;2247](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2247))  [`3b504fa`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/3b504fa)

### [`v50.0.1`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

[Compare Source](https://togithub.com/sindresorhus/eslint-plugin-unicorn/compare/v50.0.0...v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#&#8203;2242](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2242))  [`3df1606`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/3df16068)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-06 09:42:03 +00:00
Peng Xiao
005c02f148 fix(core): flaky tests (#5804) 2024-02-06 03:20:54 +00:00
Peng Xiao
afccf3d8c9 feat(core): add an option to throttle cpu in e2e (#5803)
To debug e2e flakyness locally
2024-02-06 03:20:49 +00:00
liuyi
296d47f102 refactor(server): separate s3 & r2 storage to plugin (#5805) 2024-02-05 15:10:09 +00:00
DarkSky
25e8a2a22f feat: sync client versioning (#5645)
after this pr, server will only accept client that have some major version
the client version <0.12 will be rejected by the server, >= 0.12 can receive outdated messages and notify users
2024-02-05 08:43:50 +00:00
Peng Xiao
5ca0d65241 test(core): config e2e output dir (#5783) 2024-02-05 04:10:17 +00:00
LongYinan
51680da33b fix(core): prevent data loss (hot-fix) (#5798) (#5800) 2024-02-05 03:53:32 +00:00
liuyi
d9c2dc8dfb fix(server): apply env overrides after all config merged (#5795) 2024-02-04 06:38:31 +00:00
LongYinan
899528dcfd fix(core): load fonts from selfhost url (#5789) 2024-02-02 14:41:06 +00:00
HeJiachen-PM
2ed30a0c2e docs: change community url on README (#5788)
changed community to discord
2024-02-02 10:31:15 +00:00
Joooye_34
514e6f6b80 fix: static resource not found in web server (#5787) 2024-02-02 09:11:31 +00:00
liuyi
bef266ae3b refactor(server): reorganize server configs (#5753) 2024-02-02 08:32:07 +00:00
LongYinan
ee3d195811 chore: bump up jotai-effect version to ^0.5.0 (#5781)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v0.5.0`](https://togithub.com/jotaijs/jotai-effect/releases/tag/v0.5.0)

[Compare Source](https://togithub.com/jotaijs/jotai-effect/compare/v0.4.0...v0.5.0)

Adds support for reading an atom's value without subscribing to it.

Read atom data without subscribing to changes with `get.peek`.

```ts
const countAtom = atom(0)
atomEffect((get, set) => {
  // will not rerun when countAtom changes
  const count = get.peek(countAtom)
})
```

#### What's Changed

-   feat: get.peek reads atom value without subscribing to updates by [@&#8203;dmaskasky](https://togithub.com/dmaskasky) in [https://github.com/jotaijs/jotai-effect/pull/30](https://togithub.com/jotaijs/jotai-effect/pull/30)

**Full Changelog**: https://github.com/jotaijs/jotai-effect/compare/v0.4.0...v0.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-02 07:16:11 +00:00
LongYinan
4b3808faf9 chore: bump up @vanilla-extract/vite-plugin version to v4 (#5730)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vanilla-extract/vite-plugin](https://togithub.com/vanilla-extract-css/vanilla-extract) ([source](https://togithub.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin)) | [`^3.9.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@vanilla-extract%2fvite-plugin/3.9.2/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vanilla-extract%2fvite-plugin/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vanilla-extract%2fvite-plugin/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vanilla-extract%2fvite-plugin/3.9.2/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vanilla-extract%2fvite-plugin/3.9.2/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

##### Patch Changes

-   [#&#8203;1304](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1304) [`545bf82`](545bf82f12) Thanks [@&#8203;fukumasuya](https://togithub.com/fukumasuya)! - Pass Vite `resolve` config to vite-node compiler

    The plugin passes through the project's Vite `resolve` config to the vite-node compiler, which will be used for resolving imports. These options include [`resolve.alias`][resolve.alias], [`resolve.dedupe`][resolve.dedupe], [`resolve.conditions`][resolve.conditions], [`resolve.mainFields`][resolve.mainFields], [`resolve.extensions`][resolve.extensions], and others.

    [`resolve.alias`]: https://vitejs.dev/config/shared-options.html#resolve-alias

    [`resolve.dedupe`]: https://vitejs.dev/config/shared-options.html#resolve-dedupe

    [`resolve.conditions`]: https://vitejs.dev/config/shared-options.html#resolve-conditions

    [`resolve.mainFields`]: https://vitejs.dev/config/shared-options.html#resolve-mainfields

    [`resolve.extensions`]: https://vitejs.dev/config/shared-options.html#resolve-extensions

-   Updated dependencies \[[`545bf82`](545bf82f12)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;6](https://togithub.com/6).5.0

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

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

##### Patch Changes

-   [#&#8203;1300](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1300) [`d0b84f6`](d0b84f6340) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Skip loading plugins added by Vitest

-   [#&#8203;1297](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1297) [`85e1131`](85e11318f0) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Correctly resolve the user's Vite plugins

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

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

##### Major Changes

-   [#&#8203;1264](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1264) [`e531c41`](e531c4170d) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - The Vite plugin now uses a newer, faster, Vite-based compiler by default.

    The new compiler uses [`vite-node`](https://togithub.com/vitest-dev/vitest/tree/main/packages/vite-node) to parse and extract CSS from `.css.ts` files. This comes with all the benefits of using Vite, faster builds and the ability to use Vite plugins.

    The new compiler has been used in Remix ever since support for Vanilla Extract was introduced.

-   [#&#8203;1264](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1264) [`e531c41`](e531c4170d) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - The behaviour previously known as `emitCssInSsr` has been turned on by default. The `emitCssInSsr` option has been removed.

    This means that the CSS emitted by the plugin is now processed by Vite, so the plugin no longer needs to resolve PostCSS plugins and process the CSS output itself.

-   [#&#8203;1264](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1264) [`e531c41`](e531c4170d) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - The `esbuildOptions` option has been removed as we are no longer using esbuild internally

-   [#&#8203;1264](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1264) [`e531c41`](e531c4170d) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Drop support for Vite < 4

##### Patch Changes

-   [#&#8203;1264](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1264) [`e531c41`](e531c4170d) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Update dependencies

-   Updated dependencies \[[`e531c41`](e531c4170d), [`e531c41`](e531c4170d)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;6](https://togithub.com/6).4.0

### [`v3.9.5`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/vite-plugin/CHANGELOG.md#395)

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

##### Patch Changes

-   [#&#8203;1291](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1291) [`00af971`](00af9715e5) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Update dependency `@vanilla-extract/integration`

-   [#&#8203;1254](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1254) [`f373d7f`](f373d7f6b5) Thanks [@&#8203;EvgenNoskov](https://togithub.com/EvgenNoskov)! - Allow hyphens in class names when using a custom identifier

### [`v3.9.4`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/vite-plugin/CHANGELOG.md#394)

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

##### Patch Changes

-   [#&#8203;1262](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1262) [`610c50b`](610c50b001) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Update Babel config to target Node.js 14

-   [#&#8203;1262](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1262) [`610c50b`](610c50b001) Thanks [@&#8203;mrm007](https://togithub.com/mrm007)! - Lazy load Vite to avoid the CJS warning

-   Updated dependencies \[[`610c50b`](610c50b001), [`610c50b`](610c50b001)]:
    -   [@&#8203;vanilla-extract/integration](https://togithub.com/vanilla-extract/integration)[@&#8203;6](https://togithub.com/6).2.5

### [`v3.9.3`](https://togithub.com/vanilla-extract-css/vanilla-extract/blob/HEAD/packages/vite-plugin/CHANGELOG.md#393)

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

##### Patch Changes

-   [#&#8203;1250](https://togithub.com/vanilla-extract-css/vanilla-extract/pull/1250) [`bc349fd`](bc349fd7cb) Thanks [@&#8203;kosmotema](https://togithub.com/kosmotema)! - Prevent unnecessary module invalidations when using PostCSS

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-02 07:02:22 +00:00
LongYinan
67ab814108 chore: bump up nodemailer version to v6.9.9 [SECURITY] (#5780)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

### GitHub Vulnerability Alerts

#### [GHSA-9h6g-pr28-7cqp](https://togithub.com/nodemailer/nodemailer/security/advisories/GHSA-9h6g-pr28-7cqp)

### Summary
A ReDoS vulnerability occurs when nodemailer tries to parse img files with the parameter `attachDataUrls` set, causing the stuck of event loop.
Another flaw was found when nodemailer tries to parse an attachments with a embedded file, causing the stuck of event loop.

### Details

Regex: /^data:((?:[^;]*;)*(?:[^,]*)),(.*)$/

Path: compile -> getAttachments -> _processDataUrl

Regex: /(<img\b[^>]* src\s*=[\s"']*)(data:([^;]+);[^"'>\s]+)/

Path: _convertDataImages

### PoC

https://gist.github.com/francoatmega/890dd5053375333e40c6fdbcc8c58df6
https://gist.github.com/francoatmega/9aab042b0b24968d7b7039818e8b2698

### Impact

ReDoS causes the event loop to stuck a specially crafted evil email can cause this problem.

---

### Release Notes

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

### [`v6.9.9`](https://togithub.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#699-2024-02-01)

[Compare Source](https://togithub.com/nodemailer/nodemailer/compare/v6.9.8...v6.9.9)

##### Bug Fixes

-   **security:** Fix issues described in GHSA-9h6g-pr28-7cqp. Do not use eternal matching pattern if only a few occurences are expected ([dd8f5e8](dd8f5e8a4d))
-   **tests:** Use native node test runner, added code coverage support, removed grunt ([#&#8203;1604](https://togithub.com/nodemailer/nodemailer/issues/1604)) ([be45c1b](be45c1b299))

### [`v6.9.8`](https://togithub.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#698-2023-12-30)

[Compare Source](https://togithub.com/nodemailer/nodemailer/compare/v6.9.7...v6.9.8)

##### Bug Fixes

-   **punycode:** do not use native punycode module ([b4d0e0c](b4d0e0c7cc))

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-02 05:53:44 +00:00
LongYinan
d23f8f8087 ci: fix test-done job condition (#5784) 2024-02-02 05:21:59 +00:00
LongYinan
8f4b4e20ab fix(core): typecheck after jotai upgraded (#5779) 2024-02-01 16:10:14 +00:00
LongYinan
45b5800a23 chore: bump up all non-major dependencies (#5550)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.499.0` -> `3.504.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.499.0/3.504.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.504.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.504.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.499.0/3.504.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.499.0/3.504.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`^0.4.0` -> `^0.5.0`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.4.0/0.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.4.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.4.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.33` -> `3.0.0-alpha.36`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.33/3.0.0-alpha.36) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.36?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.36?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.33/3.0.0-alpha.36?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.33/3.0.0-alpha.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@node-rs/jsonwebtoken](https://togithub.com/napi-rs/node-rs) | [`^0.3.0` -> `^0.4.0`](https://renovatebot.com/diffs/npm/@node-rs%2fjsonwebtoken/0.3.1/0.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fjsonwebtoken/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fjsonwebtoken/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fjsonwebtoken/0.3.1/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fjsonwebtoken/0.3.1/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`17.2.8` -> `17.3.1`](https://renovatebot.com/diffs/npm/@nx%2fvite/17.2.8/17.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/17.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/17.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/17.2.8/17.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/17.2.8/17.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.47.0` -> `^0.48.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.47.0/0.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/host-metrics](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.34.0` -> `^0.35.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.34.1/0.35.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fhost-metrics/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fhost-metrics/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fhost-metrics/0.34.1/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fhost-metrics/0.34.1/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.47.0` -> `^0.48.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.47.0/0.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.36.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.36.1/0.37.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.36.1/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.36.1/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.47.0` -> `^0.48.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.47.0/0.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.36.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.36.1/0.37.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.36.1/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.36.1/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.33.3` -> `^0.34.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.33.4/0.34.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.33.4/0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.33.4/0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.35.0` -> `^0.36.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.35.0/0.36.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.35.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.35.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.47.0` -> `^0.48.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.47.0/0.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.47.0/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@taplo/cli](https://taplo.tamasfe.dev) ([source](https://togithub.com/tamasfe/taplo)) | [`^0.5.2` -> `^0.7.0`](https://renovatebot.com/diffs/npm/@taplo%2fcli/0.5.2/0.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@taplo%2fcli/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@taplo%2fcli/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@taplo%2fcli/0.5.2/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@taplo%2fcli/0.5.2/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.1.3` -> `1.2.2`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.1.3/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.1.3` -> `1.2.2`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.1.3/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.4.0` -> `v3.4.1` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.4.0/v3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.4.0/v3.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | patch |
| [esbuild](https://togithub.com/evanw/esbuild) | [`^0.19.7` -> `^0.20.0`](https://renovatebot.com/diffs/npm/esbuild/0.19.8/0.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.19.8/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.19.8/0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [jotai-effect](https://togithub.com/jotaijs/jotai-effect) | [`^0.2.3` -> `^0.4.0`](https://renovatebot.com/diffs/npm/jotai-effect/0.2.3/0.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-effect/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-effect/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-effect/0.2.3/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-effect/0.2.3/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [jotai-scope](https://togithub.com/jotaijs/jotai-scope) | [`^0.4.1` -> `^0.5.0`](https://renovatebot.com/diffs/npm/jotai-scope/0.4.1/0.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-scope/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-scope/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-scope/0.4.1/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-scope/0.4.1/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| openresty/openresty | `1.21.4.3-0-buster` -> `1.25.3.1-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.25.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.25.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.21.4.3/1.25.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.21.4.3/1.25.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | minor |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.7.0` -> `3.7.2`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.7.0/3.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.7.0/3.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.7.0/3.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.1.3` -> `1.2.2`](https://renovatebot.com/diffs/npm/vitest/1.1.3/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.1.3/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [yarn](https://togithub.com/yarnpkg/berry) ([source](https://togithub.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.0.2` -> `4.1.0`](https://renovatebot.com/diffs/npm/yarn/4.0.2/4.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/yarn/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yarn/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yarn/4.0.2/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yarn/4.0.2/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |

---

### Release Notes

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

### [`v3.504.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35040-2024-01-31)

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

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

#### [3.503.1](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.503.0...v3.503.1) (2024-01-30)

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

### [`v3.503.1`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35031-2024-01-30)

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

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

### [`v3.503.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35030-2024-01-30)

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

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

### [`v3.502.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35020-2024-01-29)

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

##### Features

-   **credential-providers:** lazy load STS & SSO clients in credential providers ([#&#8203;5681](https://togithub.com/aws/aws-sdk-js-v3/issues/5681)) ([d27301d](d27301d48f))

### [`v3.501.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35010-2024-01-26)

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

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

</details>

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

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

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.5.0...v0.5.1)

#####    🐞 Bug Fixes

-   Remove nullish coalescing operator (`??`) to improve compatibility with old browsers  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(80f61)</samp>](https://togithub.com/marsidev/react-turnstile/commit/80f61c6)

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

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

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.4.1...v0.5.0)

#####    🚀 Features

-   Add `getResponsePromise`  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(61308)</samp>](https://togithub.com/marsidev/react-turnstile/commit/6130898)

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

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

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.4.0...v0.4.1)

#####    🚀 Features

-   Add `onWidgetLoad` callback  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(6811b)</samp>](https://togithub.com/marsidev/react-turnstile/commit/6811bce)

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

</details>

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

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

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

### [`v3.0.0-alpha.35`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.35)

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

##### What's Changed

-   chore: bump memfs-browser by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1900](https://togithub.com/napi-rs/napi-rs/pull/1900)
-   feat(cli): Add support for s390x linux arch in js bindings template by [@&#8203;mgcm](https://togithub.com/mgcm) in [https://github.com/napi-rs/napi-rs/pull/1901](https://togithub.com/napi-rs/napi-rs/pull/1901)
-   feat: add wasm runtime package by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1904](https://togithub.com/napi-rs/napi-rs/pull/1904)

##### New Contributors

-   [@&#8203;mgcm](https://togithub.com/mgcm) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1901](https://togithub.com/napi-rs/napi-rs/pull/1901)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.34...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.35

### [`v3.0.0-alpha.34`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.34)

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

##### What's Changed

-   fix(cli): add browser entry by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1899](https://togithub.com/napi-rs/napi-rs/pull/1899)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.33...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.34

</details>

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

### [`v0.4.0`](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.3.1...@node-rs/jsonwebtoken@0.4.0)

[Compare Source](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.3.1...@node-rs/jsonwebtoken@0.4.0)

</details>

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

### [`v17.3.1`](https://togithub.com/nrwl/nx/releases/tag/17.3.1)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.3.0...17.3.1)

##### 17.3.1 (2024-01-31)

##### 🚀 Features

-   **angular:** add generator to convert targets to use the esbuild-based application executor ([#&#8203;21333](https://togithub.com/nrwl/nx/pull/21333))
-   **core:** don't clear NX_BASE or NX_HEAD ([#&#8203;20125](https://togithub.com/nrwl/nx/pull/20125))
-   **devkit:** improving error handeling read target options ([#&#8203;20336](https://togithub.com/nrwl/nx/pull/20336))
-   **react-native:** add useTransformReactJSX babel config to generators ([#&#8203;19170](https://togithub.com/nrwl/nx/pull/19170))
-   **vite:** allow passing path to custom tsconfig file when skipTypeCheck is false ([#&#8203;19784](https://togithub.com/nrwl/nx/pull/19784))

##### 🩹 Fixes

-   nestjs lib generator pass skipPackageJson flag to js lib generator ([#&#8203;20442](https://togithub.com/nrwl/nx/pull/20442))
-   **angular:** fix dev-server validation for esbuildMiddleware ([#&#8203;21413](https://togithub.com/nrwl/nx/pull/21413))
-   **angular:** should not log invalid extension includedScripts ([#&#8203;21441](https://togithub.com/nrwl/nx/pull/21441))
-   **bundling:** consider index/folder imports in manual file resolution ([#&#8203;19030](https://togithub.com/nrwl/nx/pull/19030))
-   **core:** remove misleading message at front of error ([#&#8203;21443](https://togithub.com/nrwl/nx/pull/21443))
-   **core:** new generator not skipping package installation ([#&#8203;17927](https://togithub.com/nrwl/nx/pull/17927))
-   **core:** include typescript package when calculating project hashes ([#&#8203;21285](https://togithub.com/nrwl/nx/pull/21285))
-   **core:** do not append node_module paths in `run-script` executor ([#&#8203;21445](https://togithub.com/nrwl/nx/pull/21445))
-   **graph:** repair externalApiService usage broken after refactor ([#&#8203;21422](https://togithub.com/nrwl/nx/pull/21422))
-   **js:** allow inlined libs without imports ([#&#8203;20649](https://togithub.com/nrwl/nx/pull/20649))
-   **linter:** remove extend of [@&#8203;angular-eslint/recommended--extra](https://togithub.com/angular-eslint/recommended--extra) config ([#&#8203;18465](https://togithub.com/nrwl/nx/pull/18465))
-   **linter:** restore rules to match previous [@&#8203;typescript-eslint/recommended](https://togithub.com/typescript-eslint/recommended) ([#&#8203;21424](https://togithub.com/nrwl/nx/pull/21424))
-   **linter:** make target default migrations a bit more robust ([#&#8203;21446](https://togithub.com/nrwl/nx/pull/21446))
-   **misc:** prevent ts-node from reading tsconfig when registering transpiler ([#&#8203;21381](https://togithub.com/nrwl/nx/pull/21381))
-   **nextjs:** Add missing support swc for custom server ([#&#8203;21401](https://togithub.com/nrwl/nx/pull/21401))
-   **nextjs:** lazy load plugin import ([#&#8203;21426](https://togithub.com/nrwl/nx/pull/21426))
-   **nx-dev:** remove unmatched bracket. updates warning description ([#&#8203;19481](https://togithub.com/nrwl/nx/pull/19481))
-   **react:** import SupportedStyles type from correct path ([#&#8203;20239](https://togithub.com/nrwl/nx/pull/20239))
-   **vite:** prevent vite:build copying package.json when generatePackageJson false ([#&#8203;19780](https://togithub.com/nrwl/nx/pull/19780))
-   **vue:** do not add [@&#8203;vue/tsconfig](https://togithub.com/vue/tsconfig) dependency ([#&#8203;19873](https://togithub.com/nrwl/nx/pull/19873))

##### ❤️  Thank You

-   Adam Hunter [@&#8203;adamrhunter](https://togithub.com/adamrhunter)
-   Benjamin Kroeger [@&#8203;benkroeger](https://togithub.com/benkroeger)
-   Christian Käslin
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Denis Frenademetz [@&#8203;skrtheboss](https://togithub.com/skrtheboss)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Jan Pretzel
-   Jonathan Cammisuli
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Michal Jez [@&#8203;MJez29](https://togithub.com/MJez29)
-   Miloš Lajtman [@&#8203;miluoshi](https://togithub.com/miluoshi)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Tobbb
-   Vinit Neogi [@&#8203;vneogi199](https://togithub.com/vneogi199)
-   wout junius [@&#8203;wout-junius](https://togithub.com/wout-junius)
-   Zac Bristow

### [`v17.3.0`](https://togithub.com/nrwl/nx/releases/tag/17.3.0)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.8...17.3.0)

#### 17.3.0 (2024-01-29)

##### 🚀 Features

-   **angular:** support esbuild middleware functions ([#&#8203;21048](https://togithub.com/nrwl/nx/pull/21048))
-   **angular:** support angular 17.1.0 ([#&#8203;20556](https://togithub.com/nrwl/nx/pull/20556))
-   **core:** remove prompt from nx connect command ([67b5bd6c9f](https://togithub.com/nrwl/nx/commit/67b5bd6c9f))
-   **core:** use Nx plugins and inferred targets when running "nx init" ([#&#8203;20872](https://togithub.com/nrwl/nx/pull/20872))
-   **core:** create a new function to run child processes via rust ([#&#8203;21070](https://togithub.com/nrwl/nx/pull/21070))
-   **core:** read name from package.json if present and no inference plugin provides name ([#&#8203;21125](https://togithub.com/nrwl/nx/pull/21125))
-   **core:** add keepExistingVersions to all packages ([#&#8203;21169](https://togithub.com/nrwl/nx/pull/21169))
-   **core:** add the "add" cli command ([#&#8203;20976](https://togithub.com/nrwl/nx/pull/20976))
-   **core:** add target defaults in configuration generators rather th… ([#&#8203;21105](https://togithub.com/nrwl/nx/pull/21105))
-   **core:** update ci-workflow generator ([#&#8203;21141](https://togithub.com/nrwl/nx/pull/21141))
-   **core:** extend nxCloud prompt to include basic CI workflow options ([#&#8203;21094](https://togithub.com/nrwl/nx/pull/21094))
-   **core:** move target defaults handling to nx plugin ([#&#8203;21104](https://togithub.com/nrwl/nx/pull/21104))
-   **core:** forward stdin to commands started via rust ([#&#8203;21195](https://togithub.com/nrwl/nx/pull/21195))
-   **core:** reveal --web flag on show project ([#&#8203;21293](https://togithub.com/nrwl/nx/pull/21293))
-   **core:** use runCommand for runScript ([#&#8203;21292](https://togithub.com/nrwl/nx/pull/21292))
-   **core:** support args to be an array for command ([#&#8203;21290](https://togithub.com/nrwl/nx/pull/21290))
-   **core:** improve generated CI workflows ([#&#8203;21324](https://togithub.com/nrwl/nx/pull/21324))
-   **core:** guide users to view the graph after nx init ([#&#8203;21303](https://togithub.com/nrwl/nx/pull/21303))
-   **core:** pass down help to run-commands ([#&#8203;21331](https://togithub.com/nrwl/nx/pull/21331))
-   **cypress:** simplify inferred cypress command ([#&#8203;21337](https://togithub.com/nrwl/nx/pull/21337))
-   **detox:** add createNodes for detox ([#&#8203;21016](https://togithub.com/nrwl/nx/pull/21016))
-   **devkit:** add a flag to keep existing versions when calling addDependenciesToPackageJson ([#&#8203;21123](https://togithub.com/nrwl/nx/pull/21123))
-   **docs:** add {% project-details %} as a tag in markdown docs ([#&#8203;21288](https://togithub.com/nrwl/nx/pull/21288))
-   **expo:** support createNodes for expo ([#&#8203;21014](https://togithub.com/nrwl/nx/pull/21014))
-   **graph:** add nx console data loader ([#&#8203;20744](https://togithub.com/nrwl/nx/pull/20744))
-   **graph:** rework pdv target section & remove unused code ([#&#8203;21159](https://togithub.com/nrwl/nx/pull/21159))
-   **graph:** decouple graph client from nx.dev <Fence> component ([#&#8203;21186](https://togithub.com/nrwl/nx/pull/21186))
-   **graph:** allow expanding target when opening pdv from external api ([#&#8203;21189](https://togithub.com/nrwl/nx/pull/21189))
-   **graph:** hover to see source & more UI updates ([#&#8203;21182](https://togithub.com/nrwl/nx/pull/21182))
-   **graph:** add tooltips to project details view ([#&#8203;21205](https://togithub.com/nrwl/nx/pull/21205))
-   **graph:** show open config button in graph web ([#&#8203;21181](https://togithub.com/nrwl/nx/pull/21181))
-   **linter:** add .nx to ignored folders ([#&#8203;20720](https://togithub.com/nrwl/nx/pull/20720))
-   **linter:** update @&#8203;typescript-eslint/\* package versions ([#&#8203;20602](https://togithub.com/nrwl/nx/pull/20602))
-   **linter:** make init generator public ([51c039b252](https://togithub.com/nrwl/nx/commit/51c039b252))
-   **linter:** move common options to target defaults ([#&#8203;20583](https://togithub.com/nrwl/nx/pull/20583))
-   **misc:** align version of [@&#8203;types/node](https://togithub.com/types/node) throughout repo ([#&#8203;20883](https://togithub.com/nrwl/nx/pull/20883))
-   **misc:** add layout for project details view ([#&#8203;21172](https://togithub.com/nrwl/nx/pull/21172))
-   **misc:** update minimatch version used across packages ([#&#8203;21207](https://togithub.com/nrwl/nx/pull/21207))
-   **misc:** identify and set up more nx core plugins during nx init ([#&#8203;21254](https://togithub.com/nrwl/nx/pull/21254))
-   **misc:** optionally update package.json scripts in init generators ([#&#8203;21204](https://togithub.com/nrwl/nx/pull/21204))
-   **misc:** hide unpublished links in project details view ([#&#8203;21362](https://togithub.com/nrwl/nx/pull/21362))
-   **nextjs:** Update [@&#8203;nx/next](https://togithub.com/nx/next) to Next.js 14 ([#&#8203;20703](https://togithub.com/nrwl/nx/pull/20703))
-   **nextjs:** Add support for experimental-https when running dev server ([#&#8203;20836](https://togithub.com/nrwl/nx/pull/20836))
-   **nextjs:** Standalone projects now default to src ([#&#8203;21010](https://togithub.com/nrwl/nx/pull/21010))
-   **nuxt:** make nuxt public ([#&#8203;20656](https://togithub.com/nrwl/nx/pull/20656))
-   **nx-dev:** add homepage updates ([#&#8203;20592](https://togithub.com/nrwl/nx/pull/20592))
-   **nx-dev:** improve related docs section ([#&#8203;20796](https://togithub.com/nrwl/nx/pull/20796))
-   **nx-dev:** adjust related section title padding ([#&#8203;20803](https://togithub.com/nrwl/nx/pull/20803))
-   **nx-dev:** update documentation dropdown menu links ([#&#8203;20792](https://togithub.com/nrwl/nx/pull/20792))
-   **nx-dev:** adjust highlighting of tagline ([#&#8203;20877](https://togithub.com/nrwl/nx/pull/20877))
-   **nx-dev:** new year challenge ([#&#8203;20639](https://togithub.com/nrwl/nx/pull/20639))
-   **nx-dev:** new year challenge ([868721a157](https://togithub.com/nrwl/nx/commit/868721a157))
-   **nx-dev:** modals and flip cards ([e7dcce057b](https://togithub.com/nrwl/nx/commit/e7dcce057b))
-   **nx-dev:** rectangle cards ([49a8d84023](https://togithub.com/nrwl/nx/commit/49a8d84023))
-   **react:** Treat window and var library types the same ([#&#8203;20597](https://togithub.com/nrwl/nx/pull/20597))
-   **react:** Add playwright support to generators ([#&#8203;21150](https://togithub.com/nrwl/nx/pull/21150))
-   **react-native:** add support for createNodes in react native ([#&#8203;21013](https://togithub.com/nrwl/nx/pull/21013))
-   **react-native:** generate pod install target ([#&#8203;21166](https://togithub.com/nrwl/nx/pull/21166))
-   **release:** support Revert commits in changelog renderer ([#&#8203;20663](https://togithub.com/nrwl/nx/pull/20663))
-   **release:** conventional commits support for independent projects ([#&#8203;21012](https://togithub.com/nrwl/nx/pull/21012))
-   **release:** enable git operations by default ([#&#8203;21082](https://togithub.com/nrwl/nx/pull/21082))
-   **release:** add fallback for currentVersionResolver in the version step ([#&#8203;21155](https://togithub.com/nrwl/nx/pull/21155))
-   **release:** support conventionalCommits shorthand for version config ([#&#8203;21187](https://togithub.com/nrwl/nx/pull/21187))
-   **release:** add formal entrypoint for programmatic API at nx/release ([#&#8203;21211](https://togithub.com/nrwl/nx/pull/21211))
-   **release:** support version prefix for dependents ([#&#8203;21209](https://togithub.com/nrwl/nx/pull/21209))
-   **release:** update lockfile after version command ([#&#8203;21107](https://togithub.com/nrwl/nx/pull/21107))
-   **release:** global stageChanges option & changelog fixes ([#&#8203;21223](https://togithub.com/nrwl/nx/pull/21223))
-   **release:** allow overriding generator and generatorOptions per project ([#&#8203;21298](https://togithub.com/nrwl/nx/pull/21298))
-   **remix:** add remix ([#&#8203;20641](https://togithub.com/nrwl/nx/pull/20641))
-   **remix:** add createNodes support for target inference ([#&#8203;21073](https://togithub.com/nrwl/nx/pull/21073))
-   **remix:** generate vitest file instead vite.config ([#&#8203;21100](https://togithub.com/nrwl/nx/pull/21100))
-   **remix:** remove projects prompt from artifact generators ([#&#8203;21112](https://togithub.com/nrwl/nx/pull/21112))
-   **remix:** use esm config file ([#&#8203;21111](https://togithub.com/nrwl/nx/pull/21111))
-   **remix:** add init generator ([#&#8203;21146](https://togithub.com/nrwl/nx/pull/21146))
-   **remix:** add nx welcome component ([#&#8203;21383](https://togithub.com/nrwl/nx/pull/21383))
-   **storybook:** nodes plugin ([#&#8203;20562](https://togithub.com/nrwl/nx/pull/20562))
-   **testing:** add create-nodes plugin for playwright e2e targets ([#&#8203;20099](https://togithub.com/nrwl/nx/pull/20099))
-   **testing:** add option to allow filtering test files in playwright executor ([#&#8203;20862](https://togithub.com/nrwl/nx/pull/20862))
-   **testing:** add jest create-nodes plugin ([#&#8203;20045](https://togithub.com/nrwl/nx/pull/20045))
-   **vite:** update to vitest v1 ([#&#8203;20747](https://togithub.com/nrwl/nx/pull/20747))
-   **vite:** recognize all vite.config file extensions ([#&#8203;20971](https://togithub.com/nrwl/nx/pull/20971))
-   **vue:** add nuxt as cnw vue framework ([#&#8203;20626](https://togithub.com/nrwl/nx/pull/20626))
-   **webpack:** simplify inferred webpack-cli command ([#&#8203;21340](https://togithub.com/nrwl/nx/pull/21340))
-   **workspace:** update readme to point people to the graph ([#&#8203;21325](https://togithub.com/nrwl/nx/pull/21325))

##### 🩹 Fixes

-   **angular:** add missing package update for [@&#8203;angular/pwa](https://togithub.com/angular/pwa) ([#&#8203;20690](https://togithub.com/nrwl/nx/pull/20690))
-   **angular:** safely update task runner cacheable operations when setting up ssr ([#&#8203;20736](https://togithub.com/nrwl/nx/pull/20736))
-   **angular:** fix standalone eslint config generation ([#&#8203;20885](https://togithub.com/nrwl/nx/pull/20885))
-   **angular:** add named export for moduleFederationDevServerExecutor ([#&#8203;20944](https://togithub.com/nrwl/nx/pull/20944))
-   **angular:** support scheduling inferred angular cli builder targets ([#&#8203;21019](https://togithub.com/nrwl/nx/pull/21019))
-   **angular:** run function is not called in setup-ssr/application-builder ([#&#8203;21157](https://togithub.com/nrwl/nx/pull/21157))
-   **angular:** support scoped project names and entrypoints in library secondary entrypoint generator ([#&#8203;21300](https://togithub.com/nrwl/nx/pull/21300))
-   **angular:** update autoprefixer migration to the right file ([#&#8203;21363](https://togithub.com/nrwl/nx/pull/21363))
-   **angular:** update setup-ssr generator to support the outputPath object variant ([#&#8203;21385](https://togithub.com/nrwl/nx/pull/21385))
-   **bundling:** added back code to handle skipTypeField option of rollup executor options + tests ([#&#8203;20460](https://togithub.com/nrwl/nx/pull/20460))
-   **core:** properly handle negated paths in cache outputs ([#&#8203;20661](https://togithub.com/nrwl/nx/pull/20661))
-   **core:** show warning if workspaceRoot starts with ! ([#&#8203;20705](https://togithub.com/nrwl/nx/pull/20705))
-   **core:** fallback to checking stderr if stdout is empty on publish executor ([#&#8203;20737](https://togithub.com/nrwl/nx/pull/20737))
-   **core:** correctly move project and target strings ([#&#8203;20726](https://togithub.com/nrwl/nx/pull/20726))
-   **core:** handle "." project roots properly for hashing ([#&#8203;20979](https://togithub.com/nrwl/nx/pull/20979))
-   **core:** prioritize nxignore for watcher updates ([#&#8203;20975](https://togithub.com/nrwl/nx/pull/20975))
-   **core:** formatter should not fail when absolute paths are provided as "--files" ([#&#8203;20331](https://togithub.com/nrwl/nx/pull/20331))
-   **core:** handle invalid group glob groups ([#&#8203;21027](https://togithub.com/nrwl/nx/pull/21027))
-   **core:** ensure connect-to-nx-cloud works with lerna workspaces ([#&#8203;20895](https://togithub.com/nrwl/nx/pull/20895))
-   **core:** accept vue as preset in cnw ([#&#8203;21262](https://togithub.com/nrwl/nx/pull/21262))
-   **core:** properly disconnect daemon & reject promise ([#&#8203;21283](https://togithub.com/nrwl/nx/pull/21283))
-   **core:** fix socket dir removal for macos ([#&#8203;21306](https://togithub.com/nrwl/nx/pull/21306))
-   **core:** remove deprecated recursive rmdir with rm -rf ([#&#8203;21327](https://togithub.com/nrwl/nx/pull/21327))
-   **core:** exit with sigint when sigint is received ([#&#8203;21336](https://togithub.com/nrwl/nx/pull/21336))
-   **core:** yargs array-like prompts initial field is number ([#&#8203;21349](https://togithub.com/nrwl/nx/pull/21349))
-   **core:** clarify error log when a project exists in a directory ([#&#8203;21355](https://togithub.com/nrwl/nx/pull/21355))
-   **core:** do not create new targets from target defaults when packag… ([#&#8203;21365](https://togithub.com/nrwl/nx/pull/21365))
-   **core:** fix sending sigint to child tasks with the new psuedo tty … ([#&#8203;21369](https://togithub.com/nrwl/nx/pull/21369))
-   **core:** fix compilerOptions may not exist ([#&#8203;21364](https://togithub.com/nrwl/nx/pull/21364))
-   **core:** fix conflicting types from merge conflict ([#&#8203;21371](https://togithub.com/nrwl/nx/pull/21371))
-   **core:** address some wonkiness when merging command and run-commands ([#&#8203;21315](https://togithub.com/nrwl/nx/pull/21315))
-   **devkit:** update the ci generators to use the correct launch template ([#&#8203;21304](https://togithub.com/nrwl/nx/pull/21304))
-   **devkit:** fix extractLayoutDirectory typescript types to better reflect allowed params and return value ([#&#8203;15339](https://togithub.com/nrwl/nx/pull/15339))
-   **expo:** fix externalDependencies for expo plugin ([#&#8203;21213](https://togithub.com/nrwl/nx/pull/21213))
-   **graph:** take vscode light/dark theme into account ([#&#8203;21208](https://togithub.com/nrwl/nx/pull/21208))
-   **graph:** refresh pdv periodically in watch mode ([#&#8203;21218](https://togithub.com/nrwl/nx/pull/21218))
-   **graph:** correct value when inputs/outputs are copied ([#&#8203;21245](https://togithub.com/nrwl/nx/pull/21245))
-   **graph:** fix 404 when / in name ([#&#8203;21318](https://togithub.com/nrwl/nx/pull/21318))
-   **js:** fixing output based on test runner selection ([#&#8203;20788](https://togithub.com/nrwl/nx/pull/20788))
-   **js:** allow inlineable dependency to be added to externals ([#&#8203;21051](https://togithub.com/nrwl/nx/pull/21051))
-   **js:** ensure result is valid before attempting to close it during rollup watch ([ea3c2426d3](https://togithub.com/nrwl/nx/commit/ea3c2426d3))
-   **js:** set the unsafeHttpWhitelist when the set has any items ([#&#8203;21216](https://togithub.com/nrwl/nx/pull/21216))
-   **js:** add [@&#8203;swc/helpers](https://togithub.com/swc/helpers) when initializing js plugin since it is needed by other plugins ([#&#8203;21316](https://togithub.com/nrwl/nx/pull/21316))
-   **js:** fix missing top-level dependencies in publishable libs ([#&#8203;17730](https://togithub.com/nrwl/nx/pull/17730))
-   **linter:** move should migrate all eslint configs ([#&#8203;20709](https://togithub.com/nrwl/nx/pull/20709))
-   **linter:** fix workspace-rule naming with flat config ([#&#8203;20782](https://togithub.com/nrwl/nx/pull/20782))
-   **linter:** ensure angular entry point checks are correct ([#&#8203;20859](https://togithub.com/nrwl/nx/pull/20859))
-   **linter:** flat config should always set path to config when using API ([#&#8203;20867](https://togithub.com/nrwl/nx/pull/20867))
-   **linter:** only update overrides when applicable ([#&#8203;20917](https://togithub.com/nrwl/nx/pull/20917))
-   **linter:** add links to docs to rules ([#&#8203;21199](https://togithub.com/nrwl/nx/pull/21199))
-   **linter:** fix import of chalk for reporting ([#&#8203;21201](https://togithub.com/nrwl/nx/pull/21201))
-   **linter:** update eslint plugins for [@&#8203;typescript-eslint](https://togithub.com/typescript-eslint) v6 naming ([#&#8203;21221](https://togithub.com/nrwl/nx/pull/21221))
-   **misc:** disallow path segments and allow scoped package name in --newProjectName option of move generator ([#&#8203;20768](https://togithub.com/nrwl/nx/pull/20768))
-   **misc:** ignore .nx/cache when running nx init in an angular cli project ([#&#8203;21000](https://togithub.com/nrwl/nx/pull/21000))
-   **misc:** install nx when no plugins selected during nx init ([#&#8203;21228](https://togithub.com/nrwl/nx/pull/21228))
-   **misc:** identify usage of playwright correctly when running nx init ([#&#8203;21236](https://togithub.com/nrwl/nx/pull/21236))
-   **misc:** install required deps during nx init without overriding existing versions ([#&#8203;21237](https://togithub.com/nrwl/nx/pull/21237))
-   **misc:** do not print formatting errors while setting up nx cloud in nx init ([#&#8203;21302](https://togithub.com/nrwl/nx/pull/21302))
-   **misc:** await async function invocations ([#&#8203;21299](https://togithub.com/nrwl/nx/pull/21299))
-   **module-federation:** allow relative remote paths ([#&#8203;20763](https://togithub.com/nrwl/nx/pull/20763))
-   **module-federation:** support buildable libs ([#&#8203;20786](https://togithub.com/nrwl/nx/pull/20786))
-   **nextjs:** empty port should not overwrite env port ([#&#8203;20751](https://togithub.com/nrwl/nx/pull/20751))
-   **nextjs:** Add missing setParserOptionProject ([#&#8203;20754](https://togithub.com/nrwl/nx/pull/20754))
-   **nextjs:** Page generator should work out of the box ([#&#8203;20775](https://togithub.com/nrwl/nx/pull/20775))
-   **nextjs:** enhance page generator to work when --project is not supplied ([#&#8203;20778](https://togithub.com/nrwl/nx/pull/20778))
-   **nextjs:** remove temporary patch for next eslint rules ([#&#8203;20863](https://togithub.com/nrwl/nx/pull/20863))
-   **nextjs:** correct inferred outputs for root Next.js projects ([#&#8203;20891](https://togithub.com/nrwl/nx/pull/20891))
-   **nextjs:** update migration to handle projects without eslintrc ([#&#8203;20932](https://togithub.com/nrwl/nx/pull/20932))
-   **nextjs:** Playwright should work with workspace libs ([#&#8203;20933](https://togithub.com/nrwl/nx/pull/20933))
-   **nextjs:** Missing deps for image and css optimization ([#&#8203;20941](https://togithub.com/nrwl/nx/pull/20941))
-   **nextjs:** Add support for mjs next config file ([#&#8203;21007](https://togithub.com/nrwl/nx/pull/21007))
-   **nextjs:** PCV3 with Cypress and Playwright should work with standalone Next.js Projects ([#&#8203;21103](https://togithub.com/nrwl/nx/pull/21103))
-   **nextjs:** custom server unable to run production builds ([#&#8203;21222](https://togithub.com/nrwl/nx/pull/21222))
-   **node:** E2E test port conflicts ([#&#8203;20826](https://togithub.com/nrwl/nx/pull/20826))
-   **nuxt:** add all target names when adding vite plugin ([#&#8203;21332](https://togithub.com/nrwl/nx/pull/21332))
-   **nx-dev:** change to optimized for monorepos ([#&#8203;20668](https://togithub.com/nrwl/nx/pull/20668))
-   **nx-dev:** adjust blog links ([#&#8203;20608](https://togithub.com/nrwl/nx/pull/20608))
-   **nx-dev:** typo on the homepage ([#&#8203;20767](https://togithub.com/nrwl/nx/pull/20767))
-   **nx-dev:** fix plugin stats ([#&#8203;20741](https://togithub.com/nrwl/nx/pull/20741))
-   **nx-dev:** dynamic classes not allowed ([#&#8203;20800](https://togithub.com/nrwl/nx/pull/20800))
-   **nx-dev:** improve styles ([48bcb534fb](https://togithub.com/nrwl/nx/commit/48bcb534fb))
-   **nx-dev:** fix text colors ([69523f1eed](https://togithub.com/nrwl/nx/commit/69523f1eed))
-   **nx-dev:** fix heading size and improve contrast ([#&#8203;21057](https://togithub.com/nrwl/nx/pull/21057))
-   **nx-dev:** standardize nx cloud naming ([#&#8203;21059](https://togithub.com/nrwl/nx/pull/21059))
-   **nx-dev:** increase shorts video size to show volume control ([#&#8203;21142](https://togithub.com/nrwl/nx/pull/21142))
-   **nx-dev:** do not open official plugins in new tab ([#&#8203;21179](https://togithub.com/nrwl/nx/pull/21179))
-   **nx-dev:** align button sizes on hero ([#&#8203;21163](https://togithub.com/nrwl/nx/pull/21163))
-   **nx-dev:** table of contents with code ([#&#8203;21173](https://togithub.com/nrwl/nx/pull/21173))
-   **react:** webpack backwards compat for `@nx/react/plugin/webpack` ([#&#8203;20697](https://togithub.com/nrwl/nx/pull/20697))
-   **react:** skip adding comma to config when adding remote to host if… ([#&#8203;20620](https://togithub.com/nrwl/nx/pull/20620))
-   **react:** remove <base> tag from generated index.html ([#&#8203;20750](https://togithub.com/nrwl/nx/pull/20750))
-   **react:** update default webpack config for component testing ([#&#8203;20749](https://togithub.com/nrwl/nx/pull/20749))
-   **release:** changelog renderer should prefer breaking change explanation text ([#&#8203;20798](https://togithub.com/nrwl/nx/pull/20798))
-   **release:** ensure leading v is stripped from provided semver version ([#&#8203;20815](https://togithub.com/nrwl/nx/pull/20815))
-   **release:** add overall nx release command ([#&#8203;20535](https://togithub.com/nrwl/nx/pull/20535))
-   **release:** publish error handling, dry-run in dependsOn ([#&#8203;20889](https://togithub.com/nrwl/nx/pull/20889))
-   **release:** capture all release titles during parse ([#&#8203;20864](https://togithub.com/nrwl/nx/pull/20864))
-   **release:** do not set extra v on GitHub release, improve GH API error handling ([#&#8203;20999](https://togithub.com/nrwl/nx/pull/20999))
-   **release:** update error message check for npm dist-tags ([#&#8203;20995](https://togithub.com/nrwl/nx/pull/20995))
-   **release:** stage changes when versioning with --projects argument ([#&#8203;21054](https://togithub.com/nrwl/nx/pull/21054))
-   **release:** default changelog git commit and tag true ([#&#8203;21129](https://togithub.com/nrwl/nx/pull/21129))
-   **release:** versionPrefix should default to auto ([#&#8203;21256](https://togithub.com/nrwl/nx/pull/21256))
-   **release:** filtering publish by project or group should exclude task deps ([#&#8203;21231](https://togithub.com/nrwl/nx/pull/21231))
-   **release:** fix --first-release with conventional commits and independent projects ([#&#8203;21320](https://togithub.com/nrwl/nx/pull/21320))
-   **release:** only add nx-release-publish to public packages ([#&#8203;21338](https://togithub.com/nrwl/nx/pull/21338))
-   **release:** disable workspace changelogs in config when not valid ([#&#8203;21341](https://togithub.com/nrwl/nx/pull/21341))
-   **release:** do not restart the daemon when skipLockFileUpdate is set ([#&#8203;21389](https://togithub.com/nrwl/nx/pull/21389))
-   **release:** ensure non-zero exit code is propagated, change missing target handling ([#&#8203;21388](https://togithub.com/nrwl/nx/pull/21388))
-   **remix:** legacy package pointing to incorrect readme ([#&#8203;21113](https://togithub.com/nrwl/nx/pull/21113))
-   **remix:** import of config file should invalidate cache ([#&#8203;21121](https://togithub.com/nrwl/nx/pull/21121))
-   **remix:** required property in schema should be project ([#&#8203;21258](https://togithub.com/nrwl/nx/pull/21258))
-   **remix:** use twStyles as import to prevent conflicts ([#&#8203;21276](https://togithub.com/nrwl/nx/pull/21276))
-   **remix:** tsconfigs were being incorrectly generated causing errors [#&#8203;21002](https://togithub.com/nrwl/nx/issues/21002) ([#&#8203;21387](https://togithub.com/nrwl/nx/pull/21387), [#&#8203;21002](https://togithub.com/nrwl/nx/issues/21002))
-   **repo:** add missing packages to nightly ([#&#8203;20908](https://togithub.com/nrwl/nx/pull/20908))
-   **repo:** update nightly matrix with new packages ([#&#8203;20911](https://togithub.com/nrwl/nx/pull/20911))
-   **repo:** fix version calculation on nx-release ([#&#8203;21382](https://togithub.com/nrwl/nx/pull/21382))
-   **storybook:** do not throw for versions >=7 ([#&#8203;20770](https://togithub.com/nrwl/nx/pull/20770))
-   **storybook:** handle output-dir properly for outputs ([#&#8203;21168](https://togithub.com/nrwl/nx/pull/21168))
-   **storybook:** throw if no project name for angular ([#&#8203;21308](https://togithub.com/nrwl/nx/pull/21308))
-   **storybook:** add storybook-static to gitignore for pcv3 ([#&#8203;21309](https://togithub.com/nrwl/nx/pull/21309))
-   **testing:** avoid overwriting environment variables in nx cypress preset ([#&#8203;20748](https://togithub.com/nrwl/nx/pull/20748))
-   **testing:** run playwright with the correct project option for multiple values ([#&#8203;20850](https://togithub.com/nrwl/nx/pull/20850))
-   **testing:** safely handle circular deps in component testing plugin ([#&#8203;20852](https://togit

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-01 14:33:25 +00:00
LongYinan
b524564223 chore: bump up react-datepicker version to v6 (#5777)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>Hacker0x01/react-datepicker (react-datepicker)</summary>

### [`v6.0.0`](https://togithub.com/Hacker0x01/react-datepicker/releases/tag/v6.0.0): 6.0.0

[Compare Source](https://togithub.com/Hacker0x01/react-datepicker/compare/v5.1.0...v6.0.0)

#### What's Changed

-   Upgrade date-fns to v3 by [@&#8203;ethanve](https://togithub.com/ethanve) in [https://github.com/Hacker0x01/react-datepicker/pull/4481](https://togithub.com/Hacker0x01/react-datepicker/pull/4481)
-   Switch workflows to Node 20 by [@&#8203;martijnrusschen](https://togithub.com/martijnrusschen) in [https://github.com/Hacker0x01/react-datepicker/pull/4490](https://togithub.com/Hacker0x01/react-datepicker/pull/4490)

#### New Contributors

-   [@&#8203;ethanve](https://togithub.com/ethanve) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4481](https://togithub.com/Hacker0x01/react-datepicker/pull/4481)

**Full Changelog**: https://github.com/Hacker0x01/react-datepicker/compare/v5.1.0...v6.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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-01 14:06:11 +00:00
LongYinan
83e7afeb6b chore: exclude oxlint from non-major dependencies group (#5775) 2024-02-01 10:58:09 +00:00
liuyi
2f3c6f104e fix(server): doc upsert without row lock (#5765) 2024-02-01 09:49:02 +00:00
Peng Xiao
7d951a975f fix(core): replace most --affine with cssVar (#5728)
using a [babel plugin](https://gist.github.com/pengx17/49e24ae8a5a609bdaff122ee8c679d1c) to transform all var(--affine-xxx) to cssVar

Some issues:
- tried ast-grep but it seems to be not easy to add imports conditionally
- current work does not work well with ts with types because babel will strip them out
2024-02-01 09:33:11 +00:00
LongYinan
5612424b85 chore: bump up react-datepicker version to v5 (#5691)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>Hacker0x01/react-datepicker (react-datepicker)</summary>

### [`v5.1.0`](https://togithub.com/Hacker0x01/react-datepicker/compare/v5.0.0...v5.1.0)

[Compare Source](https://togithub.com/Hacker0x01/react-datepicker/compare/v5.0.0...v5.1.0)

### [`v5.0.0`](https://togithub.com/Hacker0x01/react-datepicker/releases/tag/v5.0.0): 5.0.0

[Compare Source](https://togithub.com/Hacker0x01/react-datepicker/compare/v4.25.0...v5.0.0)

#### Breaking changes

-   Migrate from Popper.js to Floating-UI by [@&#8203;G07cha](https://togithub.com/G07cha) in [https://github.com/Hacker0x01/react-datepicker/pull/4393](https://togithub.com/Hacker0x01/react-datepicker/pull/4393)

#### What's Changed

-   🐛 FIX: readability-isMonthinRange by [@&#8203;mary139](https://togithub.com/mary139) in [https://github.com/Hacker0x01/react-datepicker/pull/4421](https://togithub.com/Hacker0x01/react-datepicker/pull/4421)
-   Fix [#&#8203;4431](https://togithub.com/Hacker0x01/react-datepicker/issues/4431): Update the excludedDate to match the year to check of the isYearDisabled by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4432](https://togithub.com/Hacker0x01/react-datepicker/pull/4432)
-   Fix [#&#8203;4420](https://togithub.com/Hacker0x01/react-datepicker/issues/4420): Update home key and end key navigation in Calendar component by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4430](https://togithub.com/Hacker0x01/react-datepicker/pull/4430)
-   Document [#&#8203;4420](https://togithub.com/Hacker0x01/react-datepicker/issues/4420): 📝 Update the behavior of Home Key and End Key in the README file by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4438](https://togithub.com/Hacker0x01/react-datepicker/pull/4438)
-   Fix [#&#8203;4076](https://togithub.com/Hacker0x01/react-datepicker/issues/4076): Trigger onCalendarClose event and onChange even when the same date is selected as the start and the end date in a date range by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4394](https://togithub.com/Hacker0x01/react-datepicker/pull/4394)
-   Excluded dates message by [@&#8203;dvelazquez1282](https://togithub.com/dvelazquez1282) in [https://github.com/Hacker0x01/react-datepicker/pull/4437](https://togithub.com/Hacker0x01/react-datepicker/pull/4437)
-   Fix [#&#8203;4456](https://togithub.com/Hacker0x01/react-datepicker/issues/4456): Add shift+pageUp key and shift+pageDown key navigation in Calendar component by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4457](https://togithub.com/Hacker0x01/react-datepicker/pull/4457)
-   Fix options passed to date-fns/format by [@&#8203;emilecantin](https://togithub.com/emilecantin) in [https://github.com/Hacker0x01/react-datepicker/pull/4469](https://togithub.com/Hacker0x01/react-datepicker/pull/4469)

#### New Contributors

-   [@&#8203;mary139](https://togithub.com/mary139) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4421](https://togithub.com/Hacker0x01/react-datepicker/pull/4421)
-   [@&#8203;G07cha](https://togithub.com/G07cha) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4393](https://togithub.com/Hacker0x01/react-datepicker/pull/4393)
-   [@&#8203;dvelazquez1282](https://togithub.com/dvelazquez1282) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4437](https://togithub.com/Hacker0x01/react-datepicker/pull/4437)
-   [@&#8203;emilecantin](https://togithub.com/emilecantin) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4469](https://togithub.com/Hacker0x01/react-datepicker/pull/4469)

**Full Changelog**: https://github.com/Hacker0x01/react-datepicker/compare/v4.25.0...v5.0.0

### [`v4.25.0`](https://togithub.com/Hacker0x01/react-datepicker/releases/tag/v4.25.0): 4.25.0

[Compare Source](https://togithub.com/Hacker0x01/react-datepicker/compare/v4.24.0...v4.25.0)

#### What's Changed

-   feature: Add day parameter to renderMonthContent function by [@&#8203;omarhoumz](https://togithub.com/omarhoumz) in [https://github.com/Hacker0x01/react-datepicker/pull/4405](https://togithub.com/Hacker0x01/react-datepicker/pull/4405)
-   Update 'Local Development' instruction of README.md by [@&#8203;raceStarter](https://togithub.com/raceStarter) in [https://github.com/Hacker0x01/react-datepicker/pull/4391](https://togithub.com/Hacker0x01/react-datepicker/pull/4391)
-   Feature [#&#8203;4091](https://togithub.com/Hacker0x01/react-datepicker/issues/4091) - Make the Calendar Icon clickable by [@&#8203;balajis-qb](https://togithub.com/balajis-qb) in [https://github.com/Hacker0x01/react-datepicker/pull/4417](https://togithub.com/Hacker0x01/react-datepicker/pull/4417)

#### New Contributors

-   [@&#8203;omarhoumz](https://togithub.com/omarhoumz) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4405](https://togithub.com/Hacker0x01/react-datepicker/pull/4405)
-   [@&#8203;raceStarter](https://togithub.com/raceStarter) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4391](https://togithub.com/Hacker0x01/react-datepicker/pull/4391)

**Full Changelog**: https://github.com/Hacker0x01/react-datepicker/compare/v4.24.0...v4.25.0

### [`v4.24.0`](https://togithub.com/Hacker0x01/react-datepicker/releases/tag/v4.24.0): 4.24.0

[Compare Source](https://togithub.com/Hacker0x01/react-datepicker/compare/v4.23.0...v4.24.0)

#### What's Changed

-   containerRef div shouldnt affect styling by [@&#8203;joaopaulo-capy](https://togithub.com/joaopaulo-capy) in [https://github.com/Hacker0x01/react-datepicker/pull/4384](https://togithub.com/Hacker0x01/react-datepicker/pull/4384)
-   Fix: reflect the `holidays` prop change by [@&#8203;shimech](https://togithub.com/shimech) in [https://github.com/Hacker0x01/react-datepicker/pull/4373](https://togithub.com/Hacker0x01/react-datepicker/pull/4373)
-   Disable clear button when the component is disabled by [@&#8203;Rafatcb](https://togithub.com/Rafatcb) in [https://github.com/Hacker0x01/react-datepicker/pull/4392](https://togithub.com/Hacker0x01/react-datepicker/pull/4392)

#### New Contributors

-   [@&#8203;joaopaulo-capy](https://togithub.com/joaopaulo-capy) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4384](https://togithub.com/Hacker0x01/react-datepicker/pull/4384)
-   [@&#8203;shimech](https://togithub.com/shimech) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4373](https://togithub.com/Hacker0x01/react-datepicker/pull/4373)
-   [@&#8203;Rafatcb](https://togithub.com/Rafatcb) made their first contribution in [https://github.com/Hacker0x01/react-datepicker/pull/4392](https://togithub.com/Hacker0x01/react-datepicker/pull/4392)

**Full Changelog**: https://github.com/Hacker0x01/react-datepicker/compare/v4.23.0...v4.24.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-01 09:23:45 +00:00
LongYinan
15d32926c3 ci: use free m1 macos runner (#5766)
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
2024-02-01 09:03:07 +00:00
Peng Xiao
df8e8051c3 chore: bump electron dependencies (#5770)
to include this fix https://github.com/electron/electron/pull/40994
2024-02-01 08:53:20 +00:00
Joooye_34
338c3001b0 feat: support sign-in with subscription coupon (#5768) 2024-02-01 08:43:47 +00:00
Yifeng Wang
fec2090de5 feat: bump blocksuite (#5767)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-02-01 16:28:22 +08:00
LongYinan
61677b2ac4 chore: change bump-blocksuite script to js (#5763)
`./scripts/bump-blocksuite.js`
2024-02-01 07:16:19 +00:00
EYHN
799fa9cfa6 fix(workspace): fix sync stuck (#5762)
* remove MultipleBatchSyncSender
* add timeout (30 seconds) on socket.emit
2024-02-01 06:58:09 +00:00
Chen
aa33bf60d6 fix: update blocksuite local debug config (#5742)
Due to the reconstruction of the blocksuite package, the corresponding local debug configuration needs to be updated.

The related commit: https://github.com/toeverything/blocksuite/pull/6133
2024-02-01 06:49:16 +00:00
DarkSky
1db8019292 feat: ignore case for email (#5754)
fix #5738
2024-02-01 05:05:16 +00:00
LongYinan
349f7c3f15 chore: bump up codecov/codecov-action action to v4 (#5758)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v4`](https://togithub.com/codecov/codecov-action/compare/v3...v4)

[Compare Source](https://togithub.com/codecov/codecov-action/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-01 02:17:20 +00:00
LongYinan
057796e691 chore: bump up kentaro-m/auto-assign-action action to v2 (#5757)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [kentaro-m/auto-assign-action](https://togithub.com/kentaro-m/auto-assign-action) | action | major | `v1.2.5` -> `v2.0.0` |

---

### Release Notes

<details>
<summary>kentaro-m/auto-assign-action (kentaro-m/auto-assign-action)</summary>

### [`v2.0.0`](https://togithub.com/kentaro-m/auto-assign-action/releases/tag/v2.0.0)

[Compare Source](https://togithub.com/kentaro-m/auto-assign-action/compare/v1.2.6...v2.0.0)

#### What's Changed

-   chore(deps): update dependency prettier to v3.2.4 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/kentaro-m/auto-assign-action/pull/166](https://togithub.com/kentaro-m/auto-assign-action/pull/166)
-   fix: update Node.js version and action configuration by [@&#8203;kentaro-m](https://togithub.com/kentaro-m) in [https://github.com/kentaro-m/auto-assign-action/pull/170](https://togithub.com/kentaro-m/auto-assign-action/pull/170)
-   fix: update [@&#8203;types/node](https://togithub.com/types/node) version to 20.11.13 by [@&#8203;kentaro-m](https://togithub.com/kentaro-m) in [https://github.com/kentaro-m/auto-assign-action/pull/171](https://togithub.com/kentaro-m/auto-assign-action/pull/171)

**Full Changelog**: https://github.com/kentaro-m/auto-assign-action/compare/v1.2.6...v2.0.0

### [`v1.2.6`](https://togithub.com/kentaro-m/auto-assign-action/releases/tag/v1.2.6)

[Compare Source](https://togithub.com/kentaro-m/auto-assign-action/compare/v1.2.5...v1.2.6)

#### Changes

-   fix: fix security issue ([#&#8203;165](https://togithub.com/kentaro-m/auto-assign-action/issues/165)) [@&#8203;kentaro-m](https://togithub.com/kentaro-m)
-   chore(deps): update dependency prettier to v3.1.1 ([#&#8203;163](https://togithub.com/kentaro-m/auto-assign-action/issues/163)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update actions/setup-node action to v4 ([#&#8203;158](https://togithub.com/kentaro-m/auto-assign-action/issues/158)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update actions/checkout action to v4 ([#&#8203;152](https://togithub.com/kentaro-m/auto-assign-action/issues/152)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.3.3 ([#&#8203;162](https://togithub.com/kentaro-m/auto-assign-action/issues/162)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.3.2 ([#&#8203;161](https://togithub.com/kentaro-m/auto-assign-action/issues/161)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v3.1.0 ([#&#8203;160](https://togithub.com/kentaro-m/auto-assign-action/issues/160)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update unit test packages ([#&#8203;138](https://togithub.com/kentaro-m/auto-assign-action/issues/138)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.2.2 ([#&#8203;151](https://togithub.com/kentaro-m/auto-assign-action/issues/151)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency [@&#8203;vercel/ncc](https://togithub.com/vercel/ncc) to v0.38.1 ([#&#8203;156](https://togithub.com/kentaro-m/auto-assign-action/issues/156)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency lint-staged to v13.3.0 ([#&#8203;150](https://togithub.com/kentaro-m/auto-assign-action/issues/150)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency [@&#8203;vercel/ncc](https://togithub.com/vercel/ncc) to v0.38.0 ([#&#8203;149](https://togithub.com/kentaro-m/auto-assign-action/issues/149)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency [@&#8203;octokit/webhooks-types](https://togithub.com/octokit/webhooks-types) to v7.3.1 ([#&#8203;143](https://togithub.com/kentaro-m/auto-assign-action/issues/143)) [@&#8203;renovate](https://togithub.com/renovate)
-   fix(deps): update dependency [@&#8203;actions/core](https://togithub.com/actions/core) to v1.10.1 ([#&#8203;148](https://togithub.com/kentaro-m/auto-assign-action/issues/148)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v3.0.3 ([#&#8203;147](https://togithub.com/kentaro-m/auto-assign-action/issues/147)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency node to v16.20.2 ([#&#8203;142](https://togithub.com/kentaro-m/auto-assign-action/issues/142)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency [@&#8203;octokit/webhooks-types](https://togithub.com/octokit/webhooks-types) to v7 ([#&#8203;135](https://togithub.com/kentaro-m/auto-assign-action/issues/135)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v3.0.1 ([#&#8203;141](https://togithub.com/kentaro-m/auto-assign-action/issues/141)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v3 ([#&#8203;140](https://togithub.com/kentaro-m/auto-assign-action/issues/140)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.1.6 ([#&#8203;139](https://togithub.com/kentaro-m/auto-assign-action/issues/139)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency lint-staged to v13.2.3 ([#&#8203;137](https://togithub.com/kentaro-m/auto-assign-action/issues/137)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update node.js to v16.20.1 ([#&#8203;134](https://togithub.com/kentaro-m/auto-assign-action/issues/134)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.1.3 ([#&#8203;132](https://togithub.com/kentaro-m/auto-assign-action/issues/132)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update node.js to v16.20.0 ([#&#8203;126](https://togithub.com/kentaro-m/auto-assign-action/issues/126)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency ts-jest to v29.1.0 ([#&#8203;130](https://togithub.com/kentaro-m/auto-assign-action/issues/130)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency [@&#8203;octokit/webhooks-types](https://togithub.com/octokit/webhooks-types) to v6.11.0 ([#&#8203;129](https://togithub.com/kentaro-m/auto-assign-action/issues/129)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v2.8.8 ([#&#8203;131](https://togithub.com/kentaro-m/auto-assign-action/issues/131)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency lint-staged to v13.2.2 ([#&#8203;127](https://togithub.com/kentaro-m/auto-assign-action/issues/127)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.0.4 ([#&#8203;128](https://togithub.com/kentaro-m/auto-assign-action/issues/128)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5.0.3 ([#&#8203;125](https://togithub.com/kentaro-m/auto-assign-action/issues/125)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency prettier to v2.8.7 ([#&#8203;123](https://togithub.com/kentaro-m/auto-assign-action/issues/123)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency typescript to v5 ([#&#8203;122](https://togithub.com/kentaro-m/auto-assign-action/issues/122)) [@&#8203;renovate](https://togithub.com/renovate)
-   fix(deps): update dependency js-yaml to v3.14.1 ([#&#8203;121](https://togithub.com/kentaro-m/auto-assign-action/issues/121)) [@&#8203;renovate](https://togithub.com/renovate)
-   fix(deps): update dependency [@&#8203;actions/github](https://togithub.com/actions/github) to v5.1.1 ([#&#8203;120](https://togithub.com/kentaro-m/auto-assign-action/issues/120)) [@&#8203;renovate](https://togithub.com/renovate)
-   fix(deps): update dependency [@&#8203;actions/core](https://togithub.com/actions/core) to v1.10.0 ([#&#8203;119](https://togithub.com/kentaro-m/auto-assign-action/issues/119)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update unit test packages to v29.5.0 ([#&#8203;118](https://togithub.com/kentaro-m/auto-assign-action/issues/118)) [@&#8203;renovate](https://togithub.com/renovate)
-   chore(deps): update dependency lint-staged to v13.2.0 ([#&#8203;117](https://togithub.com/kentaro-m/auto-assign-action/issues/117)) [@&#8203;renovate](https://togithub.com/renovate)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-31 15:19:32 +00:00
LongYinan
e26d978b26 fix(server): resolve cherry-pick issue 2024-01-31 22:00:20 +08:00
liuyi
e3b8d0dba4 feat(server): allow pass coupon to checkout session (#5749) 2024-01-31 21:34:22 +08:00
liuyi
f1ccc504b5 fix(server): doc upsert race condition (#5755) 2024-01-31 21:13:29 +08:00
liuyi
26db1d436d refactor(server): server errors (#5741)
standardize the error raising in both GraphQL Resolvers and Controllers.

Now, All user aware errors should be throwed with `HttpException`'s variants, for example `NotFoundException`.

> Directly throwing `GraphQLError` are forbidden.
The GraphQL errorFormatter will handle it automatically and set `code`, `status` in error extensions.

At the same time, the frontend `GraphQLError` should be imported from `@affine/graphql`, which introduce a better error extensions type.

----
controller example:
```js
@Get('/docs/${id}')
doc() {
  // ...
  // imported from '@nestjs/common'
  throw new NotFoundException('Doc is not found.');
  // ...
}
```
the above will response as:
```
status: 404 Not Found
{
  "message": "Doc is not found.",
  "statusCode": 404,
  "error": "Not Found"
}
```

resolver example:
```js
@Mutation()
invite() {
  // ...
  throw new PayloadTooLargeException('Workspace seats is full.')
  // ...
}
```

the above will response as:
```
status: 200 Ok
{
  "data": null,
  "errors": [
    {
      "message": "Workspace seats is full.",
      "extensions": {
        "code": 404,
        "status": "Not Found"
      }
    }
  ]
}
```

for frontend GraphQLError user-friend, a helper function introduced:

```js
import { findGraphQLError } from '@affine/graphql'

fetch(query)
  .catch(errOrArr => {
    const e = findGraphQLError(errOrArr, e => e.extensions.code === 404)
    if (e) {
      // handle
    }
})
```
2024-01-31 08:43:03 +00:00
liuyi
72d9cc1e5b chore(storage): bump y-octo (#5751) 2024-01-31 06:54:33 +00:00
liuyi
db8e49b046 refactor(server): throw Unauthorized instead if user is not signed in (#5746) 2024-01-31 02:12:22 +00:00
Cats Juice
5f3c04b51e fix(core): set createDate to journal's date when journal created (#5701) 2024-01-30 23:11:07 +08:00
Cats Juice
6b350b1735 feat(core): append to today's joruanl via CMDK (#5692) 2024-01-30 23:08:25 +08:00
EYHN
329fc19852 refactor(infra): migrate to new infra (#5565) 2024-01-30 07:16:39 +00:00
EYHN
1e3499c323 feat(infra): page infra (#5618) 2024-01-30 06:31:26 +00:00
EYHN
2e71c980cf feat(infra): new workspace infra (#5617)
This PR copying @affine/workspace into common/infra, and adding definitions for services and unit tests.
2024-01-30 06:31:24 +00:00
EYHN
4f7e0d012d chore: fix vitest error on tinykeys (#5693) 2024-01-30 06:31:21 +00:00
EYHN
88cd83fed1 feat(infra): standard lifecycle service (#5564) 2024-01-30 06:31:19 +00:00
EYHN
b3a8e62984 feat(infra): standard storage service (#5563) 2024-01-30 06:31:15 +00:00
EYHN
48eb6c50e1 feat(infra): di container (#5497)
docs: https://insider.affine.pro/share/055f9c4b-497a-43ec-a1c9-29d5baf184b9/N785YJ__oLMb2fUaLOv-k
2024-01-30 06:31:13 +00:00
EYHN
c9f8e49f75 feat(infra): livedata (#5562)
LiveData is a reactive data type.

## basic usage

@example
```ts
const livedata = new LiveData(0); // create livedata with initial value

livedata.next(1); // update value

console.log(livedata.value); // get current value

livedata.subscribe(v => { // subscribe to value changes
 console.log(v); // 1
});
```

## observable

LiveData is a rxjs observable, you can use rxjs operators.

@example
```ts
new LiveData(0).pipe(
  map(v => v + 1),
  filter(v => v > 1),
  ...
)
```

NOTICE: different from normal observable, LiveData will always emit the latest value when you subscribe to it.

## from observable

LiveData can be created from observable or from other livedata.

@example
```ts
const A = LiveData.from(
  of(1, 2, 3, 4), // from observable
  0 // initial value
);

const B = LiveData.from(
  A.pipe(map(v => 'from a ' + v)), // from other livedata
  '' // initial value
);
```

NOTICE: LiveData.from will not complete when the observable completes, you can use `spreadComplete` option to change
this behavior.

## Why is it called LiveData

This API is very similar to LiveData in Android, as both are based on Observable, so I named it LiveData.
2024-01-30 06:31:11 +00:00
LongYinan
588b3bcf33 chore: revert "chore: bump up @reforged/maker-appimage version to v4" (#5736)
link #5709
This reverts commit 59788aa334.
2024-01-29 08:41:35 +00:00
Yifeng Wang
1cf902bdb6 feat: bump blocksuite (#5735) 2024-01-29 16:40:23 +08:00
DarkSky
fc8a48fb43 feat: add business blob limit (#5734) 2024-01-29 08:32:35 +00:00
LongYinan
0044be972f chore: bump up @blocksuite/icons version to v2.1.44 (#5732)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.44`](13299f7ede...bc31d70961)

[Compare Source](13299f7ede...bc31d70961)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-29 07:39:17 +00:00
LongYinan
5bd339bed7 feat: generate blocksuite changelog (#5724) 2024-01-29 07:28:02 +00:00
LongYinan
25e8b8306f fix: path issue on Windows (#5725) 2024-01-29 07:18:25 +00:00
DarkSky
070d5ca471 feat: impl unlimited features (#5659) 2024-01-26 08:28:54 +00:00
Yifeng Wang
04b9029d1b feat: bump blocksuite (#5720)
Co-authored-by: xiaoxin <hongtao.lye@toeverything.info>
2024-01-26 16:27:58 +08:00
Cats Juice
387e292ed9 fix(core): journal title's day tag may be invalid (#5703)
Fix [TOV-470](https://linear.app/affine-design/issue/TOV-470/journal-invalid-date)
2024-01-26 07:55:35 +00:00
JimmFly
18068f4ae2 feat(core): add collection and tag filters to all pages (#5567)
close TOV-69

Added the `filterMode` parameter to the `/all` route.
Abstracted the `PageList` and associated components into more universal ones.
Added the `useTagMetas` hook to get and update  the workspace tags.

https://github.com/toeverything/AFFiNE/assets/102217452/7595944d-a056-40c2-8d89-d8df9e901a4b
2024-01-26 07:42:47 +00:00
Peng Xiao
b867dcbdeb fix: add padding between editor and link panel (#5713)
Fix [AFF-561](https://linear.app/affine-design/issue/AFF-561/bi-directional-link-与文本编辑区域的-top-padding)
2024-01-26 07:32:22 +00:00
Cats Juice
6ca2043697 feat(component): optimize week-date-picker keyboard navigation (#5684) 2024-01-26 07:05:19 +00:00
LongYinan
16ef255f51 chore: upgrade husky to latest (#5719)
- https://github.com/typicode/husky/pull/1336
2024-01-26 06:37:39 +00:00
LongYinan
1cf182b7ca ci: add postUpdateOptions to renovate (#5714) 2024-01-26 06:19:38 +00:00
Peng Xiao
e8a6b6ad5e fix(core): bidi links rendering issue (#5707) 2024-01-26 06:07:04 +00:00
Joooye_34
fd9a7f6aad chore: remove unused blocksuite deps in e2e (#5717) 2024-01-26 05:55:13 +00:00
LongYinan
af45b93d26 chore: bump up husky version to v9 (#5694)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v9.0.6`](https://togithub.com/typicode/husky/releases/tag/v9.0.6)

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

-   docs: add favicon by [@&#8203;rakleed](https://togithub.com/rakleed) in [https://github.com/typicode/husky/pull/1354](https://togithub.com/typicode/husky/pull/1354)
-   chore: apply editorconfig to code only by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1355](https://togithub.com/typicode/husky/pull/1355)
-   docs: update install script to mjs and fix CI checks by [@&#8203;starnayuta](https://togithub.com/starnayuta) in [https://github.com/typicode/husky/pull/1357](https://togithub.com/typicode/husky/pull/1357)
-   Fix  unbound variable by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1359](https://togithub.com/typicode/husky/pull/1359)

### [`v9.0.5`](https://togithub.com/typicode/husky/releases/tag/v9.0.5)

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

-   docs: update path to startup files by [@&#8203;ManuelRauber](https://togithub.com/ManuelRauber) in [https://github.com/typicode/husky/pull/1350](https://togithub.com/typicode/husky/pull/1350)
-   fix: init error by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1353](https://togithub.com/typicode/husky/pull/1353)

### [`v9.0.4`](https://togithub.com/typicode/husky/releases/tag/v9.0.4)

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

-   fix: init create dir before by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1348](https://togithub.com/typicode/husky/pull/1348)
-   refactor: simplify by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1349](https://togithub.com/typicode/husky/pull/1349)
-   fix: init not working on pnpm [#&#8203;1334](https://togithub.com/typicode/husky/issues/1334) by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1347](https://togithub.com/typicode/husky/pull/1347)

### [`v9.0.3`](https://togithub.com/typicode/husky/releases/tag/v9.0.3)

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

-   docs: fix link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1340](https://togithub.com/typicode/husky/pull/1340)
-   chore: fix links in issue template by [@&#8203;julien-f](https://togithub.com/julien-f) in [https://github.com/typicode/husky/pull/1341](https://togithub.com/typicode/husky/pull/1341)
-   fix: add scripts field if not present by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1338](https://togithub.com/typicode/husky/pull/1338)
-   docs: changelog link by [@&#8203;typicode](https://togithub.com/typicode) in [https://github.com/typicode/husky/pull/1343](https://togithub.com/typicode/husky/pull/1343)
-   fix: insert final newline by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1339](https://togithub.com/typicode/husky/pull/1339)
-   fix: fix git hooks path on windows by [@&#8203;rozbo](https://togithub.com/rozbo) in [https://github.com/typicode/husky/pull/1346](https://togithub.com/typicode/husky/pull/1346)

### [`v9.0.2`](https://togithub.com/typicode/husky/releases/tag/v9.0.2)

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

#### What's Changed

-   fix: exit code by [@&#8203;gergelypap](https://togithub.com/gergelypap) in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)
-   docs: typo by [@&#8203;chalkygames123](https://togithub.com/chalkygames123) in [https://github.com/typicode/husky/pull/1337](https://togithub.com/typicode/husky/pull/1337)

#### New Contributors

-   [@&#8203;gergelypap](https://togithub.com/gergelypap) made their first contribution in [https://github.com/typicode/husky/pull/1336](https://togithub.com/typicode/husky/pull/1336)

**Full Changelog**: https://github.com/typicode/husky/compare/v9.0.1...v9.0.2

### [`v9.0.1`](https://togithub.com/typicode/husky/releases/tag/v9.0.1)

[Compare Source](https://togithub.com/typicode/husky/compare/v8.0.3...v9.0.1)

<p align="center">
Kicking off the year with an exciting update!
</p>

<p align="center">
<img src="https://github.com/typicode/husky/assets/5502029/457ab087-e935-4196-b99f-601ecf37f263" height="400px" alt="" />
</p>

#### TLDR;

Improved user experience and a (even) smaller package size while packing in more features!

#### 👋 By the Way

**I'm available for remote work** (Front-end/Back-end mainly JS/TS but open to other stacks Rails, Go, Elixir). You can contact me at my mail: typicode at gmail 🙂

#### Introducing `husky init`

Adding husky to a project is now easier than ever. Although the installation process was straightforward, it often required consulting the documentation.

##### v8

```shell
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
```

##### v9

```shell
npx husky init
```

#### Adding a New Hook

Adding a hook is now as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic `echo` command.

##### v8

```shell
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
```

##### v9

```shell
echo "npm test" > .husky/pre-commit
```

#### Further Size Reduction

`v8` was already the most compact Git hooks manager at approximately `6kB`.

`v9` takes this a step further, reducing the size to just `3kB`, likely making it the smallest devDependency in your toolkit.

**To give you an idea of how small it is, the biggest file in the project is the MIT license 😄**

#### More to Come

Additional features are in the pipeline for `v9`. Stay tuned 🙌

#### Other Changes

-   **Enhanced security** with CI and npm `--provenance` for safer publishing.
-   Added **`$XDG_CONFIG_HOME`** support. Move `~/.huskyrc` to `~/.config/husky/init.sh` for centralized configuration.
-   **Fixed permission issue for Windows-created hooks**; they no longer need to be executable.
-   Removed `husky install`. Use `husky` or `husky some/dir` for the same functionality (deprecation notice to be added).
-   Modified behavior when `.git` is missing; it now triggers a warning instead of failure.
-   Replaced `HUSKY_DEBUG=1` with `HUSKY=2` for debugging.
-   Updated the Husky API for module usage.
-   Transitioned to `ESM` for module usage.
-   Dropped support for Node 14 and 16.
-   Revamped docs.

#### How to Migrate

`v9` is backward compatible with `v8`, allowing you to freely upgrade and migrate your hooks later.

`package.json`

```diff
{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}
```

`.husky/pre-commit`

```diff
- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-26 02:53:34 +00:00
LongYinan
59788aa334 chore: bump up @reforged/maker-appimage version to v4 (#5709)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@reforged/maker-appimage](https://togithub.com/SpacingBat3/ReForged) | [`^3.3.1` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@reforged%2fmaker-appimage/3.3.1/4.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@reforged%2fmaker-appimage/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@reforged%2fmaker-appimage/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@reforged%2fmaker-appimage/3.3.1/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@reforged%2fmaker-appimage/3.3.1/4.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>SpacingBat3/ReForged (@&#8203;reforged/maker-appimage)</summary>

### [`v4.0.0`](1657b03766...f829e7a954)

[Compare Source](1657b03766...f829e7a954)

### [`v3.3.2`](45d28765c2...1657b03766)

[Compare Source](45d28765c2...1657b03766)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-26 02:41:08 +00:00
DarkSky
fdffe90892 fix: consume blob stream correctly (#5706)
- use correctly endpoint in r2
- consume blob stream correctly
2024-01-25 10:59:53 +00:00
LongYinan
db3891ba33 chore: bump up @blocksuite/icons version to v2.1.43 (#5702)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.43`](fe902db67e...13299f7ede)

[Compare Source](fe902db67e...13299f7ede)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-25 08:56:39 +00:00
Cats Juice
e7307d969c chore(core): remove journal experimental flag (#5698) 2024-01-25 05:33:57 +00:00
Joooye_34
bd8c7751db chore: update base version to 0.12.0 (#5695) 2024-01-25 05:17:35 +00:00
Cats Juice
9aa421d5e1 fix(core): modify journal page title today style, add weekday tag (#5687)
fix [TOV-434](https://linear.app/affine-design/issue/TOV-434/修改-journal-中-「today」的字体大小和日期-title-大小)

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/toeverything/AFFiNE/assets/39363750/ac0ab085-5ff7-4d27-a0b1-11d97fdd8074">
  <img width="100%" alt="" src="https://github.com/toeverything/AFFiNE/assets/39363750/3b311130-ded2-4651-badd-65dd059b7bc5">
</picture>
2024-01-24 13:07:20 +00:00
Cats Juice
3f96b9778f fix(core): change journal header week-date-picker's max-width (#5688)
Fix [TOV-444](https://linear.app/affine-design/issue/TOV-444/修改-journal-date-picker-max-width)
2024-01-24 12:54:34 +00:00
JimmFly
ad1521fd81 feat(core): adjust member order (#5685)
close #5686

`Owner >> Unaccepted > Admin > Write > Read`

This algorithm contains two parts: firstly, it calculates the weight of the Member (calculateWeight), and then, it uses set weights to sort the Members (useMembers).

In the calculateWeight part, the computation of the weight involves three primary factors:

1. **Permission Level**: The `Owner` is given the highest weight of `4`, followed by `Admin` with a weight of `3`, then `Write` with a weight of `2`, and finally, `Read`, with a weight of `1`.
2. **Acceptance Status**: `Unaccepted` members have a higher weight, this weight is `1`.
3. The weight corresponding to the permission level, if the member does not exist, this weight is 0.

These three `factors` are stored in the factors array and then processed through the reduce function for weighted sum calculation. Among them, `factor * Math.pow(10, arr.length - 1 - index)` means the more significant weight factors (i.e., the earlier factors) will be assigned a higher value.

Sorting rules are primarily based on the weight values obtained from the calculateWeight function. If the weights are identical, it then sorts by name, here assuming the weight of the name being `null` is the highest. If the names are not `null`, they are sorted alphabetically.
2024-01-24 12:44:01 +00:00
liuyi
0f67c683c9 fix(server): add metrics missing attributes (#5682) 2024-01-24 08:06:34 +00:00
JimmFly
25897dc404 feat(workspace): add blob and storage limit (#5535)
close TOV-343 AFF-508 TOV-461 TOV-460 TOV-419

Add `isOverCapacity ` status to detect if blob usage exceeds limits.
Add `onCapacityChange` and `onBlobSet` to monitor if the storage or blob exceeds the capacity limit.
Global modals `LocalQuotaModal` and `CloudQuotaModal` have been added, with the upload size of the blob being limited within the modal components.
The notification component has been adjusted, now you can pass in `action` click events and `actionLabel` .
2024-01-24 07:34:51 +00:00
Chen
c566952e09 feat: bump blocksuite (#5673) 2024-01-24 15:13:12 +08:00
liuyi
151a53c575 fix(server): disable payment module requirements temporarily (#5683) 2024-01-24 03:17:21 +00:00
Peng Xiao
a687e7c0ed fix(core): workspace feature should be workspace specific (#5677)
fix TOV-429
2024-01-24 03:07:51 +00:00
Peng Xiao
994ab96688 fix(playground): storybook story load issue (#5672)
Since the properties adapter now depends on whenLoaded status of the ydoc, we may need to explicitly mark doc as emit if the workspace is created without using a provider.
2024-01-24 02:56:07 +00:00
Peng Xiao
c2a978f0f2 fix: create page button offset issue on non-windows desktop app (#5669)
fix TOV-428
2024-01-24 02:56:04 +00:00
Peng Xiao
f62b67de61 fix(core): should set lang when locale changes (#5679)
this + https://github.com/toeverything/design/pull/110 should fix #5591

fix TOV-457

Reason: HTML requires `lang` to be set to render the correct CJK glyphs.

https://heistak.github.io/your-code-displays-japanese-wrong

<img width="692" alt="image" src="https://github.com/toeverything/AFFiNE/assets/584378/1d350219-5157-42cb-8e98-76d92d55b41e">
2024-01-24 02:43:22 +00:00
Peng Xiao
65b538ee45 chore: bump @toeverything/theme (#5680) 2024-01-24 02:43:19 +00:00
Joooye_34
fecf055867 ci: check yarn dedupe in ci lint stage (#5678) 2024-01-23 12:41:50 +00:00
DarkSky
8bbe2e3bb1 feat: use custom image/preview link (#5584)
dep toeverything/blocksuite#5969
2024-01-23 08:53:57 +00:00
liuyi
62169c59c8 fix(server): del staled update count cache if unmatch (#5674) 2024-01-23 08:19:29 +00:00
Cats Juice
8300df4a26 fix(core): correct typo in onboarding 'get start' (#5666) 2024-01-23 04:54:22 +00:00
Cats Juice
6c8621bdcd chore(core): bump @toeverything/theme, add cssVar use case (#5667) 2024-01-23 04:39:07 +00:00
LongYinan
021105c115 chore: bump up @blocksuite/icons version to v2.1.42 (#5668)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.42`](fdca7d8e2e...fe902db67e)

[Compare Source](fdca7d8e2e...fe902db67e)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-23 04:27:58 +00:00
Peng Xiao
ecdb5b3407 fix(core): properties adapter reactivitiy issue (#5661) 2024-01-23 01:41:44 +00:00
Peng Xiao
03b60a63cd fix: remove incorrect commit (#5660) 2024-01-23 01:41:39 +00:00
Cats Juice
45cc75a814 ci(component): deploy ui storybook (#5655) 2024-01-22 10:25:33 +00:00
Cats Juice
35e7b41ca8 fix(component): adjust the style of Switch to match the design (#5636)
closes #5635
2024-01-22 10:14:32 +00:00
Joooye_34
fccdf8ede7 feat: bump blocksuite (#5642)
f0c45fd...4e2c95a
2024-01-22 08:37:32 +00:00
Peng Xiao
0ed26f51af feat(core): adopt editor features for journal (#5638) 2024-01-22 08:25:31 +00:00
Peng Xiao
f41b7d7e71 feat(component): react wrapper for blocksuite editor (#5606)
A React wrapper for blocksuite editor from title/meta/doc/edgless fragments.
This PR only **clones** the `AffineEditorContainer`'s existing behavior and make it easier for extension in affine later.

fix TOV-315

### Some core issues:

A customized version of `createComponent` from `@lit/react`. The [existing and solutions in the community](https://github.com/lit/lit/issues/4435) does not work well in our case.
Alternatively in this PR the approach we have is to create web component instances in React lifecycle and then append them to DOM. However this make it hard to wrap the exported Lit component's using React and therefore we will have an additional wrapper tag for the wrapped web component.

To mitigate the migration issue on using React instead of Lit listed on last day, we now use [a proxy to mimic the wrapped React component](https://github.com/toeverything/AFFiNE/pull/5606/files#diff-5b7f0ae7b52a08739d50e78e9ec803c26ff3d3e5437581c692add0de12d3ede5R142-R183) into an `AffineEditorContainer` instance.
2024-01-22 08:25:29 +00:00
Peng Xiao
735e1cb117 feat(core): page info adapter for journal (#5561)
Page info adapter + schema.
Adapted for journal features.

![image](https://github.com/toeverything/AFFiNE/assets/584378/2731ed2b-a125-4d62-b658-f2aff49d0e17)
2024-01-22 08:25:27 +00:00
LongYinan
8b92cc0cae chore: decrease the instances count on gcp (#5658) 2024-01-22 08:02:26 +00:00
LongYinan
3de6424a65 fix(server): missing google oauth in auth providers (#5656) 2024-01-22 08:02:24 +00:00
liuyi
e516e0db23 refactor(server): plugin modules (#5630)
- [x] separates modules into `fundamental`, `core`, `plugins`
- [x] optional modules with `@OptionalModule` decorator to install modules with requirements met(`requires`, `if`)
- [x] `module.contributesTo` defines optional features that will be enabled if module registered
- [x] `AFFiNE.plugins.use('payment', {})` to enable a optional/plugin module
- [x] `PaymentModule` is the first plugin module
- [x] GraphQLSchema will not be generated for non-included modules
- [x] Frontend can use `ServerConfigType` query to detect which features are enabled
- [x] override existing provider globally
2024-01-22 07:40:28 +00:00
DarkSky
ae8401b6f4 feat: skip update quota if same as latest activated quota (#5631) 2024-01-22 06:50:05 +00:00
LongYinan
fb93f59aea chore: bump up vite version to v5.0.12 [SECURITY] (#5648)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vitejs.dev) ([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.0.6` -> `5.0.12`](https://renovatebot.com/diffs/npm/vite/5.0.6/5.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.0.6/5.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.0.6/5.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2024-23331](https://togithub.com/vitejs/vite/security/advisories/GHSA-c24v-8rfc-w8vw)

### Summary
[Vite dev server option](https://vitejs.dev/config/server-options.html#server-fs-deny) `server.fs.deny` can be bypassed on case-insensitive file systems using case-augmented versions of filenames. Notably this affects servers hosted on Windows.

This bypass is similar to https://nvd.nist.gov/vuln/detail/CVE-2023-34092 -- with surface area reduced to hosts having case-insensitive filesystems.

### Patches
Fixed in vite@5.0.12, vite@4.5.2, vite@3.2.8, vite@2.9.17

### Details
Since `picomatch` defaults to case-sensitive glob matching, but the file server doesn't discriminate; a blacklist bypass is possible.

See `picomatch`  usage, where `nocase` is defaulted to `false`: https://github.com/vitejs/vite/blob/v5.1.0-beta.1/packages/vite/src/node/server/index.ts#L632

By requesting raw filesystem paths using augmented casing, the matcher derived from `config.server.fs.deny` fails to block access to sensitive files.

### PoC
**Setup**
1. Created vanilla Vite project using `npm create vite@latest` on a Standard Azure hosted Windows 10 instance.
    - `npm run dev -- --host 0.0.0.0`
    - Publicly accessible for the time being here: http://20.12.242.81:5173/
2. Created dummy secret files, e.g. `custom.secret` and `production.pem`
3. Populated `vite.config.js` with
```javascript
export default { server: { fs: { deny: ['.env', '.env.*', '*.{crt,pem}', 'custom.secret'] } } }
```

**Reproduction**
1. `curl -s http://20.12.242.81:5173/@&#8203;fs//`
    - Descriptive error page reveals absolute filesystem path to project root
2. `curl -s http://20.12.242.81:5173/@&#8203;fs/C:/Users/darbonzo/Desktop/vite-project/vite.config.js`
    - Discoverable configuration file reveals locations of secrets
3. `curl -s http://20.12.242.81:5173/@&#8203;fs/C:/Users/darbonzo/Desktop/vite-project/custom.sEcReT`
    - Secrets are directly accessible using case-augmented version of filename

**Proof**
![Screenshot 2024-01-19 022736](https://user-images.githubusercontent.com/907968/298020728-3a8d3c06-fcfd-4009-9182-e842f66a6ea5.png)

### Impact
**Who**
- Users with exposed dev servers on environments with case-insensitive filesystems

**What**
- Files protected by `server.fs.deny` are both discoverable, and accessible

---

### Release Notes

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

### [`v5.0.12`](https://togithub.com/vitejs/vite/releases/tag/v5.0.12)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.11...v5.0.12)

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

### [`v5.0.11`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5011-2024-01-05-small)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.10...v5.0.11)

-   fix: don't pretransform classic script links ([#&#8203;15361](https://togithub.com/vitejs/vite/issues/15361)) ([19e3c9a](https://togithub.com/vitejs/vite/commit/19e3c9a)), closes [#&#8203;15361](https://togithub.com/vitejs/vite/issues/15361)
-   fix: inject `__vite__mapDeps` code before sourcemap file comment ([#&#8203;15483](https://togithub.com/vitejs/vite/issues/15483)) ([d2aa096](https://togithub.com/vitejs/vite/commit/d2aa096)), closes [#&#8203;15483](https://togithub.com/vitejs/vite/issues/15483)
-   fix(assets): avoid splitting `,` inside base64 value of `srcset` attribute ([#&#8203;15422](https://togithub.com/vitejs/vite/issues/15422)) ([8de7bd2](https://togithub.com/vitejs/vite/commit/8de7bd2)), closes [#&#8203;15422](https://togithub.com/vitejs/vite/issues/15422)
-   fix(html): handle offset magic-string slice error ([#&#8203;15435](https://togithub.com/vitejs/vite/issues/15435)) ([5ea9edb](https://togithub.com/vitejs/vite/commit/5ea9edb)), closes [#&#8203;15435](https://togithub.com/vitejs/vite/issues/15435)
-   chore(deps): update dependency strip-literal to v2 ([#&#8203;15475](https://togithub.com/vitejs/vite/issues/15475)) ([49d21fe](https://togithub.com/vitejs/vite/commit/49d21fe)), closes [#&#8203;15475](https://togithub.com/vitejs/vite/issues/15475)
-   chore(deps): update tj-actions/changed-files action to v41 ([#&#8203;15476](https://togithub.com/vitejs/vite/issues/15476)) ([2a540ee](https://togithub.com/vitejs/vite/commit/2a540ee)), closes [#&#8203;15476](https://togithub.com/vitejs/vite/issues/15476)

### [`v5.0.10`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5010-2023-12-15-small)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.9...v5.0.10)

-   fix: omit protocol does not require pre-transform ([#&#8203;15355](https://togithub.com/vitejs/vite/issues/15355)) ([d9ae1b2](https://togithub.com/vitejs/vite/commit/d9ae1b2)), closes [#&#8203;15355](https://togithub.com/vitejs/vite/issues/15355)
-   fix(build): use base64 for inline SVG if it contains both single and double quotes ([#&#8203;15271](https://togithub.com/vitejs/vite/issues/15271)) ([1bbff16](https://togithub.com/vitejs/vite/commit/1bbff16)), closes [#&#8203;15271](https://togithub.com/vitejs/vite/issues/15271)

### [`v5.0.9`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small509-2023-12-14-small)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.8...v5.0.9)

-   fix: htmlFallbackMiddleware for favicon ([#&#8203;15301](https://togithub.com/vitejs/vite/issues/15301)) ([c902545](https://togithub.com/vitejs/vite/commit/c902545)), closes [#&#8203;15301](https://togithub.com/vitejs/vite/issues/15301)
-   fix: more stable hash calculation for depsOptimize ([#&#8203;15337](https://togithub.com/vitejs/vite/issues/15337)) ([2b39fe6](https://togithub.com/vitejs/vite/commit/2b39fe6)), closes [#&#8203;15337](https://togithub.com/vitejs/vite/issues/15337)
-   fix(scanner): catch all external files for glob imports ([#&#8203;15286](https://togithub.com/vitejs/vite/issues/15286)) ([129d0d0](https://togithub.com/vitejs/vite/commit/129d0d0)), closes [#&#8203;15286](https://togithub.com/vitejs/vite/issues/15286)
-   fix(server): avoid chokidar throttling on startup ([#&#8203;15347](https://togithub.com/vitejs/vite/issues/15347)) ([56a5740](https://togithub.com/vitejs/vite/commit/56a5740)), closes [#&#8203;15347](https://togithub.com/vitejs/vite/issues/15347)
-   fix(worker): replace `import.meta` correctly for IIFE worker ([#&#8203;15321](https://togithub.com/vitejs/vite/issues/15321)) ([08d093c](https://togithub.com/vitejs/vite/commit/08d093c)), closes [#&#8203;15321](https://togithub.com/vitejs/vite/issues/15321)
-   feat: log re-optimization reasons ([#&#8203;15339](https://togithub.com/vitejs/vite/issues/15339)) ([b1a6c84](https://togithub.com/vitejs/vite/commit/b1a6c84)), closes [#&#8203;15339](https://togithub.com/vitejs/vite/issues/15339)
-   chore: temporary typo ([#&#8203;15329](https://togithub.com/vitejs/vite/issues/15329)) ([7b71854](https://togithub.com/vitejs/vite/commit/7b71854)), closes [#&#8203;15329](https://togithub.com/vitejs/vite/issues/15329)
-   perf: avoid computing paths on each request ([#&#8203;15318](https://togithub.com/vitejs/vite/issues/15318)) ([0506812](https://togithub.com/vitejs/vite/commit/0506812)), closes [#&#8203;15318](https://togithub.com/vitejs/vite/issues/15318)
-   perf: temporary hack to avoid fs checks for /[@&#8203;react-refresh](https://togithub.com/react-refresh) ([#&#8203;15299](https://togithub.com/vitejs/vite/issues/15299)) ([b1d6211](https://togithub.com/vitejs/vite/commit/b1d6211)), closes [#&#8203;15299](https://togithub.com/vitejs/vite/issues/15299)

### [`v5.0.8`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small508-2023-12-12-small)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.7...v5.0.8)

-   perf: cached fs utils ([#&#8203;15279](https://togithub.com/vitejs/vite/issues/15279)) ([c9b61c4](https://togithub.com/vitejs/vite/commit/c9b61c4)), closes [#&#8203;15279](https://togithub.com/vitejs/vite/issues/15279)
-   fix: missing warmupRequest in transformIndexHtml ([#&#8203;15303](https://togithub.com/vitejs/vite/issues/15303)) ([103820f](https://togithub.com/vitejs/vite/commit/103820f)), closes [#&#8203;15303](https://togithub.com/vitejs/vite/issues/15303)
-   fix: public files map will be updated on add/unlink in windows ([#&#8203;15317](https://togithub.com/vitejs/vite/issues/15317)) ([921ca41](https://togithub.com/vitejs/vite/commit/921ca41)), closes [#&#8203;15317](https://togithub.com/vitejs/vite/issues/15317)
-   fix(build): decode urls in CSS files (fix [#&#8203;15109](https://togithub.com/vitejs/vite/issues/15109)) ([#&#8203;15246](https://togithub.com/vitejs/vite/issues/15246)) ([ea6a7a6](https://togithub.com/vitejs/vite/commit/ea6a7a6)), closes [#&#8203;15109](https://togithub.com/vitejs/vite/issues/15109) [#&#8203;15246](https://togithub.com/vitejs/vite/issues/15246)
-   fix(deps): update all non-major dependencies ([#&#8203;15304](https://togithub.com/vitejs/vite/issues/15304)) ([bb07f60](https://togithub.com/vitejs/vite/commit/bb07f60)), closes [#&#8203;15304](https://togithub.com/vitejs/vite/issues/15304)
-   fix(ssr): check esm file with normal file path ([#&#8203;15307](https://togithub.com/vitejs/vite/issues/15307)) ([1597170](https://togithub.com/vitejs/vite/commit/1597170)), closes [#&#8203;15307](https://togithub.com/vitejs/vite/issues/15307)

### [`v5.0.7`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small507-2023-12-08-small)

[Compare Source](https://togithub.com/vitejs/vite/compare/v5.0.6...v5.0.7)

-   fix: suppress terser warning if minify disabled ([#&#8203;15275](https://togithub.com/vitejs/vite/issues/15275)) ([3e42611](https://togithub.com/vitejs/vite/commit/3e42611)), closes [#&#8203;15275](https://togithub.com/vitejs/vite/issues/15275)
-   fix: symbolic links in public dir ([#&#8203;15264](https://togithub.com/vitejs/vite/issues/15264)) ([ef2a024](https://togithub.com/vitejs/vite/commit/ef2a024)), closes [#&#8203;15264](https://togithub.com/vitejs/vite/issues/15264)
-   fix(html): skip inlining icon and manifest links ([#&#8203;14958](https://togithub.com/vitejs/vite/issues/14958)) ([8ad81b4](https://togithub.com/vitejs/vite/commit/8ad81b4)), closes [#&#8203;14958](https://togithub.com/vitejs/vite/issues/14958)
-   chore: remove unneeded condition in getRealPath ([#&#8203;15267](https://togithub.com/vitejs/vite/issues/15267)) ([8e4655c](https://togithub.com/vitejs/vite/commit/8e4655c)), closes [#&#8203;15267](https://togithub.com/vitejs/vite/issues/15267)
-   perf: cache empty optimizer result ([#&#8203;15245](https://togithub.com/vitejs/vite/issues/15245)) ([8409b66](https://togithub.com/vitejs/vite/commit/8409b66)), closes [#&#8203;15245](https://togithub.com/vitejs/vite/issues/15245)

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-20 13:36:05 +00:00
JimmFly
353b27d796 refactor(component): adapt the questionnaire component to the desktop client (#5514)
close TOV-240

Windows desktop:
<img width="1145" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/6b12a6bd-c020-4d02-a366-e97e1afd1e10">

MacOS desktop:
<img width="1187" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/9a3c909c-b283-4ddc-a187-3db12b26a7f5">

Web:
<img width="1438" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/e8e04258-9275-470d-a3f8-5d18f5b29eb3">
2024-01-19 10:07:18 +00:00
LongYinan
fa8655e43e style: apply prefer-node-protocol lint rule (#5627)
it makes it perfectly clear that the package is a Node.js builtin module.
2024-01-19 03:47:08 +00:00
LongYinan
9d28eb530a feat: upgrade electron and playwright (#5632) 2024-01-19 03:16:06 +00:00
LongYinan
cf2ad141ea chore: upgrade perfsee sdk (#5629)
packages version info are missing: https://perfsee.com/projects/perfsee/bundle/1346?tab=packages
2024-01-19 10:58:36 +08:00
HeJiachen-PM
dc68ffd127 docs: update readme (#5637) 2024-01-19 02:02:25 +00:00
Cats Juice
351f1b73b4 feat(core): add journal entrance for app-sidebar (#5579) 2024-01-18 14:40:35 +00:00
Cats Juice
65bcdcafde feat(core): add experimental flag for journal (#5578) 2024-01-18 14:05:17 +00:00
Cats Juice
f4b26a16f8 feat(core): journal sidebar conflict block (#5574) 2024-01-18 14:05:15 +00:00
Cats Juice
7aaec3ad51 feat(core): add daily count for journal sidebar (#5559) 2024-01-18 12:54:44 +00:00
JimmFly
a7e8664959 fix(core): reserve space for the editor scrollbar (#5625)
Because the space for the scroll bar on the right is reserved, in order to make the editor symmetrical, padding corresponding to the width of the scroll bar is added to the left.
2024-01-18 12:44:27 +00:00
Cats Juice
70ea1e5ef8 feat(core): journal sidebar dater-picker navigation (#5558) 2024-01-18 12:34:23 +00:00
Cats Juice
496dc588be feat(core): journal extension loader (#5557) 2024-01-18 09:27:56 +00:00
regischen
8b1b5b2e93 feat: bump blocksuite (#5624) 2024-01-18 17:26:31 +08:00
DarkSky
c3fda80599 feat: use nx cloud runner (#5626) 2024-01-18 08:18:37 +00:00
Peng Xiao
9a944048e8 feat(core): experimental features ui (#5338)
fix TOV-280

experimental features ui
- enabled in the workspace settings for a cloud workspace; only show for workspace owner + early access
- a disclaimer prompt will be shown before going to the next feature setting page
- for now only show the ai poc switch, which controls the display of the ai tab in editor's sidepanel
2024-01-18 07:53:15 +00:00
Cats Juice
cabedef426 feat(core): journal hooks and page header layout (#5549)
feat(core): split page header items

feat(core): journal page judgment and header layout

feat(core): Add journal today button and style changes to share menu
2024-01-18 07:17:14 +00:00
Cats Juice
a64854319e feat(core): add document title for shared page (#5596) 2024-01-18 07:04:37 +00:00
LongYinan
c5ea6fd2c3 fix(server): selfhost issues (#5623)
- env name in helm chart
- omit health check controller in selfhost env
2024-01-18 05:55:54 +00:00
liuyi
9fdbb3ac3d fix(server): should not listen on user defined host (#5622) 2024-01-18 04:59:53 +00:00
EYHN
74a3a795bd fix(workspace): check session before get workspaces (#5621) 2024-01-18 04:46:52 +00:00
LongYinan
aa437bcd35 fix(core): remove hash prefix from cdn path (#5509)
The hash prefix will cause cache invalidate during deployment
It's for debug purpose but I forgot to remove it
2024-01-18 03:50:24 +00:00
Cats Juice
943ede4ffd feat(component): new inline-edit component (#5517)
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/toeverything/AFFiNE/assets/39363750/6dad59f0-5e63-4c25-a81c-dff397da1d34">
  <img height="100" alt="" src="https://github.com/toeverything/AFFiNE/assets/39363750/7c30d7b2-55c9-49eb-82e7-a0882f2e0493">
</picture>
2024-01-18 03:33:47 +00:00
liuyi
f419867437 chore(server): remove useless log (#5620) 2024-01-18 03:19:20 +00:00
liuyi
d9324286d4 chore(server): add port to host if it is 0.0.0.0 (#5619) 2024-01-18 03:04:36 +00:00
LongYinan
5b84366de3 chore: bump up actions/cache action to v4 (#5616)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://togithub.com/actions/cache) | action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

### [`v4`](https://togithub.com/actions/cache/compare/v3...v4)

[Compare Source](https://togithub.com/actions/cache/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-18 02:37:47 +00:00
Cats Juice
2b92b27f8f feat(component): new week-date-picker component (#5477)
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/toeverything/AFFiNE/assets/39363750/49d7a1ee-2832-4b61-a427-e627dae92952">
  <img height="100" alt="" src="https://github.com/toeverything/AFFiNE/assets/39363750/819d6ee9-38e0-4537-ad0f-ec9faf96f505">
</picture>
2024-01-18 02:14:27 +00:00
DarkSky
ee8ec47a4f feat: use SafeInt replace Float (#5613) 2024-01-17 12:36:21 +00:00
liuyi
b9f20877d0 feat(core): make password sigin default if user has one (#5577) 2024-01-17 11:13:58 +00:00
liuyi
bf88b6edaa chore(server): remove too verbose logs (#5555)
chore(server): remove too verbose logs

chore(server): make logs less verbose
2024-01-17 10:37:22 +00:00
liuyi
00acc49342 chore(server): remove octobase storage usage (#5594)
since all blobs have been successfully migrated to r2, the octobase blob functions are no longer necessary.
2024-01-17 10:22:35 +00:00
Cats Juice
2db3c933fa refactor(component): move date-picker to ui, add story, support responsive (#5468)
- move to `component/ui`
- add `AFFiNEDatePicker` & `BlocksuiteDatePicker` story
- inline mode support
- responsive support
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://github.com/toeverything/AFFiNE/assets/39363750/320bef49-380f-40a2-b3b2-4b74dd2d8da4">
    <img  alt="" src="https://github.com/toeverything/AFFiNE/assets/39363750/fc9e7808-02fe-49a1-aa78-aea254fb1f9d">
  </picture>
2024-01-17 09:16:46 +00:00
DarkSky
8f80bdb7af feat: new free plan (#5604) 2024-01-17 07:20:18 +00:00
LongYinan
3f87d04481 chore: bump up postcss-loader version to v8 (#5609)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>webpack-contrib/postcss-loader (postcss-loader)</summary>

### [`v8.0.0`](https://togithub.com/webpack-contrib/postcss-loader/blob/HEAD/CHANGELOG.md#800-2024-01-16)

[Compare Source](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.4...v8.0.0)

##### ⚠ BREAKING CHANGES

-   minimum supported Node.js version is `18.12.0` ([#&#8203;677](https://togithub.com/webpack-contrib/postcss-loader/issues/677)) ([8dd0315](8dd0315c03))

##### [7.3.4](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.3...v7.3.4) (2023-12-27)

##### Bug Fixes

-   do not crash if pkg.(d|devD)ependencies unset ([#&#8203;667](https://togithub.com/webpack-contrib/postcss-loader/issues/667)) ([8ef0c7e](8ef0c7e5c6))

##### [7.3.3](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.2...v7.3.3) (2023-06-10)

##### Bug Fixes

-   **perf:** avoid using `klona` for postcss options ([#&#8203;658](https://togithub.com/webpack-contrib/postcss-loader/issues/658)) ([e754c3f](e754c3f845))
-   bug with loading configurations after updating `cosmiconfig` to version 8.2 ([684d265](684d265439))

##### [7.3.2](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.1...v7.3.2) (2023-05-28)

##### Bug Fixes

-   use `cause` to keep original errors and warnings ([#&#8203;655](https://togithub.com/webpack-contrib/postcss-loader/issues/655)) ([e8873f4](e8873f46b4))

##### [7.3.1](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.0...v7.3.1) (2023-05-26)

##### Bug Fixes

-   warning and error serialization ([65748ec](65748ece39))

### [`v7.3.4`](https://togithub.com/webpack-contrib/postcss-loader/blob/HEAD/CHANGELOG.md#734-2023-12-27)

[Compare Source](https://togithub.com/webpack-contrib/postcss-loader/compare/v7.3.3...v7.3.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-17 02:56:58 +00:00
LongYinan
41083b7fec chore: bump up copy-webpack-plugin version to v12 (#5568)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [copy-webpack-plugin](https://togithub.com/webpack-contrib/copy-webpack-plugin) | [`^11.0.0` -> `^12.0.0`](https://renovatebot.com/diffs/npm/copy-webpack-plugin/11.0.0/12.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/copy-webpack-plugin/12.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/copy-webpack-plugin/12.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/copy-webpack-plugin/11.0.0/12.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/copy-webpack-plugin/11.0.0/12.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>webpack-contrib/copy-webpack-plugin (copy-webpack-plugin)</summary>

### [`v12.0.1`](https://togithub.com/webpack-contrib/copy-webpack-plugin/blob/HEAD/CHANGELOG.md#1201-2024-01-11)

[Compare Source](https://togithub.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.0...v12.0.1)

### [`v12.0.0`](https://togithub.com/webpack-contrib/copy-webpack-plugin/blob/HEAD/CHANGELOG.md#1200-2024-01-10)

[Compare Source](https://togithub.com/webpack-contrib/copy-webpack-plugin/compare/v11.0.0...v12.0.0)

##### ⚠ BREAKING CHANGES

-   update `globby` to `14.0.0`
-   minimum supported `Node.js` version is `18.12.0` ([#&#8203;759](https://togithub.com/webpack-contrib/copy-webpack-plugin/issues/759)) ([a5b7d06](a5b7d06a05))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-16 15:44:18 +00:00
LongYinan
823ea92f62 chore: bump up happy-dom version to v13 (#5569)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](https://togithub.com/capricorn86/happy-dom/compare/v12.10.3...v13.0.0)

##### 💣 Breaking Changes

-   This is a big release where a lot of the code has been refactored to improve security and to be able to support the new Browser API. A big release is always a potential risk for bugs and therefore it make sense to make this a major release to avoid that consumers automatically updates to it. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))

##### 🎨 Features

-   Adds support for a Browser API similar to [Puppeteer](https://pptr.dev/) and [Playwright](https://playwright.dev/). With the Browser API, it is for example possible to create new pages and navigate in them. You can read more about it in the [Happy DOM Wiki](https://togithub.com/capricorn86/happy-dom/wiki). ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves security by not exposing sensitive internal logic to scripts running within the Happy DOM Browser. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves support for CORS management. It now supports "OPTIONS" requests to detect if the client is allowed to proceed with a cross origin request. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for HTTP response cache. The cache is in memory, but the plan is to add support for storing it on disk in the future. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves support for `XMLHttpRequest`. It now supports the GZip, Deflate and Brotli encodings. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for adding a process level error event listener for capturing errors. This is useful when using the Browser API, but will not work in environments such as [Jest](https://jestjs.io/) and [Vitest](https://vitest.dev/), as it collides with their error listener. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for `Ẁindow.open()`. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for `Ẁindow.close()`. This function should now be used when tearing down the environment. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves support for cookies. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves support for `HTMLIFrameElement`. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Changes export of types to use "import type" and "export type" in "index.js". This will allow transpilers/compilers to optimize better. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for navigating when clicking on an anchor link. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Adds support for navigating when setting `Location.href`. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Improves support for `MutationObserver`. It will not collect multiple records with a microtask. It now also supports `MutationObserver.takeRecords()` for records that has not yet been published. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Deprecates "[@&#8203;happy-dom/uncaught-exception-observer](https://togithub.com/happy-dom/uncaught-exception-observer)" as the functionality is supported by "happy-dom" out of the box now. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Uses Symbol for public internal properties instead of using "\_" as a prefix, so that internal properties won't be enumerable. This will also make sure that these properties won't clash with properties defined by the consumer. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))

##### 👷‍♂️ Patch fixes

-   Improves the check for if the property is a class to avoid that it gets bound in "[@&#8203;happy-dom/global-registrator](https://togithub.com/happy-dom/global-registrator)". We only want functions to get bound to the global context. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Fixes bug where `new Document()` did'nt work according to spec. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Fixes bug where several Element classes wheren't available as properties on `Window`. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Fixes bug in `Document.importNode()` where it didn't change `ownerDocument` on child nodes. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))
-   Resets static `ownerDocument` state used when creating Node instances, so that it can be garbage collected if not used anymore. ([#&#8203;466](https://togithub.com/capricorn86/happy-dom/issues/466))

***

Merry Christmas and a Happy New Year! 🎅 

This release took some time as I didn't want to release the Browser API without applying security fixes. I've also stumbled across a few other issues along the way that I felt I needed to address.

I hope you will enjoy the release!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-16 15:27:24 +00:00
LongYinan
880588ad11 chore: bump up @blocksuite/icons version to v2.1.41 (#5580)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.41`](2b42f403fb...fdca7d8e2e)

[Compare Source](2b42f403fb...fdca7d8e2e)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-16 15:11:36 +00:00
DarkSky
ee2520ec18 feat: add query quota of workspace (#5603) 2024-01-16 09:45:55 +00:00
JimmFly
4f4d057aad refactor(core): replace WorkspaceSubPath in env package with the one in core package (#5537) 2024-01-16 08:26:11 +00:00
Peng Xiao
238d1ad44e fix(component): add back lottie color hack for dark mode (#5576)
Not sure why but it seems the changes in https://github.com/toeverything/AFFiNE/pull/4953 are lost
2024-01-16 08:11:51 +00:00
JimmFly
baeb5cc732 feat(core): get cloud workspace usage limit from user quota (#5518) 2024-01-16 07:57:23 +00:00
Joooye_34
d6dd837bdb chore: update favicon (#5566) 2024-01-16 07:42:32 +00:00
DarkSky
dea0aab5e3 feat: update nx config (#5597) 2024-01-16 06:41:46 +00:00
Lewis Liu
94e24d1b82 style: import from './index' instead of '.' (#5590)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-01-16 14:39:08 +08:00
liuyi
75fb0a9f1a fix(server): standalone early access users detection (#5601) 2024-01-16 03:27:44 +00:00
LongYinan
2fb0e3ef15 chore: bump up source-map-loader version to v5 (#5599)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>webpack-contrib/source-map-loader (source-map-loader)</summary>

### [`v5.0.0`](https://togithub.com/webpack-contrib/source-map-loader/blob/HEAD/CHANGELOG.md#500-2024-01-15)

[Compare Source](https://togithub.com/webpack-contrib/source-map-loader/compare/v4.0.2...v5.0.0)

##### ⚠ BREAKING CHANGES

-   minimum supported Node.js version is `18.12.0` ([#&#8203;230](https://togithub.com/webpack-contrib/source-map-loader/issues/230)) ([7fcab17](7fcab17805))

##### [4.0.2](https://togithub.com/webpack-contrib/source-map-loader/compare/v4.0.1...v4.0.2) (2023-12-27)

##### Bug Fixes

-   avoid deprecation message of `abab` package ([#&#8203;228](https://togithub.com/webpack-contrib/source-map-loader/issues/228)) ([9daafb3](9daafb3662))

##### [4.0.1](https://togithub.com/webpack-contrib/source-map-loader/compare/v4.0.0...v4.0.1) (2022-10-07)

##### Bug Fixes

-   logic when sourceRoot contains absolute URL ([e724a1f](e724a1ffbf))

### [`v4.0.2`](https://togithub.com/webpack-contrib/source-map-loader/blob/HEAD/CHANGELOG.md#402-2023-12-27)

[Compare Source](https://togithub.com/webpack-contrib/source-map-loader/compare/v4.0.1...v4.0.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-16 03:14:57 +00:00
liuyi
24e18dd475 fix: improve self-host convenience (#5582) 2024-01-15 09:24:53 +00:00
DarkSky
2f9b4fd0cf fix: add field polyfill for old feature (#5586) 2024-01-15 08:33:06 +00:00
liuyi
4c49b62ab7 fix(server): node imports order (#5583) 2024-01-14 05:47:56 +00:00
DarkSky
18907ebe57 fix: return empty resp if user not exists in login preflight (#5588) 2024-01-13 15:26:55 +00:00
Peng Xiao
5aea84af8f fix(electron): remove cors headers hack (#5581) 2024-01-12 16:48:55 +08:00
regischen
3602f1cac0 feat: bump blocksuite (#5575) 2024-01-12 12:41:27 +08:00
liuyi
89b5c96d25 refactor(server): folder structure (#5573) 2024-01-12 04:18:39 +00:00
DarkSky
d6f65ea414 feat: blob size limit with quota (#5524)
fix AFF-506 TOV-342
2024-01-11 10:21:40 +00:00
EYHN
d1c2b2a7b0 fix(core): workspace not found after import (#5571)
close TOV-393
2024-01-11 09:47:24 +00:00
liuyi
12fdb18a80 test(server): make server testing utils (#5544) 2024-01-11 06:40:55 +00:00
liuyi
9253e522aa test(server): avoid progress get hold after tests finished (#5522) 2024-01-11 06:40:53 +00:00
EYHN
5aee480c50 refactor(core): move page list to core (#5556) 2024-01-10 11:09:39 +00:00
LongYinan
237722f7f9 feat: support self-host docker build (#5506)
Test command: `docker compose -f ./.github/deployment/self-host/compose.yaml up`
2024-01-10 08:35:21 +00:00
DarkSky
0d7ffb0511 feat: add unlimited workspace support (#5523)
fix AFF-505
2024-01-10 07:28:53 +00:00
DarkSky
a59fe1b49e feat: adapted user quota for member api (#5521)
fix AFF-494 TOV-337
2024-01-10 07:28:46 +00:00
Peng Xiao
275ea74772 chore(core): remove affine/cmdk package (#5552)
patch cmdk based on https://github.com/pengx17/cmdk/tree/patch-1
fix https://github.com/toeverything/AFFiNE/issues/5548
2024-01-10 05:25:37 +00:00
Joooye_34
dd671c8764 build: change space replacement when set version to fix client upgrade always problem (#5554) 2024-01-10 10:57:52 +08:00
liuyi
ddbb5e1121 fix(server): better error handling and logging for storage (#5553) 2024-01-09 10:37:24 +00:00
NavyStack
af245315c2 chore: update Korean translation (#5551) 2024-01-09 15:59:02 +08:00
Cats Juice
611c6e85bb fix(component): app sidebar will never float when menu not opened (#5529) 2024-01-09 06:46:09 +00:00
LongYinan
d376ea441d chore(deps): bump follow-redirects from 1.15.3 to 1.15.4 (#5546)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="65858205e5"><code>6585820</code></a> Release version 1.15.4 of the npm package.</li>
<li><a href="7a6567e16d"><code>7a6567e</code></a> Disallow bracketed hostnames.</li>
<li><a href="05629af696"><code>05629af</code></a> Prefer native URL instead of deprecated url.parse.</li>
<li><a href="1cba8e85fa"><code>1cba8e8</code></a> Prefer native URL instead of legacy url.resolve.</li>
<li><a href="72bc2a4229"><code>72bc2a4</code></a> Simplify _processResponse error handling.</li>
<li><a href="3d42aecdca"><code>3d42aec</code></a> Add bracket tests.</li>
<li><a href="bcbb096b32"><code>bcbb096</code></a> Do not directly set Error properties.</li>
<li>See full diff in <a href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=1.15.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/toeverything/AFFiNE/network/alerts).

</details>
2024-01-09 04:27:11 +00:00
DarkSky
eecba240d3 chore: downgrade oxlint to avoid commiting freeze (#5545) 2024-01-09 04:11:54 +00:00
LongYinan
e95126a146 dedupe lockfile 2024-01-09 11:28:01 +08:00
Lewis Liu
389ee18e42 Move vanilla extract back 2024-01-09 11:26:42 +08:00
Lewis Liu
911efcdff1 Drop unused 2024-01-09 11:26:41 +08:00
Lewis Liu
a87055754e Properly split dep and dev deps, fix phantom deps 2024-01-09 11:26:26 +08:00
NavyStack
7c71c5457a fix: add missing Korean translations for updated English text (#5534) 2024-01-09 11:19:43 +08:00
LongYinan
aaab159a53 chore: bump up @napi-rs/cli version to v3.0.0-alpha.33 (#5542)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.31` -> `3.0.0-alpha.33`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.31/3.0.0-alpha.33) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.33?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.33?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.31/3.0.0-alpha.33?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.31/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.0.0-alpha.33`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.33)

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

##### What's Changed

-   fix(cli): artifacts wasi worker name by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1895](https://togithub.com/napi-rs/napi-rs/pull/1895)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.32...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.33

### [`v3.0.0-alpha.32`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.32)

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

#### What's Changed

-   fix(cli): missing files in created wasi package by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1894](https://togithub.com/napi-rs/napi-rs/pull/1894)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.31...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.32

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-09 03:07:28 +00:00
LongYinan
af0243d1a9 chore: bump up @napi-rs/cli version to v3.0.0-alpha.31 (#5539)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.30` -> `3.0.0-alpha.31`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.30/3.0.0-alpha.31) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.31?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.31?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.30/3.0.0-alpha.31?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.30/3.0.0-alpha.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.0.0-alpha.31`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.31)

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

##### What's Changed

-   chore(deps): update dependency c8 to v9 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1889](https://togithub.com/napi-rs/napi-rs/pull/1889)
-   fix(deps): update dependency [@&#8203;tybys/wasm-util](https://togithub.com/tybys/wasm-util) to v0.8.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1892](https://togithub.com/napi-rs/napi-rs/pull/1892)
-   feat(cli): support generate browser compatible codes by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1891](https://togithub.com/napi-rs/napi-rs/pull/1891)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.30...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.31

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-08 16:35:08 +00:00
Joooye_34
1e28fd73b4 docs: replace CLA.md contributor list by online url to reduce noise (#5538) 2024-01-08 09:21:14 +00:00
DarkSky
b9fa002e67 fix: only return activated features (#5536) 2024-01-08 15:58:59 +08:00
liuyi
d7b9462d1c fix(server): backward compatibility for beta+stable envs (#5510) 2024-01-08 05:15:32 +00:00
LongYinan
b23c092953 chore: bump up file-type version to v19 (#5533)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/file-type (file-type)</summary>

### [`v19.0.0`](https://togithub.com/sindresorhus/file-type/releases/tag/v19.0.0)

[Compare Source](https://togithub.com/sindresorhus/file-type/compare/v18.7.0...v19.0.0)

##### Breaking

-   Require Node.js 18  [`7f4b30b`](https://togithub.com/sindresorhus/file-type/commit/7f4b30b)
-   Use mime type `audio/wav` instead of `audio/vnd.wave` for .wav files ([#&#8203;620](https://togithub.com/sindresorhus/file-type/issues/620))  [`c7c923c`](https://togithub.com/sindresorhus/file-type/commit/c7c923c)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-08 03:06:25 +00:00
LongYinan
e5db566ef0 chore: bump up oxlint version to v0.1.2 (#5528)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](821cc8e9c7...4a9e0c4bf4)

#### Try it out!

-   Run `npx --yes oxlint@latest` from your terminal
-   Install the Vscode extension https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode
-   Read the [usage guide](https://oxc-project.github.io/docs/guide/usage/linter.html)

#### Svelte support

`<script>` tag is linted by default.

#### Features

-   feat(linter): <script> part of svelte file by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/1918](https://togithub.com/oxc-project/oxc/pull/1918)
-   feat(linter): disable no-unused-labels for svelte by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/oxc-project/oxc/pull/1919](https://togithub.com/oxc-project/oxc/pull/1919)

### Fixes

-   fix(linter): change no-var to restriction [`bb6128b`](https://togithub.com/oxc-project/oxc/commit/bb6128b)
-   chore: add some useful informantion log by [@&#8203;IWANABETHATGUY](https://togithub.com/IWANABETHATGUY) in [https://github.com/oxc-project/oxc/pull/1912](https://togithub.com/oxc-project/oxc/pull/1912)
-   fix(linter) fix eslint config for filename case by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1913](https://togithub.com/oxc-project/oxc/pull/1913)

**Full Changelog**: https://github.com/oxc-project/oxc/compare/oxlint_v0.1.1...oxlint_v0.1.2

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

[Compare Source](https://togithub.com/oxc-project/oxc/compare/v0.1.0...821cc8e9c7cfb326ff546483bb2a32d12e018e4c)

#### Try it out!

-   Run `npx --yes oxlint@latest` from your terminal
-   Install the Vscode extension https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode
-   Read the [usage guide](https://oxc-project.github.io/docs/guide/usage/linter.html)

#### Vue support

`<script>` and `<script setup>` are linted by default.

#### Astro support

Frontmatter component script `---` and all `<script>` tags are linted by default.

#### Configuration files (experimental)

`-c ./eslintrc.json` will use the `rules` field for rule configuration, as documented in [ESLint's documentation](https://eslint.org/docs/latest/use/configure/rules#using-configuration-files).

Unfortunately, only the `json` format is supported right now.

The `extends` field will not take effect; normal `-D` and `-A` flags still apply.

#### New Rules

##### Correctness

-   deepscan: bad object literal comparison by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1844](https://togithub.com/oxc-project/oxc/pull/1844)
-   oxc: erasing op by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1834](https://togithub.com/oxc-project/oxc/pull/1834)
-   oxc: only used in recursion by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1833](https://togithub.com/oxc-project/oxc/pull/1833)
-   eslint: no irregular whitespace by [@&#8203;DeividAlmeida](https://togithub.com/DeividAlmeida) in [https://github.com/oxc-project/oxc/pull/1877](https://togithub.com/oxc-project/oxc/pull/1877)
-   eslint: no-unused-private-class-members rule by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/1820](https://togithub.com/oxc-project/oxc/pull/1820)
-   eslint: no-var by [@&#8203;zhangrunzhao](https://togithub.com/zhangrunzhao) in [https://github.com/oxc-project/oxc/pull/1890](https://togithub.com/oxc-project/oxc/pull/1890)
-   eslint-plugin-react: jsx-no-undef for by [@&#8203;XantreGodlike](https://togithub.com/XantreGodlike) in [https://github.com/oxc-project/oxc/pull/1862](https://togithub.com/oxc-project/oxc/pull/1862)
-   eslint-plugin-jsx-a11y: aria-role by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [https://github.com/oxc-project/oxc/pull/1849](https://togithub.com/oxc-project/oxc/pull/1849)
-   eslint-plugin-jsx-a11y: lang by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [https://github.com/oxc-project/oxc/pull/1812](https://togithub.com/oxc-project/oxc/pull/1812)
-   eslint-plugin-jsx-a11y: media-has-caption by [@&#8203;poteboy](https://togithub.com/poteboy) in [https://github.com/oxc-project/oxc/pull/1822](https://togithub.com/oxc-project/oxc/pull/1822)
-   eslint-plugin-jsx-a11y: mouse-events-have-key-events(correctness) by [@&#8203;Ken-HH24](https://togithub.com/Ken-HH24) in [https://github.com/oxc-project/oxc/pull/1867](https://togithub.com/oxc-project/oxc/pull/1867)
-   eslint-plugin-jsx-a11y: prefer-tag-over-role rule by [@&#8203;yossydev](https://togithub.com/yossydev) in [https://github.com/oxc-project/oxc/pull/1831](https://togithub.com/oxc-project/oxc/pull/1831)
-   eslint-plugin-jsx-a11y: aria-unsupported-elements by [@&#8203;re-taro](https://togithub.com/re-taro) in [https://github.com/oxc-project/oxc/pull/1855](https://togithub.com/oxc-project/oxc/pull/1855)
-   eslint-plugin-jsx-a11y: html_has_lang by [@&#8203;msdlisper](https://togithub.com/msdlisper) in [https://github.com/oxc-project/oxc/pull/1843](https://togithub.com/oxc-project/oxc/pull/1843)

##### Suspicious

-   oxc: approx constant by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1818](https://togithub.com/oxc-project/oxc/pull/1818)
-   oxc: misrefactored assign op by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1832](https://togithub.com/oxc-project/oxc/pull/1832)

##### Restriction

-   react: button has type by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1785](https://togithub.com/oxc-project/oxc/pull/1785)
-   unicorn: prefer modern math apis by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1620](https://togithub.com/oxc-project/oxc/pull/1620)

#### Fixes

-   fix(linter): ignore anonymous functional components in arrays for eslint-plugin-react(jsx-key) by [@&#8203;maurice](https://togithub.com/maurice) in [https://github.com/oxc-project/oxc/pull/1858](https://togithub.com/oxc-project/oxc/pull/1858)
-   Prioritize ignored paths when linting by [@&#8203;clarkf](https://togithub.com/clarkf) in [https://github.com/oxc-project/oxc/pull/1878](https://togithub.com/oxc-project/oxc/pull/1878)
-   feat(linter): handle more cases for `const-comparisons` by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1817](https://togithub.com/oxc-project/oxc/pull/1817)
-   feat(semantic): allow reserved keyword defined in ts module block by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/1907](https://togithub.com/oxc-project/oxc/pull/1907)
-   fix(parser): error on source larger than 4 GiB by [@&#8203;overlookmotel](https://togithub.com/overlookmotel) in [https://github.com/oxc-project/oxc/pull/1860](https://togithub.com/oxc-project/oxc/pull/1860)
-   fix(parser): fix incorrectly identified directives by [@&#8203;overlookmotel](https://togithub.com/overlookmotel) in [https://github.com/oxc-project/oxc/pull/1885](https://togithub.com/oxc-project/oxc/pull/1885)
-   fix(parser): terminate parsing if an EmptyParenthesizedExpression error occurs by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/1874](https://togithub.com/oxc-project/oxc/pull/1874)
-   fix(semantic): remove duplicate errors in ModuleDeclaration::ImportDeclaration by [@&#8203;Dunqing](https://togithub.com/Dunqing) in [https://github.com/oxc-project/oxc/pull/1846](https://togithub.com/oxc-project/oxc/pull/1846)
-   perf(linter): reduce the number of diagnostics for no_sparse_arrays by [@&#8203;camc314](https://togithub.com/camc314) in [https://github.com/oxc-project/oxc/pull/1895](https://togithub.com/oxc-project/oxc/pull/1895)

#### New Contributors

-   [@&#8203;maurice](https://togithub.com/maurice) made their first contribution in [https://github.com/oxc-project/oxc/pull/1858](https://togithub.com/oxc-project/oxc/pull/1858)
-   [@&#8203;re-taro](https://togithub.com/re-taro) made their first contribution in [https://github.com/oxc-project/oxc/pull/1855](https://togithub.com/oxc-project/oxc/pull/1855)
-   [@&#8203;DeividAlmeida](https://togithub.com/DeividAlmeida) made their first contribution in [https://github.com/oxc-project/oxc/pull/1835](https://togithub.com/oxc-project/oxc/pull/1835)
-   [@&#8203;XantreGodlike](https://togithub.com/XantreGodlike) made their first contribution in [https://github.com/oxc-project/oxc/pull/1862](https://togithub.com/oxc-project/oxc/pull/1862)
-   [@&#8203;Qix-](https://togithub.com/Qix-) made their first contribution in [https://github.com/oxc-project/oxc/pull/1861](https://togithub.com/oxc-project/oxc/pull/1861)
-   [@&#8203;yossydev](https://togithub.com/yossydev) made their first contribution in [https://github.com/oxc-project/oxc/pull/1831](https://togithub.com/oxc-project/oxc/pull/1831)
-   [@&#8203;clarkf](https://togithub.com/clarkf) made their first contribution in [https://github.com/oxc-project/oxc/pull/1878](https://togithub.com/oxc-project/oxc/pull/1878)
-   [@&#8203;zhangrunzhao](https://togithub.com/zhangrunzhao) made their first contribution in [https://github.com/oxc-project/oxc/pull/1890](https://togithub.com/oxc-project/oxc/pull/1890)

**Full Changelog**: https://github.com/oxc-project/oxc/compare/oxlint_v0.0.22...oxlint_v0.1.1

### [`v0.1.0`](https://togithub.com/oxc-project/oxc/releases/tag/v0.1.0): CLI v0.1.0 Ezno Type Checker

[Compare Source](a1accdca7f...v0.1.0)

`npx oxidation-compiler@latest check ./test.ts`

![image](https://togithub.com/Boshen/oxc/assets/1430279/c7308395-1856-43fa-b4b8-b239886ec259)

#### New Contributors

-   [@&#8203;anonrig](https://togithub.com/anonrig) made their first contribution in [https://github.com/Boshen/oxc/pull/388](https://togithub.com/Boshen/oxc/pull/388)
-   [@&#8203;kaleidawave](https://togithub.com/kaleidawave) made their first contribution in [https://github.com/Boshen/oxc/pull/413](https://togithub.com/Boshen/oxc/pull/413)

**Full Changelog**: https://github.com/Boshen/oxc/compare/v0.0.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 this update again.

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-07 09:11:49 +00:00
DarkSky
443908da22 feat: add workspace experimental features api (#5525) 2024-01-06 11:04:49 +00:00
DarkSky
9650a5a6a1 feat: use relative path for api (#5520) 2024-01-05 14:01:25 +00:00
Peng Xiao
b86a5a2830 fix(core): sidebar extension sometimes not show (#5513) 2024-01-05 13:17:02 +00:00
LongYinan
b0716ae721 chore: bump up all non-major dependencies to v1.1.3 (#5519)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.1.2...v1.1.3)

#####    🐞 Bug Fixes

-   **vitest**:
    -   Vi.mock breaks tests when using imported variables inside the factory  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) and **Dunqing** in [https://github.com/vitest-dev/vitest/issues/4873](https://togithub.com/vitest-dev/vitest/issues/4873) [<samp>(7719e)</samp>](https://togithub.com/vitest-dev/vitest/commit/7719e79e)
    -   Apply `slowTestThreshold` to all reporters  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4876](https://togithub.com/vitest-dev/vitest/issues/4876) [<samp>(1769c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1769c796)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.1.2...v1.1.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-05 09:53:28 +00:00
LongYinan
1dae488863 chore: bump up @blocksuite/icons version to v2.1.40 (#5516)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.40`](e255947e4e...2b42f403fb)

[Compare Source](e255947e4e...2b42f403fb)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-05 09:29:40 +00:00
LongYinan
b166f5dbf2 feat: upgrade to rust 1.75.0 (#5515) 2024-01-05 08:19:14 +00:00
LongYinan
3cdfa8ca22 chore: bump up all non-major dependencies (#5499)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.484.0` -> `3.485.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.484.0/3.485.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.485.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.485.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.484.0/3.485.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.484.0/3.485.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.29` -> `3.0.0-alpha.30`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.29/3.0.0-alpha.30) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.30?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.30?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.29/3.0.0-alpha.30?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.29/3.0.0-alpha.30?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@node-rs/jsonwebtoken](https://togithub.com/napi-rs/node-rs) | [`^0.2.3` -> `^0.3.0`](https://renovatebot.com/diffs/npm/@node-rs%2fjsonwebtoken/0.2.3/0.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@node-rs%2fjsonwebtoken/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@node-rs%2fjsonwebtoken/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@node-rs%2fjsonwebtoken/0.2.3/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@node-rs%2fjsonwebtoken/0.2.3/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.34.4` -> `^0.35.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.34.4/0.35.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.34.4/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.34.4/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`^0.15.2` -> `^0.16.0`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.15.2/0.16.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.15.2/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.15.2/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.1.1` -> `1.1.2`](https://renovatebot.com/diffs/npm/vitest/1.1.1/1.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.1.1/1.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.485.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34850-2024-01-03)

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

##### Features

-   **credential-providers:** add credentialScope field ([#&#8203;5606](https://togithub.com/aws/aws-sdk-js-v3/issues/5606)) ([04c1459](04c1459289))

</details>

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

### [`v3.0.0-alpha.30`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.30)

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

##### What's Changed

-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1882](https://togithub.com/napi-rs/napi-rs/pull/1882)
-   fix(cli): wasi fallback package load logic by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1887](https://togithub.com/napi-rs/napi-rs/pull/1887)
-   fix(cli): upload to github releases issue by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1888](https://togithub.com/napi-rs/napi-rs/pull/1888)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.29...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.30

</details>

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

### [`v0.3.1`](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.3.0...@node-rs/jsonwebtoken@0.3.1)

[Compare Source](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.3.0...@node-rs/jsonwebtoken@0.3.1)

### [`v0.3.0`](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.2.3...@node-rs/jsonwebtoken@0.3.0)

[Compare Source](https://togithub.com/napi-rs/node-rs/compare/@node-rs/jsonwebtoken@0.2.3...@node-rs/jsonwebtoken@0.3.0)

</details>

<details>
<summary>open-telemetry/opentelemetry-js-contrib (@&#8203;opentelemetry/instrumentation-socket.io)</summary>

### [`v0.35.0`](efdfc727a4...f81f8a76a8)

[Compare Source](a757b5e443...9092823125)

</details>

<details>
<summary>storybookjs/test-runner (@&#8203;storybook/test-runner)</summary>

### [`v0.16.0`](https://togithub.com/storybookjs/test-runner/releases/tag/v0.16.0)

[Compare Source](https://togithub.com/storybookjs/test-runner/compare/v0.15.2...v0.16.0)

##### 🚀 Enhancement

-   Introduce logLevel configuration [#&#8203;406](https://togithub.com/storybookjs/test-runner/pull/406) ([@&#8203;yannbf](https://togithub.com/yannbf))

##### 🐛 Bug Fix

-   Filter duplicated error messages in browser logs [#&#8203;405](https://togithub.com/storybookjs/test-runner/pull/405) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Fix sync issues between tests [#&#8203;404](https://togithub.com/storybookjs/test-runner/pull/404) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Refactor: Extract the setup page scripts into a separate file [#&#8203;403](https://togithub.com/storybookjs/test-runner/pull/403) ([@&#8203;yannbf](https://togithub.com/yannbf))
-   Docs: Adds feedback form to migration documentation [#&#8203;402](https://togithub.com/storybookjs/test-runner/pull/402) ([@&#8203;jonniebigodes](https://togithub.com/jonniebigodes))
-   Bump `jest-playwright-preset` from `v3.0.1` to `v4.0.0` [#&#8203;400](https://togithub.com/storybookjs/test-runner/pull/400) ([@&#8203;kemuridama](https://togithub.com/kemuridama))
-   Improve type safety and code quality [#&#8203;383](https://togithub.com/storybookjs/test-runner/pull/383) ([@&#8203;bryanjtc](https://togithub.com/bryanjtc) [@&#8203;yannbf](https://togithub.com/yannbf))
-   Refactor: Improve internal code [#&#8203;378](https://togithub.com/storybookjs/test-runner/pull/378) ([@&#8203;bryanjtc](https://togithub.com/bryanjtc) [@&#8203;yannbf](https://togithub.com/yannbf))

##### Authors: 4

-   [@&#8203;jonniebigodes](https://togithub.com/jonniebigodes)
-   Bryan Thomas ([@&#8203;bryanjtc](https://togithub.com/bryanjtc))
-   Ryo Ochiai ([@&#8203;kemuridama](https://togithub.com/kemuridama))
-   Yann Braga ([@&#8203;yannbf](https://togithub.com/yannbf))

</details>

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

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.1.1...v1.1.2)

#####    🐞 Bug Fixes

-   Remove internal flag from UI option in the config  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(7b4a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/7b4a2fce)
-   **browser**:
    -   Avoid safaridriver collision  -  by [@&#8203;mbland](https://togithub.com/mbland) in [https://github.com/vitest-dev/vitest/issues/4863](https://togithub.com/vitest-dev/vitest/issues/4863) [<samp>(345a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/345a25d6)
    -   Resolved failure to find arbitrarily-named snapshot files when using `expect(...).toMatchFileSnapshot()` matcher.  -  by [@&#8203;zmullett](https://togithub.com/zmullett), **Zac Mullett** and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4839](https://togithub.com/vitest-dev/vitest/issues/4839) [<samp>(b8140)</samp>](https://togithub.com/vitest-dev/vitest/commit/b8140fca)
    -   Handle config.base  -  by [@&#8203;mbland](https://togithub.com/mbland) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4686](https://togithub.com/vitest-dev/vitest/issues/4686) and [https://github.com/vitest-dev/vitest/issues/4692](https://togithub.com/vitest-dev/vitest/issues/4692) [<samp>(9e345)</samp>](https://togithub.com/vitest-dev/vitest/commit/9e34557e)
-   **deps**:
    -   Update dependency acorn-walk to ^8.3.1  -  by [@&#8203;renovate](https://togithub.com/renovate)\[bot] in[https://github.com/vitest-dev/vitest/issues/4837](https://togithub.com/vitest-dev/vitest/issues/4837)7 [<samp>(47bc2)</samp>](https://togithub.com/vitest-dev/vitest/commit/47bc233d)
    -   Update dependency sirv to ^2.0.4  -  by [@&#8203;renovate](https://togithub.com/renovate)\[bot] in[https://github.com/vitest-dev/vitest/issues/4838](https://togithub.com/vitest-dev/vitest/issues/4838)8 [<samp>(df261)</samp>](https://togithub.com/vitest-dev/vitest/commit/df261ae1)
-   **runner**:
    -   Fix fixture cleanup for concurrent tests  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4827](https://togithub.com/vitest-dev/vitest/issues/4827) [<samp>(1fee6)</samp>](https://togithub.com/vitest-dev/vitest/commit/1fee63f2)
-   **spy**:
    -   Don't allow `Promise` in `mockImplementation` if it's not in the function signature  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4859](https://togithub.com/vitest-dev/vitest/issues/4859) [<samp>(072e0)</samp>](https://togithub.com/vitest-dev/vitest/commit/072e02bf)
-   **vite-node**:
    -   Correctly return cached result  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4870](https://togithub.com/vitest-dev/vitest/issues/4870) [<samp>(15bbb)</samp>](https://togithub.com/vitest-dev/vitest/commit/15bbbf81)
-   **vitest**:
    -   Throw an error if mock was already loaded when `vi.mock` is called  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4862](https://togithub.com/vitest-dev/vitest/issues/4862) [<samp>(e12a5)</samp>](https://togithub.com/vitest-dev/vitest/commit/e12a5a36)
    -   Correctly rerun test files on change if server was restarted  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4871](https://togithub.com/vitest-dev/vitest/issues/4871) [<samp>(6088b)</samp>](https://togithub.com/vitest-dev/vitest/commit/6088b372)
-   **vm-threads**:
    -   Don't crash on percentage based `memoryLimit`  -  by [@&#8203;inottn](https://togithub.com/inottn) and [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/4802](https://togithub.com/vitest-dev/vitest/issues/4802) [<samp>(70e8a)</samp>](https://togithub.com/vitest-dev/vitest/commit/70e8a389)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.1.1...v1.1.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-05 07:23:22 +00:00
DarkSky
f6ec786ef9 feat: add workspace level feature apis (#5503) 2024-01-05 04:13:49 +00:00
DarkSky
04ca554525 feat: add workspace feature tests (#5501) 2024-01-05 04:13:47 +00:00
DarkSky
97f8927c21 feat: workspace level feature schema (#5466) 2024-01-05 04:13:44 +00:00
LongYinan
7b6430ebc3 chore: bump up @blocksuite/icons version to v2.1.39 (#5511)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v2.1.39`](83cf4ea106...e255947e4e)

[Compare Source](83cf4ea106...e255947e4e)

### [`v2.1.38`](1c26e8f533...83cf4ea106)

[Compare Source](1c26e8f533...83cf4ea106)

### [`v2.1.37`](310adb0b9f...1c26e8f533)

[Compare Source](310adb0b9f...1c26e8f533)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-04 14:13:26 +00:00
LongYinan
e4b9f01186 chore: bump up chromatic version to v10 (#5512)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [chromatic](https://www.chromatic.com) ([source](https://togithub.com/chromaui/chromatic-cli)) | [`^9.1.0` -> `^10.0.0`](https://renovatebot.com/diffs/npm/chromatic/9.1.0/10.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/chromatic/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/chromatic/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/chromatic/9.1.0/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/chromatic/9.1.0/10.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>chromaui/chromatic-cli (chromatic)</summary>

### [`v10.2.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1020-Thu-Dec-21-2023)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.1.0...v10.2.0)

##### 🚀 Enhancement

-   Replace `getUploadUrls` with `uploadBuild` mutation [#&#8203;876](https://togithub.com/chromaui/chromatic-cli/pull/876) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))
-   Implement file hashing for to-be-uploaded files [#&#8203;870](https://togithub.com/chromaui/chromatic-cli/pull/870) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### 🐛 Bug Fix

-   Allow overriding `NODE_ENV` with `STORYBOOK_NODE_ENV` [#&#8203;879](https://togithub.com/chromaui/chromatic-cli/pull/879) ([@&#8203;tmeasday](https://togithub.com/tmeasday))
-   Use code splitting in tsup CJS output [#&#8203;873](https://togithub.com/chromaui/chromatic-cli/pull/873) ([@&#8203;tmeasday](https://togithub.com/tmeasday))

##### Authors: 2

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

***

### [`v10.1.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1010-Thu-Dec-07-2023)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v10.0.0...v10.1.0)

##### 🚀 Enhancement

-   Increase number of commits checked for squash merge [#&#8203;866](https://togithub.com/chromaui/chromatic-cli/pull/866) ([@&#8203;tmeasday](https://togithub.com/tmeasday) [@&#8203;tevanoff](https://togithub.com/tevanoff))

##### Authors: 2

-   Todd Evanoff ([@&#8203;tevanoff](https://togithub.com/tevanoff))
-   Tom Coleman ([@&#8203;tmeasday](https://togithub.com/tmeasday))

***

### [`v10.0.0`](https://togithub.com/chromaui/chromatic-cli/blob/HEAD/CHANGELOG.md#v1000-Fri-Dec-01-2023)

[Compare Source](https://togithub.com/chromaui/chromatic-cli/compare/v9.1.0...v10.0.0)

##### 💥 Breaking Change

-   Force `NODE_ENV=production` for Storybook builds through the CLI [#&#8203;865](https://togithub.com/chromaui/chromatic-cli/pull/865) ([@&#8203;tmeasday](https://togithub.com/tmeasday))

##### 🐛 Bug Fix

-   Support pinning GitHub Action to major or patch version [#&#8203;863](https://togithub.com/chromaui/chromatic-cli/pull/863) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld))

##### Authors: 2

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

***

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-04 14:00:45 +00:00
JimmFly
971f2beed1 fix(core): disable quick search when the link-popup is visitable (#5409)
close AFF-471
2024-01-04 11:36:50 +00:00
DarkSky
f5b74ca8a9 feat: add copilot feature type (#5465) 2024-01-04 10:36:34 +00:00
LongYinan
df09dac389 fix: renovate ignorePaths should not include tests 2024-01-04 18:34:54 +08:00
LongYinan
6789da163d chore: workspaces config in package.json (#5502)
This will affect the dependency detection feature of renovate.
2024-01-04 07:36:36 +00:00
Joooye_34
36fde20b7d fix(electron): client always update cause by version not update correctly (#5507)
close #5475
2024-01-04 07:25:20 +00:00
LongYinan
400488980f chore: bump up c8 version to v9 (#5505)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>bcoe/c8 (c8)</summary>

### [`v9.0.0`](https://togithub.com/bcoe/c8/blob/HEAD/CHANGELOG.md#900-2024-01-03)

[Compare Source](https://togithub.com/bcoe/c8/compare/v8.0.1...v9.0.0)

##### ⚠ BREAKING CHANGES

-   **build:** minimum Node.js version is now 14.14.0

##### Features

-   **build:** minimum Node.js version is now 14.14.0 ([2cdc86b](2cdc86bd0a))
-   **deps:** update foreground-child to promise API ([#&#8203;512](https://togithub.com/bcoe/c8/issues/512)) ([b46b640](b46b640127))
-   **deps:** use Node.js built in rm ([2cdc86b](2cdc86bd0a))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-04 03:50:24 +00:00
JimmFly
7d886e44a6 feat(core): add cloud workspace member limit (#5500)
<img width="521" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/2cac78ef-07ed-4e06-b739-1279f913d0e1">
<img width="514" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/eed0db08-8550-4686-8ea1-251f1c4c7fee">
2024-01-03 14:57:27 +00:00
liuyi
760d900f99 feat(server): blob data migration (#5461) 2024-01-03 10:56:57 +00:00
liuyi
0d34805375 refactor(server): use new storage providers (#5433) 2024-01-03 10:56:55 +00:00
Peng Xiao
a709624ebf feat(core): page preview ui optimize (#5442)
![CleanShot 2023-12-28 at 23.42.44@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/16b66e74-4b0d-48a5-9062-c86c94f6b065.png)
fix TOV-92

No animations right now.
2024-01-03 03:30:43 +00:00
Peng Xiao
6cb62ed25d feat: bump blocksuite (#5453)
Change history: https://github.com/toeverything/blocksuite/compare/e3abcbb...master
2024-01-03 02:10:19 +00:00
Peng Xiao
8dc3e3d65c fix(core): add free plan prompt (#5441)
fix TOV-91

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/e209abd9-8831-46a4-a00e-fe4bef627d2f.png)
2024-01-03 01:50:32 +00:00
Peng Xiao
444de6d4ac fix(core): adjust error boundary level (#5493)
Allowing showing page title for page detail when page throws error.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/398bef13-c52d-40b4-bf53-5157582d030a.png)
2024-01-02 22:48:19 +08:00
Peng Xiao
922bc11f16 test(core): fix selectMonthFromMonthPicker logic (#5498) 2024-01-02 14:21:14 +00:00
LongYinan
53c76ae2e2 chore: bump up vitest version to v1.1.1 (#5495)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>vitest-dev/vitest (vitest)</summary>

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.1.0...v1.1.1)

#####    🐞 Bug Fixes

-   Don't crash when using happy-dom or jsdom environment on Yarn PnP workspaces  -  by [@&#8203;wojtekmaj](https://togithub.com/wojtekmaj) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4698](https://togithub.com/vitest-dev/vitest/issues/4698) [<samp>(ee8b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/ee8b46db)
-   Don't fail if `inline: true` is set  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4815](https://togithub.com/vitest-dev/vitest/issues/4815) [<samp>(8f622)</samp>](https://togithub.com/vitest-dev/vitest/commit/8f6225b8)
-   Correct option name `--no-parallelism`  -  by [@&#8203;bonyuta0204](https://togithub.com/bonyuta0204) in [https://github.com/vitest-dev/vitest/issues/4831](https://togithub.com/vitest-dev/vitest/issues/4831) [<samp>(5053a)</samp>](https://togithub.com/vitest-dev/vitest/commit/5053a5dd)
-   Match jest json output by making json reporter output ndjson-compatible  -  by [@&#8203;bard](https://togithub.com/bard) in [https://github.com/vitest-dev/vitest/issues/4824](https://togithub.com/vitest-dev/vitest/issues/4824) [<samp>(7e6a6)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e6a62af)
-   **runner**:
    -   Reset "current test" state on dynamic `skip`  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4814](https://togithub.com/vitest-dev/vitest/issues/4814) [<samp>(19faf)</samp>](https://togithub.com/vitest-dev/vitest/commit/19faf00e)
-   **vitest**:
    -   Don't hang when mocking files with cyclic dependencies  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4811](https://togithub.com/vitest-dev/vitest/issues/4811) [<samp>(e8ca6)</samp>](https://togithub.com/vitest-dev/vitest/commit/e8ca6437)
    -   Initialize snapshot state only once for each file suite  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4796](https://togithub.com/vitest-dev/vitest/issues/4796) [<samp>(957da)</samp>](https://togithub.com/vitest-dev/vitest/commit/957daa32)
    -   Fix file snapshots in skipped suites considered obsolete  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4795](https://togithub.com/vitest-dev/vitest/issues/4795) [<samp>(06c14)</samp>](https://togithub.com/vitest-dev/vitest/commit/06c14f7d)
    -   Show `beforeAll/afterAll` errors in junit reporter  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4819](https://togithub.com/vitest-dev/vitest/issues/4819) [<samp>(2baea)</samp>](https://togithub.com/vitest-dev/vitest/commit/2baea35e)
-   **vm-threads**:
    -   Tests not cancelled on key press, cancelled tests shown twice  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/4781](https://togithub.com/vitest-dev/vitest/issues/4781) [<samp>(cf53d)</samp>](https://togithub.com/vitest-dev/vitest/commit/cf53d4be)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.1.0...v1.1.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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-02 13:46:17 +00:00
EYHN
4aae3cbba3 docs: initial api reference docs (#5352) 2024-01-02 12:46:27 +00:00
DarkSky
44eb7b97f4 chore: bump vulnerable deps (#5494) 2024-01-02 12:32:47 +00:00
EYHN
54c6b445ea fix(workspace): make ci stable (#5496) 2024-01-02 12:21:35 +00:00
EYHN
104c21d84c refactor(workspace): split workspace interface and implementation (#5463)
@affine/workspace -> (@affine/workspace, @affine/workspace-impl)
2024-01-02 10:58:01 +00:00
EYHN
9d0b3b4947 refactor(core): move workspace atoms to core (#5459)
@affine/workspace/atom -> @affine/core/modules/workspace
2024-01-02 10:06:48 +00:00
EYHN
4b217e6b89 refactor(core): move hooks to core (#5458)
* move @toeverything/hooks -> @affine/core/hooks
* delete @toeverything/hooks

hooks are all business-related logic and are deeply coupled with other parts.

Move them into the core and then reconstruct them by feature.
2024-01-02 08:05:46 +00:00
LongYinan
6862b7deaf chore: bump up @napi-rs/cli version to v3.0.0-alpha.29 (#5492)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.28` -> `3.0.0-alpha.29`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.28/3.0.0-alpha.29) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.29?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.29?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.28/3.0.0-alpha.29?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.28/3.0.0-alpha.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-02 07:39:44 +00:00
EYHN
6844b282ac refactor(component): adjust active editor atom (#5457)
before:

set global `blocksuiteEditorAtom` state in `<BlocksuiteEditorImpl />`

after:

Rename `blocksuiteEditorAtom` to `activeBlocksuiteEditorAtom`

And move the logic of setting this atom to `<PageDetailEditor />`.

benefit:

* make BlocksuiteEditor pure
* keep @toeverything/component clear
* Clarify the purpose of `activeBlocksuiteEditorAtom`
2024-01-02 07:30:09 +00:00
liuyi
1eefd712dd feat(server): new storage provider (#5410) 2024-01-02 07:21:01 +00:00
liuyi
abcca8b09e refactor(server): object storages (#5405) 2024-01-02 07:01:25 +00:00
Peng Xiao
b84494ef86 feat(core): optimize history list item ui (#5440)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/fa1b3626-4c07-411a-ae15-680b1ad70522.png)

fix TOV-90
2024-01-02 05:46:56 +00:00
LongYinan
b92f2cb29a chore: bump up all non-major dependencies (#5488)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.481.0` -> `3.484.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.481.0/3.484.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.481.0/3.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.481.0/3.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.25` -> `3.0.0-alpha.28`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.25/3.0.0-alpha.28) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.28?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.28?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.25/3.0.0-alpha.28?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.25/3.0.0-alpha.28?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [fake-indexeddb](https://togithub.com/dumbmatter/fakeIndexedDB) | [`5.0.1` -> `5.0.2`](https://renovatebot.com/diffs/npm/fake-indexeddb/5.0.1/5.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fake-indexeddb/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fake-indexeddb/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fake-indexeddb/5.0.1/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fake-indexeddb/5.0.1/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.1.0` -> `1.1.1`](https://renovatebot.com/diffs/npm/vitest/1.1.0/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.1.0/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v3.484.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34840-2023-12-29)

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

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

</details>

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

### [`v3.0.0-alpha.28`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.28)

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

##### What's Changed

-   fix(cli): copy binding files into wasi packages by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1881](https://togithub.com/napi-rs/napi-rs/pull/1881)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.27...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.28

### [`v3.0.0-alpha.27`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.27)

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

##### What's Changed

-   fix(deps): update dependency emnapi to v0.45.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1879](https://togithub.com/napi-rs/napi-rs/pull/1879)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.26...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.27

</details>

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

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

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.1.0...v1.1.1)

#####    🐞 Bug Fixes

-   Don't crash when using happy-dom or jsdom environment on Yarn PnP workspaces  -  by [@&#8203;wojtekmaj](https://togithub.com/wojtekmaj) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4698](https://togithub.com/vitest-dev/vitest/issues/4698) [<samp>(ee8b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/ee8b46db)
-   Don't fail if `inline: true` is set  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4815](https://togithub.com/vitest-dev/vitest/issues/4815) [<samp>(8f622)</samp>](https://togithub.com/vitest-dev/vitest/commit/8f6225b8)
-   Correct option name `--no-parallelism`  -  by [@&#8203;bonyuta0204](https://togithub.com/bonyuta0204) in [https://github.com/vitest-dev/vitest/issues/4831](https://togithub.com/vitest-dev/vitest/issues/4831) [<samp>(5053a)</samp>](https://togithub.com/vitest-dev/vitest/commit/5053a5dd)
-   Match jest json output by making json reporter output ndjson-compatible  -  by [@&#8203;bard](https://togithub.com/bard) in [https://github.com/vitest-dev/vitest/issues/4824](https://togithub.com/vitest-dev/vitest/issues/4824) [<samp>(7e6a6)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e6a62af)
-   **runner**:
    -   Reset "current test" state on dynamic `skip`  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4814](https://togithub.com/vitest-dev/vitest/issues/4814) [<samp>(19faf)</samp>](https://togithub.com/vitest-dev/vitest/commit/19faf00e)
-   **vitest**:
    -   Don't hang when mocking files with cyclic dependencies  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4811](https://togithub.com/vitest-dev/vitest/issues/4811) [<samp>(e8ca6)</samp>](https://togithub.com/vitest-dev/vitest/commit/e8ca6437)
    -   Initialize snapshot state only once for each file suite  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4796](https://togithub.com/vitest-dev/vitest/issues/4796) [<samp>(957da)</samp>](https://togithub.com/vitest-dev/vitest/commit/957daa32)
    -   Fix file snapshots in skipped suites considered obsolete  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4795](https://togithub.com/vitest-dev/vitest/issues/4795) [<samp>(06c14)</samp>](https://togithub.com/vitest-dev/vitest/commit/06c14f7d)
    -   Show `beforeAll/afterAll` errors in junit reporter  -  by [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/4819](https://togithub.com/vitest-dev/vitest/issues/4819) [<samp>(2baea)</samp>](https://togithub.com/vitest-dev/vitest/commit/2baea35e)
-   **vm-threads**:
    -   Tests not cancelled on key press, cancelled tests shown twice  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/4781](https://togithub.com/vitest-dev/vitest/issues/4781) [<samp>(cf53d)</samp>](https://togithub.com/vitest-dev/vitest/commit/cf53d4be)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.1.0...v1.1.1)

</details>

<details>
<summary>dumbmatter/fakeIndexedDB (fake-indexeddb)</summary>

### [`v5.0.2`](https://togithub.com/dumbmatter/fakeIndexedDB/blob/HEAD/CHANGELOG.md#502-2023-12-30)

[Compare Source](https://togithub.com/dumbmatter/fakeIndexedDB/compare/v5.0.1...v5.0.2)

-   [#&#8203;94](https://togithub.com/dumbmatter/fakeIndexedDB/issues/94) - Improved performance of `IDBObjectStore.count` and `IDBIndex.count`.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-02 04:51:44 +00:00
LongYinan
986860070b fix: renovate preserveSemverRanges rule should not be in group 2024-01-02 12:19:55 +08:00
LongYinan
ae3afccdb2 fix: renovate config 2024-01-02 12:13:37 +08:00
LongYinan
b0d90c26d3 ci: fix invalid renovate config (#5470)
- Close https://github.com/toeverything/AFFiNE/issues/5469
2024-01-02 03:37:22 +00:00
Peng Xiao
da5ac224ca test(core): select monthpicker issue when crossing different years (#5478) 2024-01-02 03:28:38 +00:00
LongYinan
10aeefe36d ci: prevent @blocksuite/* packages upgraded without group (#5467) 2023-12-29 10:23:56 +00:00
LongYinan
8eda42c57f chore: remove abbey-wood helm chart (#5464) 2023-12-29 17:51:23 +08:00
Joooye_34
d668016e4c feat(electron): use release api to filter draft release (#5443) 2023-12-29 09:01:35 +00:00
Joooye_34
3341295fc1 ci: temporarily save release from branch to affine-releases (#5455) 2023-12-29 17:00:10 +08:00
Peng Xiao
9e092b9c15 fix(core): long page title issue in page history (#5436)
![CleanShot 2023-12-28 at 18.17.50@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/43733a5b-d1b4-40d5-b9d4-f86896cc0598.png)
2023-12-29 07:27:02 +00:00
Peng Xiao
f65c5dbfa7 fix(core): upgrade page when previewing/reverting page snapshot (#5435) 2023-12-29 07:26:58 +00:00
DarkSky
3082d63948 fix: use absolute path in gql client (#5454) 2023-12-29 06:48:04 +00:00
Joooye_34
5a1065c646 test(electron): add unit tests for updater (#5439) 2023-12-29 04:39:29 +00:00
LongYinan
15566d8507 chore: bump up @nx/vite version to v17.2.8 (#5425)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`17.2.7` -> `17.2.8`](https://renovatebot.com/diffs/npm/@nx%2fvite/17.2.7/17.2.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/17.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/17.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/17.2.7/17.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/17.2.7/17.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v17.2.8`](https://togithub.com/nrwl/nx/releases/tag/17.2.8)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.7...17.2.8)

#### 17.2.8

##### 🚀 Features

-   **remix:** add remix

##### 🩹 Fixes

-   **linter:** flat config should always set path to config when using API
-   **nextjs:** update migration to handle projects without eslintrc

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-29 04:10:19 +00:00
Peng Xiao
3978b2dfd2 refactor(core): onboarding using new transformer api (#5412)
Use new `transformer` to import onboarding json templates.

The json files are generated via this gist
https://gist.github.com/pengx17/ef92c305ac23123803a1a6a20e31f822

Not using the all-in-one `ZipTransformer` to import onboarding via a zip file.
1. The main concerns is that we still need to serve the blob resources via CDN to reduce user's blob usage. Otherwise the user will get the onboarding images being uploaded to cloud server every time he creates a new workspace. In this PR we extracted parts of the code from `ZipTransformer` in blocksuite and mute some code for uploading blobs.
2. it maybe not necessary to use zip for loading snapshots.

This PR is a short term solution. whether or not to tune the transformer api design may need further discussions.

fix TOV-264
2023-12-28 13:59:21 +00:00
JimmFly
954b751e7c chore: adjust side bar empty item color (#5422) 2023-12-28 13:49:14 +00:00
DarkSky
b3dbac3d4c feat: add migration for rename unamed accounts (#5434)
fix TOV-130
2023-12-28 12:20:00 +00:00
Peng Xiao
6fefe4ec71 fix(storybook): storybook flaky (#5430)
should add additional wait timeout for every story.play

I think this is a storybook issue. It seems that it starts to run the plays as soon as the following shows up:

![CleanShot 2023-12-28 at 17.32.49@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/33d5e49d-a2fd-46c5-9f31-0f7cc14c3acf.png)
2023-12-28 10:07:05 +00:00
EYHN
9d51f9596f refactor(component): make component pure (#5427) 2023-12-28 09:57:26 +00:00
JimmFly
e11e8277ca feat: add useBlocksuiteEditor hooks (#5366) 2023-12-28 08:36:36 +00:00
LongYinan
431f7cfac9 ci: exclude blocksuite from auto update group (#5424) 2023-12-28 08:22:20 +00:00
LongYinan
2f45200542 feat(server): upgrade prisma to use native relation joins and distinct (#5420)
https://github.com/prisma/prisma/releases/tag/5.7.0
2023-12-28 08:09:11 +00:00
LongYinan
07c63703b1 chore: bump up all non-major dependencies (#5187)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.433.0` -> `3.481.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.433.0/3.481.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.481.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.481.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.433.0/3.481.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.433.0/3.481.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/block-std](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblock-std/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/blocks](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fblocks/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fblocks/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fblocks/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/global](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fglobal/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fglobal/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fglobal/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.36` -> `2.1.39`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.36/2.1.39) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.36/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.36/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/icons](https://togithub.com/toeverything/icons) | [`2.1.36` -> `2.1.39`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.1.36/2.1.39) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.1.36/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.1.36/2.1.39?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/inline](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2finline/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2finline/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2finline/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2finline/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2finline/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/lit](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2flit/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2flit/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/lit](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2flit/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2flit/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2flit/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/presets](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fpresets/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fpresets/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fpresets/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@blocksuite/store](https://togithub.com/toeverything/blocksuite) | [`0.11.0-nightly-202312220916-e3abcbb` -> `0.11.0-nightly-202312270831-214616d`](https://renovatebot.com/diffs/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2fstore/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2fstore/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2fstore/0.11.0-nightly-202312220916-e3abcbb/0.11.0-nightly-202312270831-214616d?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@electron/remote](https://togithub.com/electron/remote) | [`2.1.0` -> `2.1.1`](https://renovatebot.com/diffs/npm/@electron%2fremote/2.1.0/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron%2fremote/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron%2fremote/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron%2fremote/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron%2fremote/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@marsidev/react-turnstile](https://togithub.com/marsidev/react-turnstile) | [`^0.3.1` -> `^0.4.0`](https://renovatebot.com/diffs/npm/@marsidev%2freact-turnstile/0.3.2/0.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@marsidev%2freact-turnstile/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@marsidev%2freact-turnstile/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@marsidev%2freact-turnstile/0.3.2/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@marsidev%2freact-turnstile/0.3.2/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.15` -> `3.0.0-alpha.25`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.15/3.0.0-alpha.25) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.25?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.25?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.15/3.0.0-alpha.25?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.15/3.0.0-alpha.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`17.1.3` -> `17.2.7`](https://renovatebot.com/diffs/npm/@nx%2fvite/17.1.3/17.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/17.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/17.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/17.1.3/17.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/17.1.3/17.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/test-runner](https://togithub.com/storybookjs/test-runner) | [`^0.15.2` -> `^0.16.0`](https://renovatebot.com/diffs/npm/@storybook%2ftest-runner/0.15.2/0.16.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest-runner/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest-runner/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest-runner/0.15.2/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest-runner/0.15.2/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/@vitest%2fui/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [cloudflare/wrangler-action](https://togithub.com/cloudflare/wrangler-action) | `v3.3.2` -> `v3.4.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/cloudflare%2fwrangler-action/v3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/cloudflare%2fwrangler-action/v3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/cloudflare%2fwrangler-action/v3.3.2/v3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/cloudflare%2fwrangler-action/v3.3.2/v3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor |
| openresty/openresty | `1.21.4.1-0-buster` -> `1.21.4.3-0-buster` | [![age](https://developer.mend.io/api/mc/badges/age/docker/openresty%2fopenresty/1.21.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/openresty%2fopenresty/1.21.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/openresty%2fopenresty/1.21.4.1/1.21.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/openresty%2fopenresty/1.21.4.1/1.21.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | final | patch |
| [postgresql](https://bitnami.com) ([source](https://togithub.com/bitnami/charts/tree/HEAD/bitnami/postgresql)) | `13.2.23` -> `13.2.26` | [![age](https://developer.mend.io/api/mc/badges/age/helm/postgresql/13.2.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/helm/postgresql/13.2.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/helm/postgresql/13.2.23/13.2.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/helm/postgresql/13.2.23/13.2.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [reflect-metadata](http://rbuckton.github.io/reflect-metadata) ([source](https://togithub.com/rbuckton/reflect-metadata)) | [`^0.1.13` -> `^0.2.0`](https://renovatebot.com/diffs/npm/reflect-metadata/0.1.13/0.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/reflect-metadata/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/reflect-metadata/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/reflect-metadata/0.1.13/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reflect-metadata/0.1.13/0.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.6.0` -> `3.7.0`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.6.0/3.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.6.0/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.6.0/3.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`1.0.4` -> `1.1.0`](https://renovatebot.com/diffs/npm/vitest/1.0.4/1.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/1.0.4/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/1.0.4/1.1.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.481.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34810-2023-12-26)

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

##### Features

-   codegen for command class builder ([#&#8203;5604](https://togithub.com/aws/aws-sdk-js-v3/issues/5604)) ([4835de4](4835de4ebb))

### [`v3.478.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34780-2023-12-20)

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

##### Features

-   codegen for paginator factory ([#&#8203;5590](https://togithub.com/aws/aws-sdk-js-v3/issues/5590)) ([e54099b](e54099b7c1))

### [`v3.477.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34770-2023-12-19)

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

##### Features

-   xml codegen reduction ([#&#8203;5566](https://togithub.com/aws/aws-sdk-js-v3/issues/5566)) ([3ed7c81](3ed7c81f91))

### [`v3.476.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34760-2023-12-18)

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

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

### [`v3.474.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34740-2023-12-14)

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

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

### [`v3.473.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34730-2023-12-13)

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

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

### [`v3.472.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34720-2023-12-12)

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

##### Bug Fixes

-   **codegen:** dedupe `[@aws](https://togithub.com/aws).protocols#restXml` serialization ([#&#8203;5568](https://togithub.com/aws/aws-sdk-js-v3/issues/5568)) ([7df7325](7df73259b6))

### [`v3.470.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34700-2023-12-08)

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

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

### [`v3.468.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34680-2023-12-06)

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

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

### [`v3.465.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34650-2023-12-01)

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

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

### [`v3.462.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34620-2023-11-29)

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

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

### [`v3.461.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34610-2023-11-28)

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

##### Features

-   **client-s3:** Adds support for S3 Express One Zone. ([1dcc776](1dcc776322))

### [`v3.460.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34600-2023-11-28)

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

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

### [`v3.458.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34580-2023-11-27)

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

##### Features

-   **client-s3:** Adding new params - Key and Prefix, to S3 API operations for supporting S3 Access Grants. Note - These updates will not change any of the existing S3 API functionality. ([ba36517](ba365170a0))

### [`v3.456.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34560-2023-11-21)

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

##### Features

-   **client-s3:** Add support for automatic date based partitioning in S3 Server Access Logs. ([06ee66a](06ee66ae3b))

### [`v3.454.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34540-2023-11-17)

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

##### Features

-   **client-s3:** Removes all default 0 values for numbers and false values for booleans ([61b32fe](61b32fe67a))

### [`v3.451.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34510-2023-11-14)

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

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

### [`v3.450.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34500-2023-11-13)

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

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

### [`v3.449.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34490-2023-11-10)

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

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

### [`v3.445.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34450-2023-11-07)

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

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

### [`v3.441.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34410-2023-11-01)

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

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

### [`v3.440.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34400-2023-10-31)

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

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

### [`v3.438.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34380-2023-10-27)

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

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

### [`v3.437.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34370-2023-10-26)

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

##### Bug Fixes

-   **signature-v4-crt:** remove dynamic imports (!) ([#&#8203;5225](https://togithub.com/aws/aws-sdk-js-v3/issues/5225)) ([89f97b5](89f97b5cea))

### [`v3.436.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34360-2023-10-25)

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

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

### [`v3.435.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#34350-2023-10-24)

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

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

</details>

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

### [`v2.1.39`](83cf4ea106...e255947e4e)

[Compare Source](83cf4ea106...e255947e4e)

### [`v2.1.38`](1c26e8f533...83cf4ea106)

[Compare Source](1c26e8f533...83cf4ea106)

### [`v2.1.37`](310adb0b9f...1c26e8f533)

[Compare Source](310adb0b9f...1c26e8f533)

</details>

<details>
<summary>electron/remote (@&#8203;electron/remote)</summary>

### [`v2.1.1`](https://togithub.com/electron/remote/releases/tag/v2.1.1)

[Compare Source](https://togithub.com/electron/remote/compare/v2.1.0...v2.1.1)

##### Bug Fixes

-   senderId removed in Electron 28 ([#&#8203;171](https://togithub.com/electron/remote/issues/171)) ([51ff1b4](51ff1b432f))

</details>

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

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

[Compare Source](https://togithub.com/marsidev/react-turnstile/compare/v0.3.2...v0.4.0)

#####    🚀 Features

-   Add `crossOrigin` to `scriptOptions`  -  by [@&#8203;kaichii](https://togithub.com/kaichii) [<samp>(a588b)</samp>](https://togithub.com/marsidev/react-turnstile/commit/a588b72)
-   Add `onLoadScript` callback  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(4e5bc)</samp>](https://togithub.com/marsidev/react-turnstile/commit/4e5bcc3)
-   Add support for `isExpired()` method  -  by [@&#8203;marsidev](https://togithub.com/marsidev) [<samp>(7daca)</samp>](https://togithub.com/marsidev/react-turnstile/commit/7daca97)

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

</details>

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

### [`v3.0.0-alpha.25`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.25)

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

##### What's Changed

-   fix(cli): compatible with napi artifacts -d option by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1872](https://togithub.com/napi-rs/napi-rs/pull/1872)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.6...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.25

### [`v3.0.0-alpha.24`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.24)

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

##### What's Changed

-   fix(cli): prepublish tagstyle flag by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1863](https://togithub.com/napi-rs/napi-rs/pull/1863)
-   chore(cli): root directory access permissions by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1864](https://togithub.com/napi-rs/napi-rs/pull/1864)
-   feat(cli): support wasi target test & release workflow by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1867](https://togithub.com/napi-rs/napi-rs/pull/1867)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.20...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.24

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

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

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

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

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

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

### [`v3.0.0-alpha.20`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.20)

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

#### What's Changed

-   chore(deps): update actions/download-artifact action to v4 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1856](https://togithub.com/napi-rs/napi-rs/pull/1856)
-   fix(cli): make prepublish as pre-publish alias by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1861](https://togithub.com/napi-rs/napi-rs/pull/1861)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.19...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.20

### [`v3.0.0-alpha.19`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.19)

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

##### What's Changed

-   fix(cli): artifacts default option value by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1853](https://togithub.com/napi-rs/napi-rs/pull/1853)
-   fix: more accurate napi expanding error by [@&#8203;forehalo](https://togithub.com/forehalo) in [https://github.com/napi-rs/napi-rs/pull/1854](https://togithub.com/napi-rs/napi-rs/pull/1854)
-   feat(cli): support read config from the given config file by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1859](https://togithub.com/napi-rs/napi-rs/pull/1859)
-   fix(cli): prepublish command by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1860](https://togithub.com/napi-rs/napi-rs/pull/1860)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.4...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.19

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

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

### [`v3.0.0-alpha.17`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.17)

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

##### What's Changed

-   fix(cli): make outputDir option of artifacts command compatible with v2 by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1850](https://togithub.com/napi-rs/napi-rs/pull/1850)
-   fix(binding): add riscv64 linux binding by [@&#8203;kxxt](https://togithub.com/kxxt) in [https://github.com/napi-rs/napi-rs/pull/1851](https://togithub.com/napi-rs/napi-rs/pull/1851)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.3...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.17

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

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

</details>

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

### [`v17.2.7`](https://togithub.com/nrwl/nx/releases/tag/17.2.7)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.6...17.2.7)

##### 17.2.7

##### 🩹 Fixes

-   **angular:** fix standalone eslint config generation
-   **bundling:** added back code to handle skipTypeField option of rollup executor options + tests
-   **linter:** ensure angular entry point checks are correct
-   **nextjs:** enhance page generator to work when --project is not supplied
-   **nextjs:** remove temporary patch for next eslint rules
-   **nextjs:** correct inferred outputs for root Next.js projects
-   **node:** E2E test port conflicts
-   **release:** add overall nx release command
-   **release:** publish error handling, dry-run in dependsOn
-   **release:** capture all release titles during parse
-   **testing:** run playwright with the correct project option for multiple values
-   **testing:** safely handle circular deps in component testing plugin
-   **testing:** set correct type for ignoreTestFiles option in cypress executor
-   **vite:** vitest migration add reporters
-   **vite:** more properly resolve arguments from configurations
-   **vite:** dist and coverage paths for root projects

### [`v17.2.6`](https://togithub.com/nrwl/nx/releases/tag/17.2.6)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.5...17.2.6)

##### 17.2.6

##### 🚀 Features

-   **release:** support Revert commits in changelog renderer ([#&#8203;20663](https://togithub.com/nrwl/nx/pull/20663))

##### 🩹 Fixes

-   **js:** fixing output based on test runner selection ([#&#8203;20788](https://togithub.com/nrwl/nx/pull/20788))
-   **linter:** fix workspace-rule naming with flat config ([#&#8203;20782](https://togithub.com/nrwl/nx/pull/20782))
-   **module-federation:** support buildable libs ([#&#8203;20786](https://togithub.com/nrwl/nx/pull/20786))
-   **nextjs:** Page generator should work out of the box ([#&#8203;20775](https://togithub.com/nrwl/nx/pull/20775))
-   **nx-dev:** dynamic classes not allowed ([#&#8203;20800](https://togithub.com/nrwl/nx/pull/20800))
-   **release:** changelog renderer should prefer breaking change explanation text ([#&#8203;20798](https://togithub.com/nrwl/nx/pull/20798))
-   **release:** ensure leading v is stripped from provided semver version ([#&#8203;20815](https://togithub.com/nrwl/nx/pull/20815))
-   **vite:** only dynamically import vite ([#&#8203;20774](https://togithub.com/nrwl/nx/pull/20774))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Isaac Mann [@&#8203;isaacplmann](https://togithub.com/isaacplmann)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v17.2.5`](https://togithub.com/nrwl/nx/releases/tag/17.2.5)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.4...17.2.5)

#### 17.2.5

##### 🩹 Fixes

-   **angular:** safely update task runner cacheable operations when setting up ssr ([#&#8203;20736](https://togithub.com/nrwl/nx/pull/20736))
-   **core:** fallback to checking stderr if stdout is empty on publish executor ([#&#8203;20737](https://togithub.com/nrwl/nx/pull/20737))
-   **core:** correctly move project and target strings ([#&#8203;20726](https://togithub.com/nrwl/nx/pull/20726))
-   **linter:** move should migrate all eslint configs ([#&#8203;20709](https://togithub.com/nrwl/nx/pull/20709))
-   **misc:** disallow path segments and allow scoped package name in --newProjectName option of move generator ([#&#8203;20768](https://togithub.com/nrwl/nx/pull/20768))
-   **module-federation:** allow relative remote paths ([#&#8203;20763](https://togithub.com/nrwl/nx/pull/20763))
-   **nextjs:** empty port should not overwrite env port ([#&#8203;20751](https://togithub.com/nrwl/nx/pull/20751))
-   **nextjs:** Add missing setParserOptionProject ([#&#8203;20754](https://togithub.com/nrwl/nx/pull/20754))
-   **react:** remove <base> tag from generated index.html ([#&#8203;20750](https://togithub.com/nrwl/nx/pull/20750))
-   **react:** update default webpack config for component testing ([#&#8203;20749](https://togithub.com/nrwl/nx/pull/20749))
-   **storybook:** do not throw for versions >=7 ([#&#8203;20770](https://togithub.com/nrwl/nx/pull/20770))
-   **testing:** avoid overwriting environment variables in nx cypress preset ([#&#8203;20748](https://togithub.com/nrwl/nx/pull/20748))
-   **vite:** allow vitest to be v1 ([#&#8203;20760](https://togithub.com/nrwl/nx/pull/20760))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v17.2.4`](https://togithub.com/nrwl/nx/releases/tag/17.2.4)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.3...17.2.4)

#### 17.2.4

##### 🩹 Fixes

-   **webpack:** fix check for standardWebpackConfigFunction ([#&#8203;20728](https://togithub.com/nrwl/nx/pull/20728))

##### ❤️  Thank You

-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)

### [`v17.2.3`](https://togithub.com/nrwl/nx/releases/tag/17.2.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.2...17.2.3)

#### 17.2.3

##### 🩹 Fixes

-   **react:** skip adding comma to config when adding remote to host if… ([#&#8203;20620](https://togithub.com/nrwl/nx/pull/20620))

##### ❤️  Thank You

-   Tórur Zachariasen [@&#8203;torurz](https://togithub.com/torurz)

### [`v17.2.2`](https://togithub.com/nrwl/nx/releases/tag/17.2.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.1...17.2.2)

#### 17.2.2

##### 🩹 Fixes

-   **core:** show warning if workspaceRoot starts with ! ([#&#8203;20705](https://togithub.com/nrwl/nx/pull/20705))
-   **core:** properly handle negated paths in cache outputs ([#&#8203;20661](https://togithub.com/nrwl/nx/pull/20661))
-   **react:** skip adding comma to config when adding remote to host if… ([#&#8203;20620](https://togithub.com/nrwl/nx/pull/20620))
-   **vite:** ignore CJS build deprecated warning ([#&#8203;20719](https://togithub.com/nrwl/nx/pull/20719))
-   **vite:** better extra args resolution ([#&#8203;20708](https://togithub.com/nrwl/nx/pull/20708))
-   **webpack:** add standardWebpackConfigFunction option when users opts for a standard config function ([#&#8203;20702](https://togithub.com/nrwl/nx/pull/20702))
-   **webpack:** handle both nx and nrwl scoped executors when migrating config ([#&#8203;20714](https://togithub.com/nrwl/nx/pull/20714))

##### ❤️  Thank You

-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Jonathan Cammisuli
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Tórur Zachariasen [@&#8203;torurz](https://togithub.com/torurz)

### [`v17.2.1`](https://togithub.com/nrwl/nx/releases/tag/17.2.1)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.2.0...17.2.1)

#### 17.2.1

##### 🩹 Fixes

-   **angular:** add missing package update for [@&#8203;angular/pwa](https://togithub.com/angular/pwa) ([#&#8203;20690](https://togithub.com/nrwl/nx/pull/20690))
-   **react:** webpack backwards compat for `@nx/react/plugin/webpack` ([#&#8203;20697](https://togithub.com/nrwl/nx/pull/20697))
-   **vite:** config migration account for other syntaxes ([#&#8203;20693](https://togithub.com/nrwl/nx/pull/20693))
-   **webpack:** migrate projects without webpackConfig to use webpack.config.js ([#&#8203;20699](https://togithub.com/nrwl/nx/pull/20699))
-   **webpack:** fixed `isolatedConfig: false` option not composing plugins ([#&#8203;20678](https://togithub.com/nrwl/nx/pull/20678))

##### ❤️  Thank You

-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Katerina Skroumpelou [@&#8203;mandarini](https://togithub.com/mandarini)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Tycho Bokdam [@&#8203;TriPSs](https://togithub.com/TriPSs)

### [`v17.2.0`](https://togithub.com/nrwl/nx/releases/tag/17.2.0)

[Compare Source](https://togithub.com/nrwl/nx/compare/17.1.3...17.2.0)

#### 17.2.0

##### 🚀 Features

-   **angular:** update component generator to use a single string `styles` or `styleUrl` property ([#&#8203;20146](https://togithub.com/nrwl/nx/pull/20146))
-   **angular:** support application builder for cypress component testing ([#&#8203;20214](https://togithub.com/nrwl/nx/pull/20214))
-   **angular:** update ngrx to v17 ([#&#8203;20247](https://togithub.com/nrwl/nx/pull/20247))
-   **angular:** support esbuild-based executors/builders in [@&#8203;nx/angular](https://togithub.com/nx/angular):dev-server ([#&#8203;20311](https://togithub.com/nrwl/nx/pull/20311))
-   **angular:** convert module-federation-dev-server to executor ([#&#8203;20252](https://togithub.com/nrwl/nx/pull/20252))
-   **angular:** support providing esbuild plugins to [@&#8203;nx/angular](https://togithub.com/nx/angular):browser-esbuild ([#&#8203;20504](https://togithub.com/nrwl/nx/pull/20504))
-   **angular:** add application executor ([#&#8203;20529](https://togithub.com/nrwl/nx/pull/20529))
-   **core:** extglob to standard glob parser ([#&#8203;20089](https://togithub.com/nrwl/nx/pull/20089))
-   **core:** make createNodes async ([#&#8203;20195](https://togithub.com/nrwl/nx/pull/20195))
-   **core:** track project changes in source map when applying plugins ([#&#8203;19955](https://togithub.com/nrwl/nx/pull/19955))
-   **core:** independent nx releases and automated git operations ([#&#8203;20191](https://togithub.com/nrwl/nx/pull/20191))
-   **core:** rust task hasher ([#&#8203;19617](https://togithub.com/nrwl/nx/pull/19617))
-   **core:** programmatic API for nx release ([#&#8203;20371](https://togithub.com/nrwl/nx/pull/20371))
-   **core:** allow setting true for changelog config to enable with defaults ([#&#8203;20376](https://togithub.com/nrwl/nx/pull/20376))
-   **core:** add env parameter to run-commands ([#&#8203;20440](https://togithub.com/nrwl/nx/pull/20440))
-   **core:** introduce workspace file archive ([#&#8203;20471](https://togithub.com/nrwl/nx/pull/20471))
-   **core:** targets inferred from plugins override targetDefaults ([#&#8203;20586](https://togithub.com/nrwl/nx/pull/20586))
-   **core:** add task plans to `--graph=file.json` argument ([#&#8203;20643](https://togithub.com/nrwl/nx/pull/20643))
-   **graph:** add project details view ([#&#8203;20466](https://togithub.com/nrwl/nx/pull/20466))
-   **linter:** update eslint to next minor version ([#&#8203;20351](https://togithub.com/nrwl/nx/pull/20351))
-   **linter:** support yaml for flat config conversion ([#&#8203;20022](https://togithub.com/nrwl/nx/pull/20022))
-   **linter:** default lintFilePatterns to {projectRoot} ([#&#8203;20313](https://togithub.com/nrwl/nx/pull/20313))
-   **linter:** add create-nodes plugin ([#&#8203;20264](https://togithub.com/nrwl/nx/pull/20264))
-   **misc:** allow providing a path in the name option of project generators ([#&#8203;20274](https://togithub.com/nrwl/nx/pull/20274))
-   **module-federation:** use single file-server for static remotes ([#&#8203;20006](https://togithub.com/nrwl/nx/pull/20006))
-   **module-federation:** add comment to generated module federation config explaining usage of external remotes ([#&#8203;20177](https://togithub.com/nrwl/nx/pull/20177))
-   **module-federation:** Add react support for  dynamic federation ([#&#8203;20024](https://togithub.com/nrwl/nx/pull/20024))
-   **nextjs:** Add support for create nodes for nextjs ([#&#8203;20193](https://togithub.com/nrwl/nx/pull/20193))
-   **nuxt:** load nuxt config programmatically ([#&#8203;20185](https://togithub.com/nrwl/nx/pull/20185))
-   **nuxt:** nodes for build, serve, test targets ([#&#8203;20145](https://togithub.com/nrwl/nx/pull/20145))
-   **nx-dev:** call to action button ([b9e02d152b](https://togithub.com/nrwl/nx/commit/b9e02d152b))
-   **nx-dev:** move Twitter pixel to site-level ([059b061bfe](https://togithub.com/nrwl/nx/commit/059b061bfe))
-   **nx-dev:** allow ranges in fences highlighting ([#&#8203;20202](https://togithub.com/nrwl/nx/pull/20202))
-   **nx-dev:** rename nx-cloud tab to CI ([#&#8203;20476](https://togithub.com/nrwl/nx/pull/20476))
-   **nx-dev:** improve advent of code page ([#&#8203;20517](https://togithub.com/nrwl/nx/pull/20517))
-   **nx-dev:** allow custom media images ([#&#8203;20561](https://togithub.com/nrwl/nx/pull/20561))
-   **release:** update dist-tags when publishing a package version that already exists ([#&#8203;20316](

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuMTAzLjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkifQ==-->
2023-12-28 08:00:13 +00:00
EYHN
0b9cd00fd3 refactor(core): adjust graphql hook (#5339) 2023-12-28 07:43:25 +00:00
Cats Juice
7e75e19d04 style(core): add font smoothing and optimize legibility globally (#5417)
![Frame 629667](https://github.com/toeverything/AFFiNE/assets/39363750/857a2c8d-6a75-43b2-a92f-eaf24c996d8b)
2023-12-28 07:34:20 +00:00
LongYinan
3148f93ee7 style: add perf rules (#5413) 2023-12-28 05:09:30 +00:00
LongYinan
4fcf589fe7 chore: bump up opentelemetry to ^0.46.0 (#5305)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.45.1` -> `^0.46.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.45.1/0.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.45.1` -> `^0.46.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.45.1/0.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.45.1` -> `^0.46.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.45.1/0.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.45.1` -> `^0.46.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.45.1/0.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

### [`v0.46.0`](f665499096...d3c311aec2)

[Compare Source](f665499096...d3c311aec2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy45My4xIiwidXBkYXRlZEluVmVyIjoiMzcuOTMuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
2023-12-27 15:35:17 +00:00
Joooye_34
6b9f77f511 feat(core): set document title when detail page render (#5418) 2023-12-27 15:25:26 +00:00
DarkSky
a6f5a03b8a docs: update guide for build in windows (#5416) 2023-12-27 09:21:32 +00:00
Peng Xiao
0c64535e41 fix(infra): remove unused svg loader (#5398) 2023-12-27 09:00:37 +00:00
EYHN
86bd2a7d72 refactor(infra): no bundle infra (#5414) 2023-12-27 06:54:24 +00:00
EYHN
4e861d8118 refactor(electron): create electron api package (#5334) 2023-12-27 06:38:37 +00:00
Peng Xiao
ce17daba42 fix(core): enable page history for beta/stable (#5415) 2023-12-27 06:30:29 +00:00
EYHN
7a770f9672 fix(component): fix font display on safari (#5393)
before

![CleanShot 2023-12-25 at 13.09.26.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/4fe08951-67bb-4050-ba14-94391db1cac1.png)

after

![CleanShot 2023-12-25 at 13.09.13.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/fbfb17ec-b871-4746-9d3c-d24f850ecca1.png)
2023-12-27 04:37:30 +00:00
EYHN
265ee81666 refactor(infra): remove old plugin system (#5411)
plugin system need redesign
2023-12-27 02:49:59 +00:00
LongYinan
3903a1c1d6 ci: update actions/upload-artifact and actions/download-artifact (#5408) 2023-12-26 12:40:10 +00:00
Peng Xiao
c02ec5f7b9 fix(infra): workaround for self-referencing in storybook (#5406) 2023-12-26 20:27:20 +08:00
JimmFly
62fbab4f78 fix(core): avatars are not aligned (#5404) 2023-12-26 20:23:28 +08:00
LongYinan
cb4f6d30af chore: bump up react-i18next version to v14 (#5375)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v14.0.0`](https://togithub.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1400)

[Compare Source](https://togithub.com/i18next/react-i18next/compare/v13.5.0...v14.0.0)

-   types: reportNamespaces is now optional, should fix [1693](https://togithub.com/i18next/react-i18next/issues/1693)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-26 08:32:07 +00:00
LongYinan
8042140fe8 chore: bump up @types/supertest version to v6 (#5376)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-26 08:20:35 +00:00
Peng Xiao
285d2a7219 fix(core): trash page footer display issue (#5402)
Before

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/eb5e5b18-c4a2-469b-8763-be34c39ba736.png)

After

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7b3ef339-0cb5-44fe-9e75-cec0e97d28b7.png)
2023-12-26 08:07:17 +00:00
Joooye_34
60fe5f0e87 fix(electron): set stable base url to app.affine.pro (#5401)
close TOV-282
2023-12-26 07:57:03 +00:00
Peng Xiao
fafcfbce6d fix(core): about setting blink issue (#5399) 2023-12-26 07:47:11 +00:00
Peng Xiao
c59a6a833c fix(core): workpace list blink issue on open (#5400) 2023-12-26 07:37:41 +00:00
Joooye_34
3024b5cc63 ci: define tag name to fix nightly release failing (#5397) 2023-12-26 07:24:30 +00:00
JimmFly
f25814b31c chore(core): add background color to questionnaire (#5396) 2023-12-26 07:13:44 +00:00
Cats Juice
080f636c1f fix(core): correct title of onboarding article-2 (#5387) 2023-12-26 07:01:34 +00:00
LongYinan
03b68e2654 chore: bump up @vitejs/plugin-vue version to v5 (#5394)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://togithub.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue)) | [`^4.4.0` -> `^5.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.5.0/5.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.5.0/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vitejs/vite-plugin-vue (@&#8203;vitejs/plugin-vue)</summary>

### [`v5.0.0`](https://togithub.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#500-2023-12-25)

-   **Breaking:** drop `reactivityTransform` support
-   **Breaking:** drop Node 14/16 support
-   **Breaking:** drop Vite 4.x support
-   Vue 3.4 template AST reuse support
-   Vue 3.4 compile-time flag `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` support
-   Added `customElement` option
-   Deprecated `defineModel` option

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-26 06:50:27 +00:00
Peng Xiao
972de52833 fix(core): remove plugins settings (#5337)
depend on https://github.com/toeverything/AFFiNE/pull/5324
2023-12-26 06:21:59 +00:00
DarkSky
555d40c3da fix: use prefix in electron to prevent formdata bug (#5395) 2023-12-25 15:14:08 +00:00
EYHN
7fcdb7a153 fix(core): fix flickering workspace list (#5391) 2023-12-25 07:09:49 +00:00
EYHN
56f0580382 fix(workspace): fix svg file with xml header (#5388) 2023-12-25 06:58:11 +00:00
EYHN
9493bd99f9 refactor(infra): move currentPageAtom to core (#5332)
Remove `currentPageAtom` from `infra` to `frontend/core.`
2023-12-25 03:34:28 +00:00
EYHN
e1bd13a018 refactor(core): remove adapter (#5324)
workspace adapter is no longer used.
2023-12-25 03:34:22 +00:00
EYHN
05025bf59a refactor(core): remove outline plugin and layout atom (#5326)
@affine/outline is no longer used, this PR deletes this plugin and deletes the code that is no longer used
2023-12-25 03:24:13 +00:00
regischen
a10aeca820 feat: bump blocksuite (#5386) 2023-12-22 18:04:05 +08:00
EYHN
8b28761a8a fix(component): fix workspace input (#5381) 2023-12-22 08:26:14 +00:00
EYHN
77d239ff81 fix(workspace): leave workspace correctly (#5379) 2023-12-22 16:17:59 +08:00
Cats Juice
1ce4dd0497 fix(core): hide onboarding paper segments gap (#5384) 2023-12-22 15:49:43 +08:00
EYHN
aa74b0617c fix(workspace): dont upgrade subdoc on cloud (#5382) 2023-12-22 15:48:54 +08:00
Joooye_34
46f824c4e9 fix: input style priority (#5383) 2023-12-22 15:48:28 +08:00
EYHN
f11ea7570a fix(core): maxWait for sync progress debounce (#5377) 2023-12-22 03:28:24 +00:00
Flrande
a08edfd6d9 feat: bump blocksuite (#5374) 2023-12-22 03:17:57 +00:00
DarkSky
06912c6885 fix: websocket prefix (#5372) 2023-12-21 15:52:05 +00:00
Joooye_34
ec7f73f168 chore: catch and ignore page upgrade error (#5373) 2023-12-21 14:27:07 +00:00
Joooye_34
cfb77e8243 chore: fix about version in client (#5371) 2023-12-21 14:15:22 +00:00
DarkSky
aa4d42b36c feat: use baseurl from server config (#5369) 2023-12-21 12:52:38 +00:00
Joooye_34
9fbd9b39d6 ci: set version correctly and remove nightly build workflow (#5367) 2023-12-21 10:00:12 +00:00
Cats Juice
aeec68b0d7 fix(core): onboading tooltip next button always shows (#5363) 2023-12-21 08:09:37 +00:00
Joooye_34
fb1ed90ecc ci: use setup version action to init version (#5365)
1. Create  setup version action to unify version initialization
2. Split tag event from release desktop
3. Add schedule to daily deploy and desktop release
2023-12-21 07:58:16 +00:00
LongYinan
cc73124259 chore: bump up @react-hookz/web version to v24 (#5359)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@react-hookz/web](https://togithub.com/react-hookz/web) | [`^23.1.0` -> `^24.0.0`](https://renovatebot.com/diffs/npm/@react-hookz%2fweb/23.1.0/24.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@react-hookz%2fweb/24.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@react-hookz%2fweb/24.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@react-hookz%2fweb/23.1.0/24.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-hookz%2fweb/23.1.0/24.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>react-hookz/web (@&#8203;react-hookz/web)</summary>

### [`v24.0.1`](https://togithub.com/react-hookz/web/blob/HEAD/CHANGELOG.md#2401-2023-12-20)

[Compare Source](https://togithub.com/react-hookz/web/compare/v24.0.0...v24.0.1)

##### Bug Fixes

-   change build so development and distributed imports match ([6383cdd](6383cdd558))

### [`v24.0.0`](https://togithub.com/react-hookz/web/blob/HEAD/CHANGELOG.md#2400-2023-12-20)

[Compare Source](https://togithub.com/react-hookz/web/compare/v23.1.0...v24.0.0)

##### Features

-   switch package to module type ([#&#8203;1472](https://togithub.com/react-hookz/web/issues/1472)) ([50921ef](50921efda5))

##### BREAKING CHANGES

-   Hooks are now distrubutes as JS built form TS with target ESNext and ESM module resolution. There is no more sense to distribute CJS version as package is ESM-only.

Consequent of above - no more esm and cjs subfolders - hooks are importable from index.js or its own directory which don't have a prefix anymore, thanks to exports directive. All of below examples will lead to same result, choose any on your taste:

import { useFirstMountState } from '[@&#8203;react-hookz/web](https://togithub.com/react-hookz/web)';
import { useFirstMountState } from '@&#8203;react-hookz/web/';
import { useFirstMountState } from '@&#8203;react-hookz/web/useFirstMountState/';
import { useFirstMountState } from '@&#8203;react-hookz/web/useFirstMountState/index.js';
Thought is seems not to have subfolder, it is only due to exports directive, in real it is
@&#8203;react-hookz/web/dist/useFirstMountState/index.js.

Pakage uses imports directive to define path alias #root - it stays so even in distributed code, thus, some may be affected in case their bundler configured to somehow handle such alias. Those developer shoud configure import rewriter not to handle node_modules or [@&#8203;react-hookz/web](https://togithub.com/react-hookz/web) package exclusively.

Side-effect for current PR - documentation is broken, as storybook 6 is not working within ESM packages and I'm planning to switch to another domenting engine anyway.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-21 07:45:32 +00:00
Cats Juice
c2db8b356c feat(electron): handle onboarding-window moved between screens (#5345) 2023-12-21 15:44:21 +08:00
LongYinan
eaa62df2dd chore: bump up eslint-plugin-unicorn version to v50 (#5362)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)</summary>

### [`v50.0.0`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

[Compare Source](https://togithub.com/sindresorhus/eslint-plugin-unicorn/compare/v49.0.0...v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#&#8203;1717](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/1717))  [`6788d86`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/6788d86)

##### Improvements

-   Support ESLint's new config system ([#&#8203;1886](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/1886))  [`65711f9`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#&#8203;2232](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2232))  [`9d7048c`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#&#8203;2237](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2237))  [`6708a30`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#&#8203;2223](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2223))  [`42881ba`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#&#8203;2213](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2213))  [`8f61f7c`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#&#8203;2222](https://togithub.com/sindresorhus/eslint-plugin-unicorn/issues/2222))  [`b95e75e`](https://togithub.com/sindresorhus/eslint-plugin-unicorn/commit/b95e75e)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2023-12-21 07:23:11 +00:00
JimmFly
332a5c6685 chore(core): temporarily hide export png and pdf in edgeless (#5364) 2023-12-21 07:13:05 +00:00
Cats Juice
34c1d2a674 feat(core): responsive for onboarding (#5361)
fix(core): use light-theme for onboarding back button

feat(core): responsive for onboarding
2023-12-21 04:27:49 +00:00
Chen
4dc41fcd09 feat: bump blocksuite (#5357) 2023-12-21 12:22:39 +08:00
Peng Xiao
bfbdde212f fix(storybook): disable onboarding for storybook (#5351) 2023-12-21 03:11:44 +00:00
1720 changed files with 72281 additions and 56237 deletions

View File

@@ -8,5 +8,11 @@ corepack prepare yarn@stable --activate
# install dependencies
yarn install
# Build Server Dependencies
yarn workspace @affine/storage build
# Create database
yarn workspace @affine/server prisma db push
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

@@ -21,5 +21,6 @@
}
},
"updateContentCommand": "bash ./.devcontainer/build.sh",
"postCreateCommand": "bash ./.devcontainer/setup-user.sh"
"postCreateCommand": "bash ./.devcontainer/setup-user.sh",
"postStartCommand": ["yarn dev", "yarn workspace @affine/server dev"]
}

View File

@@ -1,7 +1,9 @@
set -e
if [ -v GRAPHITE_TOKEN ];then
gt auth --token $GRAPHITE_TOKEN
fi
git fetch
git fetch origin canary:canary --depth=1
git branch canary -t origin/canary
gt init --trunk canary

View File

@@ -11,6 +11,5 @@ e2e-dist-*
static
web-static
public
packages/common/sdk/src/*.d.ts
packages/common/sdk/src/*.js
packages/frontend/i18n/src/i18n-generated.ts
packages/frontend/templates/edgeless-templates.gen.ts

View File

@@ -1,4 +1,4 @@
const { resolve } = require('node:path');
const { join } = require('node:path');
const createPattern = packageName => [
{
@@ -31,22 +31,6 @@ const createPattern = packageName => [
message: 'Use `useNavigateHelper` instead',
importNames: ['useNavigate'],
},
{
group: ['next-auth/react'],
message: "Import hooks from 'use-current-user.tsx'",
// useSession is type unsafe
importNames: ['useSession'],
},
{
group: ['next-auth/react'],
message: "Import hooks from 'cloud-utils.ts'",
importNames: ['signIn', 'signOut'],
},
{
group: ['yjs'],
message: 'Do not use this API because it has a bug',
importNames: ['mergeUpdates'],
},
{
group: ['@affine/env/constant'],
message:
@@ -61,18 +45,15 @@ const allPackages = [
'packages/frontend/core',
'packages/frontend/electron',
'packages/frontend/graphql',
'packages/frontend/hooks',
'packages/frontend/i18n',
'packages/frontend/native',
'packages/frontend/templates',
'packages/frontend/workspace',
'packages/frontend/workspace-impl',
'packages/common/debug',
'packages/common/env',
'packages/common/infra',
'packages/common/sdk',
'packages/common/theme',
'packages/common/y-indexeddb',
'packages/plugins/copilot',
'tools/cli',
'tests/storybook',
];
@@ -107,16 +88,17 @@ const config = {
},
ecmaVersion: 'latest',
sourceType: 'module',
project: resolve(__dirname, './tsconfig.eslint.json'),
project: join(__dirname, 'tsconfig.eslint.json'),
},
plugins: [
'react',
'@typescript-eslint',
'simple-import-sort',
'sonarjs',
'i',
'import-x',
'unused-imports',
'unicorn',
'rxjs',
],
rules: {
'array-callback-return': 'error',
@@ -149,6 +131,7 @@ const config = {
'unused-imports/no-unused-imports': 'error',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
'import-x/no-duplicates': 'error',
'@typescript-eslint/ban-ts-comment': [
'error',
{
@@ -182,22 +165,6 @@ const config = {
message: 'Use `useNavigateHelper` instead',
importNames: ['useNavigate'],
},
{
group: ['next-auth/react'],
message: "Import hooks from 'use-current-user.tsx'",
// useSession is type unsafe
importNames: ['useSession'],
},
{
group: ['next-auth/react'],
message: "Import hooks from 'cloud-utils.ts'",
importNames: ['signIn', 'signOut'],
},
{
group: ['yjs'],
message: 'Do not use this API because it has a bug',
importNames: ['mergeUpdates'],
},
],
},
],
@@ -220,6 +187,7 @@ const config = {
'unicorn/no-useless-promise-resolve-reject': 'error',
'unicorn/no-new-array': 'error',
'unicorn/new-for-builtins': 'error',
'unicorn/prefer-node-protocol': 'error',
'sonarjs/no-all-duplicated-branches': 'error',
'sonarjs/no-element-overwrite': 'error',
'sonarjs/no-empty-collection': 'error',
@@ -236,6 +204,21 @@ const config = {
'sonarjs/no-collection-size-mischeck': 'error',
'sonarjs/no-useless-catch': 'error',
'sonarjs/no-identical-functions': 'error',
'rxjs/finnish': [
'error',
{
functions: false,
methods: false,
strict: true,
types: {
'^LiveData$': true,
// some yjs classes are Observables, but they don't need to be in Finnish notation
'^Doc$': false, // yjs Doc
'^Awareness$': false, // yjs Awareness
'^UndoManager$': false, // yjs UndoManager
},
},
],
},
overrides: [
{
@@ -252,9 +235,6 @@ const config = {
},
...allPackages.map(pkg => ({
files: [`${pkg}/src/**/*.ts`, `${pkg}/src/**/*.tsx`],
parserOptions: {
project: resolve(__dirname, './tsconfig.eslint.json'),
},
rules: {
'@typescript-eslint/no-restricted-imports': [
'error',
@@ -271,7 +251,7 @@ const config = {
],
'@typescript-eslint/no-misused-promises': ['error'],
'@typescript-eslint/prefer-readonly': 'error',
'i/no-extraneous-dependencies': ['error'],
'import-x/no-extraneous-dependencies': ['error'],
'react-hooks/exhaustive-deps': [
'warn',
{

30
.github/CLA.md vendored
View File

@@ -33,32 +33,6 @@ You accept and agree to the following terms and conditions for your past, presen
9. This Agreement will be governed by the laws of Republic of Singapore without reference to conflict of laws principles.
## List of Contributors
## How To Sign
The below-signed are contributors to a code repository that is part of the project named "AFFiNE". Each below-signed contributor has read, understand and agrees to the terms above in the section within this document entitled "AFFiNE Contributor License Agreement" as of the date beside their real name (or entity name) and GitHub account name.
---
<!--
Example:
- Dark Sky, @darkskygit, 2022/07/22
-->
- Dark Sky, @darkskygit, 2022/07/22
- Lin Onetwo, @linonetwo, 2022/02/14
- zqran, @zqran, 2023/02/17
- Alessio Gravili, @AlessioGr, 2023/03/04
- Victor Nanka, @victornanka, 2023/03/09
- Aditya Sharma, @adityash1, 2023/03/21
- Fangdun Tsai, @fundon, 2023/03/21
- Zhilin Liu, @lzlme, 2023/04/09
- Skye Sun, @skyesun, 2023/04/14
- Jordy Delgado, @Jdelgad8, 2023/04/17
- Howard Do, @howarddo2208, 2023/04/20
- 三咲智子 Kevin Deng, @sxzz, 2023/04/21
- Moeyua, @moeyua, 2023/04/22
- Shishu, @shishudesu, 2023/05/19
- Kushagra Singh, @kush002, 2023/06/28
- Sarvesh Kumar, @sarvesh521 2023/08/25
- 微扰理论 Qinghao Huang, @wfnuser 2023/09/29
Visit https://cla-assistant.io/toeverything/AFFiNE and sign it.

View File

@@ -7,6 +7,8 @@ body:
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Check out this [link](https://github.com/toeverything/AFFiNE/blob/canary/docs/issue-triaging.md)
to learn how we manage issues and when your issue will be processed.
- type: textarea
id: what-happened
attributes:
@@ -41,6 +43,14 @@ body:
- Firefox
- Safari
- Other
- type: checkboxes
id: selfhost
attributes:
label: Are you self-hosting?
description: >
If you are self-hosting, please check the box and provide information about your setup.
options:
- label: 'Yes'
- type: textarea
id: logs
attributes:
@@ -53,11 +63,3 @@ body:
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images here
- type: checkboxes
attributes:
label: Are you willing to submit a PR?
description: >
(Optional) We encourage you to submit a [Pull Request](https://github.com/toeverything/affine/pulls) (PR) to help improve AFFiNE for everyone, especially if you have a good understanding of how to implement a fix or feature.
See the AFFiNE [Contributing Guide](https://github.com/toeverything/affine/blob/canary/CONTRIBUTING.md) to get started.
options:
- label: Yes I'd like to help by submitting a PR!

View File

@@ -37,7 +37,7 @@ runs:
echo "TARGET_CC=clang" >> "$GITHUB_ENV"
- name: Cache cargo
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
@@ -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 }} nx build ${{ inputs.package }} -- --target ${{ inputs.target }} --use-napi-cross
env:
NX_CLOUD_ACCESS_TOKEN: ${{ inputs.nx_token }}
DEBUG: 'napi:*'

View File

@@ -24,7 +24,7 @@ runs:
shell: bash
run: |
echo "GIT_SHORT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"
- uses: azure/setup-helm@v3
- uses: azure/setup-helm@v4
- id: auth
uses: google-github-actions/auth@v2
with:

View File

@@ -13,12 +13,11 @@ const {
R2_ACCOUNT_ID,
R2_ACCESS_KEY_ID,
R2_SECRET_ACCESS_KEY,
R2_BUCKET,
ENABLE_CAPTCHA,
CAPTCHA_TURNSTILE_SECRET,
OAUTH_EMAIL_SENDER,
OAUTH_EMAIL_LOGIN,
OAUTH_EMAIL_PASSWORD,
MAILER_SENDER,
MAILER_USER,
MAILER_PASSWORD,
AFFINE_GOOGLE_CLIENT_ID,
AFFINE_GOOGLE_CLIENT_SECRET,
CLOUD_SQL_IAM_ACCOUNT,
@@ -66,8 +65,16 @@ const createHelmCommand = ({ isDryRun }) => {
]
: [];
const webReplicaCount = isProduction ? 3 : isBeta ? 2 : 2;
const graphqlReplicaCount = isProduction ? 10 : isBeta ? 5 : 2;
const syncReplicaCount = isProduction ? 10 : isBeta ? 5 : 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 namespace = isProduction
? 'production'
: isBeta
@@ -96,17 +103,17 @@ const createHelmCommand = ({ isDryRun }) => {
`--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.objectStorage.r2.bucket="${R2_BUCKET}"`,
`--set-string graphql.app.oauth.email.sender="${OAUTH_EMAIL_SENDER}"`,
`--set-string graphql.app.oauth.email.login="${OAUTH_EMAIL_LOGIN}"`,
`--set-string graphql.app.oauth.email.password="${OAUTH_EMAIL_PASSWORD}"`,
`--set-string graphql.app.mailer.sender="${MAILER_SENDER}"`,
`--set-string graphql.app.mailer.user="${MAILER_USER}"`,
`--set-string graphql.app.mailer.password="${MAILER_PASSWORD}"`,
`--set-string graphql.app.oauth.google.enabled=true`,
`--set-string graphql.app.oauth.google.clientId="${AFFINE_GOOGLE_CLIENT_ID}"`,
`--set-string graphql.app.oauth.google.clientSecret="${AFFINE_GOOGLE_CLIENT_SECRET}"`,
`--set-string graphql.app.payment.stripe.apiKey="${STRIPE_API_KEY}"`,
`--set-string graphql.app.payment.stripe.webhookKey="${STRIPE_WEBHOOK_KEY}"`,
`--set graphql.app.experimental.enableJwstCodec=true`,
`--set graphql.app.experimental.enableJwstCodec=${namespace === 'dev'}`,
`--set graphql.app.features.earlyAccessPreview=false`,
`--set graphql.app.features.syncClientVersionCheck=true`,
`--set sync.replicaCount=${syncReplicaCount}`,
`--set-string sync.image.tag="${imageTag}"`,
...serviceAnnotations,

View File

@@ -9,9 +9,9 @@ runs:
using: 'composite'
steps:
- name: Download tar.gz
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: core
name: web
path: .
- name: Extract core artifacts

View File

@@ -21,14 +21,6 @@ inputs:
description: 'set nmMode to hardlinks-local in .yarnrc.yml'
required: false
default: 'true'
build-infra:
description: 'Build infra'
required: false
default: 'true'
build-plugins:
description: 'Build plugins'
required: false
default: 'true'
nmHoistingLimits:
description: 'Set nmHoistingLimits in .yarnrc.yml'
required: false
@@ -71,7 +63,7 @@ runs:
run: node -e "const p = $(yarn config cacheFolder --json).effective; console.log('yarn_global_cache=' + p)" >> $GITHUB_OUTPUT
- name: Cache non-full yarn cache on Linux
uses: actions/cache@v3
uses: actions/cache@v4
if: ${{ inputs.full-cache != 'true' && runner.os == 'Linux' }}
with:
path: |
@@ -83,7 +75,7 @@ runs:
# and the decompression performance on Windows is very terrible
# so we reduce the number of cached files on non-Linux systems by remove node_modules from cache path.
- name: Cache non-full yarn cache on non-Linux
uses: actions/cache@v3
uses: actions/cache@v4
if: ${{ inputs.full-cache != 'true' && runner.os != 'Linux' }}
with:
path: |
@@ -91,7 +83,7 @@ runs:
key: node_modules-cache-${{ github.job }}-${{ runner.os }}
- name: Cache full yarn cache on Linux
uses: actions/cache@v3
uses: actions/cache@v4
if: ${{ inputs.full-cache == 'true' && runner.os == 'Linux' }}
with:
path: |
@@ -100,7 +92,7 @@ runs:
key: node_modules-cache-full-${{ runner.os }}
- name: Cache full yarn cache on non-Linux
uses: actions/cache@v3
uses: actions/cache@v4
if: ${{ inputs.full-cache == 'true' && runner.os != 'Linux' }}
with:
path: |
@@ -142,7 +134,7 @@ runs:
# Note: Playwright's cache directory is hard coded because that's what it
# says to do in the docs. There doesn't appear to be a command that prints
# it out for us.
- uses: actions/cache@v3
- uses: actions/cache@v4
id: playwright-cache
if: ${{ inputs.playwright-install == 'true' }}
with:
@@ -175,7 +167,7 @@ runs:
run: |
echo "version=$(yarn why --json electron | grep -h 'workspace:.' | jq --raw-output '.children[].locator' | sed -e 's/@playwright\/test@.*://' | head -n 1)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
- uses: actions/cache@v4
id: electron-cache
if: ${{ inputs.electron-install == 'true' }}
with:
@@ -190,13 +182,3 @@ runs:
run: node ./node_modules/electron/install.js
env:
electron_config_cache: ./node_modules/.cache/electron
- name: Build Infra
shell: bash
if: inputs.build-infra == 'true'
run: yarn run build:infra
- name: Build Plugins
if: inputs.build-plugins == 'true'
shell: bash
run: yarn run build:plugins

View File

@@ -0,0 +1,24 @@
name: Setup Version
description: 'Setup Version'
outputs:
APP_VERSION:
description: 'App Version'
value: ${{ steps.version.outputs.APP_VERSION }}
runs:
using: 'composite'
steps:
- name: 'Write Version'
id: version
shell: bash
run: |
if [ "${{ github.ref_type }}" == "tag" ]; then
APP_VERSION=$(echo "${{ github.ref_name }}" | sed 's/^v//')
else
PACKAGE_VERSION=$(node -p "require('./package.json').version")
TIME_VERSION=$(date +%Y%m%d%H%M)
GIT_SHORT_HASH=$(git rev-parse --short HEAD)
APP_VERSION=$PACKAGE_VERSION-nightly-$TIME_VERSION-$GIT_SHORT_HASH
fi
echo $APP_VERSION
echo "APP_VERSION=$APP_VERSION" >> "$GITHUB_OUTPUT"
./scripts/set-version.sh $APP_VERSION

View File

@@ -1,6 +1,6 @@
FROM openresty/openresty:1.21.4.1-0-buster
FROM openresty/openresty:1.25.3.1-0-buster
WORKDIR /app
COPY ./packages/frontend/core/dist ./dist
COPY ./packages/frontend/web/dist ./dist
COPY ./.github/deployment/front/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY ./.github/deployment/front/affine.nginx.conf /etc/nginx/conf.d/affine.nginx.conf

View File

@@ -1,10 +1,11 @@
FROM node:18-bookworm-slim
FROM node:20-bookworm-slim
COPY ./packages/backend/server /app
COPY ./packages/frontend/web/dist /app/static
WORKDIR /app
RUN apt-get update && \
apt-get install -y --no-install-recommends openssl && \
rm -rf /var/lib/apt/lists/*
CMD ["node", "--es-module-specifier-resolution=node", "./dist/index.js"]
CMD ["node", "--import", "./scripts/register.js", "./dist/index.js"]

View File

@@ -0,0 +1,59 @@
services:
affine:
image: ghcr.io/toeverything/affine-graphql:stable
container_name: affine_selfhosted
command:
['sh', '-c', 'node ./scripts/self-host-predeploy && node ./dist/index.js']
ports:
- '3010:3010'
- '5555:5555'
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
volumes:
# custom configurations
- ~/.affine/self-host/config:/root/.affine/config
# blob storage
- ~/.affine/self-host/storage:/root/.affine/storage
logging:
driver: 'json-file'
options:
max-size: '1000m'
restart: unless-stopped
environment:
- NODE_OPTIONS="--import=./scripts/register.js"
- AFFINE_CONFIG_PATH=/root/.affine/config
- 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}
redis:
image: redis
container_name: affine_redis
restart: unless-stopped
volumes:
- ~/.affine/self-host/redis:/data
healthcheck:
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
interval: 10s
timeout: 5s
retries: 5
postgres:
image: postgres
container_name: affine_postgres
restart: unless-stopped
volumes:
- ~/.affine/self-host/postgres:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U affine']
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: affine
POSTGRES_PASSWORD: affine
POSTGRES_DB: affine
PGDATA: /var/lib/postgresql/data/pgdata

View File

@@ -1 +0,0 @@
charts/

View File

@@ -1,23 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

View File

@@ -1,6 +0,0 @@
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 13.2.23
digest: sha256:5b64538509bd067bb0f67bf082847a2c5d66dc37d0b9d7948a40405d9c446400
generated: "2023-12-05T03:04:57.997927753Z"

View File

@@ -1,12 +0,0 @@
apiVersion: v2
name: affine-cloud
description: A Helm chart for AFFiNE Cloud
type: application
version: 0.6.1
appVersion: '0.6.1'
dependencies:
- name: postgresql
version: 13.2.23
repository: https://charts.bitnami.com/bitnami

View File

@@ -1,30 +0,0 @@
# Helm Chart Configuration
The following table lists the configurable parameters of this Helm chart and their default values.
## AFFiNE Cloud Server parameters
| Parameter | Description | Default |
| ------------------------------ | -------------------------------------------------- | ------------------ |
| `affineCloud.tag` | The Docker tag of the AffineCloud image to be used | `'nightly-latest'` |
| `affineCloud.resources.cpu` | The CPU resources allocated for AffineCloud | `'250m'` |
| `affineCloud.resources.memory` | The memory resources allocated for AffineCloud | `'0.5Gi'` |
| `affineCloud.signKey` | The key used to sign the JWT tokens | `'c2VjcmV0'` |
| `affineCloud.service.type` | The type of the Kubernetes service | `'ClusterIP'` |
| `affineCloud.service.port` | The port of the Kubernetes service | `'http'` |
| `affineCloud.mail.account` | The email account used to send emails | `''` |
| `affineCloud.mail.password` | The password of the email account | `''` |
## PostgreSQL parameters
| Parameter | Description | Default |
| -------------------------------------------- | ------------------------------------------------------------------------------------- | ------------ |
| `postgresql.auth.username` | Username for the PostgreSQL database | `'affine'` |
| `postgresql.auth.password` | Password for the PostgreSQL database. Please change this for production environments. | `'password'` |
| `postgresql.auth.database` | The name of the default database that will be created on image startup | `'affine'` |
| `postgresql.primary.resources.limits.cpu` | The CPU resources allocated for the PostgreSQL primary node | `'500m'` |
| `postgresql.primary.resources.limits.memory` | The memory resources allocated for the PostgreSQL primary node | `'0.5Gi'` |
For more postgres parameters, please refer to: https://artifacthub.io/packages/helm/bitnami/postgresql
Please note that for the `postgresql.auth.password`, you should provide your own password for production environments. The default value is provided only for demonstration purposes.

View File

@@ -1,51 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "affine-cloud.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 "affine-cloud.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 "affine-cloud.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "affine-cloud.labels" -}}
helm.sh/chart: {{ include "affine-cloud.chart" . }}
{{ include "affine-cloud.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "affine-cloud.selectorLabels" -}}
app.kubernetes.io/name: {{ include "affine-cloud.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,51 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: "{{ include "affine-cloud.fullname" . }}"
labels:
{{- include "affine-cloud.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
{{- include "affine-cloud.selectorLabels" . | nindent 6 }}
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 2
template:
metadata:
labels:
{{- include "affine-cloud.selectorLabels" . | nindent 8 }}
spec:
restartPolicy: Always
containers:
- name: affine-cloud
image: "ghcr.io/toeverything/cloud-self-hosted:{{ .Values.affineCloud.tag | default .Chart.AppVersion }}"
env:
- name: PG_USER
value: "{{ .Values.postgresql.auth.username }}"
- name: PG_PASS
value: "{{ .Values.postgresql.auth.password }}"
- name: PG_DATABASE
value: "{{ .Values.postgresql.auth.database }}"
- name: PG_HOST
value: "{{ .Values.postgresql.fullnameOverride | default (printf "%s-postgresql" .Release.Name) }}"
- name: DATABASE_URL
value: "{{ .Values.affineCloud.databaseUrl | default "postgresql://$(PG_USER):$(PG_PASS)@$(PG_HOST)/$(PG_DATABASE)" }}"
envFrom:
- secretRef:
name: affine-cloud-secret
ports:
- containerPort: 3000
livenessProbe:
httpGet:
path: /api/healthz
port: 3000
failureThreshold: 1
initialDelaySeconds: 10
periodSeconds: 10
resources:
limits:
cpu: "{{ .Values.affineCloud.resources.cpu }}"
memory: "{{ .Values.affineCloud.resources.memory }}"

View File

@@ -1,9 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: affine-cloud-secret
type: Opaque
data:
SIGN_KEY: "{{ .Values.affineCloud.signKey }}"
MAIL_ACCOUNT: "{{ .Values.affineCloud.mail.account }}"
MAIL_PASSWORD: "{{ .Values.affineCloud.mail.password }}"

View File

@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: "{{ include "affine-cloud.fullname" . }}"
labels:
{{- include "affine-cloud.labels" . | nindent 4 }}
spec:
type: "{{ .Values.affineCloud.service.type }}"
ports:
- name: http
protocol: TCP
port: {{ .Values.affineCloud.service.port }}
targetPort: 3000
selector:
{{- include "affine-cloud.selectorLabels" . | nindent 4 }}

View File

@@ -1,30 +0,0 @@
affineCloud:
tag: 'canary-5e0d5e0cc65ea46f326fdde12658bfac59b38c9f-0949'
# databaseUrl: 'postgresql://affine:password@affine-cloud-postgresql:5432/affine'
signKey: TUFtdFdzQTJhdGJuem01TA==
mail:
account: ''
password: ''
service:
type: ClusterIP
port: 80
resources:
cpu: '250m'
memory: 0.5Gi
postgresql:
fullnameOverride: tcp-postgresql
auth:
# only for demo, please modify it at prod env
username: affine
password: password
database: affine
primary:
initdb:
scripts:
01-init.sql: |
CREATE DATABASE affine_binary;
GRANT ALL PRIVILEGES ON DATABASE affine_binary TO affine;
resources:
limits:
cpu: '500m'
memory: 0.5Gi

View File

@@ -3,4 +3,4 @@ name: affine
description: AFFiNE cloud chart
type: application
version: 0.0.0
appVersion: "0.11.0"
appVersion: "0.14.0"

View File

@@ -3,7 +3,7 @@ name: graphql
description: AFFiNE GraphQL server
type: application
version: 0.0.0
appVersion: "0.11.0"
appVersion: "0.14.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -61,18 +61,3 @@ Create the name of the service account to use
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{- define "jwt.key" -}}
{{- $secret := lookup "v1" "Secret" .Release.Namespace .Values.app.jwt.secretName -}}
{{- if and $secret $secret.data.private -}}
{{/*
Reusing existing secret data
*/}}
key: {{ $secret.data.private }}
{{- else -}}
{{/*
Generate new data
*/}}
key: {{ genPrivateKey "ecdsa" | b64enc }}
{{- end -}}
{{- end -}}

View File

@@ -28,10 +28,10 @@ spec:
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: AUTH_PRIVATE_KEY
- name: AFFINE_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.jwt.secretName }}"
name: "{{ .Values.global.secret.secretName }}"
key: key
- name: NODE_ENV
value: "{{ .Values.env }}"
@@ -39,12 +39,12 @@ spec:
value: "--max-old-space-size=4096"
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
- name: SERVER_FLAVOR
value: "graphql"
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
- name: NEXTAUTH_URL
value: "{{ .Values.global.ingress.host }}"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
@@ -73,37 +73,41 @@ spec:
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.app.objectStorage.r2.enabled }}"
- name: ENABLE_CAPTCHA
value: "{{ .Values.app.captcha.enabled }}"
- name: FEATURES_EARLY_ACCESS_PREVIEW
value: "{{ .Values.app.features.earlyAccessPreview }}"
- name: OAUTH_EMAIL_SENDER
- name: FEATURES_SYNC_CLIENT_VERSION_CHECK
value: "{{ .Values.app.features.syncClientVersionCheck }}"
- name: MAILER_HOST
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.email.secretName }}"
key: sender
- name: OAUTH_EMAIL_LOGIN
name: "{{ .Values.app.mailer.secretName }}"
key: host
- name: MAILER_PORT
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.email.secretName }}"
key: login
- name: OAUTH_EMAIL_SERVER
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.email.secretName }}"
key: server
- name: OAUTH_EMAIL_PORT
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.email.secretName }}"
name: "{{ .Values.app.mailer.secretName }}"
key: port
- name: OAUTH_EMAIL_PASSWORD
- name: MAILER_USER
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.email.secretName }}"
name: "{{ .Values.app.mailer.secretName }}"
key: user
- name: MAILER_PASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: password
- name: MAILER_SENDER
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: sender
- name: STRIPE_API_KEY
valueFrom:
secretKeyRef:
@@ -136,11 +140,6 @@ spec:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
key: secretAccessKey
- name: R2_OBJECT_STORAGE_BUCKET
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
key: bucket
{{ end }}
{{ if .Values.app.captcha.enabled }}
- name: CAPTCHA_TURNSTILE_SECRET
@@ -150,6 +149,8 @@ spec:
key: turnstileSecret
{{ end }}
{{ if .Values.app.oauth.google.enabled }}
- name: OAUTH_GOOGLE_ENABLED
value: "true"
- name: OAUTH_GOOGLE_CLIENT_ID
valueFrom:
secretKeyRef:

View File

@@ -1,7 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.jwt.secretName }}"
type: Opaque
data:
{{- ( include "jwt.key" . ) | indent 2 -}}

View File

@@ -0,0 +1,13 @@
{{- if .Values.app.mailer.secretName -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.mailer.secretName }}"
type: Opaque
data:
host: "{{ .Values.app.mailer.host | b64enc }}"
port: "{{ .Values.app.mailer.port | b64enc }}"
user: "{{ .Values.app.mailer.user | b64enc }}"
password: "{{ .Values.app.mailer.password | b64enc }}"
sender: "{{ .Values.app.mailer.sender | b64enc }}"
{{- end }}

View File

@@ -35,6 +35,23 @@ 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 }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
resources:
requests:
cpu: '100m'

View File

@@ -1,15 +1,3 @@
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.oauth.email.secretName }}"
type: Opaque
data:
sender: "{{ .Values.app.oauth.email.sender | b64enc }}"
login: "{{ .Values.app.oauth.email.login | b64enc }}"
password: "{{ .Values.app.oauth.email.password | b64enc }}"
server: "{{ .Values.app.oauth.email.server | b64enc }}"
port: "{{ .Values.app.oauth.email.port | b64enc }}"
---
{{- if .Values.app.oauth.google.enabled -}}
apiVersion: v1
kind: Secret

View File

@@ -8,5 +8,4 @@ data:
accountId: {{ .Values.app.objectStorage.r2.accountId | b64enc }}
accessKeyId: {{ .Values.app.objectStorage.r2.accessKeyId | b64enc }}
secretAccessKey: {{ .Values.app.objectStorage.r2.secretAccessKey | b64enc }}
bucket: {{ .Values.app.objectStorage.r2.bucket | b64enc }}
{{- end }}

View File

@@ -0,0 +1,18 @@
{{- $privateKey := default (genPrivateKey "ecdsa") .Values.global.secret.privateKey | b64enc | quote }}
{{- if not .Values.global.secret.privateKey }}
{{- $existingKey := (lookup "v1" "Secret" .Release.Namespace .Values.global.secret.secretName) }}
{{- if $existingKey }}
{{- $privateKey = index $existingKey.data "key" }}
{{- end -}}
{{- end -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.global.secret.secretName }}
annotations:
"helm.sh/resource-policy": "keep"
type: Opaque
data:
key: {{ $privateKey }}

View File

@@ -16,12 +16,9 @@ app:
path: ''
# AFFINE_SERVER_HOST
host: '0.0.0.0'
https: true
doc:
mergeInterval: "3000"
jwt:
secretName: jwt-private-key
# base64 encoded ecdsa private key
privateKey: ''
captcha:
enable: false
secretName: captcha
@@ -34,15 +31,7 @@ app:
accountId: ''
accessKeyId: ''
secretAccessKey: ''
bucket: ''
oauth:
email:
secretName: 'oauth-email'
sender: 'noreply@toeverything.info'
login: ''
password: ''
server: 'smtp.gmail.com'
port: '465'
oauth:
google:
enabled: false
secretName: oauth-google
@@ -53,6 +42,13 @@ app:
secretName: oauth-github
clientId: ''
clientSecret: ''
mailer:
secretName: 'mailer'
host: 'smtp.gmail.com'
port: '465'
user: ''
password: ''
sender: 'noreply@toeverything.info'
payment:
stripe:
secretName: 'stripe'
@@ -60,6 +56,7 @@ app:
webhookKey: ''
features:
earlyAccessPreview: false
syncClientVersionCheck: false
serviceAccount:
create: true

View File

@@ -3,7 +3,7 @@ name: sync
description: AFFiNE Sync Server
type: application
version: 0.0.0
appVersion: "0.11.0"
appVersion: "0.14.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -32,14 +32,19 @@ spec:
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: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
- name: SERVER_FLAVOR
value: "sync"
- name: NEXTAUTH_URL
value: "{{ .Values.global.ingress.host }}"
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
- name: DATABASE_PASSWORD

View File

@@ -12,7 +12,6 @@ env: 'production'
app:
# AFFINE_SERVER_HOST
host: '0.0.0.0'
serviceAccount:
create: true
annotations: {}

View File

@@ -60,6 +60,13 @@ spec:
name: affine-graphql
port:
number: {{ .Values.graphql.service.port }}
- path: /oauth
pathType: Prefix
backend:
service:
name: affine-graphql
port:
number: {{ .Values.graphql.service.port }}
- path: /
pathType: Prefix
backend:

View File

@@ -4,6 +4,9 @@ global:
className: ''
host: affine.pro
tls: []
secret:
secretName: 'server-private-key'
privateKey: ''
database:
user: 'postgres'
url: 'pg-postgresql'

View File

@@ -1,60 +0,0 @@
# Cluster Deployment Guide
This document provides a step-by-step guide for developers on how to deploy services in a Kubernetes cluster. The following content assumes that the reader already has a basic understanding of Kubernetes concepts and operations.
### 1. Configure Service Mesh (Optional)
In the Kubernetes cluster, we optionally use Service Mesh (like Istio and Anthos Service Mesh) to manage the network interactions of microservices. If Service Mesh is already deployed on your cluster or do not need to use the service network, you can skip this step. In this step, we assume that you are using Google Kubernetes Engine (GKE) and have already installed Anthos Service Mesh on your cluster, if you wish to use another Ingress Controller, please refer to the relevant documentation.
To configure your kubectl context to interact with your Kubernetes cluster using the gcloud tool, you need to execute the following commands:
```sh
export CLUSTER_NAME=your_cluster_name
export REGION=your_cluster_region
export PROJECT=your_project_id
gcloud container clusters get-credentials $CLUSTER_NAME --region $REGION --project $PROJECT
```
In this command, you should replace `CLUSTER_NAME`, `REGION` and `PROJECT` with the actual name, region and project id of your Kubernetes cluster. This command retrieves the access credentials for your Kubernetes cluster and automatically configures kubectl to use these credentials.
Now, to inject Service Mesh for a specific Namespace, first, set the environment variable `NAMESPACE` that should correspond to your target Kubernetes Namespace. In this example, we use `prod` as the target Namespace:
```sh
export NAMESPACE=prod
```
Then, we label the Namespace which will enable Istio to automatically inject the sidecar container for all new Pods under this Namespace:
```sh
kubectl label namespace $NAMESPACE istio-injection- istio.io/rev=asm-managed --overwrite
```
Finally, we trigger the Kubernetes Deployment restart mechanism to allow existing Pods to also obtain sidecar container injection:
```sh
kubectl rollout restart deployment -n $NAMESPACE
```
### 2. Deploying the Application
Next, we will deploy our application in the Kubernetes cluster through Helm. First, set relevant environment variables:
```sh
export NAMESPACE=prod
export RELEASE=affine-cloud-prod
export PATH=.github/helm/affine-cloud
```
- `NAMESPACE` should be consistent with the first step, indicating your target Kubernetes Namespace.
- `RELEASE` is the name of your Helm release.
- `PATH` is the location of your Helm chart in your file system.
Finally, use the `helm upgrade --install` command to deploy or upgrade your application:
```sh
helm upgrade --namespace $NAMESPACE --create-namespace --install $RELEASE $PATH
```
This command creates (if it doesn't already exist) and deploys your Helm chart in the specified Namespace. If the release already exists, it will be upgraded.
The above are the complete steps for deploying an application in a Kubernetes cluster. Make sure all prerequisites are met before deploying, and also ensure that you have the correct permissions for operations in Kubernetes.

24
.github/labeler.yml vendored
View File

@@ -19,35 +19,20 @@ mod:dev:
- 'tools/cli/**/*'
- 'packages/common/debug/**/*'
mod:plugin:
- changed-files:
- any-glob-to-any-file:
- 'packages/plugins/**/*'
plugin:copilot:
- changed-files:
- any-glob-to-any-file:
- 'packages/plugins/copilot/**/*'
mod:infra:
- changed-files:
- any-glob-to-any-file:
- 'packages/common/infra/**/*'
mod:sdk:
- changed-files:
- any-glob-to-any-file:
- 'packages/common/sdk/**/*'
mod:plugin-cli:
- changed-files:
- any-glob-to-any-file:
- 'tools/plugin-cli/**/*'
mod:workspace:
mod:workspace-impl:
- changed-files:
- any-glob-to-any-file:
- 'packages/frontend/workspace/**/*'
- 'packages/frontend/workspace-impl/**/*'
mod:i18n:
- changed-files:
@@ -59,11 +44,6 @@ mod:env:
- any-glob-to-any-file:
- 'packages/common/env/**/*'
mod:hooks:
- changed-files:
- any-glob-to-any-file:
- 'packages/frontend/hooks/**/*'
mod:component:
- changed-files:
- any-glob-to-any-file:

44
.github/renovate.json vendored
View File

@@ -1,27 +1,35 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"group:allNonMajor",
":preserveSemverRanges",
":disablePeerDependencies"
],
"extends": ["config:recommended", ":disablePeerDependencies"],
"labels": ["dependencies"],
"ignorePaths": [
"**/node_modules/**",
"**/bower_components/**",
"**/vendor/**",
"**/examples/**",
"**/__tests__/**",
"**/test/**",
"**/__fixtures__/**"
],
"packageRules": [
{
"matchPackageNames": ["napi", "napi-build", "napi-derive"],
"rangeStrategy": "replace",
"groupName": "napi-rs"
},
{
"matchPackagePatterns": ["^eslint", "^@typescript-eslint"],
"rangeStrategy": "replace",
"groupName": "linter"
},
{
"matchPackagePatterns": ["^@nestjs"],
"rangeStrategy": "replace",
"groupName": "nestjs"
},
{
"matchPackagePatterns": ["^@opentelemetry"],
"rangeStrategy": "replace",
"groupName": "opentelemetry"
},
{
@@ -30,22 +38,44 @@
"@prisma/instrumentation",
"prisma"
],
"rangeStrategy": "replace",
"groupName": "prisma"
},
{
"matchPackagePatterns": ["^@electron-forge"],
"rangeStrategy": "replace",
"groupName": "electron-forge"
},
{
"matchPackageNames": ["oxlint"],
"rangeStrategy": "replace",
"groupName": "oxlint"
},
{
"groupName": "blocksuite-canary",
"matchPackagePatterns": ["^@blocksuite"],
"excludePackageNames": ["@blocksuite/icons"],
"followTag": "nightly"
"rangeStrategy": "replace",
"followTag": "canary"
},
{
"groupName": "all non-major dependencies",
"groupSlug": "all-minor-patch",
"matchPackagePatterns": ["*"],
"excludePackagePatterns": ["^@blocksuite/", "oxlint"],
"matchUpdateTypes": ["minor", "patch"]
},
{
"matchPackagePatterns": ["*"],
"rangeStrategy": "replace",
"excludePackagePatterns": ["^@blocksuite/"]
}
],
"commitMessagePrefix": "chore: ",
"commitMessageAction": "bump up",
"commitMessageTopic": "{{depName}} version",
"ignoreDeps": [],
"postUpdateOptions": ["yarnDedupeHighest"],
"lockFileMaintenance": {
"enabled": true,
"extends": ["schedule:weekly"]

View File

@@ -0,0 +1,25 @@
name: Build Selfhost Image
on:
workflow_dispatch:
inputs:
flavor:
description: 'Select distribution to build'
type: choice
default: canary
options:
- canary
- beta
- stable
permissions:
contents: 'write'
id-token: 'write'
packages: 'write'
jobs:
build-image:
name: Build Image
uses: ./.github/workflows/build-server-image.yml
with:
flavor: ${{ github.event.inputs.flavor }}

191
.github/workflows/build-server-image.yml vendored Normal file
View File

@@ -0,0 +1,191 @@
name: Build Images
on:
workflow_call:
inputs:
flavor:
type: string
required: true
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
permissions:
contents: 'write'
id-token: 'write'
packages: 'write'
jobs:
build-server:
name: Build Server
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
extra-flags: workspaces focus @affine/server
- name: Build Server
run: yarn workspace @affine/server build
- name: Upload server dist
uses: actions/upload-artifact@v4
with:
name: server-dist
path: ./packages/backend/server/dist
if-no-files-found: error
build-web-selfhost:
name: Build @affine/web selfhost
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.flavor }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Core
run: yarn nx build @affine/web --skip-nx-cache
env:
BUILD_TYPE: ${{ github.event.inputs.flavor }}
SHOULD_REPORT_TRACE: false
PUBLIC_PATH: '/'
SELF_HOSTED: true
- 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
if-no-files-found: error
build-storage:
name: Build Storage - ${{ matrix.targets.name }}
runs-on: ubuntu-latest
strategy:
matrix:
targets:
- name: x86_64-unknown-linux-gnu
file: storage.node
- name: aarch64-unknown-linux-gnu
file: storage.arm64.node
- name: armv7-unknown-linux-gnueabihf
file: storage.armv7.node
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
extra-flags: workspaces focus @affine/storage
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: ${{ matrix.targets.name }}
package: '@affine/storage'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload ${{ matrix.targets.file }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.targets.file }}
path: ./packages/backend/storage/storage.node
if-no-files-found: error
build-docker:
name: Build Docker
runs-on: ubuntu-latest
needs:
- build-server
- build-web-selfhost
- build-storage
steps:
- uses: actions/checkout@v4
- name: Download server dist
uses: actions/download-artifact@v4
with:
name: server-dist
path: ./packages/backend/server/dist
- name: Download storage.node
uses: actions/download-artifact@v4
with:
name: storage.node
path: ./packages/backend/server
- name: Download storage.node arm64
uses: actions/download-artifact@v4
with:
name: storage.arm64.node
path: ./packages/backend/storage
- name: Download storage.node arm64
uses: actions/download-artifact@v4
with:
name: storage.armv7.node
path: .
- name: move storage files
run: |
mv ./packages/backend/storage/storage.node ./packages/backend/server/storage.arm64.node
mv storage.node ./packages/backend/server/storage.armv7.node
- 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
# setup node without cache configuration
# Prisma cache is not compatible with docker build cache
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
registry-url: https://npm.pkg.github.com
scope: '@toeverything'
- name: Download selfhost web artifact
uses: actions/download-artifact@v4
with:
name: selfhost-web
path: ./packages/frontend/web/dist
- name: Install Node.js dependencies
run: |
yarn config set --json supportedArchitectures.cpu '["x64", "arm64", "arm"]'
yarn config set --json supportedArchitectures.libc '["glibc"]'
yarn workspaces focus @affine/server --production
- name: Generate Prisma client
run: yarn workspace @affine/server prisma generate
- name: Build graphql Dockerfile
uses: docker/build-push-action@v5
with:
context: .
push: true
pull: true
platforms: linux/amd64,linux/arm64,linux/arm/v7
provenance: true
file: .github/deployment/node/Dockerfile
tags: ghcr.io/toeverything/affine-graphql:${{env.RELEASE_FLAVOR}}-${{ env.GIT_SHORT_HASH }},ghcr.io/toeverything/affine-graphql:${{env.RELEASE_FLAVOR}}

View File

@@ -4,6 +4,8 @@ on:
push:
branches:
- canary
- beta
- stable
- v[0-9]+.[0-9]+.x-staging
- v[0-9]+.[0-9]+.x
paths-ignore:
@@ -19,6 +21,7 @@ env:
MACOSX_DEPLOYMENT_TARGET: '10.13'
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/node_modules/.cache/ms-playwright
DEPLOYMENT_TYPE: affine
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -95,6 +98,8 @@ jobs:
run: |
git checkout .yarnrc.yml
yarn lint:prettier
- name: Yarn Dedupe
run: yarn dedupe --check
- name: Run Type Check
run: yarn typecheck
@@ -108,49 +113,12 @@ jobs:
yarn set version $(node -e "console.log(require('./package.json').packageManager.split('@')[1])")
git diff --exit-code
e2e-plugin-test:
name: E2E Plugin Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: browser
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
playwright-install: true
electron-install: false
full-cache: true
- name: Run playwright tests
run: yarn e2e --forbid-only
working-directory: tests/affine-plugin
env:
COVERAGE: true
- name: Collect code coverage report
run: yarn exec nyc report -t .nyc_output --report-dir .coverage --reporter=lcov
- name: Upload e2e test coverage results
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./.coverage/lcov.info
flags: e2e-plugin-test
name: affine
fail_ci_if_error: false
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: test-results-e2e-plugin
path: ./test-results
if-no-files-found: ignore
e2e-test:
name: E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: browser
IN_CI_TEST: true
strategy:
fail-fast: false
matrix:
@@ -169,7 +137,7 @@ jobs:
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-${{ matrix.shard }}
path: ./test-results
@@ -194,7 +162,7 @@ jobs:
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-migration
path: ./tests/affine-migration/test-results
@@ -216,7 +184,7 @@ jobs:
full-cache: true
- name: Download affine.linux-x64-gnu.node
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: affine.linux-x64-gnu.node
path: ./packages/frontend/native
@@ -225,7 +193,7 @@ jobs:
run: yarn nx test:coverage @affine/monorepo
- name: Upload unit test coverage results
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./.coverage/store/lcov.info
@@ -244,8 +212,8 @@ jobs:
spec:
- { os: ubuntu-latest, target: x86_64-unknown-linux-gnu }
- { os: windows-latest, target: x86_64-pc-windows-msvc }
- { os: macos-latest, target: x86_64-apple-darwin }
- { os: macos-latest, target: aarch64-apple-darwin }
- { os: macos-14, target: x86_64-apple-darwin }
- { os: macos-14, target: aarch64-apple-darwin }
steps:
- uses: actions/checkout@v4
@@ -254,8 +222,6 @@ jobs:
with:
extra-flags: workspaces focus @affine/native
electron-install: false
build-infra: false
build-plugins: false
- name: Setup filename
id: filename
shell: bash
@@ -269,7 +235,7 @@ jobs:
package: '@affine/native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload ${{ steps.filename.outputs.filename }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.filename.outputs.filename }}
path: ./packages/frontend/native/${{ steps.filename.outputs.filename }}
@@ -287,8 +253,6 @@ jobs:
with:
extra-flags: workspaces focus @affine/storage
electron-install: false
build-infra: false
build-plugins: false
- name: Build Rust
uses: ./.github/actions/build-rust
with:
@@ -296,14 +260,14 @@ jobs:
package: '@affine/storage'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload storage.node
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: storage.node
path: ./packages/backend/storage/storage.node
if-no-files-found: error
build-core:
name: Build @affine/core
build-web:
name: Build @affine/web
runs-on: ubuntu-latest
steps:
@@ -312,17 +276,18 @@ jobs:
uses: ./.github/actions/setup-node
with:
electron-install: false
build-plugins: false
full-cache: true
- name: Build Core
- name: Build Web
# always skip cache because its fast, and cache configuration is always changing
run: yarn nx build @affine/core --skip-nx-cache
- name: zip core
run: tar -czf dist.tar.gz --directory=packages/frontend/core/dist .
- name: Upload core artifact
uses: actions/upload-artifact@v3
run: yarn nx build @affine/web --skip-nx-cache
env:
DISTRIBUTION: 'desktop'
- name: zip web
run: tar -czf dist.tar.gz --directory=packages/frontend/electron/dist .
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
name: core
name: web
path: dist.tar.gz
if-no-files-found: error
@@ -331,6 +296,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-storage
env:
NODE_ENV: test
DISTRIBUTION: browser
services:
postgres:
@@ -358,6 +324,12 @@ jobs:
electron-install: false
full-cache: true
- name: Download storage.node
uses: actions/download-artifact@v4
with:
name: storage.node
path: ./packages/backend/server
- name: Initialize database
run: |
psql -h localhost -U postgres -c "CREATE DATABASE affine;"
@@ -366,26 +338,14 @@ jobs:
env:
PGPASSWORD: affine
- name: Generate prisma client
- name: Run init-db script
run: |
yarn workspace @affine/server exec prisma generate
yarn workspace @affine/server exec prisma db push
env:
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
- name: Run init-db script
run: |
yarn workspace @affine/server data-migration run
yarn workspace @affine/server exec node --loader ts-node/esm/transpile-only ./scripts/init-db.ts
env:
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
- name: Download storage.node
uses: actions/download-artifact@v3
with:
name: storage.node
path: ./packages/backend/server
- name: Run server tests
run: yarn workspace @affine/server test:coverage
env:
@@ -393,7 +353,7 @@ jobs:
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
- name: Upload server test coverage results
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/server/.coverage/lcov.info
@@ -407,6 +367,7 @@ jobs:
env:
DISTRIBUTION: browser
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
IN_CI_TEST: true
strategy:
fail-fast: false
matrix:
@@ -450,6 +411,18 @@ jobs:
playwright-install: true
hard-link-nm: false
- name: Download storage.node
uses: actions/download-artifact@v4
with:
name: storage.node
path: ./packages/backend/server
- name: Download affine.linux-x64-gnu.node
uses: actions/download-artifact@v4
with:
name: affine.linux-x64-gnu.node
path: ./packages/frontend/native
- name: Initialize database
run: |
psql -h localhost -U postgres -c "CREATE DATABASE affine;"
@@ -458,39 +431,21 @@ jobs:
env:
PGPASSWORD: affine
- name: Generate prisma client
- name: Run init-db script
run: |
yarn workspace @affine/server exec prisma generate
yarn workspace @affine/server exec prisma db push
env:
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
- name: Run init-db script
run: |
yarn workspace @affine/server data-migration run
yarn workspace @affine/server exec node --loader ts-node/esm/transpile-only ./scripts/init-db.ts
- name: Download storage.node
uses: actions/download-artifact@v3
with:
name: storage.node
path: ./packages/backend/server
- name: Download affine.linux-x64-gnu.node
uses: actions/download-artifact@v3
with:
name: affine.linux-x64-gnu.node
path: ./packages/frontend/native
- name: ${{ matrix.tests.name }}
run: |
${{ matrix.tests.script }}
env:
DEV_SERVER_URL: http://localhost:8080
ENABLE_LOCAL_EMAIL: true
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-server
path: ./tests/affine-cloud/test-results
@@ -501,22 +456,21 @@ jobs:
runs-on: ${{ matrix.spec.os }}
strategy:
fail-fast: false
# all combinations: macos-latest x64, macos-latest arm64, windows-latest x64, ubuntu-latest x64
matrix:
spec:
- {
os: macos-latest,
os: macos-14,
platform: macos,
arch: x64,
target: x86_64-apple-darwin,
test: true,
test: false,
}
- {
os: macos-latest,
os: macos-14,
platform: macos,
arch: arm64,
target: aarch64-apple-darwin,
test: false,
test: true,
}
- {
os: ubuntu-latest,
@@ -533,7 +487,7 @@ jobs:
test: true,
}
needs:
- build-core
- build-web
- build-native
steps:
- uses: actions/checkout@v4
@@ -554,7 +508,7 @@ jobs:
echo "filename=affine.$PLATFORM_ARCH_ABI.node" >> "$GITHUB_OUTPUT"
- name: Download ${{ steps.filename.outputs.filename }}
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: ${{ steps.filename.outputs.filename }}
path: ./packages/frontend/native
@@ -562,11 +516,10 @@ jobs:
- name: Run unit tests
if: ${{ matrix.spec.test }}
shell: bash
run: yarn vitest
working-directory: packages/frontend/electron
run: yarn workspace @affine/electron vitest
- name: Download core artifact
uses: ./.github/actions/download-core
- name: Download web artifact
uses: ./.github/actions/download-web
with:
path: packages/frontend/electron/resources/web-static
@@ -574,7 +527,7 @@ jobs:
run: yarn workspace @affine/electron build
- name: Run desktop tests
if: ${{ matrix.spec.test && matrix.spec.os == 'ubuntu-latest' }}
if: ${{ matrix.spec.os == 'ubuntu-latest' }}
run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn workspace @affine-test/affine-desktop e2e
- name: Run desktop tests
@@ -582,22 +535,49 @@ jobs:
run: yarn workspace @affine-test/affine-desktop e2e
- name: Make bundle
if: ${{ matrix.spec.os == 'macos-latest' && matrix.spec.arch == 'arm64' }}
if: ${{ matrix.spec.target == 'aarch64-apple-darwin' }}
env:
SKIP_BUNDLE: true
SKIP_WEB_BUILD: true
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
if: ${{ matrix.spec.target == 'x86_64-unknown-linux-gnu' }}
env:
SKIP_PLUGIN_BUILD: 1
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
- name: Output check
if: ${{ matrix.spec.os == 'macos-latest' && matrix.spec.arch == 'arm64' }}
if: ${{ matrix.spec.os == 'macos-14' && matrix.spec.arch == 'arm64' }}
run: |
yarn workspace @affine/electron exec node --loader ts-node/esm/transpile-only ./scripts/macos-arm64-output-check.ts
- name: Upload test results
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-${{ matrix.spec.os }}-${{ matrix.spec.arch }}
path: ./test-results
if-no-files-found: ignore
test-done:
needs:
- analyze
- lint
- check-yarn-binary
- e2e-test
- e2e-migration-test
- unit-test
- server-test
- server-e2e-test
- desktop-test
if: always()
runs-on: ubuntu-latest
name: 3, 2, 1 Launch
steps:
- run: exit 1
# Thank you, next https://github.com/vercel/next.js/blob/canary/.github/workflows/build_and_test.yml#L379
if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}

View File

@@ -0,0 +1,32 @@
name: Deploy Automatically
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-canary.[0-9]+'
schedule:
- cron: '0 9 * * *'
permissions:
contents: write
pull-requests: write
actions: write
jobs:
dispatch-deploy:
runs-on: ubuntu-latest
name: Setup Deploy
steps:
- name: dispatch deploy by tag
if: ${{ github.event_name == 'push' }}
uses: benc-uk/workflow-dispatch@v1
with:
workflow: deploy.yml
inputs: '{ "flavor": "canary" }'
- name: dispatch deploy by schedule
if: ${{ github.event_name == 'schedule' }}
uses: benc-uk/workflow-dispatch@v1
with:
workflow: deploy.yml
inputs: '{ "flavor": "canary" }'
ref: canary

View File

@@ -4,44 +4,43 @@ on:
workflow_dispatch:
inputs:
flavor:
description: 'Build type (canary, beta, or stable or internal)'
type: string
description: 'Select what enverionment to deploy to'
type: choice
default: canary
options:
- canary
- beta
- stable
- internal
env:
APP_NAME: affine
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
MIXPANEL_TOKEN: '389c0615a69b57cca7d3fa0a4824c930'
permissions:
contents: 'write'
id-token: 'write'
packages: 'write'
jobs:
build-server:
name: Build Server
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
- name: Build Server
run: yarn workspace @affine/server build
- name: Upload server dist
uses: actions/upload-artifact@v3
with:
name: server-dist
path: ./packages/backend/server/dist
if-no-files-found: error
build-core:
name: Build @affine/core
build-server-image:
name: Build Server Image
uses: ./.github/workflows/build-server-image.yml
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 Plugins
run: yarn run build:plugins
- name: Build Core
run: yarn nx build @affine/core --skip-nx-cache
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 }}
@@ -54,87 +53,26 @@ jobs:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- name: Upload core artifact
uses: actions/upload-artifact@v3
PERFSEE_TOKEN: ${{ secrets.PERFSEE_TOKEN }}
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
name: core
path: ./packages/frontend/core/dist
name: web
path: ./packages/frontend/web/dist
if-no-files-found: error
build-storage:
name: Build Storage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: 'x86_64-unknown-linux-gnu'
package: '@affine/storage'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload storage.node
uses: actions/upload-artifact@v3
with:
name: storage.node
path: ./packages/backend/storage/storage.node
if-no-files-found: error
build-storage-arm64:
name: Build Storage arm64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: 'aarch64-unknown-linux-gnu'
package: '@affine/storage'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload storage.node
uses: actions/upload-artifact@v3
with:
name: storage.arm64.node
path: ./packages/backend/storage/storage.node
if-no-files-found: error
build-docker:
name: Build Docker
build-frontend-image:
name: Build Frontend Image
runs-on: ubuntu-latest
needs:
- build-server
- build-core
- build-storage
- build-storage-arm64
- build-web
steps:
- uses: actions/checkout@v4
- name: Download core artifact
uses: actions/download-artifact@v3
- name: Download web artifact
uses: actions/download-artifact@v4
with:
name: core
path: ./packages/frontend/core/dist
- name: Download server dist
uses: actions/download-artifact@v3
with:
name: server-dist
path: ./packages/backend/server/dist
- name: Download storage.node
uses: actions/download-artifact@v3
with:
name: storage.node
path: ./packages/backend/server
- name: Download storage.node arm64
uses: actions/download-artifact@v3
with:
name: storage.arm64.node
path: ./packages/backend/storage
- name: move storage.arm64.node
run: mv ./packages/backend/storage/storage.node ./packages/backend/server/storage.arm64.node
name: web
path: ./packages/frontend/web/dist
- name: Setup env
run: |
echo "GIT_SHORT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"
@@ -144,7 +82,6 @@ jobs:
else
echo "RELEASE_FLAVOR=${{ inputs.flavor }}" >> "$GITHUB_ENV"
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
@@ -167,52 +104,19 @@ jobs:
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}}
# setup node without cache configuration
# Prisma cache is not compatible with docker build cache
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
registry-url: https://npm.pkg.github.com
scope: '@toeverything'
- name: Install Node.js dependencies
run: |
yarn config set --json supportedArchitectures.cpu '["x64", "arm64"]'
yarn workspaces focus @affine/server --production
- name: Generate Prisma client
run: yarn workspace @affine/server prisma generate
- name: Build graphql Dockerfile
uses: docker/build-push-action@v5
with:
context: .
push: true
pull: true
platforms: linux/amd64,linux/arm64
provenance: true
file: .github/deployment/node/Dockerfile
tags: ghcr.io/toeverything/affine-graphql:${{env.RELEASE_FLAVOR}}-${{ env.GIT_SHORT_HASH }},ghcr.io/toeverything/affine-graphql:${{env.RELEASE_FLAVOR}}
deploy:
name: Deploy to cluster
if: ${{ github.event_name == 'workflow_dispatch' }}
environment: ${{ github.event.inputs.flavor }}
permissions:
contents: 'write'
id-token: 'write'
needs:
- build-docker
- build-frontend-image
- build-server-image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup deploy version
- name: Setup Version
id: version
run: |
export APP_VERSION=`node -e "console.log(require('./package.json').version)"`
echo $APP_VERSION
echo "APP_VERSION=$APP_VERSION" >> "$GITHUB_OUTPUT"
uses: ./.github/actions/setup-version
- name: Deploy to ${{ github.event.inputs.flavor }}
uses: ./.github/actions/deploy
with:
@@ -229,12 +133,11 @@ jobs:
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 }}
R2_BUCKET: ${{ secrets.R2_BUCKET }}
ENABLE_CAPTCHA: true
CAPTCHA_TURNSTILE_SECRET: ${{ secrets.CAPTCHA_TURNSTILE_SECRET }}
OAUTH_EMAIL_SENDER: ${{ secrets.OAUTH_EMAIL_SENDER }}
OAUTH_EMAIL_LOGIN: ${{ secrets.OAUTH_EMAIL_LOGIN }}
OAUTH_EMAIL_PASSWORD: ${{ secrets.OAUTH_EMAIL_PASSWORD }}
MAILER_SENDER: ${{ secrets.OAUTH_EMAIL_SENDER }}
MAILER_USER: ${{ secrets.OAUTH_EMAIL_LOGIN }}
MAILER_PASSWORD: ${{ secrets.OAUTH_EMAIL_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AFFINE_GOOGLE_CLIENT_ID: ${{ secrets.AFFINE_GOOGLE_CLIENT_ID }}
AFFINE_GOOGLE_CLIENT_SECRET: ${{ secrets.AFFINE_GOOGLE_CLIENT_SECRET }}

View File

@@ -1,30 +0,0 @@
name: Dispatch Deploy by tag
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-canary.[0-9]+'
jobs:
dispatch-deploy-by-tag:
runs-on: ubuntu-latest
name: Setup deploy environment
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: 'workspaces focus @affine/monorepo'
hard-link-nm: false
electron-install: false
build-infra: false
build-plugins: false
- name: Setup output value
id: flavor
run: |
node -e "const env = require('semver').parse('${{ github.ref_name }}').prerelease[0] ?? 'stable'; console.log(`flavor=${env}`)" >> "$GITHUB_OUTPUT"
- name: dispatch deploy
uses: benc-uk/workflow-dispatch@v1
with:
workflow: deploy.yml
inputs: '{ "flavor": "${{ steps.flavor.outputs.flavor }}" }'

View File

@@ -24,7 +24,7 @@ jobs:
token: ${{ secrets.HELM_RELEASER_TOKEN }}
- name: Install Helm
uses: azure/setup-helm@v3
uses: azure/setup-helm@v4
- name: Install chart releaser
run: |

View File

@@ -1,258 +0,0 @@
name: Build Canary Desktop App on Staging Branch
on:
workflow_dispatch:
inputs:
channel_override:
description: 'channel type (canary, beta, or stable)'
type: choice
default: beta
options:
- canary
- beta
- stable
push:
branches:
# 0.6.x-staging
- v[0-9]+.[0-9]+.x-staging
# 0.6.1-staging
- v[0-9]+.[0-9]+.[0-9]+-staging
paths-ignore:
- README.md
- .github/**
- '!.github/workflows/nightly-build.yml'
- '!.github/actions/build-rust/action.yml'
- '!.github/actions/setup-node/action.yml'
permissions:
actions: write
contents: write
security-events: write
concurrency:
# The concurrency group contains the workflow name and the branch name for
# pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
env:
# BUILD_TYPE => app icon, app name, etc
BUILD_TYPE: internal
# BUILD_TYPE_OVERRIDE => channel type (canary, beta, or stable) - get the channel type (the api configs)
BUILD_TYPE_OVERRIDE: ${{ github.event.inputs.channel_override || 'beta' }}
jobs:
set-build-version:
runs-on: ubuntu-latest
outputs:
version: 0.0.0-internal.${{ steps.version.outputs.version }}
steps:
- uses: actions/checkout@v4
- uses: toeverything/set-build-version@latest
- id: version
run: echo ::set-output name=version::${{ env.BUILD_VERSION }}
before-make:
runs-on: ubuntu-latest
needs:
- set-build-version
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Setup @sentry/cli
uses: ./.github/actions/setup-sentry
- name: Replace Version
run: ./scripts/set-version.sh ${{ needs.set-build-version.outputs.version }}
- name: generate-assets
run: yarn workspace @affine/electron generate-assets
env:
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
RELEASE_VERSION: ${{ needs.set-build-version.outputs.version }}
SKIP_PLUGIN_BUILD: 'true'
SKIP_NX_CACHE: 'true'
- name: Upload core artifact
uses: actions/upload-artifact@v3
with:
name: core
path: packages/frontend/electron/resources/web-static
make-distribution:
strategy:
# all combinations: macos-latest x64, macos-latest arm64, ubuntu-latest x64
# For windows, we need a separate approach
matrix:
spec:
- runner: macos-latest
platform: darwin
arch: x64
target: x86_64-apple-darwin
- runner: macos-latest
platform: darwin
arch: arm64
target: aarch64-apple-darwin
- runner: ubuntu-latest
platform: linux
arch: x64
target: x86_64-unknown-linux-gnu
- runner: windows-latest
platform: win32
arch: x64
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.spec.runner }}
needs:
- before-make
- set-build-version
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
SKIP_GENERATE_ASSETS: 1
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
timeout-minutes: 10
if: ${{ matrix.spec.platform == 'darwin' }}
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
build-plugins: false
nmHoistingLimits: workspaces
enableScripts: false
- name: Setup Node.js
timeout-minutes: 10
if: ${{ matrix.spec.platform != 'darwin' }}
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
build-plugins: false
nmHoistingLimits: workspaces
- name: Build AFFiNE native
uses: ./.github/actions/build-rust
with:
target: ${{ matrix.spec.target }}
package: '@affine/native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Replace Version
run: ./scripts/set-version.sh ${{ needs.set-build-version.outputs.version }}
- uses: actions/download-artifact@v3
with:
name: core
path: packages/frontend/electron/resources/web-static
- name: Build Plugins
run: yarn run build:plugins
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
- name: Signing By Apple Developer ID
if: ${{ matrix.spec.platform == 'darwin' }}
uses: apple-actions/import-codesign-certs@v2
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
- name: make
run: yarn workspace @affine/electron make --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
env:
SKIP_PLUGIN_BUILD: 1
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
- name: Save artifacts (mac)
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
- name: Save artifacts (windows)
if: ${{ matrix.spec.platform == 'win32' }}
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.zip
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.exe
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.msi ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.msi
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.nupkg ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.nupkg
- 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-${{ env.BUILD_TYPE }}-linux-x64.zip
mv packages/frontend/electron/out/*/make/AppImage/x64/*.AppImage ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.AppImage
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: affine-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}-builds
path: builds
release:
needs:
- make-distribution
- set-build-version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download Artifacts (macos-x64)
uses: actions/download-artifact@v3
with:
name: affine-darwin-x64-builds
path: ./
- name: Download Artifacts (macos-arm64)
uses: actions/download-artifact@v3
with:
name: affine-darwin-arm64-builds
path: ./
- name: Download Artifacts (windows-x64)
uses: actions/download-artifact@v3
with:
name: affine-win32-x64-builds
path: ./
- name: Download Artifacts (linux-x64)
uses: actions/download-artifact@v3
with:
name: affine-linux-x64-builds
path: ./
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- name: Generate Release yml
run: |
node ./packages/frontend/electron/scripts/generate-yml.js
env:
RELEASE_VERSION: ${{ needs.set-build-version.outputs.version }}
- name: Generate SHA512 checksums
run: |
sha512sum *-linux-* > SHA512SUMS.txt
sha512sum *-macos-* >> SHA512SUMS.txt
sha512sum *-windows-* >> SHA512SUMS.txt
- name: Create Release Draft
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
with:
repository: 'toeverything/AFFiNE-Releases'
name: ${{ needs.set-build-version.outputs.version }}
tag_name: ${{ needs.set-build-version.outputs.version }}
prerelease: true
files: |
./SHA512SUMS.txt
./VERSION
./*.zip
./*.dmg
./*.exe
./*.nupkg
./RELEASES
./*.AppImage
./*.apk
./*.yml

View File

@@ -9,4 +9,4 @@ jobs:
add-reviews:
runs-on: ubuntu-latest
steps:
- uses: kentaro-m/auto-assign-action@v1.2.5
- uses: kentaro-m/auto-assign-action@v2.0.0

View File

@@ -32,8 +32,6 @@ jobs:
uses: ./.github/actions/setup-node
with:
electron-install: false
- name: Build Plugins
run: yarn run build:plugins
- uses: chromaui/action-next@v1
with:
workingDir: tests/storybook
@@ -44,7 +42,7 @@ jobs:
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
NODE_OPTIONS: ${{ env.NODE_OPTIONS }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: always()
with:
name: chromatic-build-artifacts-${{ github.run_id }}

View File

@@ -0,0 +1,51 @@
name: Publish UI Storybook
env:
NODE_OPTIONS: --max-old-space-size=4096
on:
workflow_dispatch:
push:
branches:
- canary
pull_request:
branches:
- canary
paths-ignore:
- README.md
- .github/**
- packages/backend/server
- packages/frontend/electron
- '!.github/workflows/publish-storybook.yml'
jobs:
publish-ui-storybook:
name: Publish UI Storybook
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
# This is required to fetch all commits for chromatic
fetch-depth: 0
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
- uses: chromaui/action-next@v1
with:
workingDir: packages/frontend/component
buildScriptName: build:storybook
exitOnceUploaded: true
onlyChanged: false
diagnostics: true
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_UI_PROJECT_TOKEN }}
NODE_OPTIONS: ${{ env.NODE_OPTIONS }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: chromatic-build-artifacts-${{ github.run_id }}
path: |
chromatic-diagnostics.json
**/build-storybook.log

View File

@@ -0,0 +1,32 @@
name: Release Desktop Automatically
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-canary.[0-9]+'
schedule:
- cron: '0 9 * * *'
permissions:
contents: write
pull-requests: write
actions: write
jobs:
dispatch-release-desktop:
runs-on: ubuntu-latest
name: Setup Release Desktop
steps:
- name: dispatch desktop release by tag
if: ${{ github.event_name == 'push' }}
uses: benc-uk/workflow-dispatch@v1
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
with:
workflow: release-desktop.yml
inputs: '{ "build-type": "canary", "is-draft": false, "is-pre-release": true }'
ref: canary

View File

@@ -1,15 +1,17 @@
name: Release Desktop App
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-canary.[0-9]+'
workflow_dispatch:
inputs:
version:
description: App Version
build-type:
description: 'Build Type'
type: choice
required: true
default: 0.0.0
default: canary
options:
- canary
- beta
- stable
is-draft:
description: 'Draft Release?'
type: boolean
@@ -20,11 +22,6 @@ on:
type: boolean
required: true
default: true
build-type:
description: 'Build Type (canary, beta or stable)'
type: string
required: true
default: canary
permissions:
actions: write
@@ -32,34 +29,27 @@ permissions:
security-events: write
env:
BUILD_TYPE: ${{ github.event.inputs.build-type || (github.ref_type == 'tag' && contains(github.ref, 'canary') && 'canary') }}
BUILD_TYPE: ${{ github.event.inputs.build-type }}
DEBUG: napi:*
APP_NAME: affine
MACOSX_DEPLOYMENT_TARGET: '10.13'
MIXPANEL_TOKEN: '389c0615a69b57cca7d3fa0a4824c930'
jobs:
before-make:
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.build-type || (github.ref_type == 'tag' && contains(github.ref, 'canary') && 'canary') }}
environment: ${{ github.event.inputs.build-type }}
outputs:
RELEASE_VERSION: ${{ steps.get-canary-version.outputs.RELEASE_VERSION }}
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: Get canary version
id: get-canary-version
if: ${{ github.ref_type == 'tag' }}
run: |
TAG_VERSION=${GITHUB_REF#refs/tags/v}
PACKAGE_VERSION=$(node -p "require('./packages/frontend/electron/package.json').version")
if [ "$TAG_VERSION" != "$PACKAGE_VERSION" ]; then
echo "Tag version ($TAG_VERSION) does not match package.json version ($PACKAGE_VERSION)"
exit 1
fi
echo "RELEASE_VERSION=$(node -p "require('./packages/frontend/electron/package.json').version")" >> $GITHUB_OUTPUT
- name: generate-assets
run: yarn workspace @affine/electron generate-assets
env:
@@ -67,27 +57,25 @@ jobs:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
RELEASE_VERSION: ${{ github.event.inputs.version || steps.get-canary-version.outputs.RELEASE_VERSION }}
RELEASE_VERSION: ${{ steps.version.outputs.APP_VERSION }}
SKIP_PLUGIN_BUILD: 'true'
SKIP_NX_CACHE: 'true'
- name: Upload core artifact
uses: actions/upload-artifact@v3
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
name: core
name: web
path: packages/frontend/electron/resources/web-static
make-distribution:
strategy:
# all combinations: macos-latest x64, macos-latest arm64, ubuntu-latest x64
# For windows, we need a separate approach
matrix:
spec:
- runner: macos-latest
- runner: macos-14
platform: darwin
arch: x64
target: x86_64-apple-darwin
- runner: macos-latest
- runner: macos-14
platform: darwin
arch: arm64
target: aarch64-apple-darwin
@@ -102,15 +90,21 @@ jobs:
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
SKIP_GENERATE_ASSETS: 1
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
timeout-minutes: 10
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
build-plugins: false
nmHoistingLimits: workspaces
enableScripts: false
- name: Build AFFiNE native
@@ -119,9 +113,9 @@ jobs:
target: ${{ matrix.spec.target }}
package: '@affine/native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: core
name: web
path: packages/frontend/electron/resources/web-static
- name: Build Desktop Layers
@@ -141,29 +135,32 @@ jobs:
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
- 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
- name: Save artifacts (mac)
if: ${{ matrix.spec.platform == 'darwin' }}
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg
mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip
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
- 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-${{ env.BUILD_TYPE }}-linux-x64.zip
mv packages/frontend/electron/out/*/make/AppImage/x64/*.AppImage ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.AppImage
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
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: affine-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}-builds
path: builds
package-distribution-windows:
strategy:
# all combinations: macos-latest x64, macos-latest arm64, ubuntu-latest x64
# For windows, we need a separate approach
matrix:
spec:
- runner: windows-latest
@@ -176,15 +173,21 @@ jobs:
FILES_TO_BE_SIGNED: ${{ steps.get_files_to_be_signed.outputs.FILES_TO_BE_SIGNED }}
env:
SKIP_GENERATE_ASSETS: 1
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps:
- uses: actions/checkout@v4
- name: Setup Version
id: version
uses: ./.github/actions/setup-version
- name: Setup Node.js
timeout-minutes: 10
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
build-plugins: false
nmHoistingLimits: workspaces
- name: Build AFFiNE native
uses: ./.github/actions/build-rust
@@ -192,14 +195,11 @@ jobs:
target: ${{ matrix.spec.target }}
package: '@affine/native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: core
name: web
path: packages/frontend/electron/resources/web-static
- name: Build Plugins
run: yarn run build:plugins
- name: Build Desktop Layers
run: yarn workspace @affine/electron build
@@ -221,7 +221,7 @@ jobs:
run: Compress-Archive -CompressionLevel Fastest -Path packages/frontend/electron/out/* -DestinationPath archive.zip
- name: Save packaged artifacts for signing
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: packaged-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: |
@@ -238,8 +238,6 @@ jobs:
make-windows-installer:
needs: sign-packaged-artifacts-windows
strategy:
# all combinations: macos-latest x64, macos-latest arm64, ubuntu-latest x64
# For windows, we need a separate approach
matrix:
spec:
- runner: windows-latest
@@ -255,7 +253,7 @@ jobs:
timeout-minutes: 10
uses: ./.github/actions/setup-node
- name: Download and overwrite packaged artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: signed-packaged-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
@@ -276,7 +274,7 @@ jobs:
echo $FILES_TO_BE_SIGNED
- name: Save installer for signing
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: installer-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: archive.zip
@@ -289,10 +287,8 @@ jobs:
artifact-name: installer-win32-x64
finalize-installer-windows:
needs: sign-installer-artifacts-windows
needs: [sign-installer-artifacts-windows, before-make]
strategy:
# all combinations: macos-latest x64, macos-latest arm64, ubuntu-latest x64
# For windows, we need a separate approach
matrix:
spec:
- runner: windows-latest
@@ -302,7 +298,7 @@ jobs:
runs-on: ${{ matrix.spec.runner }}
steps:
- name: Download and overwrite installer artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: signed-installer-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}
path: .
@@ -312,12 +308,12 @@ jobs:
- name: Save artifacts
run: |
mkdir -p builds
mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.zip
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.exe
mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.msi ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.msi
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/squirrel.windows/x64/*.msi ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.msi
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: affine-${{ matrix.spec.platform }}-${{ matrix.spec.arch }}-builds
path: builds
@@ -328,29 +324,29 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: core
name: web
path: web-static
- name: Zip web-static
run: zip -r web-static.zip web-static
- name: Download Artifacts (macos-x64)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: affine-darwin-x64-builds
path: ./
- name: Download Artifacts (macos-arm64)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: affine-darwin-arm64-builds
path: ./
- name: Download Artifacts (windows-x64)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: affine-win32-x64-builds
path: ./
- name: Download Artifacts (linux-x64)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: affine-linux-x64-builds
path: ./
@@ -361,19 +357,42 @@ jobs:
run: |
node ./packages/frontend/electron/scripts/generate-yml.js
env:
RELEASE_VERSION: ${{ github.event.inputs.version || needs.before-make.outputs.RELEASE_VERSION }}
RELEASE_VERSION: ${{ needs.before-make.outputs.RELEASE_VERSION }}
- name: Create Release Draft
uses: softprops/action-gh-release@v1
if: ${{ github.ref_type == 'tag' }}
uses: softprops/action-gh-release@v2
with:
name: ${{ github.event.inputs.version || needs.before-make.outputs.RELEASE_VERSION }}
name: ${{ needs.before-make.outputs.RELEASE_VERSION }}
body: ''
draft: ${{ github.event.inputs.is-draft || true }}
prerelease: ${{ github.event.inputs.is-pre-release || needs.before-make.outputs.version }}
draft: ${{ github.event.inputs.is-draft }}
prerelease: ${{ github.event.inputs.is-pre-release }}
files: |
./VERSION
./*.zip
./*.dmg
./*.exe
./*.AppImage
./*.appimage
./*.apk
./*.yml
- name: Create Nightly Release Draft
if: ${{ github.ref_type == 'branch' }}
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
with:
# Temporarily, treat release from branch as nightly release, artifact saved to AFFiNE-Releases.
# Need to improve internal build and nightly release logic.
repository: 'toeverything/AFFiNE-Releases'
name: ${{ needs.before-make.outputs.RELEASE_VERSION }}
tag_name: ${{ needs.before-make.outputs.RELEASE_VERSION }}
body: ''
draft: false
prerelease: true
files: |
./VERSION
./*.zip
./*.dmg
./*.exe
./*.appimage
./*.apk
./*.yml

View File

@@ -14,7 +14,7 @@ jobs:
env:
ARCHIVE_DIR: ${{ github.run_id }}-${{ github.run_attempt }}-${{ inputs.artifact-name }}
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact-name }}
path: ${{ env.ARCHIVE_DIR }}
@@ -36,7 +36,7 @@ jobs:
cd ${{ env.ARCHIVE_DIR }}
7za a signed.zip .\out\*
- name: upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: signed-${{ inputs.artifact-name }}
path: ${{ env.ARCHIVE_DIR }}/signed.zip

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Publish
uses: cloudflare/wrangler-action@v3.3.2
uses: cloudflare/wrangler-action@v3.4.1
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}

3
.gitignore vendored
View File

@@ -79,3 +79,6 @@ lib
affine.db
apps/web/next-routes.conf
.nx
packages/frontend/templates/edgeless
packages/frontend/core/public/static/templates

View File

@@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn lint-staged && yarn lint:ox

2
.nvmrc
View File

@@ -1 +1 @@
18
20

View File

@@ -16,6 +16,9 @@ packages/frontend/i18n/src/i18n-generated.ts
packages/frontend/graphql/src/graphql/index.ts
tests/affine-legacy/**/static
.yarnrc.yml
packages/frontend/templates/edgeless-templates.gen.ts
packages/frontend/templates/templates.gen.ts
packages/frontend/templates/onboarding
# auto-generated by NAPI-RS
# fixme(@joooye34): need script to check and generate ignore list here

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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.0.2.cjs
yarnPath: .yarn/releases/yarn-4.1.1.cjs

1014
Cargo.lock generated

File diff suppressed because it is too large Load Diff

163
README.md
View File

@@ -5,86 +5,89 @@
Write, Draw and Plan All at Once
<br>
</h1>
<p>
One hyper-fused platform for wildly creative minds. <br />
A privacy-focussed, local-first, open-source, and ready-to-use alternative for Notion & Miro.
<a href="https://affine.pro/download">
<img alt="affine logo" src="https://cdn.affine.pro/Github_hero_image1.png" style="width: 100%">
</a>
<br/>
<p align="center">
A privacy-focused, local-first, open-source, and ready-to-use alternative for Notion & Miro. <br />
One hyper-fused platform for wildly creative minds.
</p>
</div>
<br/>
<br/>
<a href="https://www.producthunt.com/posts/affine-3?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-affine&#0045;3" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=440671&theme=light" alt="AFFiNE - One&#0032;app&#0032;for&#0032;all&#0032;&#0045;&#0032;Where&#0032;Notion&#0032;meets&#0032;Miro | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
<br/>
<br/>
<div align="center">
[![AFFiNE Web](<https://img.shields.io/badge/-Try%20It%20Online%20%E2%86%92-rgb(84,56,255)?style=flat-square&logoColor=white&logo=affine>)](https://app.affine.pro)
[![AFFiNE macOS M1/M2 Chip](https://img.shields.io/badge/-macOS_M_Chip%20%E2%86%92-black?style=flat-square&logo=apple&logoColor=white)](https://affine.pro/download)
[![AFFiNE macOS x64](https://img.shields.io/badge/-macOS_x86%20%E2%86%92-black?style=flat-square&logo=apple&logoColor=white)](https://affine.pro/download)
[![AFFiNE Window x64](https://img.shields.io/badge/-Windows%20%E2%86%92-blue?style=flat-square&logo=windows&logoColor=white)](https://affine.pro/download)
[![AFFiNE Linux](https://img.shields.io/badge/-Linux%20%E2%86%92-yellow?style=flat-square&logo=linux&logoColor=white)](https://affine.pro/download)
<a href="https://affine.pro">Home Page</a> |
<a href="https://discord.com/invite/yz6tGVsf5p">Discord</a> |
<a href="https://app.affine.pro">Live Demo</a> |
<a href="https://affine.pro/blog/">Blog</a> |
<a href="https://docs.affine.pro/docs/">Documentation</a>
</div>
<br/>
[![Releases](https://img.shields.io/github/downloads/toeverything/AFFiNE/total)](https://github.com/toeverything/AFFiNE/releases/latest)
[![stars-icon]](https://github.com/toeverything/AFFiNE)
[![All Contributors][all-contributors-badge]](#contributors)
[![codecov]](https://codecov.io/gh/toeverything/AFFiNE)
[![Node-version-icon]](https://nodejs.org/)
[![TypeScript-version-icon]](https://www.typescriptlang.org/)
[![React-version-icon]](https://reactjs.org/)
[![blocksuite-icon]](https://github.com/toeverything/blocksuite)
[![Rust-version-icon]](https://www.rust-lang.org/)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftoeverything%2FAFFiNE.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftoeverything%2FAFFiNE?ref=badge_shield)
[![Deploy](https://github.com/toeverything/AFFiNE/actions/workflows/deploy.yml/badge.svg)](https://github.com/toeverything/AFFiNE/actions/workflows/deploy.yml)
</div>
---
<div align="center">
<a href="http://affine.pro"><img src="https://img.shields.io/badge/-AFFiNE-06449d?style=social&logo=affine" height=25></a>
&nbsp;
<a href="https://community.affine.pro"><img src="https://img.shields.io/badge/-Community-424549?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAXNJREFUWEftlitLRUEURtdVEVExWUx2qxgNVouoXYtNDP4Tw20WtftAsItZrHaTYBJREZ98MAc248wcZxi4CGfSeezHmm/23kyPAa/egPPTAXQK/FsFBP7ldVDRZoqcgO9I+2bHy3ZIJBfTCPCZM1tqAxwBmzUBrNQNbEx+5b0B5oEN4NCBrAMnMaiUAuPAs3HU82TLEZwBqwGbaJ4UgKQ8CFR6SoEl4LIWwCJwZQCegKkWBWLHVKSActvdzgG3DqitDf3/VQBskBDALrDnAKXUo3ueAF5KinAf2DKOmnzD7l214bdbA6hC1XHZNQa8hSBC0hwDa57xDHDvvvWB7ciOZoE79+8CWPbsBGc769eFxJdWIKcuyIdRoG3W7AAC1dJkHDIOo8B78+4rEBo8r4AkLFk6Jk3HaeDBBTgHVmIAfpJUz+cAFXVBreQCvQYW/lqEjV1NAMUMqpAaxQMHyDnjYtuS+0BxstwaqJooFqxToFPgB5FuPCEB6XK2AAAAAElFTkSuQmCC" height=25></a>
&nbsp;
<a href="https://discord.com/invite/yz6tGVsf5p"><img src="https://img.shields.io/badge/-Discord-424549?style=social&logo=discord" height=25></a>
&nbsp;
<a href="https://t.me/affineworkos"><img src="https://img.shields.io/badge/-Telegram-red?style=social&logo=telegram" height=25></a>
&nbsp;
<a href="https://twitter.com/AffineOfficial"><img src="https://img.shields.io/badge/-Twitter-red?style=social&logo=twitter" height=25></a>
&nbsp;
<a href="https://medium.com/@affineworkos"><img src="https://img.shields.io/badge/-Medium-red?style=social&logo=medium" height=25></a>
</div>
<br />
<div align="center">
<em>Docs, canvas and tables are hyper-merged with AFFiNE - just like the word affine (əˈɪn | a-fine).</em>
</div>
<br />
![img_v2_37a7cc04-ab3f-4405-ae9a-f84ceb4c948g](https://user-images.githubusercontent.com/79301703/230892907-5fd5c0c5-1665-4d75-8a35-744e0afc36a5.gif)
## Join our community
Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities across [official social platforms](https://community.affine.pro/c/start-here/)! Once youre familiar with using the software, maybe you will share your wisdom with others and even consider joining the [AFFiNE Ambassador program](https://community.affine.pro/c/start-here/affine-ambassador) to help spread AFFiNE to the world.
<div align="center">
<img src="https://github.com/toeverything/AFFiNE/assets/79301703/49a426bb-8d2b-4216-891a-fa5993642253" style="width: 100%"/>
</div>
## Getting started & staying tuned with us.
⚠️ Please note that AFFiNE is still under active development and is not yet ready for production use. ⚠️
Star us, and you will receive all release notifications from GitHub without any delay!
[![affine.pro](https://img.shields.io/static/v1?label=Try%20it%20Online&logo=affine&message=%E2%86%92&style=for-the-badge)](https://app.affine.pro) No installation or registration required! Head over to our website and try it out now.
<img src="https://user-images.githubusercontent.com/79301703/230891830-0110681e-8c7e-483b-b6d9-9e42b291b9ef.gif" style="width: 100%"/>
[![community.affine.pro](https://img.shields.io/static/v1?label=Join%20the%20community&message=%E2%86%92&style=for-the-badge)](https://community.affine.pro) Our wonderful community, where you can meet and engage with the team, developers and other like-minded enthusiastic user of AFFiNE.
## What is AFFiNE
Star us, and you will receive all releases notifications from GitHub without any delay!
![rbU3YmmsQT](https://user-images.githubusercontent.com/79301703/230891830-0110681e-8c7e-483b-b6d9-9e42b291b9ef.gif)
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.
## Features
- **Hyper merged** — Write, draw and plan all at once. Assemble any blocks you love on any canvas you like to enjoy seamless transitions between workflows with AFFiNE.
- **Privacy focussed** — AFFiNE is built with your privacy in mind and is one of our key concerns. We want you to keep control of your data, allowing you to store it as you like, where you like while still being able to freely edit and view your data on-demand.
- **Offline-first** — With your privacy in mind we also decided to go offline-first. This means that AFFiNE can be used offline, whether you want to view or edit, with support for conflict-free merging when you are back online.
- **Clean, intuitive design** — With AFFiNE you can concentrate on editing with a clean and modern interface. Which is responsive, so it looks great on tablets too, and mobile support is coming in the future.
- **Modern Block Editor with Markdown support** — A modern block editor can help you not only for docs, but slides and tables as well. When you write in AFFiNE you can use Markdown syntax which helps create an easier editing experience, that can be experienced with just a keyboard. And this allows you to export your data cleanly into Markdown.
- **Collaboration** — Whether you want to collaborate with yourself across multiple devices, or work together with others, support for collaboration and multiplayer is out-of-the-box, which makes it easy for teams to get started with AFFiNE.
- **Choice of multiple languages** — Thanks to community contributions AFFiNE offers support for multiple languages. If you don't find your language or would like to suggest some changes we welcome your contributions.
**A true canvas for blocks in any form. Docs and whiteboard are now fully merged.**
![img_v2_3a4ee0da-6dd7-48cb-8f19-5411f86768ag](https://user-images.githubusercontent.com/79301703/230893796-dc707955-e4e5-4a42-a3c9-18d1ea754f6f.gif)
- Many editor apps claim to be a canvas for productivity, but AFFiNE is one of the very few which allows you to put any building block on an edgeless canvas -- rich text, sticky notes, any embedded web pages, multi-view databases, linked pages, shapes and even slides. We have it all.
**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.
**Local-first & Real-time collaborative**
- We love the idea of local-first that you always own your data on your disk, in spite of the cloud. Furthermore, AFFiNE supports real-time sync and collaborations on web and cross-platform clients.
**Self-host & Shape your own AFFiNE**
- You have the freedom to manage, self-host, fork and build your own AFFiNE. Plugin community and third-party blocks are coming soon. More tractions on [Blocksuite](block-suite.com). Check there to learn how to [self-host AFFiNE](https://docs.affine.pro/docs/self-host-affine-).
## Acknowledgement
“We shape our tools and thereafter our tools shape us”. A lot of pioneers have inspired us along the way, e.g.:
- Quip & Notion with their great concept of “everything is a block”
- Trello with their Kanban
- Airtable & Miro with their no-code programable datasheets
- Miro & Whimiscal with their edgeless visual whiteboard
- Remote & Capacities with their object-based tag system
There is a large overlap of their atomic “building blocks” between these apps. They are not open source, nor do they have a plugin system like Vscode for contributors to customize. We want to have something that contains all the features we love and also goes one step even further.
Thanks for checking us out, we appreciate your interest and sincerely hope that AFFiNE resonates with you! 🎵 Checking https://affine.pro/ for more details ions.
## Contributing
@@ -101,7 +104,7 @@ For **bug reports**, **feature requests** and other **suggestions** you can also
For **translation** and **language support** you can visit our [i18n General Space](https://community.affine.pro/c/i18n-general).
Looking for **others ways to contribute** and wondering where to start? Check out the [AFFiNE Ambassador program](https://community.affine.pro/c/start-here/affine-ambassador), we work closely with passionate community members and provide them with a wide-range of support and resources.
Looking for **other ways to contribute** and wondering where to start? Check out the [AFFiNE Ambassador program](https://community.affine.pro/c/start-here/affine-ambassador), we work closely with passionate community members and provide them with a wide range of support and resources.
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.
@@ -113,26 +116,11 @@ If you have questions, you are welcome to contact us. One of the best places to
| [@toeverything/y-indexeddb](packages/common/y-indexeddb) | IndexedDB database adapter for Yjs | [![](https://img.shields.io/npm/dm/@toeverything/y-indexeddb?style=flat-square&color=eee)](https://www.npmjs.com/package/@toeverything/y-indexeddb) |
| [@toeverything/theme](packages/common/theme) | AFFiNE theme | [![](https://img.shields.io/npm/dm/@toeverything/theme?style=flat-square&color=eee)](https://www.npmjs.com/package/@toeverything/theme) |
## Plugins
> Plugins are a way to extend the functionality of AFFiNE. You can use plugins to add new blocks, new features, and even new ways to edit content.
>
> (Currently, the plugin system is under heavy development. You will see the plugin system in the canary release.)
- [@affine/sdk](./packages/common/sdk) - SDK for developing plugins
- [@affine/plugin-cli](./tools/plugin-cli) - CLI for developing plugins
| Official Plugin | Description | Status |
| ---------------------------------------------------------------- | ----------------------------------------- | ------ |
| [@affine/copilot-plugin](./packages/plugins/copilot) | AI Copilot that help you document writing | 🚧 |
| [@affine/image-preview-plugin](./packages/plugins/image-preview) | Component for previewing an image | ✅ |
| [@affine/outline](./packages/plugins/outline) | Outline for your document | ✅ |
## Upstreams
We would also like to give thanks to open-source projects that make AFFiNE possible:
- [blocksuite](https://github.com/toeverything/BlockSuite) - 💠 BlockSuite is the open-source collaborative editor project behind AFFiNE.
- [Blocksuite](https://github.com/toeverything/BlockSuite) - 💠 BlockSuite is the open-source collaborative editor project behind AFFiNE.
- [OctoBase](https://github.com/toeverything/OctoBase) - 🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
- [yjs](https://github.com/yjs/yjs) - Fundamental support of CRDTs for our implementation on state management and data sync.
- [electron](https://github.com/electron/electron) - Build cross-platform desktop apps with JavaScript, HTML, and CSS.
@@ -153,44 +141,17 @@ We would like to express our gratitude to all the individuals who have already c
<img alt="contributors" src="https://opencollective.com/affine/contributors.svg?width=890&button=false" />
</a>
## Data Compatibility
Data compatibility is a very important issue for us. We will try our best to ensure that the data is compatible with the previous version.
If you encounter any problems when upgrading the version, please feel free to [contact us](mailto:developer@toeverything.info).
| AFFiNE Version | Export/Import workspace | Data auto migration |
| --------------- | ----------------------- | ------------------- |
| <= 0.5.4 | ❌️ | ❌ |
| 0.6.x | ✅️ | ✅ |
| 0.7.x | ✅️ | ✅ |
| 0.8.x (current) | ✅ | ✅ |
| 0.9.x (next) | 🚧 | 🚧 |
- ❌️: Not compatible
- ✅: Compatible
- 🚧: Work in progress
## Self-Host
> We know that the self-host version has been out of date for a long time.
>
> We are working hard to get this updated to the latest version, you can try our desktop version first.
Get started with Docker and deploy your own feature-rich, restriction-free deployment of AFFiNE.
We are working hard to get this updated to the latest version, you can keep an eye on the [latest packages].
Begin with Docker to deploy your own feature-rich, unrestricted version of AFFiNE. Our team is diligently updating to the latest version. For more information on how to self-host AFFiNE, please refer to our [documentation](https://docs.affine.pro/docs/self-host-affine-).
## Hiring
Some amazing companies including AFFiNE are looking for developers! Are you interested in helping build with AFFiNE and/or its partners? Check out some of the latest [jobs available].
## Upgrading
For upgrading information, please see our [update page].
Some amazing companies, including AFFiNE, are looking for developers! Are you interested in joining AFFiNE or its partners? Check out our Discord channel for some of the latest jobs available.
## Feature Request
For feature request, please see [community.affine.pro](https://community.affine.pro/c/feature-requests/).
For feature requests, please see [community.affine.pro](https://community.affine.pro/c/feature-requests/).
## Building
@@ -218,8 +179,6 @@ Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testi
See [LICENSE] for details.
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftoeverything%2FAFFiNE.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftoeverything%2FAFFiNE?ref=badge_large)
[all-contributors-badge]: https://img.shields.io/github/contributors/toeverything/AFFiNE
[license]: ./LICENSE
[building.md]: ./docs/BUILDING.md
@@ -227,7 +186,7 @@ See [LICENSE] for details.
[jobs available]: ./docs/jobs.md
[latest packages]: https://github.com/toeverything/AFFiNE/pkgs/container/affine-self-hosted
[contributor license agreement]: https://github.com/toeverything/affine/edit/canary/.github/CLA.md
[rust-version-icon]: https://img.shields.io/badge/Rust-1.74.1-dea584
[rust-version-icon]: https://img.shields.io/badge/Rust-1.77.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

29
SECURITY.md Normal file
View File

@@ -0,0 +1,29 @@
# Security Policy
## Supported Versions
We recommend users to always use the latest major version. Security updates will be provided for the current major version until the next major version is released.
| Version | Supported |
| --------------- | ------------------ |
| 0.13.x (stable) | :white_check_mark: |
| < 0.13.x | :x: |
## Reporting a Vulnerability
We welcome you to provide us with bug reports via and email at [security@toeverything.info](mailto:security@toeverything.info). We expect your report to contain at least the following for us to evaluate and reproduce:
1. Using platform and version, for example:
- macos arm64 0.12.0-canary-202402220729-0868ac6
- app.affine.pro 0.12.0-canary-202402220729-0868ac6
2. A sets of video or screenshot containing the reproduce steps that proves you successfully exploited the vulnerability, preferably including the time and software version of the successful exploit.
3. Your classification or analysis of the vulnerability (optional)
Since we are an open source project, we also welcome you to provide corresponding fix PRs.
We will provide bounties for vulnerabilities involving user information leakage, permission leakage, and unauthorized code execution. For other types of vulnerabilities, we will determine specific rewards based on the evaluation results.
If the vulnerability is caused by a library we depend on, we encourage you to submit a security report to the corresponding dependent library at the same time to benefit more users.

View File

@@ -57,6 +57,29 @@ corepack prepare yarn@stable --activate
yarn install
```
### Clone repository
#### Linux & MacOS
```sh
git clone https://github.com/toeverything/AFFiNE
```
#### Windows
In our codebase, we use symbolic links. Due to the security design of Windows, the creation of symbolic links requires administrator privileges. This is part of the security policy settings of Windows, and more information can be found at [Security Policy Settings for Creating Symbolic Links](https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/create-symbolic-links).
For detailed guidance on enabling this feature, please refer to the official documentation: [Enable Developer Mode on Windows](https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development).
Once Developer Mode is enabled, execute the following command with administrator privileges:
```sh
# Enable symbolic links
git config --global core.symlinks true
# Clone the repository, also need to be run with administrator privileges
git clone https://github.com/toeverything/AFFiNE
```
### Build Native Dependencies
Run the following script. It will build the native module at [`/packages/frontend/native`](/packages/frontend/native) and build Node.js binding using [NAPI.rs](https://napi.rs/).
@@ -67,18 +90,6 @@ Note: use `strip` from system instead of `binutils` if you are running MacOS. [s
yarn workspace @affine/native build
```
### Build Infra
```sh
yarn run build:infra
```
### Build Plugins
```sh
yarn run build:plugins
```
### Build Server Dependencies
```sh
@@ -102,7 +113,7 @@ yarn test
### E2E Test
```shell
# there are `affine-local`, `affine-migration`, `affine-local`, `affine-plugin`, `affine-prototype` e2e tests,
# there are `affine-local`, `affine-migration`, `affine-local`, `affine-prototype` e2e tests,
# which are run under different situations.
cd tests/affine-local
yarn e2e

View File

@@ -17,7 +17,6 @@ The codebase is organized as follows:
- `packages/` contains all code running in production.
- `backend/` contains backend code, more information from <https://github.com/toeverything/OctoBase>.
- `frontend/` contains frontend code, including the web app, the electron app and business libraries.
- `plugins/` contains all build-in plugins.
- `common` contains the isomorphic code or basic libraries without business.
- `tools/` contains tools to help developing or CI, not used in production.
- `tests/` contains testings across different libraries, including e2e testings and integration testings.
@@ -30,7 +29,7 @@ It includes the global constants, browser and system check.
This package should be imported at the very beginning of the entry point.
### `@affine/workspace`
### `@affine/workspace-impl`
Current we have two workspace plugin:

View File

@@ -49,28 +49,24 @@ postgres=# \du
### Set the following config to `packages/backend/server/.env`
In the following setup, we assume you have postgres server running at localhost:5432 and mailhog running at localhost:1025.
When logging in via email, you will see the mail arriving at localhost:8025 in a browser.
```
DATABASE_URL="postgresql://affine:affine@localhost:5432/affine"
NEXTAUTH_URL="http://localhost:8080/"
```
You may need additional env for auth login. You may want to put your own one if you are not part of the AFFiNE team
For email login & password, please refer to https://nodemailer.com/usage/using-gmail/
```
OAUTH_EMAIL_SENDER=
OAUTH_EMAIL_LOGIN=
OAUTH_EMAIL_PASSWORD=
OAUTH_GOOGLE_ENABLED="true"
OAUTH_GOOGLE_CLIENT_ID=
OAUTH_GOOGLE_CLIENT_SECRET=
MAILER_SENDER="noreply@toeverything.info"
MAILER_USER="auth"
MAILER_PASSWORD="auth"
MAILER_HOST="localhost"
MAILER_PORT="1025"
```
## Prepare prisma
```
yarn workspace @affine/server prisma db push
yarn workspace @affine/server data-migration run
```
Note, you may need to do it again if db schema changed.

View File

@@ -0,0 +1,23 @@
{
"name": "@affine/docs",
"type": "module",
"private": true,
"scripts": {
"build": "typedoc --options ../../typedoc.json",
"dev": "nodemon --exec 'typedoc --options ../../typedoc.json' & serve dist/"
},
"devDependencies": {
"nodemon": "^3.1.0",
"serve": "^14.2.1",
"typedoc": "^0.25.8"
},
"nodemonConfig": {
"watch": [
"./readme.md",
"../../packages/*/*/src/*.ts",
"../../**/typedoc{.base,}.json"
],
"ext": "ts,md,json"
},
"version": "0.14.0"
}

7
docs/reference/readme.md Normal file
View File

@@ -0,0 +1,7 @@
Welcome to AFFiNE development reference.
This document is intended for developers who want to contribute to AFFiNE. It contains information about the architecture of AFFiNE, how to build it, and how to contribute to it.
### The Infrastructure of AFFiNE
see {@link @toeverything/infra!}

View File

@@ -1,12 +1,13 @@
{
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"npmScope": "toeverything",
"nxCloudAccessToken": "MzUwNTU4YWItZGFhYi00YjE2LWIxODAtODk4NmIwYjMwYzZkfHJlYWQ=",
"tasksRunnerOptions": {
"default": {
"runner": "nx-cloud",
"options": {
"cacheableOperations": ["build", "test", "e2e", "lint"],
"accessToken": "YmQ2NTg1ODktZTk5Mi00YzhiLTk2ZmUtNWQzMDg0NDBkOWM3fHJlYWQtb25seQ=="
"runtimeCacheInputs": ["node -v"]
}
}
},

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/monorepo",
"version": "0.11.0",
"version": "0.14.0",
"private": true,
"author": "toeverything",
"license": "MIT",
@@ -8,45 +8,43 @@
".",
"packages/*/*",
"tools/*",
"!tools/@types",
"docs/reference",
"tools/@types/*",
"tests/*",
"!tests/affine-legacy",
"tests/affine-legacy/*"
],
"engines": {
"node": ">=18.16.1 <19.0.0"
"node": "<21.0.0"
},
"scripts": {
"dev": "dev-core",
"dev": "yarn workspace @affine/cli dev",
"dev:electron": "yarn workspace @affine/electron dev",
"build": "yarn nx build @affine/core",
"build": "yarn nx build @affine/web",
"build:electron": "yarn nx build @affine/electron",
"build:storage": "yarn nx run-many -t build -p @affine/storage",
"build:infra": "yarn nx run-many -t build --projects=tag:infra",
"build:plugins": "yarn nx run-many -t build --projects=tag:plugin",
"build:storybook": "yarn nx build @affine/storybook",
"start:web-static": "yarn workspace @affine/core static-server",
"start:web-static": "yarn workspace @affine/web static-server",
"start:storybook": "yarn exec serve tests/storybook/storybook-static -l 6006",
"serve:test-static": "yarn exec serve tests/fixtures --cors -p 8081",
"lint:eslint": "eslint . --ext .js,mjs,.ts,.tsx --cache",
"lint:eslint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint . --ext .js,mjs,.ts,.tsx --cache",
"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 --deny-warnings -D correctness -D nursery -D prefer-array-some -D no-useless-promise-resolve-reject -A no-undef -A consistent-type-exports -A default -A named -A ban-ts-comment",
"lint:ox": "oxlint --import-plugin --deny-warnings -D correctness -D nursery -D prefer-array-some -D no-useless-promise-resolve-reject -D perf -A no-undef -A consistent-type-exports -A default -A named -A ban-ts-comment -A export -A no-unresolved -A no-default-export -A no-duplicates -A no-side-effects-in-initialization -A no-named-as-default -A getter-return",
"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 --diagnostics",
"postinstall": "node ./scripts/check-version.mjs && yarn i18n-codegen gen && yarn husky install"
"typecheck": "tsc -b tsconfig.json",
"postinstall": "node ./scripts/check-version.mjs && yarn i18n-codegen gen && yarn husky install",
"prepare": "husky"
},
"lint-staged": {
"*": "prettier --write --ignore-unknown --cache",
"*.{ts,tsx,mjs,js,jsx}": [
"prettier --ignore-unknown --write",
"eslint --cache --fix"
"cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint --cache --fix"
],
"*.toml": [
"taplo format"
@@ -58,64 +56,62 @@
"devDependencies": {
"@affine-test/kit": "workspace:*",
"@affine/cli": "workspace:*",
"@affine/plugin-cli": "workspace:*",
"@commitlint/cli": "^18.4.3",
"@commitlint/config-conventional": "^18.4.3",
"@faker-js/faker": "^8.3.1",
"@commitlint/cli": "^19.0.0",
"@commitlint/config-conventional": "^19.0.0",
"@faker-js/faker": "^8.4.1",
"@istanbuljs/schema": "^0.1.3",
"@magic-works/i18n-codegen": "^0.5.0",
"@nx/vite": "17.1.3",
"@perfsee/sdk": "^1.9.0",
"@playwright/test": "^1.40.0",
"@taplo/cli": "^0.5.2",
"@testing-library/react": "^14.1.2",
"@nx/vite": "18.1.2",
"@playwright/test": "^1.41.2",
"@taplo/cli": "^0.7.0",
"@testing-library/react": "^14.2.1",
"@toeverything/infra": "workspace:*",
"@types/affine__env": "workspace:*",
"@types/eslint": "^8.44.7",
"@types/node": "^20.9.3",
"@typescript-eslint/eslint-plugin": "^6.13.1",
"@typescript-eslint/parser": "^6.13.1",
"@vanilla-extract/vite-plugin": "^3.9.2",
"@vanilla-extract/webpack-plugin": "^2.3.1",
"@vitejs/plugin-react-swc": "^3.5.0",
"@vitest/coverage-istanbul": "1.0.4",
"@vitest/ui": "1.0.4",
"electron": "^27.1.0",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-i": "^2.29.0",
"@types/eslint": "^8.56.3",
"@types/node": "^20.11.20",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"@vanilla-extract/vite-plugin": "^4.0.4",
"@vanilla-extract/webpack-plugin": "^2.3.6",
"@vitejs/plugin-react-swc": "^3.6.0",
"@vitest/coverage-istanbul": "1.4.0",
"@vitest/ui": "1.4.0",
"cross-env": "^7.0.3",
"electron": "^29.0.1",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import-x": "^0.4.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-sonarjs": "^0.23.0",
"eslint-plugin-unicorn": "^49.0.0",
"eslint-plugin-unused-imports": "^3.0.0",
"eslint-plugin-vue": "^9.18.1",
"fake-indexeddb": "5.0.1",
"happy-dom": "^12.10.3",
"husky": "^8.0.3",
"lint-staged": "^15.1.0",
"msw": "^2.0.8",
"nanoid": "^5.0.3",
"nx": "^17.1.3",
"nx-cloud": "^16.5.2",
"eslint-plugin-rxjs": "^5.0.3",
"eslint-plugin-simple-import-sort": "^12.0.0",
"eslint-plugin-sonarjs": "^0.24.0",
"eslint-plugin-unicorn": "^51.0.1",
"eslint-plugin-unused-imports": "^3.1.0",
"eslint-plugin-vue": "^9.22.0",
"fake-indexeddb": "5.0.2",
"happy-dom": "^14.0.0",
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
"msw": "^2.2.1",
"nanoid": "^5.0.6",
"nx": "^18.0.4",
"nyc": "^15.1.0",
"oxlint": "0.0.21",
"prettier": "^3.1.0",
"semver": "^7.5.4",
"oxlint": "0.2.14",
"prettier": "^3.2.5",
"semver": "^7.6.0",
"serve": "^14.2.1",
"string-width": "^7.0.0",
"ts-node": "^10.9.1",
"typescript": "^5.3.2",
"vite": "^5.0.6",
"vite-plugin-istanbul": "^5.0.0",
"vite-plugin-static-copy": "^1.0.0",
"vite-tsconfig-paths": "^4.2.1",
"vitest": "1.0.4",
"string-width": "^7.1.0",
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"vite": "^5.1.4",
"vite-plugin-istanbul": "^6.0.0",
"vite-plugin-static-copy": "^1.0.1",
"vitest": "1.4.0",
"vitest-fetch-mock": "^0.2.2",
"vitest-mock-extended": "^1.3.1"
},
"packageManager": "yarn@4.0.2",
"packageManager": "yarn@4.1.1",
"resolutions": {
"vite": "^5.0.6",
"array-buffer-byte-length": "npm:@nolyfill/array-buffer-byte-length@latest",
@@ -173,9 +169,9 @@
"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",
"next-auth@^4.24.5": "patch:next-auth@npm%3A4.24.5#~/.yarn/patches/next-auth-npm-4.24.5-8428e11927.patch",
"@reforged/maker-appimage/@electron-forge/maker-base": "7.2.0",
"macos-alias": "npm:macos-alias-building@latest",
"fs-xattr": "npm:@napi-rs/xattr@latest"
"@reforged/maker-appimage/@electron-forge/maker-base": "7.3.0",
"macos-alias": "npm:@napi-rs/macos-alias@0.0.4",
"fs-xattr": "npm:@napi-rs/xattr@latest",
"@radix-ui/react-dialog": "npm:@radix-ui/react-dialog@latest"
}
}

View File

@@ -1,8 +1,4 @@
DATABASE_URL="postgresql://affine@localhost:5432/affine"
NEXTAUTH_URL="http://localhost:8080"
OAUTH_EMAIL_SENDER="noreply@toeverything.info"
OAUTH_EMAIL_LOGIN=""
OAUTH_EMAIL_PASSWORD=""
ENABLE_LOCAL_EMAIL="true"
STRIPE_API_KEY=
STRIPE_WEBHOOK_KEY=
# AFFINE_SERVER_PORT=3010
# AFFINE_SERVER_HOST=app.affine.pro
# AFFINE_SERVER_HTTPS=true
# DATABASE_URL="postgres://affine@localhost:5432/affine"

View File

@@ -0,0 +1,18 @@
-- CreateTable
CREATE TABLE "workspace_features" (
"id" SERIAL NOT NULL,
"workspace_id" VARCHAR(36) NOT NULL,
"feature_id" INTEGER NOT NULL,
"reason" VARCHAR NOT NULL,
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"expired_at" TIMESTAMPTZ(6),
"activated" BOOLEAN NOT NULL DEFAULT false,
CONSTRAINT "workspace_features_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "workspace_features" ADD CONSTRAINT "workspace_features_feature_id_fkey" FOREIGN KEY ("feature_id") REFERENCES "features"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "workspace_features" ADD CONSTRAINT "workspace_features_workspace_id_fkey" FOREIGN KEY ("workspace_id") REFERENCES "workspaces"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -0,0 +1,70 @@
-- DropForeignKey
ALTER TABLE "accounts" DROP CONSTRAINT "accounts_user_id_fkey";
-- DropForeignKey
ALTER TABLE "sessions" DROP CONSTRAINT "sessions_user_id_fkey";
-- CreateTable
CREATE TABLE "user_connected_accounts" (
"id" VARCHAR(36) NOT NULL,
"user_id" VARCHAR(36) NOT NULL,
"provider" VARCHAR NOT NULL,
"provider_account_id" VARCHAR NOT NULL,
"scope" TEXT,
"access_token" TEXT,
"refresh_token" TEXT,
"expires_at" TIMESTAMPTZ(6),
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(6) NOT NULL,
CONSTRAINT "user_connected_accounts_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "multiple_users_sessions" (
"id" VARCHAR(36) NOT NULL,
"expires_at" TIMESTAMPTZ(6),
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "multiple_users_sessions_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "user_sessions" (
"id" VARCHAR(36) NOT NULL,
"session_id" VARCHAR(36) NOT NULL,
"user_id" VARCHAR(36) NOT NULL,
"expires_at" TIMESTAMPTZ(6),
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "user_sessions_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "verification_tokens" (
"token" VARCHAR(36) NOT NULL,
"type" SMALLINT NOT NULL,
"credential" TEXT,
"expiresAt" TIMESTAMPTZ(6) NOT NULL
);
-- CreateIndex
CREATE INDEX "user_connected_accounts_user_id_idx" ON "user_connected_accounts"("user_id");
-- CreateIndex
CREATE INDEX "user_connected_accounts_provider_account_id_idx" ON "user_connected_accounts"("provider_account_id");
-- CreateIndex
CREATE UNIQUE INDEX "user_sessions_session_id_user_id_key" ON "user_sessions"("session_id", "user_id");
-- CreateIndex
CREATE UNIQUE INDEX "verification_tokens_type_token_key" ON "verification_tokens"("type", "token");
-- AddForeignKey
ALTER TABLE "user_connected_accounts" ADD CONSTRAINT "user_connected_accounts_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "user_sessions" ADD CONSTRAINT "user_sessions_session_id_fkey" FOREIGN KEY ("session_id") REFERENCES "multiple_users_sessions"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "user_sessions" ADD CONSTRAINT "user_sessions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "users" ADD COLUMN "registered" BOOLEAN NOT NULL DEFAULT true;

View File

@@ -0,0 +1,11 @@
/*
Warnings:
- A unique constraint covering the columns `[user_id,plan]` on the table `user_subscriptions` will be added. If there are existing duplicate values, this will fail.
*/
-- DropIndex
DROP INDEX "user_subscriptions_user_id_key";
-- CreateIndex
CREATE UNIQUE INDEX "user_subscriptions_user_id_plan_key" ON "user_subscriptions"("user_id", "plan");

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/server",
"private": true,
"version": "0.11.0",
"version": "0.14.0",
"description": "Affine Node.js server",
"type": "module",
"bin": {
@@ -9,109 +9,116 @@
},
"scripts": {
"build": "tsc",
"start": "node --loader ts-node/esm.mjs --es-module-specifier-resolution node ./src/index.ts",
"start": "node --loader ts-node/esm/transpile-only.mjs ./src/index.ts",
"dev": "nodemon ./src/index.ts",
"test": "ava --concurrency 1 --serial",
"test:coverage": "c8 ava --concurrency 1 --serial",
"postinstall": "prisma generate",
"data-migration": "node --loader ts-node/esm.mjs --es-module-specifier-resolution node ./src/data/app.ts",
"predeploy": "yarn prisma migrate deploy && node --es-module-specifier-resolution node ./dist/data/app.js run"
"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"
},
"dependencies": {
"@apollo/server": "^4.9.5",
"@auth/prisma-adapter": "^1.0.7",
"@aws-sdk/client-s3": "^3.454.0",
"@apollo/server": "^4.10.0",
"@auth/prisma-adapter": "^1.4.0",
"@aws-sdk/client-s3": "^3.536.0",
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.17.0",
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.1.0",
"@keyv/redis": "^2.8.0",
"@nestjs/apollo": "^12.0.11",
"@nestjs/common": "^10.2.10",
"@nestjs/core": "^10.2.10",
"@nestjs/event-emitter": "^2.0.3",
"@nestjs/graphql": "^12.0.11",
"@nestjs/platform-express": "^10.2.10",
"@nestjs/platform-socket.io": "^10.2.10",
"@nestjs/schedule": "^4.0.0",
"@google-cloud/opentelemetry-resource-util": "^2.1.0",
"@keyv/redis": "^2.8.4",
"@nestjs/apollo": "^12.1.0",
"@nestjs/common": "^10.3.3",
"@nestjs/core": "^10.3.3",
"@nestjs/event-emitter": "^2.0.4",
"@nestjs/graphql": "^12.1.1",
"@nestjs/platform-express": "^10.3.3",
"@nestjs/platform-socket.io": "^10.3.3",
"@nestjs/schedule": "^4.0.1",
"@nestjs/serve-static": "^4.0.1",
"@nestjs/throttler": "^5.0.1",
"@nestjs/websockets": "^10.2.10",
"@node-rs/argon2": "^1.5.2",
"@node-rs/crc32": "^1.7.2",
"@node-rs/jsonwebtoken": "^0.2.3",
"@nestjs/websockets": "^10.3.3",
"@node-rs/argon2": "^1.7.2",
"@node-rs/crc32": "^1.9.2",
"@node-rs/jsonwebtoken": "^0.5.0",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/core": "^1.18.1",
"@opentelemetry/exporter-prometheus": "^0.45.1",
"@opentelemetry/exporter-zipkin": "^1.18.1",
"@opentelemetry/host-metrics": "^0.34.0",
"@opentelemetry/instrumentation": "^0.45.1",
"@opentelemetry/instrumentation-graphql": "^0.36.0",
"@opentelemetry/instrumentation-http": "^0.45.1",
"@opentelemetry/instrumentation-ioredis": "^0.36.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.33.3",
"@opentelemetry/instrumentation-socket.io": "^0.34.3",
"@opentelemetry/resources": "^1.18.1",
"@opentelemetry/sdk-metrics": "^1.18.1",
"@opentelemetry/sdk-node": "^0.45.1",
"@opentelemetry/sdk-trace-node": "^1.18.1",
"@prisma/client": "^5.6.0",
"@prisma/instrumentation": "^5.6.0",
"@opentelemetry/core": "^1.21.0",
"@opentelemetry/exporter-prometheus": "^0.49.0",
"@opentelemetry/exporter-zipkin": "^1.21.0",
"@opentelemetry/host-metrics": "^0.35.0",
"@opentelemetry/instrumentation": "^0.49.0",
"@opentelemetry/instrumentation-graphql": "^0.38.0",
"@opentelemetry/instrumentation-http": "^0.49.0",
"@opentelemetry/instrumentation-ioredis": "^0.38.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.35.0",
"@opentelemetry/instrumentation-socket.io": "^0.37.0",
"@opentelemetry/resources": "^1.21.0",
"@opentelemetry/sdk-metrics": "^1.21.0",
"@opentelemetry/sdk-node": "^0.49.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/semantic-conventions": "^1.21.0",
"@prisma/client": "^5.10.2",
"@prisma/instrumentation": "^5.10.2",
"@socket.io/redis-adapter": "^8.2.1",
"cookie-parser": "^1.4.6",
"dotenv": "^16.3.1",
"dotenv": "^16.4.5",
"dotenv-cli": "^7.3.0",
"express": "^4.18.2",
"file-type": "^18.7.0",
"get-stream": "^8.0.1",
"file-type": "^19.0.0",
"get-stream": "^9.0.0",
"graphql": "^16.8.1",
"graphql-scalars": "^1.22.4",
"graphql-type-json": "^0.3.2",
"graphql-upload": "^16.0.2",
"ioredis": "^5.3.2",
"keyv": "^4.5.4",
"lodash-es": "^4.17.21",
"nanoid": "^5.0.3",
"nest-commander": "^3.12.2",
"mixpanel": "^0.18.0",
"nanoid": "^5.0.6",
"nest-commander": "^3.12.5",
"nestjs-throttler-storage-redis": "^0.4.1",
"next-auth": "^4.24.5",
"nodemailer": "^6.9.7",
"nodemailer": "^6.9.10",
"on-headers": "^1.0.2",
"parse-duration": "^1.1.0",
"pretty-time": "^1.1.0",
"prisma": "^5.6.0",
"prom-client": "^15.0.0",
"reflect-metadata": "^0.1.13",
"prisma": "^5.10.2",
"prom-client": "^15.1.0",
"reflect-metadata": "^0.2.1",
"rxjs": "^7.8.1",
"semver": "^7.5.4",
"socket.io": "^4.7.2",
"stripe": "^14.5.0",
"ws": "^8.14.2",
"yjs": "^13.6.10",
"semver": "^7.6.0",
"socket.io": "^4.7.4",
"stripe": "^14.18.0",
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"ws": "^8.16.0",
"yjs": "^13.6.12",
"zod": "^3.22.4"
},
"devDependencies": {
"@affine-test/kit": "workspace:*",
"@affine/storage": "workspace:*",
"@napi-rs/image": "^1.7.0",
"@nestjs/testing": "^10.2.10",
"@napi-rs/image": "^1.9.1",
"@nestjs/testing": "^10.3.3",
"@types/cookie-parser": "^1.4.6",
"@types/engine.io": "^3.1.10",
"@types/express": "^4.17.21",
"@types/graphql-upload": "^16.0.5",
"@types/graphql-upload": "^16.0.7",
"@types/keyv": "^4.2.0",
"@types/lodash-es": "^4.17.11",
"@types/node": "^20.9.3",
"@types/lodash-es": "^4.17.12",
"@types/mixpanel": "^2.14.8",
"@types/node": "^20.11.20",
"@types/nodemailer": "^6.4.14",
"@types/on-headers": "^1.0.3",
"@types/pretty-time": "^1.1.5",
"@types/sinon": "^17.0.2",
"@types/supertest": "^2.0.16",
"@types/sinon": "^17.0.3",
"@types/supertest": "^6.0.2",
"@types/ws": "^8.5.10",
"ava": "^6.0.0",
"c8": "^8.0.1",
"nodemon": "^3.0.1",
"ava": "^6.1.1",
"c8": "^9.1.0",
"nodemon": "^3.1.0",
"sinon": "^17.0.1",
"supertest": "^6.3.3",
"ts-node": "^10.9.1",
"typescript": "^5.3.2"
"supertest": "^6.3.4"
},
"ava": {
"timeout": "1m",
"extensions": {
"ts": "module"
},
@@ -120,8 +127,7 @@
"--trace-sigint",
"--loader",
"ts-node/esm/transpile-only.mjs",
"--es-module-specifier-resolution",
"node"
"--es-module-specifier-resolution=node"
],
"files": [
"tests/**/*.spec.ts",
@@ -133,11 +139,13 @@
"environmentVariables": {
"TS_NODE_PROJECT": "./tests/tsconfig.json",
"NODE_ENV": "test",
"ENABLE_LOCAL_EMAIL": "true",
"OAUTH_EMAIL_LOGIN": "noreply@toeverything.info",
"OAUTH_EMAIL_PASSWORD": "affine",
"OAUTH_EMAIL_SENDER": "noreply@toeverything.info",
"FEATURES_EARLY_ACCESS_PREVIEW": "false"
"MAILER_HOST": "0.0.0.0",
"MAILER_PORT": "1025",
"MAILER_USER": "noreply@toeverything.info",
"MAILER_PASSWORD": "affine",
"MAILER_SENDER": "noreply@toeverything.info",
"FEATURES_EARLY_ACCESS_PREVIEW": "false",
"DEPLOYMENT_TYPE": "affine"
}
},
"nodemonConfig": {
@@ -146,8 +154,7 @@
"nodeArgs": [
"--loader",
"ts-node/esm.mjs",
"--es-module-specifier-resolution",
"node"
"--es-module-specifier-resolution=node"
],
"ignore": [
"**/__tests__/**",
@@ -156,7 +163,6 @@
"env": {
"TS_NODE_TRANSPILE_ONLY": true,
"TS_NODE_PROJECT": "./tsconfig.json",
"NODE_ENV": "development",
"DEBUG": "affine:*",
"FORCE_COLOR": true,
"DEBUG_COLORS": true

View File

@@ -1,7 +1,7 @@
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "debian-openssl-3.0.x", "linux-arm64-openssl-3.0.x"]
previewFeatures = ["metrics", "tracing"]
previewFeatures = ["metrics", "tracing", "relationJoins", "nativeDistinct"]
}
datasource db {
@@ -10,28 +10,83 @@ datasource db {
}
model User {
id String @id @default(uuid()) @db.VarChar
name String
email String @unique
emailVerified DateTime? @map("email_verified")
// image field is for the next-auth
avatarUrl String? @map("avatar_url") @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
id String @id @default(uuid()) @db.VarChar
name String
email String @unique
emailVerifiedAt DateTime? @map("email_verified")
avatarUrl String? @map("avatar_url") @db.VarChar
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
/// Not available if user signed up through OAuth providers
password String? @db.VarChar
password String? @db.VarChar
/// Indicate whether the user finished the signup progress.
/// for example, the value will be false if user never registered and invited into a workspace by others.
registered Boolean @default(true)
accounts Account[]
sessions Session[]
features UserFeatures[]
customer UserStripeCustomer?
subscription UserSubscription?
subscriptions UserSubscription[]
invoices UserInvoice[]
workspacePermissions WorkspaceUserPermission[]
pagePermissions WorkspacePageUserPermission[]
connectedAccounts ConnectedAccount[]
sessions UserSession[]
@@map("users")
}
model ConnectedAccount {
id String @id @default(uuid()) @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
provider String @db.VarChar
providerAccountId String @map("provider_account_id") @db.VarChar
scope String? @db.Text
accessToken String? @map("access_token") @db.Text
refreshToken String? @map("refresh_token") @db.Text
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([userId])
@@index([providerAccountId])
@@map("user_connected_accounts")
}
model Session {
id String @id @default(uuid()) @db.VarChar(36)
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
userSessions UserSession[]
@@map("multiple_users_sessions")
}
model UserSession {
id String @id @default(uuid()) @db.VarChar(36)
sessionId String @map("session_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
expiresAt DateTime? @map("expires_at") @db.Timestamptz(6)
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([sessionId, userId])
@@map("user_sessions")
}
model VerificationToken {
token String @db.VarChar(36)
type Int @db.SmallInt
credential String? @db.Text
expiresAt DateTime @db.Timestamptz(6)
@@unique([type, token])
@@map("verification_tokens")
}
model Workspace {
id String @id @default(uuid()) @db.VarChar
public Boolean
@@ -40,6 +95,7 @@ model Workspace {
pages WorkspacePage[]
permissions WorkspaceUserPermission[]
pagePermissions WorkspacePageUserPermission[]
features WorkspaceFeatures[]
@@map("workspaces")
}
@@ -135,12 +191,39 @@ model UserFeatures {
// - if we switch the user to another plan, we will set the old plan to deactivated, but dont delete it
activated Boolean @default(false)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
feature Features @relation(fields: [featureId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@map("user_features")
}
// feature gates is a way to enable/disable features for a workspace
// for example:
// - copilet is a feature that allow some users in a workspace to access the copilet feature
model WorkspaceFeatures {
id Int @id @default(autoincrement())
workspaceId String @map("workspace_id") @db.VarChar(36)
featureId Int @map("feature_id") @db.Integer
// we will record the reason why the feature is enabled/disabled
// for example:
// - copilet_v1: "owner buy the copilet feature package"
reason String @db.VarChar
// record the feature enabled time
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
// record the quota expired time, pay plan is a subscription, so it will expired
expiredAt DateTime? @map("expired_at") @db.Timestamptz(6)
// whether the feature is activated
// for example:
// - if owner unsubscribe a feature package, we will set the feature to deactivated, but dont delete it
activated Boolean @default(false)
feature Features @relation(fields: [featureId], references: [id], onDelete: Cascade)
workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
@@map("workspace_features")
}
model Features {
id Int @id @default(autoincrement())
feature String @db.VarChar
@@ -151,13 +234,14 @@ model Features {
configs Json @db.Json
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
UserFeatureGates UserFeatures[]
UserFeatureGates UserFeatures[]
WorkspaceFeatures WorkspaceFeatures[]
@@unique([feature, version])
@@map("features")
}
model Account {
model DeprecatedNextAuthAccount {
id String @id @default(cuid())
userId String @map("user_id")
type String
@@ -171,23 +255,20 @@ model Account {
id_token String? @db.Text
session_state String?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([provider, providerAccountId])
@@map("accounts")
}
model Session {
model DeprecatedNextAuthSession {
id String @id @default(cuid())
sessionToken String @unique @map("session_token")
userId String @map("user_id")
expires DateTime
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@map("sessions")
}
model VerificationToken {
model DeprecatedNextAuthVerificationToken {
identifier String
token String @unique
expires DateTime
@@ -196,6 +277,7 @@ model VerificationToken {
@@map("verificationtokens")
}
// deprecated, use [ObjectStorage]
model Blob {
id Int @id @default(autoincrement()) @db.Integer
hash String @db.VarChar
@@ -210,6 +292,7 @@ model Blob {
@@map("blobs")
}
// deprecated, use [ObjectStorage]
model OptimizedBlob {
id Int @id @default(autoincrement()) @db.Integer
hash String @db.VarChar
@@ -234,7 +317,9 @@ model Snapshot {
seq Int @default(0) @db.Integer
state Bytes? @db.ByteA
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
// the `updated_at` field will not record the time of record changed,
// but the created time of last seen update that has been merged into snapshot.
updatedAt DateTime @map("updated_at") @db.Timestamptz(6)
@@id([id, workspaceId])
@@map("snapshots")
@@ -284,7 +369,7 @@ model UserStripeCustomer {
model UserSubscription {
id Int @id @default(autoincrement()) @db.Integer
userId String @unique @map("user_id") @db.VarChar(36)
userId String @map("user_id") @db.VarChar(36)
plan String @db.VarChar(20)
// yearly/monthly
recurring String @db.VarChar(20)
@@ -310,6 +395,7 @@ model UserSubscription {
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(6)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([userId, plan])
@@map("user_subscriptions")
}

View File

@@ -1,37 +0,0 @@
import userA from '@affine-test/fixtures/userA.json' assert { type: 'json' };
import { hash } from '@node-rs/argon2';
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
await prisma.user.create({
data: {
...userA,
password: await hash(userA.password),
features: {
create: {
reason: 'created by api sign up',
activated: true,
feature: {
connect: {
feature_version: {
feature: 'free_plan_v1',
version: 1,
},
},
},
},
},
},
});
}
main()
.then(async () => {
await prisma.$disconnect();
})
.catch(async e => {
console.error(e);
await prisma.$disconnect();
process.exit(1);
});

View File

@@ -0,0 +1,11 @@
import { create, createEsmHooks } from 'ts-node';
const service = create({
experimentalSpecifierResolution: 'node',
transpileOnly: true,
logError: true,
skipProject: true,
});
const hooks = createEsmHooks(service);
export const resolve = hooks.resolve;

View File

@@ -0,0 +1,4 @@
import { register } from 'node:module';
import { pathToFileURL } from 'node:url';
register('./scripts/loader.js', pathToFileURL('./'));

View File

@@ -0,0 +1,75 @@
import { execSync } from 'node:child_process';
import { generateKeyPairSync } from 'node:crypto';
import fs from 'node:fs';
import path from 'node:path';
import { parse } from 'dotenv';
const SELF_HOST_CONFIG_DIR = '/root/.affine/config';
/**
* @type {Array<{ from: string; to?: string, modifier?: (content: string): string }>}
*/
const configFiles = [
{ from: './.env.example', to: '.env' },
{ from: './dist/config/affine.js', modifier: configCleaner },
{ from: './dist/config/affine.env.js', modifier: configCleaner },
];
function configCleaner(content) {
return content.replace(
/(^\/\/#.*$)|(^\/\/\s+TODO.*$)|("use\sstrict";?)|(^.*eslint-disable.*$)/gm,
''
);
}
function prepare() {
fs.mkdirSync(SELF_HOST_CONFIG_DIR, { recursive: true });
for (const { from, to, modifier } of configFiles) {
const targetFileName = to ?? path.parse(from).base;
const targetFilePath = path.join(SELF_HOST_CONFIG_DIR, targetFileName);
if (!fs.existsSync(targetFilePath)) {
console.log(`creating config file [${targetFilePath}].`);
if (modifier) {
const content = fs.readFileSync(from, 'utf-8');
fs.writeFileSync(targetFilePath, modifier(content), 'utf-8');
} else {
fs.cpSync(from, targetFilePath, {
force: false,
});
}
}
// make the default .env
if (to === '.env') {
const dotenvFile = fs.readFileSync(targetFilePath, 'utf-8');
const envs = parse(dotenvFile);
// generate a new private key
if (!envs.AFFINE_PRIVATE_KEY) {
const privateKey = generateKeyPairSync('ec', {
namedCurve: 'prime256v1',
}).privateKey.export({
type: 'sec1',
format: 'pem',
});
fs.writeFileSync(
targetFilePath,
`AFFINE_PRIVATE_KEY=${privateKey}\n` + dotenvFile
);
}
}
}
}
function runPredeployScript() {
console.log('running predeploy script.');
execSync('yarn predeploy', {
encoding: 'utf-8',
env: process.env,
stdio: 'inherit',
});
}
prepare();
runPredeployScript();

View File

@@ -1,13 +1,20 @@
import { Controller, Get } from '@nestjs/common';
import { Public } from './core/auth';
import { Config } from './fundamentals/config';
@Controller('/')
export class AppController {
constructor(private readonly config: Config) {}
@Public()
@Get()
info() {
const version = AFFiNE.version;
return {
compatibility: version,
message: `AFFiNE ${version} Server`,
compatibility: this.config.version,
message: `AFFiNE ${this.config.version} Server`,
type: this.config.type,
flavor: this.config.flavor,
};
}
}

View File

@@ -0,0 +1,174 @@
import { join } from 'node:path';
import { Logger, Module } from '@nestjs/common';
import { APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core';
import { ScheduleModule } from '@nestjs/schedule';
import { ServeStaticModule } from '@nestjs/serve-static';
import { get } from 'lodash-es';
import { AppController } from './app.controller';
import { AuthGuard, AuthModule } from './core/auth';
import { ADD_ENABLED_FEATURES, ServerConfigModule } from './core/config';
import { DocModule } from './core/doc';
import { FeatureModule } from './core/features';
import { QuotaModule } from './core/quota';
import { StorageModule } from './core/storage';
import { SyncModule } from './core/sync';
import { UserModule } from './core/user';
import { WorkspaceModule } from './core/workspaces';
import { getOptionalModuleMetadata } from './fundamentals';
import { CacheInterceptor, CacheModule } from './fundamentals/cache';
import type { AvailablePlugins } from './fundamentals/config';
import { Config, ConfigModule } from './fundamentals/config';
import { EventModule } from './fundamentals/event';
import { GqlModule } from './fundamentals/graphql';
import { HelpersModule } from './fundamentals/helpers';
import { MailModule } from './fundamentals/mailer';
import { MetricsModule } from './fundamentals/metrics';
import { MutexModule } from './fundamentals/mutex';
import { PrismaModule } from './fundamentals/prisma';
import { StorageProviderModule } from './fundamentals/storage';
import { RateLimiterModule } from './fundamentals/throttler';
import { WebSocketModule } from './fundamentals/websocket';
import { REGISTERED_PLUGINS } from './plugins';
export const FunctionalityModules = [
ConfigModule.forRoot(),
ScheduleModule.forRoot(),
EventModule,
CacheModule,
MutexModule,
PrismaModule,
MetricsModule,
RateLimiterModule,
MailModule,
StorageProviderModule,
HelpersModule,
];
export class AppModuleBuilder {
private readonly modules: AFFiNEModule[] = [];
constructor(private readonly config: Config) {}
use(...modules: AFFiNEModule[]): this {
modules.forEach(m => {
const requirements = getOptionalModuleMetadata(m, 'requires');
// if condition not set or condition met, include the module
if (requirements?.length) {
const nonMetRequirements = requirements.filter(c => {
const value = get(this.config, c);
return (
value === undefined ||
value === null ||
(typeof value === 'string' && value.trim().length === 0)
);
});
if (nonMetRequirements.length) {
const name = 'module' in m ? m.module.name : m.name;
new Logger(name).warn(
`${name} is not enabled because of the required configuration is not satisfied.`,
'Unsatisfied configuration:',
...nonMetRequirements.map(config => ` AFFiNE.${config}`)
);
return;
}
}
const predicator = getOptionalModuleMetadata(m, 'if');
if (predicator && !predicator(this.config)) {
return;
}
const contribution = getOptionalModuleMetadata(m, 'contributesTo');
if (contribution) {
ADD_ENABLED_FEATURES(contribution);
}
this.modules.push(m);
});
return this;
}
useIf(
predicator: (config: Config) => boolean,
...modules: AFFiNEModule[]
): this {
if (predicator(this.config)) {
this.use(...modules);
}
return this;
}
compile() {
@Module({
providers: [
{
provide: APP_INTERCEPTOR,
useClass: CacheInterceptor,
},
{
provide: APP_GUARD,
useClass: AuthGuard,
},
],
imports: this.modules,
controllers: this.config.isSelfhosted ? [] : [AppController],
})
class AppModule {}
return AppModule;
}
}
function buildAppModule() {
const factor = new AppModuleBuilder(AFFiNE);
factor
// common fundamental modules
.use(...FunctionalityModules)
// auth
.use(AuthModule)
// business modules
.use(DocModule)
// sync server only
.useIf(config => config.flavor.sync, SyncModule)
// graphql server only
.useIf(
config => config.flavor.graphql,
ServerConfigModule,
WebSocketModule,
GqlModule,
StorageModule,
UserModule,
WorkspaceModule,
FeatureModule,
QuotaModule
)
// self hosted server only
.useIf(
config => config.isSelfhosted,
ServeStaticModule.forRoot({
rootPath: join('/app', 'static'),
})
);
// plugin modules
AFFiNE.plugins.enabled.forEach(name => {
const plugin = REGISTERED_PLUGINS.get(name as AvailablePlugins);
if (!plugin) {
throw new Error(`Unknown plugin ${name}`);
}
factor.use(plugin);
});
return factor.compile();
}
export const AppModule = buildAppModule();

View File

@@ -1,36 +1,54 @@
import { Module } from '@nestjs/common';
import { APP_INTERCEPTOR } from '@nestjs/core';
import { Type } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import type { NestExpressApplication } from '@nestjs/platform-express';
import cookieParser from 'cookie-parser';
import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.mjs';
import { AppController } from './app.controller';
import { CacheInterceptor, CacheModule } from './cache';
import { ConfigModule } from './config';
import { EventModule } from './event';
import { BusinessModules } from './modules';
import { AuthModule } from './modules/auth';
import { PrismaModule } from './prisma';
import { SessionModule } from './session';
import { StorageModule } from './storage';
import { RateLimiterModule } from './throttler';
import { GlobalExceptionFilter } from './fundamentals';
import { SocketIoAdapter, SocketIoAdapterImpl } from './fundamentals/websocket';
import { serverTimingAndCache } from './middleware/timing';
const BasicModules = [
PrismaModule,
ConfigModule.forRoot(),
CacheModule,
EventModule,
StorageModule.forRoot(),
SessionModule,
RateLimiterModule,
AuthModule,
];
export async function createApp() {
const { AppModule } = await import('./app.module');
@Module({
providers: [
{
provide: APP_INTERCEPTOR,
useClass: CacheInterceptor,
},
],
imports: [...BasicModules, ...BusinessModules],
controllers: [AppController],
})
export class AppModule {}
const app = await NestFactory.create<NestExpressApplication>(AppModule, {
cors: true,
rawBody: true,
bodyParser: true,
logger: AFFiNE.affine.stable ? ['log'] : ['verbose'],
});
app.use(serverTimingAndCache);
app.use(
graphqlUploadExpress({
// TODO: dynamic limit by quota
maxFileSize: 100 * 1024 * 1024,
maxFiles: 5,
})
);
app.useGlobalFilters(new GlobalExceptionFilter(app.getHttpAdapter()));
app.use(cookieParser());
if (AFFiNE.flavor.sync) {
const SocketIoAdapter = app.get<Type<SocketIoAdapter>>(
SocketIoAdapterImpl,
{
strict: false,
}
);
const adapter = new SocketIoAdapter(app);
app.useWebSocketAdapter(adapter);
}
if (AFFiNE.isSelfhosted && AFFiNE.telemetry.enabled) {
const mixpanel = await import('mixpanel');
mixpanel.init(AFFiNE.telemetry.token).track('selfhost-server-started', {
version: AFFiNE.version,
});
}
return app;
}

View File

@@ -1,26 +0,0 @@
import { FactoryProvider, Global, Module } from '@nestjs/common';
import { Redis } from 'ioredis';
import { Config } from '../config';
import { LocalCache } from './cache';
import { RedisCache } from './redis';
const CacheProvider: FactoryProvider = {
provide: LocalCache,
useFactory: (config: Config) => {
return config.redis.enabled
? new RedisCache(new Redis(config.redis))
: new LocalCache();
},
inject: [Config],
};
@Global()
@Module({
providers: [CacheProvider],
exports: [CacheProvider],
})
export class CacheModule {}
export { LocalCache as Cache };
export { CacheInterceptor, MakeCache, PreventCache } from './interceptor';

View File

@@ -0,0 +1,39 @@
// Convenient way to map environment variables to config values.
AFFiNE.ENV_MAP = {
AFFINE_SERVER_PORT: ['port', 'int'],
AFFINE_SERVER_HOST: 'host',
AFFINE_SERVER_SUB_PATH: 'path',
AFFINE_SERVER_HTTPS: ['https', 'boolean'],
DATABASE_URL: 'db.url',
ENABLE_CAPTCHA: ['auth.captcha.enable', 'boolean'],
CAPTCHA_TURNSTILE_SECRET: ['auth.captcha.turnstile.secret', 'string'],
OAUTH_GOOGLE_CLIENT_ID: 'plugins.oauth.providers.google.clientId',
OAUTH_GOOGLE_CLIENT_SECRET: 'plugins.oauth.providers.google.clientSecret',
OAUTH_GITHUB_CLIENT_ID: 'plugins.oauth.providers.github.clientId',
OAUTH_GITHUB_CLIENT_SECRET: 'plugins.oauth.providers.github.clientSecret',
MAILER_HOST: 'mailer.host',
MAILER_PORT: ['mailer.port', 'int'],
MAILER_USER: 'mailer.auth.user',
MAILER_PASSWORD: 'mailer.auth.pass',
MAILER_SENDER: 'mailer.from.address',
MAILER_SECURE: ['mailer.secure', 'boolean'],
THROTTLE_TTL: ['rateLimiter.ttl', 'int'],
THROTTLE_LIMIT: ['rateLimiter.limit', 'int'],
REDIS_SERVER_HOST: 'plugins.redis.host',
REDIS_SERVER_PORT: ['plugins.redis.port', 'int'],
REDIS_SERVER_USER: 'plugins.redis.username',
REDIS_SERVER_PASSWORD: 'plugins.redis.password',
REDIS_SERVER_DATABASE: ['plugins.redis.db', 'int'],
DOC_MERGE_INTERVAL: ['doc.manager.updatePollInterval', 'int'],
DOC_MERGE_USE_JWST_CODEC: [
'doc.manager.experimentalMergeWithYOcto',
'boolean',
],
STRIPE_API_KEY: 'plugins.payment.stripe.keys.APIKey',
STRIPE_WEBHOOK_KEY: 'plugins.payment.stripe.keys.webhookKey',
FEATURES_EARLY_ACCESS_PREVIEW: ['featureFlags.earlyAccessPreview', 'boolean'],
FEATURES_SYNC_CLIENT_VERSION_CHECK: [
'featureFlags.syncClientVersionCheck',
'boolean',
],
};

View File

@@ -0,0 +1,63 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
// Custom configurations for AFFiNE Cloud
// ====================================================================================
// Q: WHY THIS FILE EXISTS?
// A: AFFiNE deployment environment may have a lot of custom environment variables,
// which are not suitable to be put in the `affine.ts` file.
// For example, AFFiNE Cloud Clusters are deployed on Google Cloud Platform.
// We need to enable the `gcloud` plugin to make sure the nodes working well,
// but the default selfhost version may not require it.
// So it's not a good idea to put such logic in the common `affine.ts` file.
//
// ```
// if (AFFiNE.deploy) {
// AFFiNE.plugins.use('gcloud');
// }
// ```
// ====================================================================================
const env = process.env;
AFFiNE.metrics.enabled = !AFFiNE.node.test;
if (env.R2_OBJECT_STORAGE_ACCOUNT_ID) {
AFFiNE.plugins.use('cloudflare-r2', {
accountId: env.R2_OBJECT_STORAGE_ACCOUNT_ID,
credentials: {
accessKeyId: env.R2_OBJECT_STORAGE_ACCESS_KEY_ID!,
secretAccessKey: env.R2_OBJECT_STORAGE_SECRET_ACCESS_KEY!,
},
});
AFFiNE.storage.storages.avatar.provider = 'cloudflare-r2';
AFFiNE.storage.storages.avatar.bucket = 'account-avatar';
AFFiNE.storage.storages.avatar.publicLinkFactory = key =>
`https://avatar.affineassets.com/${key}`;
AFFiNE.storage.storages.blob.provider = 'cloudflare-r2';
AFFiNE.storage.storages.blob.bucket = `workspace-blobs-${
AFFiNE.affine.canary ? 'canary' : 'prod'
}`;
}
AFFiNE.plugins.use('redis');
AFFiNE.plugins.use('payment', {
stripe: {
keys: {
// fake the key to ensure the server generate full GraphQL Schema even env vars are not set
APIKey: '1',
webhookKey: '1',
},
},
});
AFFiNE.plugins.use('oauth');
if (AFFiNE.deploy) {
AFFiNE.mailer = {
service: 'gmail',
auth: {
user: env.MAILER_USER,
pass: env.MAILER_PASSWORD,
},
};
AFFiNE.plugins.use('gcloud');
}

View File

@@ -0,0 +1,153 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
//
// ###############################################################
// ## AFFiNE Configuration System ##
// ###############################################################
// Here is the file of all AFFiNE configurations that will affect runtime behavior.
// Override any configuration here and it will be merged when starting the server.
// Any changes in this file won't take effect before server restarted.
//
//
// > Configurations merge order
// 1. load environment variables (`.env` if provided, and from system)
// 2. load `src/fundamentals/config/default.ts` for all default settings
// 3. apply `./affine.ts` patches (this file)
// 4. apply `./affine.env.ts` patches
//
//
// ###############################################################
// ## General settings ##
// ###############################################################
//
// /* The unique identity of the server */
// AFFiNE.serverId = 'some-randome-uuid';
//
// /* The name of AFFiNE Server, may show on the UI */
// AFFiNE.serverName = 'Your Cool AFFiNE Selfhosted Cloud';
//
// /* Whether the server is deployed behind a HTTPS proxied environment */
AFFiNE.https = false;
// /* Domain of your server that your server will be available at */
AFFiNE.host = 'localhost';
// /* The local port of your server that will listen on */
AFFiNE.port = 3010;
// /* The sub path of your server */
// /* For example, if you set `AFFiNE.path = '/affine'`, then the server will be available at `${domain}/affine` */
// AFFiNE.path = '/affine';
//
//
// ###############################################################
// ## Database settings ##
// ###############################################################
//
// /* The URL of the database where most of AFFiNE server data will be stored in */
// AFFiNE.db.url = 'postgres://user:passsword@localhost:5432/affine';
//
//
// ###############################################################
// ## Server Function settings ##
// ###############################################################
//
// /* Whether enable metrics and tracing while running the server */
// /* The metrics will be available at `http://localhost:9464/metrics` with [Prometheus] format exported */
// AFFiNE.metrics.enabled = true;
//
// /* Authentication Settings */
// /* User Signup password limitation */
// AFFiNE.auth.password = {
// minLength: 8,
// maxLength: 32,
// };
//
// /* How long the login session would last by default */
// AFFiNE.auth.session = {
// ttl: 15 * 24 * 60 * 60, // 15 days
// };
//
// /* GraphQL configurations that control the behavior of the Apollo Server behind */
// /* @see https://www.apollographql.com/docs/apollo-server/api/apollo-server */
// AFFiNE.graphql = {
// /* Path to mount GraphQL API */
// path: '/graphql',
// buildSchemaOptions: {
// numberScalarMode: 'integer',
// },
// /* Whether allow client to query the schema introspection */
// introspection: true,
// /* Whether enable GraphQL Playground UI */
// playground: true,
// }
//
// /* Doc Store & Collaberation */
// /* How long the buffer time of creating a new history snapshot when doc get updated */
// AFFiNE.doc.history.interval = 1000 * 60 * 10; // 10 minutes
//
// /* Use `y-octo` to merge updates at the same time when merging using Yjs */
// AFFiNE.doc.manager.experimentalMergeWithYOcto = true;
//
// /* How often the manager will start a new turn of merging pending updates into doc snapshot */
// AFFiNE.doc.manager.updatePollInterval = 1000 * 3;
//
//
// ###############################################################
// ## Plugins settings ##
// ###############################################################
//
// /* Redis Plugin */
// /* Provide caching and session storing backed by Redis. */
// /* Useful when you deploy AFFiNE server in a cluster. */
// AFFiNE.plugins.use('redis', {
// /* override options */
// });
//
//
// /* Payment Plugin */
// AFFiNE.plugins.use('payment', {
// stripe: { keys: {}, apiVersion: '2023-10-16' },
// });
//
//
// /* Cloudflare R2 Plugin */
// /* Enable if you choose to store workspace blobs or user avatars in Cloudflare R2 Storage Service */
// AFFiNE.plugins.use('cloudflare-r2', {
// accountId: '',
// credentials: {
// accessKeyId: '',
// secretAccessKey: '',
// },
// });
//
// /* AWS S3 Plugin */
// /* Enable if you choose to store workspace blobs or user avatars in AWS S3 Storage Service */
// AFFiNE.plugins.use('aws-s3', {
// credentials: {
// accessKeyId: '',
// secretAccessKey: '',
// })
// /* Update the provider of storages */
// AFFiNE.storage.storages.blob.provider = 'r2';
// AFFiNE.storage.storages.avatar.provider = 'r2';
//
// /* OAuth Plugin */
// AFFiNE.plugins.use('oauth', {
// providers: {
// github: {
// clientId: '',
// clientSecret: '',
// // See https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps
// args: {
// scope: 'user',
// },
// },
// google: {
// clientId: '',
// clientSecret: '',
// args: {
// // See https://developers.google.com/identity/protocols/oauth2
// scope: 'openid email profile',
// promot: 'select_account',
// access_type: 'offline',
// },
// },
// },
// });

View File

@@ -1,231 +0,0 @@
/// <reference types="../global.d.ts" />
import { createPrivateKey, createPublicKey } from 'node:crypto';
import { homedir } from 'node:os';
import { join } from 'node:path';
import parse from 'parse-duration';
import pkg from '../../package.json' assert { type: 'json' };
import type { AFFiNEConfig, ServerFlavor } from './def';
import { applyEnvToConfig } from './env';
export const SERVER_FLAVOR = (process.env.SERVER_FLAVOR ??
'allinone') as ServerFlavor;
// Don't use this in production
export const examplePrivateKey = `-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIEtyAJLIULkphVhqXqxk4Nr8Ggty3XLwUJWBxzAWCWTMoAoGCCqGSM49
AwEHoUQDQgAEF3U/0wIeJ3jRKXeFKqQyBKlr9F7xaAUScRrAuSP33rajm3cdfihI
3JvMxVNsS2lE8PSGQrvDrJZaDo0L+Lq9Gg==
-----END EC PRIVATE KEY-----`;
const jwtKeyPair = (function () {
const AUTH_PRIVATE_KEY = process.env.AUTH_PRIVATE_KEY ?? examplePrivateKey;
const privateKey = createPrivateKey({
key: Buffer.from(AUTH_PRIVATE_KEY),
format: 'pem',
type: 'sec1',
})
.export({
format: 'pem',
type: 'pkcs8',
})
.toString('utf8');
const publicKey = createPublicKey({
key: Buffer.from(AUTH_PRIVATE_KEY),
format: 'pem',
type: 'spki',
})
.export({
format: 'pem',
type: 'spki',
})
.toString('utf8');
return {
publicKey,
privateKey,
};
})();
export const getDefaultAFFiNEConfig: () => AFFiNEConfig = () => {
const defaultConfig = {
serverId: 'affine-nestjs-server',
version: pkg.version,
ENV_MAP: {
AFFINE_SERVER_PORT: ['port', 'int'],
AFFINE_SERVER_HOST: 'host',
AFFINE_SERVER_SUB_PATH: 'path',
AFFINE_ENV: 'affineEnv',
DATABASE_URL: 'db.url',
ENABLE_R2_OBJECT_STORAGE: ['objectStorage.r2.enabled', 'boolean'],
R2_OBJECT_STORAGE_ACCOUNT_ID: 'objectStorage.r2.accountId',
R2_OBJECT_STORAGE_ACCESS_KEY_ID: 'objectStorage.r2.accessKeyId',
R2_OBJECT_STORAGE_SECRET_ACCESS_KEY: 'objectStorage.r2.secretAccessKey',
R2_OBJECT_STORAGE_BUCKET: 'objectStorage.r2.bucket',
ENABLE_CAPTCHA: ['auth.captcha.enable', 'boolean'],
CAPTCHA_TURNSTILE_SECRET: ['auth.captcha.turnstile.secret', 'string'],
OAUTH_GOOGLE_ENABLED: ['auth.oauthProviders.google.enabled', 'boolean'],
OAUTH_GOOGLE_CLIENT_ID: 'auth.oauthProviders.google.clientId',
OAUTH_GOOGLE_CLIENT_SECRET: 'auth.oauthProviders.google.clientSecret',
OAUTH_GITHUB_ENABLED: ['auth.oauthProviders.github.enabled', 'boolean'],
OAUTH_GITHUB_CLIENT_ID: 'auth.oauthProviders.github.clientId',
OAUTH_GITHUB_CLIENT_SECRET: 'auth.oauthProviders.github.clientSecret',
OAUTH_EMAIL_LOGIN: 'auth.email.login',
OAUTH_EMAIL_SENDER: 'auth.email.sender',
OAUTH_EMAIL_SERVER: 'auth.email.server',
OAUTH_EMAIL_PORT: ['auth.email.port', 'int'],
OAUTH_EMAIL_PASSWORD: 'auth.email.password',
THROTTLE_TTL: ['rateLimiter.ttl', 'int'],
THROTTLE_LIMIT: ['rateLimiter.limit', 'int'],
REDIS_SERVER_ENABLED: ['redis.enabled', 'boolean'],
REDIS_SERVER_HOST: 'redis.host',
REDIS_SERVER_PORT: ['redis.port', 'int'],
REDIS_SERVER_USER: 'redis.username',
REDIS_SERVER_PASSWORD: 'redis.password',
REDIS_SERVER_DATABASE: ['redis.database', 'int'],
DOC_MERGE_INTERVAL: ['doc.manager.updatePollInterval', 'int'],
DOC_MERGE_USE_JWST_CODEC: [
'doc.manager.experimentalMergeWithJwstCodec',
'boolean',
],
ENABLE_LOCAL_EMAIL: ['auth.localEmail', 'boolean'],
STRIPE_API_KEY: 'payment.stripe.keys.APIKey',
STRIPE_WEBHOOK_KEY: 'payment.stripe.keys.webhookKey',
FEATURES_EARLY_ACCESS_PREVIEW: [
'featureFlags.earlyAccessPreview',
'boolean',
],
} satisfies AFFiNEConfig['ENV_MAP'],
affineEnv: 'dev',
get affine() {
const env = this.affineEnv;
return {
canary: env === 'dev',
beta: env === 'beta',
stable: env === 'production',
};
},
env: process.env.NODE_ENV ?? 'development',
get node() {
const env = this.env;
return {
prod: env === 'production',
dev: env === 'development',
test: env === 'test',
};
},
get deploy() {
return !this.node.dev && !this.node.test;
},
featureFlags: {
earlyAccessPreview: false,
},
get https() {
return !this.node.dev;
},
host: 'localhost',
port: 3010,
path: '',
db: {
url: '',
},
get origin() {
return this.node.dev
? 'http://localhost:8080'
: `${this.https ? 'https' : 'http'}://${this.host}${
this.host === 'localhost' ? `:${this.port}` : ''
}`;
},
get baseUrl() {
return `${this.origin}${this.path}`;
},
graphql: {
buildSchemaOptions: {
numberScalarMode: 'integer',
},
introspection: true,
playground: true,
},
auth: {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
accessTokenExpiresIn: parse('1h')! / 1000,
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
refreshTokenExpiresIn: parse('7d')! / 1000,
leeway: 60,
captcha: {
enable: false,
turnstile: {
secret: '1x0000000000000000000000000000000AA',
},
challenge: {
bits: 20,
},
},
privateKey: jwtKeyPair.privateKey,
publicKey: jwtKeyPair.publicKey,
enableSignup: true,
enableOauth: false,
get nextAuthSecret() {
return this.privateKey;
},
oauthProviders: {},
localEmail: false,
email: {
server: 'smtp.gmail.com',
port: 465,
login: '',
sender: '',
password: '',
},
},
objectStorage: {
r2: {
enabled: false,
bucket: '',
accountId: '',
accessKeyId: '',
secretAccessKey: '',
},
fs: {
path: join(homedir(), '.affine-storage'),
},
},
rateLimiter: {
ttl: 60,
limit: 60,
},
redis: {
enabled: false,
host: '127.0.0.1',
port: 6379,
username: '',
password: '',
database: 0,
},
doc: {
manager: {
enableUpdateAutoMerging: SERVER_FLAVOR !== 'sync',
updatePollInterval: 3000,
experimentalMergeWithJwstCodec: false,
},
history: {
interval: 1000 * 60 * 10 /* 10 mins */,
},
},
payment: {
stripe: {
keys: {
APIKey: '',
webhookKey: '',
},
apiVersion: '2023-10-16',
},
},
} satisfies AFFiNEConfig;
applyEnvToConfig(defaultConfig);
return defaultConfig;
};

View File

@@ -1,17 +0,0 @@
import { set } from 'lodash-es';
import { type AFFiNEConfig, parseEnvValue } from './def';
export function applyEnvToConfig(rawConfig: AFFiNEConfig) {
for (const env in rawConfig.ENV_MAP) {
const config = rawConfig.ENV_MAP[env];
const [path, value] =
typeof config === 'string'
? [config, process.env[env]]
: [config[0], parseEnvValue(process.env[env], config[1])];
if (value !== undefined) {
set(rawConfig, path, value);
}
}
}

View File

@@ -1,3 +0,0 @@
export const OPERATION_NAME = 'x-operation-name';
export const REQUEST_ID = 'x-request-id';

View File

@@ -0,0 +1,193 @@
import { randomUUID } from 'node:crypto';
import {
BadRequestException,
Body,
Controller,
Get,
Header,
HttpStatus,
Post,
Query,
Req,
Res,
} from '@nestjs/common';
import type { Request, Response } from 'express';
import { PaymentRequiredException, URLHelper } from '../../fundamentals';
import { UserService } from '../user';
import { validators } from '../utils/validators';
import { CurrentUser } from './current-user';
import { Public } from './guard';
import { AuthService, parseAuthUserSeqNum } from './service';
import { TokenService, TokenType } from './token';
class SignInCredential {
email!: string;
password?: string;
}
@Controller('/api/auth')
export class AuthController {
constructor(
private readonly url: URLHelper,
private readonly auth: AuthService,
private readonly user: UserService,
private readonly token: TokenService
) {}
@Public()
@Post('/sign-in')
@Header('content-type', 'application/json')
async signIn(
@Req() req: Request,
@Res() res: Response,
@Body() credential: SignInCredential,
@Query('redirect_uri') redirectUri = this.url.home
) {
validators.assertValidEmail(credential.email);
const canSignIn = await this.auth.canSignIn(credential.email);
if (!canSignIn) {
throw new PaymentRequiredException(
`You don't have early access permission\nVisit https://community.affine.pro/c/insider-general/ for more information`
);
}
if (credential.password) {
const user = await this.auth.signIn(
credential.email,
credential.password
);
await this.auth.setCookie(req, res, user);
res.status(HttpStatus.OK).send(user);
} else {
// send email magic link
const user = await this.user.findUserByEmail(credential.email);
const result = await this.sendSignInEmail(
{ email: credential.email, signUp: !user },
redirectUri
);
if (result.rejected.length) {
throw new Error('Failed to send sign-in email.');
}
res.status(HttpStatus.OK).send({
email: credential.email,
});
}
}
async sendSignInEmail(
{ email, signUp }: { email: string; signUp: boolean },
redirectUri: string
) {
const token = await this.token.createToken(TokenType.SignIn, email);
const magicLink = this.url.link('/api/auth/magic-link', {
token,
email,
redirect_uri: redirectUri,
});
const result = await this.auth.sendSignInEmail(email, magicLink, signUp);
return result;
}
@Get('/sign-out')
async signOut(
@Req() req: Request,
@Res() res: Response,
@Query('redirect_uri') redirectUri?: string
) {
const session = await this.auth.signOut(
req.cookies[AuthService.sessionCookieName],
parseAuthUserSeqNum(req.headers[AuthService.authUserSeqHeaderName])
);
if (session) {
res.cookie(AuthService.sessionCookieName, session.id, {
expires: session.expiresAt ?? void 0, // expiredAt is `string | null`
...this.auth.cookieOptions,
});
} else {
res.clearCookie(AuthService.sessionCookieName);
}
if (redirectUri) {
return this.url.safeRedirect(res, redirectUri);
} else {
return res.send(null);
}
}
@Public()
@Get('/magic-link')
async magicLinkSignIn(
@Req() req: Request,
@Res() res: Response,
@Query('token') token?: string,
@Query('email') email?: string,
@Query('redirect_uri') redirectUri = this.url.home
) {
if (!token || !email) {
throw new BadRequestException('Invalid Sign-in mail Token');
}
email = decodeURIComponent(email);
token = decodeURIComponent(token);
validators.assertValidEmail(email);
const valid = await this.token.verifyToken(TokenType.SignIn, token, {
credential: email,
});
if (!valid) {
throw new BadRequestException('Invalid Sign-in mail Token');
}
const user = await this.user.fulfillUser(email, {
emailVerifiedAt: new Date(),
registered: true,
});
await this.auth.setCookie(req, res, user);
return this.url.safeRedirect(res, redirectUri);
}
@Public()
@Get('/session')
async currentSessionUser(@CurrentUser() user?: CurrentUser) {
return {
user,
};
}
@Public()
@Get('/sessions')
async currentSessionUsers(@Req() req: Request) {
const token = req.cookies[AuthService.sessionCookieName];
if (!token) {
return {
users: [],
};
}
return {
users: await this.auth.getUserList(token),
};
}
@Public()
@Get('/challenge')
async challenge() {
// TODO: impl in following PR
return {
challenge: randomUUID(),
resource: randomUUID(),
};
}
}

Some files were not shown because too many files have changed in this diff Show More