mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 20:38:52 +00:00
e0970daa5a4542e9e0141e2adca9c1013583efd2
9431 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e0970daa5a | feat(server): upgrade models to gpt4.1 (#11696) | ||
|
|
220087c172 |
fix(mobile): cannot change tag color (#11708)
fix AF-2402 |
||
|
|
db2a8fd509 |
fix(core): database backlink row visibility (#11706)
fix AF-2507 do not show the db backlink row if - the row does not have any properties (excluding `title` column) - the target doc is a template page |
||
|
|
b2694003c9 | fix(editor): missing copy as png implementation (#11716) | ||
|
|
681c61a300 |
chore(admin): allow config avatar public path (#11689)
close #11677 |
||
|
|
3ebac1d39d | refactor(editor): remove dead code (#11709) | ||
|
|
96e58316f7 |
feat(editor): add footnote node click handler (#11699)
Close [BS-3114](https://linear.app/affine-design/issue/BS-3114/点击-footnote-node-行为更新) |
||
|
|
b5c9741f18 | feat(editor): extract keyboard toolbar widget (#11707) | ||
|
|
ecdaea9176 |
chore: bump up i18next version to v25 (#11705)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`^24.1.0` -> `^25.0.0`](https://renovatebot.com/diffs/npm/i18next/24.2.3/25.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>i18next/i18next (i18next)</summary> ### [`v25.0.0`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2500) [Compare Source](https://redirect.github.com/i18next/i18next/compare/v24.2.3...v25.0.0) **This is a potentially breaking release:** - fix multiple changeLanguage call that may have result in wrong order in previous versions [1605](https://redirect.github.com/i18next/i18next/issues/1605) [2298](https://redirect.github.com/i18next/i18next/pull/2298) - adapt `changeLanguage` to always (string or array) use `getBestMatchFromCodes` [2299](https://redirect.github.com/i18next/i18next/issues/2299) - `getBestMatchFromCodes` now tries to fallback to language code with same script [2299](https://redirect.github.com/i18next/i18next/issues/2299) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
7257f1b55b |
chore(server): remove enable flag in mail config (#11680)
close #11625 |
||
|
|
b249939093 |
chore: bump up prisma monorepo to v6 (major) (#8964)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.22.0/6.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@prisma/instrumentation](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.22.0/6.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [prisma](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/cli)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/prisma/5.22.0/6.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>prisma/prisma (@​prisma/client)</summary> ### [`v6.0.1`](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1) [Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1) ### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0) [Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0) We’re excited to share the Prisma ORM v6 release today 🎉 As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application. If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql). 🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@​prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.** ##### Breaking changes ⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ ##### Minimum supported Node.js versions The new minimum supported Node.js versions for Prisma ORM v6 are: - for Node.js 18 the minimum supported version is **18.18.0** - for Node.js 20 the minimum supported version is **20.9.0** - for Node.js 22 the minimum supported version is **22.11.0** There is no official support for Node.js <18.18.0, 19, 21, 23. ##### Minimum supported TypeScript version The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**. ##### Schema change for implicit m-n relations on PostgreSQL If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation. Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196). If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations. ##### Full-text search on PostgreSQL The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature. ##### Usage of `Buffer` Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`. ##### Removed `NotFoundError` In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly. ##### New keywords that can't be used as model names: `async`, `await`, `using` With this release, you can't use `async`, `await` and `using` as model names any more. *** ⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ ##### Preview features promoted to General Availability In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga). ##### `fullTextIndex` If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextIndex"] } ``` ##### `fullTextSearch` If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] } ``` If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] + previewFeatures = ["fullTextSearchPostgres"] } ``` ##### New features We are also releasing new features with this release: - [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047) - [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740) - [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734) ##### Company news ##### 🚀 Prisma Postgres is free during Early Access In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now! ##### ✨ Let us know what you think of Prisma ORM We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22). </details> <details> <summary>prisma/prisma (@​prisma/instrumentation)</summary> ### [`v6.0.1`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.1) [Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1) Today we are releasing the `6.0.1` patch release to address an issue with using Prisma Client generated in a custom output path with Next.js. ##### Changes - [Revert `"type": "commonjs"` addition in generated `package.json`](https://redirect.github.com/prisma/prisma/pull/25767) ### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0) [Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0) We’re excited to share the Prisma ORM v6 release today 🎉 As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application. If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql). 🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@​prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.** #### Breaking changes ⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ ##### Minimum supported Node.js versions The new minimum supported Node.js versions for Prisma ORM v6 are: - for Node.js 18 the minimum supported version is **18.18.0** - for Node.js 20 the minimum supported version is **20.9.0** - for Node.js 22 the minimum supported version is **22.11.0** There is no official support for Node.js <18.18.0, 19, 21, 23. ##### Minimum supported TypeScript version The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**. ##### Schema change for implicit m-n relations on PostgreSQL If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation. Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196). If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations. ##### Full-text search on PostgreSQL The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature. ##### Usage of `Buffer` Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`. ##### Removed `NotFoundError` In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly. ##### New keywords that can't be used as model names: `async`, `await`, `using` With this release, you can't use `async`, `await` and `using` as model names any more. *** ⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ #### Preview features promoted to General Availability In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga). ##### `fullTextIndex` If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextIndex"] } ``` ##### `fullTextSearch` If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] } ``` If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] + previewFeatures = ["fullTextSearchPostgres"] } ``` #### New features We are also releasing new features with this release: - [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047) - [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740) - [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734) #### Company news ##### 🚀 Prisma Postgres is free during Early Access In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now! ##### ✨ Let us know what you think of Prisma ORM We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22). </details> <details> <summary>prisma/prisma (prisma)</summary> ### [`v6.0.1`](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1) [Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1) ### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0) [Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0) We’re excited to share the Prisma ORM v6 release today 🎉 As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application. If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql). 🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@​prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.** ##### Breaking changes ⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ ##### Minimum supported Node.js versions The new minimum supported Node.js versions for Prisma ORM v6 are: - for Node.js 18 the minimum supported version is **18.18.0** - for Node.js 20 the minimum supported version is **20.9.0** - for Node.js 22 the minimum supported version is **22.11.0** There is no official support for Node.js <18.18.0, 19, 21, 23. ##### Minimum supported TypeScript version The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**. ##### Schema change for implicit m-n relations on PostgreSQL If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation. Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196). If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations. ##### Full-text search on PostgreSQL The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature. ##### Usage of `Buffer` Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`. ##### Removed `NotFoundError` In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly. ##### New keywords that can't be used as model names: `async`, `await`, `using` With this release, you can't use `async`, `await` and `using` as model names any more. *** ⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ ##### Preview features promoted to General Availability In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga). ##### `fullTextIndex` If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextIndex"] } ``` ##### `fullTextSearch` If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] } ``` If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] + previewFeatures = ["fullTextSearchPostgres"] } ``` ##### New features We are also releasing new features with this release: - [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047) - [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740) - [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734) ##### Company news ##### 🚀 Prisma Postgres is free during Early Access In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now! ##### ✨ Let us know what you think of Prisma ORM We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22). </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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> |
||
|
|
8ca675b2ec |
fix(editor): improve pdf embed viewer UX (#11641)
Closes: [BS-3101](https://linear.app/affine-design/issue/BS-3101/pdf-embed-模式的选中框选-和点开看详情有比较大的问题) ### What's Changed! * Fixed disable pointer event in native pdf viewer by dragging * Disable opening peek view with pdf viewer in readonly and sharing modes |
||
|
|
0df584bd5e |
refactor(core): add keyPress event to fix IME space detection (#11700)
### TL;DR Refactor space-triggered AI Widget activation logic from `keydown` to `keypress` event listeners ### Background The `keydown` event triggered by a space may originate from: 1. Normal space insertion 2. Space triggered by input method confirming candidate words In scenarios like (2), some browsers (see [ISSUE](https://github.com/toeverything/AFFiNE/issues/11541)) and input method callbacks produce events identical to scenario (1),making it impossible to distinguish between the two. To fix this, the space-activated AI listener uses the `keypress` event: In scenario 2, `event.which !== 32` (may be `30430` or other values) can be used to differentiate from scenario 1. > CLOSE BS-3081 |
||
|
|
fd6c34cfa3 | fix(editor): v-element may get undefined inline editor (#11697) | ||
|
|
46f3dfc64c | fix(core): audio player ux (#11685) | ||
|
|
793d084077 | chore(android): only status draft may be created on draft app (#11701) | ||
|
|
7b2ae7f573 |
feat(core): adjust history modal styles (#11675)
- add avatar/name info to each history snapshot item - add avatar to audio transcription job owner fix AF-2483  |
||
|
|
e02b159bf4 |
feat(core): remove preview footnote hover effect config (#11695)
Close [BS-3115](https://linear.app/affine-design/issue/BS-3115/侧边栏-footnote-ui-和用户行为与编辑器内统一) |
||
|
|
a8cb48da5d | chore(android): fix google play action (#11686) | ||
|
|
575aa3c1c1 |
fix(editor): rework disable middle click settings for linux (#11556)
fix BS-3028 Unfortunately, I don't find out a way to disable this behavior on ff linux |
||
|
|
4011214451 |
fix(ios): avoid keyboard covering dialog (#11681)
close PD-2540 |
||
|
|
6f35021f22 |
chore(editor): update github block ui (#11690)
Close [BS-2651](https://linear.app/affine-design/issue/BS-2651/github-embed-block的样式修复) |
||
|
|
84ff54f9d7 | feat(server): make slide audio transcript parallel (#11692) | ||
|
|
ad712da07f | fix(server): slide audio override (#11688) | ||
|
|
f2f1a10715 | fix(server): initial user plan (#11687) | ||
|
|
5bb67e66c2 | docs: format releases.md | ||
|
|
2b9ccf8fcf |
docs: improve grammar of contributing releases.md (#10032)
|
||
|
|
aaa81e7d12 |
chore: bump up all non-major dependencies (#11670)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.10` -> `1.2.11`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.10/1.2.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@ai-sdk/openai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.3.10` -> `1.3.12`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.10/1.3.12) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@ai-sdk/perplexity](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@ai-sdk%2fperplexity/1.1.6/1.1.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.20` -> `1.11.21`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.20/1.11.21) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.1.3/4.1.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.3/4.1.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@tanstack/react-table](https://tanstack.com/table) ([source](https://redirect.github.com/TanStack/table/tree/HEAD/packages/react-table)) | [`8.21.2` -> `8.21.3`](https://renovatebot.com/diffs/npm/@tanstack%2freact-table/8.21.2/8.21.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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.1.1` -> `19.1.2`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.1/19.1.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.5` -> `4.3.6`](https://renovatebot.com/diffs/npm/ai/4.3.5/4.3.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.6` -> `9.6.7`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.6/9.6.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.3/4.1.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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.29.1` -> `8.30.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.29.1/8.30.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.9.0` -> `4.9.1`](https://renovatebot.com/diffs/npm/yarn/4.9.0/4.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/google)</summary> ### [`v1.2.11`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.11) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.10...@ai-sdk/google@1.2.11) ##### Patch Changes - Updated dependencies \[[`beef951`](https://redirect.github.com/vercel/ai/commit/beef951)] - [@​ai-sdk/provider](https://redirect.github.com/ai-sdk/provider)[@​1](https://redirect.github.com/1).1.3 - [@​ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@​2](https://redirect.github.com/2).2.7 </details> <details> <summary>swc-project/swc (@​swc/core)</summary> ### [`v1.11.21`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11121---2025-04-14) [Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.11.20...v1.11.21) ##### Bug Fixes - **(es/helpers)** Sync tslib `_ts_generator` implementation ([#​10366](https://redirect.github.com/swc-project/swc/issues/10366)) ([d3fb992]( |
||
|
|
b70a0dfbc7 |
chore: bump up nestjs to v11.0.17 (#11676)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.0.16/11.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.0.16/11.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/11.0.16/11.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/11.0.16/11.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/11.0.16/11.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>nestjs/nest (@​nestjs/common)</summary> ### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) </details> <details> <summary>nestjs/nest (@​nestjs/core)</summary> ### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) </details> <details> <summary>nestjs/nest (@​nestjs/platform-express)</summary> ### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) </details> <details> <summary>nestjs/nest (@​nestjs/platform-socket.io)</summary> ### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) </details> <details> <summary>nestjs/nest (@​nestjs/websockets)</summary> ### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17) </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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
594e896f74 |
Merge pull request #11661 from toeverything/0414/vtr_test_layout
test(editor): add tests for turbo renderer layout cache |
||
|
|
760a689c07 | Merge branch 'canary' into 0414/vtr_test_layout | ||
|
|
b8967a8a7b | test(editor): add tests for turbo renderer state machine (#11659) | ||
|
|
1a2d6f25be | fix(android): nbstore laod error (#11674) | ||
|
|
e9d04de399 | test(editor): add tests for turbo renderer layout cache | ||
|
|
e68947c792 | fix(editor): integration vitest config warning | ||
|
|
2cd0e75810 | fix: flaky | ||
|
|
6457c979f5 | test(editor): add tests for turbo renderer state machine (#11659) | ||
|
|
7aa87de5f7 |
fix(editor): markdown code preprocessor should handle link correctly (#11671)
Close [BS-3117](https://linear.app/affine-design/issue/BS-3117/代码粘贴后出现多余的-和-符号) |
||
|
|
efecce9bf2 | test(editor): enable basic test for cross platform (#11667) | ||
|
|
ee15b364d1 |
fix(electron): use CG* instead of NS* (#11668)
I encounter the following error when developing locally. Not sure if the current PR is the correct fix.
```
thread '<unnamed>' panicked at packages/frontend/native/media_capture/src/macos/screen_capture_kit.rs:253:11:
invalid message send to -[NSImage initWithSize:]: expected argument at index 0 to have type code '{CGSize=dd}', but found '{NSSize=dd}'
```
|
||
|
|
2db7dea46f |
chore: bump up all non-major dependencies (#11618)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@ai-sdk/openai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.3.9` -> `1.3.10`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.9/1.3.10) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.782.0` -> `3.787.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.782.0/3.787.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@aws-sdk/s3-request-presigner](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner)) | [`3.782.0` -> `3.787.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.782.0/3.787.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.6.0` -> `9.7.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.6.0/9.7.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@lit/context](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/context)) | [`1.1.4` -> `1.1.5`](https://renovatebot.com/diffs/npm/@lit%2fcontext/1.1.4/1.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@smarttools/eslint-plugin-rxjs](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs) | [`1.0.18` -> `1.0.19`](https://renovatebot.com/diffs/npm/@smarttools%2feslint-plugin-rxjs/1.0.18/1.0.19) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.18` -> `1.11.20`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.18/1.11.20) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.14.0` -> `22.14.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.14.0/22.14.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.14.0` -> `22.14.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.14.0/22.14.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.1.0` -> `19.1.1`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.0/19.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.4` -> `4.3.5`](https://renovatebot.com/diffs/npm/ai/4.3.4/4.3.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [animejs](https://animejs.com) ([source](https://redirect.github.com/juliangarnier/anime)) | [`4.0.0` -> `4.0.1`](https://renovatebot.com/diffs/npm/animejs/4.0.0/4.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.97` -> `1.0.98` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.18` -> `1.2.19` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch | | [dotenv](https://redirect.github.com/motdotla/dotenv) | [`16.4.7` -> `16.5.0`](https://renovatebot.com/diffs/npm/dotenv/16.4.7/16.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.5.2` -> `9.5.3`](https://renovatebot.com/diffs/npm/html-validate/9.5.2/9.5.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [ioredis](https://redirect.github.com/luin/ioredis) | [`5.6.0` -> `5.6.1`](https://renovatebot.com/diffs/npm/ioredis/5.6.0/5.6.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.2` -> `2.12.3`](https://renovatebot.com/diffs/npm/jotai/2.12.2/2.12.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.102` -> `0.2.104`](https://renovatebot.com/diffs/npm/lib0/0.2.102/0.2.104) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.102` -> `0.2.104`](https://renovatebot.com/diffs/npm/lib0/0.2.102/0.2.104) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.5.0` -> `15.5.1`](https://renovatebot.com/diffs/npm/lint-staged/15.5.0/15.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lit](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/lit)) | [`3.2.1` -> `3.3.0`](https://renovatebot.com/diffs/npm/lit/3.2.1/3.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [lit-html](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/lit-html)) | [`3.2.1` -> `3.3.0`](https://renovatebot.com/diffs/npm/lit-html/3.2.1/3.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.487.0` -> `^0.488.0`](https://renovatebot.com/diffs/npm/lucide-react/0.487.0/0.488.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.7.3` -> `2.7.4`](https://renovatebot.com/diffs/npm/msw/2.7.3/2.7.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [nodemailer](https://nodemailer.com/) ([source](https://redirect.github.com/nodemailer/nodemailer)) | [`6.10.0` -> `6.10.1`](https://renovatebot.com/diffs/npm/nodemailer/6.10.0/6.10.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.5` -> `9.6.6`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.5/9.6.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [sqlx](https://redirect.github.com/launchbadge/sqlx) | `0.8.3` -> `0.8.4` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.1.20-1.0.32` -> `2.1.20-2.0.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | patch | | [org.jetbrains.kotlinx:kotlinx-serialization-json](https://redirect.github.com/Kotlin/kotlinx.serialization) | `1.8.0` -> `1.8.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.10.1` -> `1.10.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.7.2` -> `8.9.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [androidx.core:core-ktx](https://developer.android.com/jetpack/androidx/releases/core#1.16.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `1.15.0` -> `1.16.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [androidx.compose:compose-bom](https://developer.android.com/jetpack) | `2025.03.01` -> `2025.04.00` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/openai)</summary> ### [`v1.3.10`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.3.10) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/openai@1.3.9...@ai-sdk/openai@1.3.10) ##### Patch Changes - [`dbe53e7`](https://redirect.github.com/vercel/ai/commit/dbe53e7): adding support for gpt-4o-search-preview and handling unsupported parameters - [`84ffaba`](https://redirect.github.com/vercel/ai/commit/84ffaba): fix: propagate openai transcription fixes </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary> ### [`v3.787.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37870-2025-04-10) [Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.782.0...v3.787.0) **Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3) </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/s3-request-presigner)</summary> ### [`v3.787.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#37870-2025-04-10) [Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.782.0...v3.787.0) **Note:** Version bump only for package [@​aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner) </details> <details> <summary>faker-js/faker (@​faker-js/faker)</summary> ### [`v9.7.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#970-2025-04-13) [Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.6.0...v9.7.0) ##### New Locales - **locale:** Add bn_BD locale ([#​3439](https://redirect.github.com/faker-js/faker/issues/3439)) ([fef0ad7]( |
||
|
|
2fd2c149a5 |
chore: bump up tldts version to v7 (#11662)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [tldts](https://redirect.github.com/remusao/tldts) | [`^6.1.68` -> `^7.0.0`](https://renovatebot.com/diffs/npm/tldts/6.1.85/7.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remusao/tldts (tldts)</summary> ### [`v7.0.0`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v700-Sat-Apr-12-2025) [Compare Source](https://redirect.github.com/remusao/tldts/compare/v6.1.86...v7.0.0) ##### 💥 Breaking Change - `tldts-core`, `tldts-tests` - Fix inconsistent hostname validation in `getHostname` and `parse(url).hostname` when `validateHostname` is enabled [#​2262](https://redirect.github.com/remusao/tldts/pull/2262) ([@​remusao](https://redirect.github.com/remusao)) ##### Authors: 1 - Rémi ([@​remusao](https://redirect.github.com/remusao)) *** ### [`v6.1.86`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v6186-Sat-Apr-12-2025) [Compare Source](https://redirect.github.com/remusao/tldts/compare/v6.1.85...v6.1.86) ##### 📜 Update Public Suffix List - `tldts-experimental`, `tldts-icann`, `tldts` - Update upstream public suffix list [#​2311](https://redirect.github.com/remusao/tldts/pull/2311) ([@​remusao](https://redirect.github.com/remusao)) ##### 🔩 Dependencies - Bump axios from 1.7.7 to 1.8.4 [#​2318](https://redirect.github.com/remusao/tldts/pull/2318) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump [@​rollup/plugin-node-resolve](https://redirect.github.com/rollup/plugin-node-resolve) from 16.0.0 to 16.0.1 [#​2303](https://redirect.github.com/remusao/tldts/pull/2303) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump [@​babel/helpers](https://redirect.github.com/babel/helpers) from 7.24.7 to 7.26.10 [#​2306](https://redirect.github.com/remusao/tldts/pull/2306) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump rollup from 4.34.8 to 4.39.0 [#​2314](https://redirect.github.com/remusao/tldts/pull/2314) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump [@​types/node](https://redirect.github.com/types/node) from 22.13.5 to 22.14.0 [#​2315](https://redirect.github.com/remusao/tldts/pull/2315) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump typescript from 5.7.3 to 5.8.3 [#​2316](https://redirect.github.com/remusao/tldts/pull/2316) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) - Bump lerna from 8.2.0 to 8.2.2 [#​2317](https://redirect.github.com/remusao/tldts/pull/2317) ([@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])) ##### Authors: 2 - [@​dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]) - Rémi ([@​remusao](https://redirect.github.com/remusao)) *** </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
be759dc118 |
chore: bump up oxlint version to v0.16.6 (#11664)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [oxlint](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.16.5` -> `0.16.6`](https://renovatebot.com/diffs/npm/oxlint/0.16.5/0.16.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>oxc-project/oxc (oxlint)</summary> ### [`v0.16.6`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.16.6): oxlint v0.16.6 [Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.5...oxlint_v0.16.6) #### \[0.16.6] - 2025-04-14 ##### Features - [`0370363`](https://redirect.github.com/oxc-project/oxc/commit/0370363) language_server: Switch `tower-lsp` to `tower-lsp-server` ([#​10298](https://redirect.github.com/oxc-project/oxc/issues/10298)) (Boshen) - [`d48e886`](https://redirect.github.com/oxc-project/oxc/commit/d48e886) linter: Add `import/group-exports` rule ([#​10330](https://redirect.github.com/oxc-project/oxc/issues/10330)) (yefan) ##### Bug Fixes - [`664342b`](https://redirect.github.com/oxc-project/oxc/commit/664342b) language_server: Diable nested configuration when config path is provided ([#​10385](https://redirect.github.com/oxc-project/oxc/issues/10385)) (Sysix) - [`04e2fd4`](https://redirect.github.com/oxc-project/oxc/commit/04e2fd4) linter: Fix false positives for `no-control-regex` ([#​10345](https://redirect.github.com/oxc-project/oxc/issues/10345)) (Cam McHenry) - [`e000f60`](https://redirect.github.com/oxc-project/oxc/commit/e000f60) linter: Make extended configs properly inherit plugins ([#​10174](https://redirect.github.com/oxc-project/oxc/issues/10174)) (Sub) - [`81867c4`](https://redirect.github.com/oxc-project/oxc/commit/81867c4) linter: Fix stack overflow in react/exhaustive deps ([#​10322](https://redirect.github.com/oxc-project/oxc/issues/10322)) (camc314) - [`9aaba69`](https://redirect.github.com/oxc-project/oxc/commit/9aaba69) linter: Nested configuration directory resolution ([#​10157](https://redirect.github.com/oxc-project/oxc/issues/10157)) (Sub) ##### Performance - [`e0057c3`](https://redirect.github.com/oxc-project/oxc/commit/e0057c3) language_server: Only restart internal linter once when multiple config changes detected ([#​10256](https://redirect.github.com/oxc-project/oxc/issues/10256)) (Sysix) - [`1bb61c6`](https://redirect.github.com/oxc-project/oxc/commit/1bb61c6) linter: Replace `phf_set` with `array` in `unicorn/prefer-native-coercion-functions` ([#​10384](https://redirect.github.com/oxc-project/oxc/issues/10384)) (shulaoda) - [`e1e7a19`](https://redirect.github.com/oxc-project/oxc/commit/e1e7a19) linter: Replace `phf_set` with `array` in `unicorn/no-array-for-each` ([#​10377](https://redirect.github.com/oxc-project/oxc/issues/10377)) (dalaoshu) - [`5f0e66c`](https://redirect.github.com/oxc-project/oxc/commit/5f0e66c) linter: Replace `phf_set` with `array` in `unicorn/prefer-spread` ([#​10376](https://redirect.github.com/oxc-project/oxc/issues/10376)) (dalaoshu) - [`8d9559d`](https://redirect.github.com/oxc-project/oxc/commit/8d9559d) linter: Replace `phf_set` with `array` in `react/jsx-key` ([#​10375](https://redirect.github.com/oxc-project/oxc/issues/10375)) (dalaoshu) - [`fbd4f92`](https://redirect.github.com/oxc-project/oxc/commit/fbd4f92) linter: Replace `phf_set` with `array` in `utils::jest` ([#​10369](https://redirect.github.com/oxc-project/oxc/issues/10369)) (shulaoda) - [`8d0eb33`](https://redirect.github.com/oxc-project/oxc/commit/8d0eb33) linter: Replace `phf_set` with `array` in `utils::express` ([#​10370](https://redirect.github.com/oxc-project/oxc/issues/10370)) (shulaoda) - [`ba538ff`](https://redirect.github.com/oxc-project/oxc/commit/ba538ff) linter: Use `binary_search` for arrays with more than `7` elements ([#​10357](https://redirect.github.com/oxc-project/oxc/issues/10357)) (shulaoda) - [`283e4c7`](https://redirect.github.com/oxc-project/oxc/commit/283e4c7) linter: Replace `phf_set` with `array` in `react/exhaustive-deps` ([#​10337](https://redirect.github.com/oxc-project/oxc/issues/10337)) (shulaoda) - [`8b8d708`](https://redirect.github.com/oxc-project/oxc/commit/8b8d708) linter: Replace `phf_set` with `array` in `nextjs/no-typos` ([#​10336](https://redirect.github.com/oxc-project/oxc/issues/10336)) (shulaoda) - [`0fd93d6`](https://redirect.github.com/oxc-project/oxc/commit/0fd93d6) linter: Replace `phf_set` with `array` in `utils::promise` ([#​10335](https://redirect.github.com/oxc-project/oxc/issues/10335)) (shulaoda) - [`485ba19`](https://redirect.github.com/oxc-project/oxc/commit/485ba19) linter: Replace `phf_set` with `array` in `jest/prefer-jest-mocked` ([#​10302](https://redirect.github.com/oxc-project/oxc/issues/10302)) (shulaoda) - [`83931ec`](https://redirect.github.com/oxc-project/oxc/commit/83931ec) linter: Replace `phf_set` with `array` in `jsdoc/check-access` ([#​10303](https://redirect.github.com/oxc-project/oxc/issues/10303)) (shulaoda) - [`651b56f`](https://redirect.github.com/oxc-project/oxc/commit/651b56f) linter: Replace `phf_set` with `array` in `jsdoc/empty-tags` ([#​10304](https://redirect.github.com/oxc-project/oxc/issues/10304)) (shulaoda) - [`7ffb7aa`](https://redirect.github.com/oxc-project/oxc/commit/7ffb7aa) linter: Replace `phf_set` with `array` in `jsdoc/require-returns` ([#​10305](https://redirect.github.com/oxc-project/oxc/issues/10305)) (shulaoda) - [`d7399c4`](https://redirect.github.com/oxc-project/oxc/commit/d7399c4) linter: Replace `phf_set` with `array` in `jsx-a11y/no-noninteractive-tabindex` ([#​10306](https://redirect.github.com/oxc-project/oxc/issues/10306)) (shulaoda) - [`afe663b`](https://redirect.github.com/oxc-project/oxc/commit/afe663b) linter: Replace `phf_set` with `array` in `jest/no-restricted-matchers` ([#​10297](https://redirect.github.com/oxc-project/oxc/issues/10297)) (shulaoda) - [`bd27959`](https://redirect.github.com/oxc-project/oxc/commit/bd27959) linter: Replace `phf_set` with `array` in `eslint/array-callback-return` ([#​10296](https://redirect.github.com/oxc-project/oxc/issues/10296)) (shulaoda) - [`1aa0d71`](https://redirect.github.com/oxc-project/oxc/commit/1aa0d71) linter: Replace `phf_set` with `array` in `react/no-array-index-key` ([#​10294](https://redirect.github.com/oxc-project/oxc/issues/10294)) (shulaoda) - [`d9c4891`](https://redirect.github.com/oxc-project/oxc/commit/d9c4891) linter: Replace `phf_set` with `array` in `eslint/valid-typeof` ([#​10293](https://redirect.github.com/oxc-project/oxc/issues/10293)) (shulaoda) ##### Refactor - [`a95ba40`](https://redirect.github.com/oxc-project/oxc/commit/a95ba40) language_server: Make server more error resistance by falling back to default config ([#​10257](https://redirect.github.com/oxc-project/oxc/issues/10257)) (Sysix) - [`2e1ef4c`](https://redirect.github.com/oxc-project/oxc/commit/2e1ef4c) linter: Extract common logic from `jsdoc/require-yields` and `jsdoc/require-returns` ([#​10383](https://redirect.github.com/oxc-project/oxc/issues/10383)) (shulaoda) - [`9533d09`](https://redirect.github.com/oxc-project/oxc/commit/9533d09) linter: Remove duplicate ARIA property lists ([#​10326](https://redirect.github.com/oxc-project/oxc/issues/10326)) (camchenry) - [`67bd7aa`](https://redirect.github.com/oxc-project/oxc/commit/67bd7aa) linter: Add `AriaProperty` enum ([#​10325](https://redirect.github.com/oxc-project/oxc/issues/10325)) (camchenry) - [`52ea978`](https://redirect.github.com/oxc-project/oxc/commit/52ea978) linter: Update comments, improve tests, add variant All to LintFilterKind ([#​10259](https://redirect.github.com/oxc-project/oxc/issues/10259)) (Ulrich Stark) ##### Testing - [`62f7d76`](https://redirect.github.com/oxc-project/oxc/commit/62f7d76) editor: Refactor tests to use fixtures ([#​10381](https://redirect.github.com/oxc-project/oxc/issues/10381)) (Sysix) - [`4a6bb21`](https://redirect.github.com/oxc-project/oxc/commit/4a6bb21) language_server: Add test for `import` plugin integration ([#​10364](https://redirect.github.com/oxc-project/oxc/issues/10364)) (Sysix) - [`aa6ccd2`](https://redirect.github.com/oxc-project/oxc/commit/aa6ccd2) oxlint: Add test for nested and extended configuration with import plugin ([#​10372](https://redirect.github.com/oxc-project/oxc/issues/10372)) (Sysix) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
00bd05897e |
feat(android): ai chat scaffold (#11124)
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: eyhn <cneyhn@gmail.com> |
||
|
|
08dbaae19b |
chore: bump up jotai-effect version to v2 (#10262)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jotai-effect](https://jotai.org/docs/extensions/effect) ([source](https://redirect.github.com/jotaijs/jotai-effect)) | [`^1.0.5` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jotai-effect/1.1.6/2.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>jotaijs/jotai-effect (jotai-effect)</summary> ### [`v2.0.1`](https://redirect.github.com/jotaijs/jotai-effect/compare/v2.0.0...v2.0.1) [Compare Source](https://redirect.github.com/jotaijs/jotai-effect/compare/v2.0.0...v2.0.1) ### [`v2.0.0`](https://redirect.github.com/jotaijs/jotai-effect/releases/tag/v2.0.0) [Compare Source](https://redirect.github.com/jotaijs/jotai-effect/compare/v1.1.6...v2.0.0) We’re excited to announce the release of **jotai-effect v2**, which brings a single but significant change to the core API: **`atomEffect` now runs synchronously** whenever it mounts or its dependencies change. This update improves consistency, helps avoid race conditions, and keeps related state changes in sync. *** #### What’s New? ##### Synchronous `atomEffect` - In v1, `atomEffect` would run **asynchronously** in the next microtask. - In v2, `atomEffect` runs **synchronously** on mount and whenever the dependencies it uses have changed. - **Batching is still supported** when you update multiple dependencies in a single writable atom. The effect runs only after that writable atom has finished all its updates, preventing partial updates or intermediate states. **Example:** ```ts const syncEffect = atomEffect((get, set) => { get(someAtom) set(anotherAtom) }) const store = createStore() store.set(someAtom, (v) => v + 1) // The effect above runs immediately, so anotherAtom is updated in the same microtask console.log(store.get(anotherAtom)) // Updated by atomEffect synchronously ``` When `someAtom` is updated, the effect runs **immediately**, updating `anotherAtom` in the same turn. If you update multiple atoms in the same writable atom, these changes are batched together, and `atomEffect` runs after those updates complete. *** #### Migration Guide For most users, **no change is required**. If you depended on the old microtask delay or cross-atom batching, read on. ##### 1. Adding back the microtask delay If your logic explicitly relied on `atomEffect` running in a separate microtask, you can reintroduce the delay yourself: **Before (v1)** ```ts const effect = atomEffect((get, set) => { console.log('effect') return () => { console.log('cleanup') } }) ``` **After (v2)** ```ts const effect = atomEffect((get, set) => { queueMicrotask(() => { console.log('effect') }) return () => { queueMicrotask(() => { console.log('cleanup') }) } }) ``` ##### 2. Batching updates In v1, updates to separate atoms were implicitly batched in the next microtask. In v2, **batching only occurs within a single writable atom update**: **Before (v1)** ```ts store.set(atomA, (v) => v + 1) store.set(atomB, (v) => v + 1) // atomEffect would 'see' both changes together in the next microtask ``` **After (v2)** ```ts const actionAtom = atom(null, (get, set) => { set(atomA, (v) => v + 1) set(atomB, (v) => v + 1) }) store.set(actionAtom) // atomEffect now runs after both updates, in one batch ``` *** ##### A Special Thanks to Daishi Kato I’d like to extend my deepest gratitude to **Daishi Kato**, author of Jotai. Daishi dedicated months of tireless work to rework and rewrite significant parts of the Jotai core—primarily to empower community library authors such as myself to implement features such as **synchronous effects** in jotai-effect. His willingness to refine Jotai’s internals and his thoughtfulness in API design made this effort possible. Thank you. ##### Final Thoughts - **Most code will just work** without any changes. - If you have specialized scenarios relying on microtask delays or separate updates to multiple atoms, you’ll need to wrap them in a single writable atom or manually queue the microtask. We hope these improvements make your state management more predictable and easier to reason about. If you have any issues, please feel free to open a GitHub [Discussion](https://redirect.github.com/jotaijs/jotai-effect/discussions). Happy coding! </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2Ny4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
1ab9f1376d |
chore: bump up nestjs (#11658)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@nestjs/apollo](https://redirect.github.com/nestjs/graphql) | [`13.0.4` -> `13.1.0`](https://renovatebot.com/diffs/npm/@nestjs%2fapollo/13.0.4/13.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.0.15` -> `11.0.16`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.0.15/11.0.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/graphql](https://redirect.github.com/nestjs/graphql) | [`13.0.4` -> `13.1.0`](https://renovatebot.com/diffs/npm/@nestjs%2fgraphql/13.0.4/13.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`11.0.15` -> `11.0.16`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/11.0.15/11.0.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`11.0.15` -> `11.0.16`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/11.0.15/11.0.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`11.0.15` -> `11.0.16`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/11.0.15/11.0.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>nestjs/graphql (@​nestjs/apollo)</summary> ### [`v13.1.0`](https://redirect.github.com/nestjs/graphql/releases/tag/v13.1.0) [Compare Source](https://redirect.github.com/nestjs/graphql/compare/v13.0.4...v13.1.0) ##### 13.1.0 (2025-04-11) ##### Enhancements - `apollo` - [#​3544](https://redirect.github.com/nestjs/graphql/pull/3544) feat(apollo): add graphiql playground support ([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec)) ##### Committers: 1 - Kamil Mysliwiec ([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec)) </details> <details> <summary>nestjs/nest (@​nestjs/core)</summary> ### [`v11.0.16`](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) </details> <details> <summary>nestjs/nest (@​nestjs/platform-express)</summary> ### [`v11.0.16`](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) </details> <details> <summary>nestjs/nest (@​nestjs/platform-socket.io)</summary> ### [`v11.0.16`](https://redirect.github.com/nestjs/nest/releases/tag/v11.0.16) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) #### v11.0.16 (2025-04-11) - fix(common): use `file-type` to validate file mimetypes by [@​Chathula](https://redirect.github.com/Chathula) in [https://github.com/nestjs/nest/pull/14881](https://redirect.github.com/nestjs/nest/pull/14881) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
d494394c8d |
test(core): common setup for ai tests (#11644)
### TL:DR By sharing initialization logic, accelerate test case execution. ### What Changed * Global setup for copilot e2e * Login * Create Workspace * Enable fully parallel for ci ### Optimization Comparison Comparing with PR [fix(core): ask AI input box in the whiteboard is blocked by the menu …](https://github.com/toeverything/AFFiNE/pull/11634): | | Shard 1 |2|3|4|5|6|7|8| | ------|----|----|----|----|----|---|---|--| |Before|15min|14min|14min|14min|14min|13min|15min|10min| |After|8min|11min|8min|8min|8min|8min|8min|7min| ### Trade-Off Since all copilot use cases currently share a single user and workspace, some test cases need to focus on **isolation** and **independence**. For example, when testing Embedding-related workflows: * Different document contents should be used to avoid interference. * After each test case execution, **cleanup** operations are also required. * Some tests should be configured to **serial** mode. ```ts test.describe.configure({ mode: 'serial' }); test.describe('AIChatWith/Collections', () => { test.beforeEach(async ({ loggedInPage: page, utils }) => { await utils.testUtils.setupTestEnvironment(page); await utils.chatPanel.openChatPanel(page); await utils.editor.clearAllCollections(page); await utils.testUtils.createNewPage(page); }); test.afterEach(async ({ loggedInPage: page, utils }) => { // clear all collections await utils.editor.clearAllCollections(page); }); test('should support chat with collection', async ({ loggedInPage: page, utils, }) => { // Create two collections await utils.editor.createCollectionAndDoc( page, 'Collection 1', 'CollectionAAaa is a cute dog' ); await utils.chatPanel.chatWithCollections(page, ['Collection 1']); await utils.chatPanel.makeChat(page, 'What is CollectionAAaa(Use English)'); // ... }); test('should support chat with multiple collections', async ({ loggedInPage: page, utils, }) => { // Create two collections await utils.editor.createCollectionAndDoc( page, 'Collection 2', 'CollectionEEee is a cute cat' ); await utils.editor.createCollectionAndDoc( page, 'Collection 3', 'CollectionFFff is a cute dog' ); await utils.chatPanel.chatWithCollections(page, [ 'Collection 2', 'Collection 3', ]); await utils.chatPanel.makeChat( page, 'What is CollectionEEee? What is CollectionFFff?(Use English)' ); // ... }); }); ``` > CLOSE AI-51 |
||
|
|
11d1b2fae5 |
chore: bump up @nestjs/common version to v11.0.16 [SECURITY] (#11645)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.0.15` -> `11.0.16`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.0.15/11.0.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2024-29409](https://nvd.nist.gov/vuln/detail/CVE-2024-29409) File Upload vulnerability in nestjs nest prior to v.11.0.16 allows a remote attacker to execute arbitrary code via the Content-Type header. --- ### Release Notes <details> <summary>nestjs/nest (@​nestjs/common)</summary> ### [`v11.0.16`](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) [Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.15...v11.0.16) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
1fc51bf95e |
chore: bump up animejs version to v4 (#11466)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [animejs](https://animejs.com) ([source](https://redirect.github.com/juliangarnier/anime)) | [`^3.2.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/animejs/3.2.2/4.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>juliangarnier/anime (animejs)</summary> ### [`v4.0.0`](https://redirect.github.com/juliangarnier/anime/releases/tag/4.0.0) [Compare Source](https://redirect.github.com/juliangarnier/anime/compare/v3.2.2...4.0.0) > **I'm still finalizing the release notes as there are MANY changes, but in the meantime, you can check out the brand new documentation [here](https://animejs.com/documentation).** The brand new Anime.js. ### API Breaking changes Every Anime.js feature is now exported as an ES Module. This is great for tree shaking, you don't have to ship the entire library anymore, only what you need. #### Animation The `anime(parameters)` function has been replaced with the `animate(targets, parameters)` module. The `targets` parameter has been replaced with a dedicated function parameter: `animate(targets, parameters)`. V3: ```javascript import anime from 'animejs'; const animation = anime({ targets: 'div', translateX: 100, }); ``` V4: ```javascript import { animate } from 'animejs'; const animation = animate('div', { translateX: 100, }); ``` #### Easings names The `ease` prefix has been removed: 'easeInOutQuad' -> 'inOutQuad'. #### Callbacks Callbacks have have been renamed like this: - `begin()` -> `onBegin()` - `update()` -> `onUpdate()` Here's all the change to the API ```diff - import anime from 'animejs'; + import { animate, createSpring, utils } from 'animejs'; - anime({ - targets: 'div', + animate('div', { translateX: 100, rotate: { - value: 360, + to: 360, - easing: 'spring(.7, 80, 10, .5)', + ease: createSpring({ mass: .7, damping: 80, stiffness: 10, velocity: .5}), }, - easing: 'easeinOutExpo', + ease: 'inOutExpo', - easing: () => t => Math.cos(t), + ease: t => Math.cos(t), - direction: 'reverse', + reversed: true, - direction: 'alternate', + alternate: true, - loop: 1, + loop: 0, - round: 100, + modifier: utils.round(2), - begin: () => {}, + onBegin: () => {}, - update: () => {}, + onUpdate: () => {}, - change: () => {}, + onRender: () => {}, - changeBegin: () => {}, - changeComplete: () => {}, - loopBegin: () => {}, - loopComplete: () => {}, + onLoop: () => {}, - complete: () => {}, + onComplete: () => {}, }); ``` #### Promises No more `.finished` property, promises are now handled directly with `animation.then()`: ```diff - import anime from 'animejs'; + import { animate, utils } from 'animejs'; - anime({ targets: target, prop: x }).finished.then(() => {}); + animate(target, { prop: x }).then(() => {}); ``` #### Values ##### To The object syntax `value` property has been renamed `to`: ```diff - translateX: { value: 100 } + translateX: { to: 100 } ``` #### Animation parameters ##### Default `easing` The new default easing is `'outQuad'` instead of `'easeOutElastic(1, .5)'`. ##### `composition` In V3 all animations coexist and overlaps with each other. This can cause animations with the same targets and animated properties to create weird results. V4 cancels a running tween if a new one is created on the same target with the same property. This behaviour can be confifugred using the new `composition` parameter. `composition: 'none'` // The old V3 behaviour, animations can overlaps `composition: 'replace'` // The new V4 default `composition: 'add'` // Creates additive animations by adding the values of the currently running animations with the new ones ##### `round` -> `modifier` The `round` parameter has been replaced with a more flexible parameters that allows you to define custom functions to transform the numerical value of an animation just before the rendering. ```diff - round: 100 + modifier: utils.round(2) ``` You can of course defines your own modifier functions like this: ```javascript const animation = animate('div', { translateX: '100rem', modifier: v => v % 10 // Note that the unit 'rem' will automatically be passed to the rendered value }); ``` #### Playback parameters ##### `direction` The `direction` parameter has been replaced with an `alternate` and `reversed` parameters V3: ```javascript const animation = anime({ targets: 'div', direction: 'reverse', // direction: 'alternate' It wasn't possible to combined reverse and alternate direction before }); ``` V4: ```javascript import { animate } from 'animejs'; const animation = animate('div', { translateX: 100, reversed: true, alternate: true, }); ``` #### Timelines: ```diff - import anime from 'animejs'; + import { createTimeline, stagger } from 'animejs'; - anime.timeline({ + createTimeline({ - duration: 500, - easing: 'easeInOutQuad', + defaults: { + duration: 500, + ease: 'inOutQuad', + } - loop: 2, + loop: 1, - }).add({ - targets: 'div', + }).add('div', { rotate: 90, }) - .add('.target:nth-child(1)', { opacity: 0, onComplete }, 0) - .add('.target:nth-child(2)', { opacity: 0, onComplete }, 100) - .add('.target:nth-child(3)', { opacity: 0, onComplete }, 200) - .add('.target:nth-child(4)', { opacity: 0, onComplete }, 300) + .add('.target', { opacity: 0, onComplete }, stagger(100)) ``` ##### Stagger ```diff - import anime from 'animejs'; + import { animate, stagger } from 'animejs'; - anime({ - targets: 'div', + animate('div', { - translateX: anime.stagger(100), + translateX: stagger(100), - delay: anime.stagger(100, { direction: 'reversed' }), + translateX: stagger(100, { reversed: true }), }); ``` #### SVG ```diff - import anime from 'animejs'; + import { animate, svg } from 'animejs'; - const path = anime.path('path'); + const { x, y, angle } = svg.createMotionPath('path'); - anime({ - targets: '#shape1', + animate('#shape1', { - points: '70 41 118.574 59.369 111.145 132.631 60.855 84.631 20.426 60.369', + points: svg.morphTo('#shape2'), - strokeDashoffset: [anime.setDashoffset, 0], + strokeDashoffset: svg.drawLine(), - translateX: path('x'), - translateY: path('y'), - rotate: path('angle'), + translateX: x, + translateY: y, + rotate: angle, }); ``` #### Utils ```diff - import anime from 'animejs'; + import { utils } from 'animejs'; - const value = anime.get('#target1', 'translateX'); + const value = utils.get('#target1', 'translateX'); - anime.set('#target1', { translateX: 100 }); + utils.set('#target1', { translateX: 100 }); - anime.remove('#target1'); + utils.remove('#target1'); - const rounded = anime.round(value); + const rounded = utils.round(value, 0); ``` #### Engine ```diff - import anime from 'animejs'; + import { engine } from 'animejs'; - anime.suspendWhenDocumentHidden = false; + engine.pauseWhenHidden = false; - anime.speed = .5; + engine.playbackRate = .5; ``` ### Improvements #### Performances Major performance boost and lower memory footprint. V4 has bee re-written from scratch by keeping performance in mind at every steps. #### Better tween composition The tween system has been refactored to improve animations behaviours when they overlaps. This fix lots of issues, especially when creating multiple animations with the same property on the same target. #### Additive animations You can also blend animations together with the new `composition: 'add'` parameter. #### Improved Timelines - Child animations can new be looped and reversed - Add supports for labels - Add supports for `.set()` in timeline - New position operators for more flexibility - Multi-target child animation can be positioned using the `stagger` function - Easier children defaults configuration - Greatly improved support for CSS transforms composition from one child animation to another ```javascript const tl = createTimeline({ playbackRate: .2, defaults: { duration: 500, easing: 'outQuad', } }); tl.add('START', 100) // Add a label a 100ms .set('.target', { opacity: 0 }) .add('.target', { translateY: 100, opacity: 1, onComplete: () => {}, }, stagger(100)) .add('.target', { scale: .75, }, 'START') .add('.target', { rotate: '1turn', }, '<<+=200') ``` #### Properties ##### CSS Variables You can now use CSS variables directly like any other property: ```javascript // Animate the values of the CSS variables '--radius' animate('#target', { '--radius': '20px' }); ``` ##### Animating *from* Animate *from* a value ```diff + translateX: { from: 50 } ``` ##### From -> To Even if the `[from, to]` shortcut is still valid in V4, you can now also write it like this: ```diff + translateX: { from: 50, to: 100 } ``` ##### Colors You can now animate hex colors with an alpha channel like '#F443' or '#FF444433'. #### Timers You can now create timers with the `createTimer` module. Timers can be use as replacement for `setTimeout`or `setInterval` but with all the playbacks parameters, callbacks and the `Promise` system provided by anime.js. ``` const interval = createTimer({ onLoop: () => { // do something every 500ms }, duration: 500, }); const timeout = createTimer({ onComplete: () => { // do something in 500ms }, duration: 500, }); const gameLogicLoop = createTimer({ frameRate: 30, onUpdate: gameSystems, }); const gameRenderLoop = createTimer({ frameRate: 60, onUpdate: gameRender, }); ``` #### Variable frame rate You can now change the frame rate to all animations or to a specific Timeline / Animation / Timer </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
d6b4ee8172 | feat(mobile): ios selfhost server support (#11563) |