Oleg
e3fac97b9b
fix(web): minor bug fixes ( #9696 )
...
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-01-27 14:21:41 +09:00
pengx17
a5c8356376
chore(electron): split view tracking events ( #9896 )
...
fix AF-2037
2025-01-27 02:40:08 +00:00
pengx17
0d2c2ea21e
fix(core): tag input keyboard control enhancements ( #9881 )
...
fix AF-2166
2025-01-25 14:35:49 +00:00
donteatfriedrice
4b553d153a
feat(core): update chat error style ( #9885 )
...
[BS-2487](https://linear.app/affine-design/issue/BS-2487/报错样式更新 )
2025-01-24 12:39:10 +00:00
zzj3720
5a5779c05a
feat(editor): simple table block ( #9740 )
...
close: BS-2122, BS-2125, BS-2124, BS-2420, PD-2073, BS-2126, BS-2469, BS-2470, BS-2478, BS-2471
2025-01-24 10:07:57 +00:00
L-Sun
3f4311ff1c
chore(editor): add RTL experiement flag for editor ( #9882 )
2025-01-24 08:23:24 +00:00
pengx17
791484a46c
fix(core): some style issues ( #9875 )
...
fix AF-2158, AF-2159
It seems the input hack for modal is no longer needed
2025-01-24 05:06:59 +00:00
pengx17
6a74107010
fix(core): some storage setting enhancements ( #9877 )
...
fix AF-2157, AF-2155, AF-2156
1. add shift selection for grid blob card
2. various style issues
3. unused blobs list will also wait for workspace syncing
2025-01-24 04:35:54 +00:00
donteatfriedrice
c0eb735890
fix(core): extract text blocks markdown from doc ( #9879 )
...
[AF-2162](https://linear.app/affine-design/issue/AF-2162/ai-提取-markdown-内容不完整 )
2025-01-24 04:18:53 +00:00
akumatus
95cf2e047f
feat(core): cite source documents in the AI answer ( #9863 )
...
Support issue [BS-2424](https://linear.app/affine-design/issue/BS-2424 ).
### What changed?
- Add relevant document prompt templates.
- Add citation rules in system prompts.
- Change message `params` type to `Record<string, any>`
- Add unit test.
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/ec24e664-039e-4fab-bd26-b3312f011daf.mov ">录屏2025-01-23 10.40.38.mov</video>
2025-01-24 04:04:01 +00:00
pengx17
48c26017ae
fix(core): database properties in info flickering issue ( #9872 )
...
fix af-2123
2025-01-24 03:46:24 +00:00
L-Sun
79fe687b1a
fix(editor): render title in page block header using DocDisplayMetaService ( #9878 )
...
https://github.com/user-attachments/assets/24490a58-ef66-404a-b9cd-1e94d84c6f58
2025-01-23 12:51:55 +00:00
pengx17
6ac6a8d6d6
feat(core): unused blob management in settings ( #9795 )
...
fix AF-2144, PD-2064, PD-2065, PD-2066
2025-01-23 07:12:17 +00:00
CatsJuice
a16b57db48
feat(core): make sidebar others collapsible ( #9862 )
2025-01-23 03:17:15 +00:00
pengx17
088ae0ac0a
feat(electron): backup panel ( #9738 )
...
fix PD-2071, PD-2059, PD-2069, PD-2068
2025-01-22 22:52:31 +08:00
akumatus
862a9d0bc4
feat: use footnote for perplexity search results ( #9851 )
...
Support issue [BS-2475](https://linear.app/affine-design/issue/BS-2475 ).

2025-01-22 10:54:01 +00:00
pengx17
08f6a22d44
fix(core): linkpreview and imageproxy url should be prefixed with server url ( #9838 )
...
fix AF-2150
2025-01-22 09:31:05 +00:00
CatsJuice
f7f1a6ee11
chore(core): update oauth icons ( #9796 )
2025-01-22 07:49:58 +00:00
forehalo
5828eb53b6
feat(core): support one time password ( #9798 )
2025-01-22 07:33:10 +00:00
pengx17
4c665594d6
fix(editor): ref on click slots should not be global ( #9830 )
...
fix AF-2129
2025-01-22 05:20:55 +00:00
pengx17
720a596559
fix(infra): increase eventemitter listener count ( #9799 )
2025-01-22 12:15:20 +08:00
pengx17
defb0de4dd
feat(core): reorg workspace settings ( #9718 )
...
fix AF-2118
2025-01-22 03:11:27 +00:00
Xun Sun
2db9cc3922
fix(core): set state isLoading to false after email changing is confirmed ( #9824 )
2025-01-22 09:47:23 +08:00
L-Sun
29995e498a
feat(editor): add start-with-ai button for empty doc ( #9836 )
...
Close [BS-2391](https://linear.app/affine-design/issue/BS-2391/bs-ai-toolbar-空状态下添加-actions-列表 )
https://github.com/user-attachments/assets/cbded517-2d3d-4a75-b144-644e2b03f68a
2025-01-21 16:00:49 +00:00
pengx17
d4aeac5d35
fix(electron): split view reorder shaking ( #9828 )
...
fix AF-2097
2025-01-21 15:02:22 +00:00
pengx17
24fce7a708
fix(core): peek view backgroud ( #9825 )
...
fix bs-2416
2025-01-21 11:37:15 +00:00
akumatus
a3164b4ccf
feat(core): support ai doc search panel ( #9831 )
...
Support issue [BS-2351](https://linear.app/affine-design/issue/BS-2351 ) and [BS-2461](https://linear.app/affine-design/issue/BS-2461 ).
## What changed?
- Add `chat-panel-add-popover` component.
- Refactor part of `AtMenuConfigService` into `DocSearchMenuService`.
- Add signal `content` property to `DocChip` interface for markdown content update.
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/ff1d69b3-edd6-4d33-a01d-8b16e5192af7.mov ">录屏2025-01-21 18.46.29.mov</video>
2025-01-21 11:20:19 +00:00
CatsJuice
ba508ffd6b
chore(core): replace outlined template icon ( #9784 )
2025-01-21 11:03:11 +00:00
renovate
b299bb89fa
chore: bump up @capacitor/browser version to v7 ( #9812 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@capacitor/browser](https://redirect.github.com/ionic-team/capacitor-plugins ) | [`^6.0.4` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@capacitor%2fbrowser/6.0.5/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>ionic-team/capacitor-plugins (@​capacitor/browser)</summary>
### [`v7.0.0`](https://redirect.github.com/ionic-team/capacitor-plugins/releases/tag/%40capacitor/app%407.0.0 )
[Compare Source](https://redirect.github.com/ionic-team/capacitor-plugins/compare/@capacitor/browser@6.0.5...@capacitor/browser@7.0.0 )
**Note:** Version bump only for package [@​capacitor/app](https://redirect.github.com/capacitor/app )
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-01-21 08:24:06 +00:00
L-Sun
7400cf225f
refactor(editor): highlight selected cards of TOC based on signal ( #9807 )
...
Close [BS-2314](https://linear.app/affine-design/issue/BS-2314/添加打开toc时,将note-block-高亮 ), [BS-1868](https://linear.app/affine-design/issue/BS-1868/toc-里面-note之间顺序可拖动性,在page和edgeless里面是不同的,这个是设计的行为么 ?)
This PR refactor the highlight logic of note cards of TOC panel:
- notes block selected in edgeless note
- notes block covered by text or block selection in page mode
- note cards selected in TOC for dragging
Other changes:
- remove not used codes
- add tests for highlight note cards
2025-01-21 07:50:57 +00:00
renovate
6470d83248
chore: bump up @capacitor/app version to v7 ( #9811 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@capacitor/app](https://redirect.github.com/ionic-team/capacitor-plugins ) | [`^6.0.2` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@capacitor%2fapp/6.0.2/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>ionic-team/capacitor-plugins (@​capacitor/app)</summary>
### [`v7.0.0`](https://redirect.github.com/ionic-team/capacitor-plugins/releases/tag/%40capacitor/app%407.0.0 )
[Compare Source](https://redirect.github.com/ionic-team/capacitor-plugins/compare/@capacitor/app@6.0.2...@capacitor/app@7.0.0 )
**Note:** Version bump only for package [@​capacitor/app](https://redirect.github.com/capacitor/app )
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-01-21 07:34:11 +00:00
CatsJuice
46ee235674
chore(core): replace add icon of section in sidebar ( #9787 )
2025-01-21 05:36:44 +00:00
L-Sun
d2bde09ef6
fix(core): avoid multiple append right sidebar tab lit component ( #9806 )
...
This PR fixed that the TOC panel and frame panel will be connect and disconnect repeatly on the same instance. Similar issue: https://github.com/toeverything/AFFiNE/pull/9019#discussion_r1872635745
2025-01-21 02:32:35 +00:00
doodlewind
14ca171a18
chore(web): bump theme ( #9801 )
2025-01-20 13:51:24 +00:00
Saul-Mirone
fa5e6e1f45
fix: remove bs shared and components in affine ( #9792 )
2025-01-20 09:41:06 +00:00
forehalo
cb53baca89
fix(electron): export and import ( #9767 )
2025-01-20 08:48:03 +00:00
Saul-Mirone
2b3da1f0e9
fix: remove global, store and std in affine packages ( #9785 )
2025-01-20 06:14:46 +00:00
CatsJuice
1a18aeb22e
fix(core): make journal template selector fixed at bottom in sidebar ( #9783 )
2025-01-20 04:35:11 +00:00
donteatfriedrice
4bd43a698c
refactor(editor): refactor linkPreviewer as an extension and remove bookmark service ( #9754 )
...
[BS-2427](https://linear.app/affine-design/issue/BS-2427/移除-bookmark-block-service ) [BS-2418](https://linear.app/affine-design/issue/BS-2418/linkpreviewer-重构成插件 )
2025-01-20 04:18:00 +00:00
fundon
4aabcaaa60
chore(core): update fill color of shape ( #9674 )
...
part of: https://github.com/toeverything/AFFiNE/pull/9633
* updates fill color in `shape.json`
2025-01-20 03:22:11 +00:00
JimmFly
601c0dd16c
fix(core): center peek and history dialog does not display custom fonts ( #9274 )
...
close AF-1806
2025-01-20 03:00:13 +00:00
JimmFly
9004c45eed
feat(core): add copy link button to local share menu ( #9271 )
...
close AF-1838
2025-01-20 02:40:10 +00:00
CatsJuice
93106dae3b
feat(core): track template doc events ( #9775 )
...
close AF-2076
2025-01-19 13:13:31 +00:00
pengx17
7713920b71
fix(core): move openinapp guard to workspace scope ( #9751 )
2025-01-19 10:00:04 +00:00
L-Sun
6ba802fb17
feat(editor): append note to page button ( #9762 )
...
Close [BS-2310](https://linear.app/affine-design/issue/BS-2310/note-display-in-page-%E7%9A%84%E8%A1%8C%E4%B8%BA ), [BS-2312](https://linear.app/affine-design/issue/BS-2312/edgeless-note-%E7%9A%84-element-toolbar-%E6%B7%BB%E5%8A%A0display-in-page%E6%8C%89%E9%92%AE ) and [BS-2313](https://linear.app/affine-design/issue/BS-2313/添加display-in-page的toast提示,以及打开toc的按钮 )
2025-01-19 08:35:02 +00:00
CatsJuice
9d61b41c05
feat(core): add template mark on detail page header ( #9764 )
...
close AF-2136
2025-01-18 17:02:25 +00:00
CatsJuice
f8abe997f5
fix(core): open template doc on sidebar template entrance ( #9766 )
...
close AF-2135, AF-2136, AF-2138, AF-2133
2025-01-18 16:44:05 +00:00
renovate
9c3365aaca
chore: bump up vitest monorepo to v3 (major) ( #9739 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser )) | [`2.1.8` -> `3.0.2`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/2.1.8/3.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`2.1.8` -> `3.0.2`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/2.1.8/3.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui )) | [`2.1.8` -> `3.0.2`](https://renovatebot.com/diffs/npm/@vitest%2fui/2.1.8/3.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`^2.1.8` -> `^3.0.0`](https://renovatebot.com/diffs/npm/vitest/2.1.8/3.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`2.1.8` -> `3.0.2`](https://renovatebot.com/diffs/npm/vitest/2.1.8/3.0.2 ) | [](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>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.0.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.2 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.1...v3.0.2 )
##### 🐞 Bug Fixes
- Don't await an empty timeout after every test - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7281 ](https://redirect.github.com/vitest-dev/vitest/issues/7281 ) [<samp>(ef1aa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ef1aa893 )
- **expect**: Fix `expect().resolves/rejects` chain typings - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7273 ](https://redirect.github.com/vitest-dev/vitest/issues/7273 ) [<samp>(fa415)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fa415059 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.1...v3.0.2 )
### [`v3.0.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.1 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.0...v3.0.1 )
##### 🐞 Bug Fixes
- Revert "fix: re-apply default conditions if using vite 6 or later ([https://github.com/vitest-dev/vitest/issues/7071 ](https://redirect.github.com/vitest-dev/vitest/issues/7071 ))" - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7071 ](https://redirect.github.com/vitest-dev/vitest/issues/7071 ) and [https://github.com/vitest-dev/vitest/issues/7271 ](https://redirect.github.com/vitest-dev/vitest/issues/7271 ) [<samp>(755ec)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/755ecdfa )
- **deps**: Update all non-major dependencies - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7147 ](https://redirect.github.com/vitest-dev/vitest/issues/7147 ) [<samp>(537fa)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/537fa5ed )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.0...v3.0.1 )
### [`v3.0.0`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.0 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.8...v3.0.0 )
Vitest 3 is here! There are a few breaking changes, but we expect the migration to be smooth. This release page lists all changes made to the project during the beta. For the migration guide, please refer to the [documentation](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0 ).
##### 🚨 Breaking Changes
- `spy.mockReset` changes - by [@​Lordfirespeed](https://redirect.github.com/Lordfirespeed ) in [https://github.com/vitest-dev/vitest/issues/6426 ](https://redirect.github.com/vitest-dev/vitest/issues/6426 ) [<samp>(db7a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db7a8888 )
- Pass down context to test hooks - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7034 ](https://redirect.github.com/vitest-dev/vitest/issues/7034 ) [<samp>(82c2e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/82c2e244 )
- Support Vite 6 - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7026 ](https://redirect.github.com/vitest-dev/vitest/issues/7026 ) [<samp>(7abe8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7abe854c )
- **coverage**: Always exclude test files - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7254 ](https://redirect.github.com/vitest-dev/vitest/issues/7254 ) [<samp>(b5268)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b5268965 )
- **deps**: Update fake-timers to v14.0.0 - by [@​xxzefgh](https://redirect.github.com/xxzefgh ) and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7097 ](https://redirect.github.com/vitest-dev/vitest/issues/7097 ) [<samp>(c98b4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c98b4b1c )
- **expect**: Check more properties for error equality - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/5876 ](https://redirect.github.com/vitest-dev/vitest/issues/5876 ) [<samp>(10023)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/100230e9 )
- **runner**: Support `describe(..., { shuffle: boolean })` and inherit from parent suite - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6670 ](https://redirect.github.com/vitest-dev/vitest/issues/6670 ) [<samp>(aa1da)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/aa1dac3d )
- **snapshot**: Reset snapshot state for `retry` and `repeats` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6817 ](https://redirect.github.com/vitest-dev/vitest/issues/6817 ) [<samp>(e8ce9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e8ce94cf )
- **spy**: SpyOn reuses mock if method is already spyed on - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6464 ](https://redirect.github.com/vitest-dev/vitest/issues/6464 ) [<samp>(b3e43)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b3e43d04 )
- **vitest**: Don't expose default toFake config - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6288 ](https://redirect.github.com/vitest-dev/vitest/issues/6288 ) [<samp>(e3144)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e3144fd8 )
##### 🚀 Features
- Support inline `diff` options and support `printBasicPrototype` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ), [@​sheremet-va](https://redirect.github.com/sheremet-va ) and **Michał Grzegorzewski** in [https://github.com/vitest-dev/vitest/issues/6740 ](https://redirect.github.com/vitest-dev/vitest/issues/6740 ) [<samp>(39186)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/391860f7 )
- Allow a custom note when calling `ctx.skip()` dynamically - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6805 ](https://redirect.github.com/vitest-dev/vitest/issues/6805 ) [<samp>(697c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/697c35c5 )
- Allow inline workspace configuration - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6923 ](https://redirect.github.com/vitest-dev/vitest/issues/6923 ) [<samp>(562e1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/562e1b14 )
- Provide the current project to the global setup - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6942 ](https://redirect.github.com/vitest-dev/vitest/issues/6942 ) [<samp>(a5bbc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a5bbc0a9 )
- Print project name as a label - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6925 ](https://redirect.github.com/vitest-dev/vitest/issues/6925 ) [<samp>(a3bef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a3bef598 )
- Print a deprecation warning if suite or test uses object as the third argument - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7031 ](https://redirect.github.com/vitest-dev/vitest/issues/7031 ) [<samp>(407f1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/407f10e4 )
- Expose versions from `vitest/node` entry point and statically on Vitest - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7029 ](https://redirect.github.com/vitest-dev/vitest/issues/7029 ) [<samp>(be8d4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/be8d479b )
- `diff.printBasicPrototype: false` by default - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7043 ](https://redirect.github.com/vitest-dev/vitest/issues/7043 ) [<samp>(2b5c5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2b5c5201 )
- Prepare the Vitest API to be stable - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6962 ](https://redirect.github.com/vitest-dev/vitest/issues/6962 ) [<samp>(9a1b5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9a1b5012 )
- Support Vite v6 in mocker package - by [@​cexbrayat](https://redirect.github.com/cexbrayat ) in [https://github.com/vitest-dev/vitest/issues/7058 ](https://redirect.github.com/vitest-dev/vitest/issues/7058 ) [<samp>(96f47)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/96f47d37 )
- Allow multi-browser configuration - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6975 ](https://redirect.github.com/vitest-dev/vitest/issues/6975 ) [<samp>(78b62)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/78b62ffe )
- Add resolved project names to the reporter API - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7213 ](https://redirect.github.com/vitest-dev/vitest/issues/7213 ) [<samp>(91758)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/91758360 )
- Introduce the new reporter API - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7069 ](https://redirect.github.com/vitest-dev/vitest/issues/7069 ) [<samp>(76662)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/766624ab )
- Add `describe.for` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7253 ](https://redirect.github.com/vitest-dev/vitest/issues/7253 ) [<samp>(0ad28)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0ad2860b )
- **api**:
- Add onBrowserInit event - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7255 ](https://redirect.github.com/vitest-dev/vitest/issues/7255 ) [<samp>(80ce0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80ce0e1c )
- **browser**:
- Support `actionTimeout` as playwright provider options - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6984 ](https://redirect.github.com/vitest-dev/vitest/issues/6984 ) [<samp>(e2c29)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e2c29eaf )
- Support clipboard api `userEvent.copy, cut, paste` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6769 ](https://redirect.github.com/vitest-dev/vitest/issues/6769 ) [<samp>(843a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/843a621e )
- Implement locator.nth() - by [@​xeger](https://redirect.github.com/xeger ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7137 ](https://redirect.github.com/vitest-dev/vitest/issues/7137 ) [<samp>(38458)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38458ea6 )
- **cli**:
- Support excluding projects with `--project=!pattern` - by [@​haines](https://redirect.github.com/haines ) in [https://github.com/vitest-dev/vitest/issues/6924 ](https://redirect.github.com/vitest-dev/vitest/issues/6924 ) [<samp>(ebfe9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ebfe942c )
- Support specifying a line number when filtering tests - by [@​mzhubail](https://redirect.github.com/mzhubail ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6411 ](https://redirect.github.com/vitest-dev/vitest/issues/6411 ) [<samp>(4d94b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4d94b956 )
- Support location filters for suites - by [@​mzhubail](https://redirect.github.com/mzhubail ) in [https://github.com/vitest-dev/vitest/issues/7048 ](https://redirect.github.com/vitest-dev/vitest/issues/7048 ) [<samp>(751e2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/751e2dce )
- **coverage**:
- `thresholds` to support maximum uncovered items - by [@​jonahkagan](https://redirect.github.com/jonahkagan ) in [https://github.com/vitest-dev/vitest/issues/7061 ](https://redirect.github.com/vitest-dev/vitest/issues/7061 ) [<samp>(bde98)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bde98b6d )
- **expect**:
- Add `toHaveBeenCalledExactlyOnceWith` expect matcher - by [@​jacoberdman2147](https://redirect.github.com/jacoberdman2147 ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6894 ](https://redirect.github.com/vitest-dev/vitest/issues/6894 ) [<samp>(ff662)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ff66206a )
- Add `toHaveBeenCalledAfter` and `toHaveBeenCalledBefore` utility - by [@​Barbapapazes](https://redirect.github.com/Barbapapazes ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6056 ](https://redirect.github.com/vitest-dev/vitest/issues/6056 ) [<samp>(85e6f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/85e6f99f )
- Add `toSatisfy` asymmetric matcher - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7022 ](https://redirect.github.com/vitest-dev/vitest/issues/7022 ) [<samp>(f691a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f691ad76 )
- Add `toBeOneOf` matcher - by [@​zirkelc](https://redirect.github.com/zirkelc ) and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6974 ](https://redirect.github.com/vitest-dev/vitest/issues/6974 ) [<samp>(3d742)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3d742b2b )
- **reporter**:
- Add support for function type to classname option in the junit reporter - by [@​jpleclerc](https://redirect.github.com/jpleclerc ), **Jean-Philippe Leclerc** and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6839 ](https://redirect.github.com/vitest-dev/vitest/issues/6839 ) [<samp>(dc238)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dc238e92 )
- **reporters**:
- `summary` option for `verbose` and `default` reporters - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6893 ](https://redirect.github.com/vitest-dev/vitest/issues/6893 ) [<samp>(511b7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/511b73c7 )
- **runner**:
- Test context can inject values from the config's `provide` - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6813 ](https://redirect.github.com/vitest-dev/vitest/issues/6813 ) [<samp>(85c64)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/85c64e35 )
- Add "queued" state - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6931 ](https://redirect.github.com/vitest-dev/vitest/issues/6931 ) [<samp>(5f8d2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5f8d2091 )
- **snapshot**:
- Provide `config` to `resolveSnapshotPath` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6800 ](https://redirect.github.com/vitest-dev/vitest/issues/6800 ) [<samp>(746d8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/746d8986 )
- **ui**:
- Allow run individual tests/suites from the UI - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/6641 ](https://redirect.github.com/vitest-dev/vitest/issues/6641 ) [<samp>(d9cc8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d9cc81dd )
- Make clicking on a test in the UI open the report section and scroll to the test failure if applicable - by [@​jacoberdman2147](https://redirect.github.com/jacoberdman2147 ) in [https://github.com/vitest-dev/vitest/issues/6900 ](https://redirect.github.com/vitest-dev/vitest/issues/6900 ) [<samp>(1bf27)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1bf27f0d )
- Allow hide/show node_modules in module graph tab - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7217 ](https://redirect.github.com/vitest-dev/vitest/issues/7217 ) [<samp>(50cf6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/50cf61b8 )
- **vitest**:
- Include `coverageMap` in json report - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6606 ](https://redirect.github.com/vitest-dev/vitest/issues/6606 ) [<samp>(9c8f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9c8f7e3e )
- Add `onTestsRerun` method to global setup context - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6803 ](https://redirect.github.com/vitest-dev/vitest/issues/6803 ) [<samp>(e26e0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e26e066c )
##### 🐞 Bug Fixes
- Misc fix for vite 6 ecosystem ci - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6867 ](https://redirect.github.com/vitest-dev/vitest/issues/6867 ) [<samp>(80f8b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80f8bbf4 )
- Respect `cacheDir` when optimizer is enabled - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6910 ](https://redirect.github.com/vitest-dev/vitest/issues/6910 ) [<samp>(0b08b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0b08bc11 )
- Reset runningPromise after `finally` in case there is an error to avoid it getting stuck - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6951 ](https://redirect.github.com/vitest-dev/vitest/issues/6951 ) [<samp>(02194)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/021944cd )
- Revert support for Vite 6 - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) [<samp>(fbe5c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fbe5c39d )
- Support Node 21 - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) [<samp>(92f7a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92f7a2ad )
- Don't use `Custom` type internally - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7032 ](https://redirect.github.com/vitest-dev/vitest/issues/7032 ) [<samp>(7957f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7957f912 )
- Persist cli filters as watch mode file filter - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6955 ](https://redirect.github.com/vitest-dev/vitest/issues/6955 ) [<samp>(cc703)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cc703362 )
- Don't use dim color for succeeded tests - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7059 ](https://redirect.github.com/vitest-dev/vitest/issues/7059 ) [<samp>(8a6f5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8a6f5f16 )
- Fix missing chai types - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7149 ](https://redirect.github.com/vitest-dev/vitest/issues/7149 ) [<samp>(6a09c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6a09cc3b )
- `cancelCurrentRun` awaits `runningPromise` - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7168 ](https://redirect.github.com/vitest-dev/vitest/issues/7168 ) [<samp>(1dbf5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1dbf5140 )
- Add Locator typings for nth, first and last. - by [@​xeger](https://redirect.github.com/xeger ) in [https://github.com/vitest-dev/vitest/issues/7176 ](https://redirect.github.com/vitest-dev/vitest/issues/7176 ) [<samp>(d262e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d262e059 )
- Batch console logs by microtask - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7183 ](https://redirect.github.com/vitest-dev/vitest/issues/7183 ) [<samp>(53d1d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/53d1d5f5 )
- Allow `getMockImplementation` to return "once" implementation - by [@​chaptergy](https://redirect.github.com/chaptergy ) in [https://github.com/vitest-dev/vitest/issues/7033 ](https://redirect.github.com/vitest-dev/vitest/issues/7033 ) [<samp>(39125)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3912554b )
- `capturePrintError` logger duplicate event handlers - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7197 ](https://redirect.github.com/vitest-dev/vitest/issues/7197 ) [<samp>(e89c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e89c3693 )
- Allow slots in vitest-browser-vue - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7120 ](https://redirect.github.com/vitest-dev/vitest/issues/7120 ) [<samp>(2319f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2319f849 )
- Reset root workspace project on restart - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7238 ](https://redirect.github.com/vitest-dev/vitest/issues/7238 ) [<samp>(6e518)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6e51843a )
- Cleanup `vitest/reporters` entrypoint - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7241 ](https://redirect.github.com/vitest-dev/vitest/issues/7241 ) [<samp>(aec0b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/aec0b530 )
- Colors on `forks` pool - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7090 ](https://redirect.github.com/vitest-dev/vitest/issues/7090 ) [<samp>(8cab9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8cab9601 )
- Export `VitestRunner` type from `vitest/runners` - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7240 ](https://redirect.github.com/vitest-dev/vitest/issues/7240 ) [<samp>(9b218)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9b218854 )
- Return test fn result to runner - by [@​wmertens](https://redirect.github.com/wmertens ) in [https://github.com/vitest-dev/vitest/issues/7239 ](https://redirect.github.com/vitest-dev/vitest/issues/7239 ) [<samp>(48645)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/48645bf4 )
- Re-apply default conditions if using vite 6 or later - by [@​thebanjomatic](https://redirect.github.com/thebanjomatic ), **thebanjomatic** and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7071 ](https://redirect.github.com/vitest-dev/vitest/issues/7071 ) [<samp>(84287)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/84287fc2 )
- Prevent infinite loop on prettyDOM calls - by [@​tsirlucas](https://redirect.github.com/tsirlucas ) in [https://github.com/vitest-dev/vitest/issues/7250 ](https://redirect.github.com/vitest-dev/vitest/issues/7250 ) [<samp>(a3a46)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a3a46a53 )
- **api**:
- Don't report events during `vitest list` - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7257 ](https://redirect.github.com/vitest-dev/vitest/issues/7257 ) [<samp>(1c2b2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1c2b210d )
- **benchmark**:
- Disable type testing while benchmarking - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7068 ](https://redirect.github.com/vitest-dev/vitest/issues/7068 ) [<samp>(4e603)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4e60333d )
- Rewrite reporter without `log-update` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7019 ](https://redirect.github.com/vitest-dev/vitest/issues/7019 ) [<samp>(6d23f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6d23f4b1 )
- **browser**:
- Improve source maps when `vi.mock` is present - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6810 ](https://redirect.github.com/vitest-dev/vitest/issues/6810 ) [<samp>(8d179)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8d179afc )
- Explain TypeScript support in docs and add asymmetric matchers to types - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/6934 ](https://redirect.github.com/vitest-dev/vitest/issues/6934 ) [<samp>(ac1a7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ac1a7fdc )
- Fix matchers.d.ts - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6995 ](https://redirect.github.com/vitest-dev/vitest/issues/6995 ) [<samp>(a485b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a485b32b )
- Fix user event state on preview provider - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7041 ](https://redirect.github.com/vitest-dev/vitest/issues/7041 ) [<samp>(8e944)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8e94427e )
- Fix provider options types - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7115 ](https://redirect.github.com/vitest-dev/vitest/issues/7115 ) [<samp>(579bd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/579bda97 )
- Only use locator.element on last expect.element attempt - by [@​tsirlucas](https://redirect.github.com/tsirlucas ) in [https://github.com/vitest-dev/vitest/issues/7139 ](https://redirect.github.com/vitest-dev/vitest/issues/7139 ) and [https://github.com/vitest-dev/vitest/issues/7152 ](https://redirect.github.com/vitest-dev/vitest/issues/7152 ) [<samp>(847d3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/847d3221 )
- Use correct project when filtering `entries` in the browser mode - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7167 ](https://redirect.github.com/vitest-dev/vitest/issues/7167 ) [<samp>(423d6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/423d6345 )
- Fix `console.time` with fake timers - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7207 ](https://redirect.github.com/vitest-dev/vitest/issues/7207 ) [<samp>(903f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/903f3b9b )
- Add instance validation to resolve coverage error - by [@​DevJoaoLopes](https://redirect.github.com/DevJoaoLopes ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7231 ](https://redirect.github.com/vitest-dev/vitest/issues/7231 ) [<samp>(1e791)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1e7915b5 )
- **coverage**:
- Exclude browser mode iframe results - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6905 ](https://redirect.github.com/vitest-dev/vitest/issues/6905 ) [<samp>(e04a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e04a1368 )
- Correct coverage when `isolate: false` is used - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6957 ](https://redirect.github.com/vitest-dev/vitest/issues/6957 ) [<samp>(426ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/426ce6d8 )
- Prevent crash when v8 incorrectly merges static_initializer's - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7150 ](https://redirect.github.com/vitest-dev/vitest/issues/7150 ) [<samp>(cb6db)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cb6db13e )
- **deps**:
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7085 ](https://redirect.github.com/vitest-dev/vitest/issues/7085 ) [<samp>(8cc92)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8cc92c2f )
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7116 ](https://redirect.github.com/vitest-dev/vitest/issues/7116 ) [<samp>(de5ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/de5ce3d9 )
- Update dependency pathe to v2 - in [https://github.com/vitest-dev/vitest/issues/7181 ](https://redirect.github.com/vitest-dev/vitest/issues/7181 ) [<samp>(74dbe)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/74dbe03f )
- **diff**:
- Truncate to avoid crash on diff large objects - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7133 ](https://redirect.github.com/vitest-dev/vitest/issues/7133 ) [<samp>(2a9d6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2a9d67a2 )
- **junit**:
- Fix testsuites time to be sum of all testsuite items - by [@​saitonakamura](https://redirect.github.com/saitonakamura ) in [https://github.com/vitest-dev/vitest/issues/6985 ](https://redirect.github.com/vitest-dev/vitest/issues/6985 ) [<samp>(ca37a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ca37a06a )
- **pretty-format**:
- Support react 19 - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6909 ](https://redirect.github.com/vitest-dev/vitest/issues/6909 ) [<samp>(bd29b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bd29bcc7 )
- **reporters**:
- Write buffered stdout/stderr on process exit - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6932 ](https://redirect.github.com/vitest-dev/vitest/issues/6932 ) [<samp>(80cde)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/80cde2a0 )
- Rewrite `dot` reporter without `log-update` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6943 ](https://redirect.github.com/vitest-dev/vitest/issues/6943 ) [<samp>(be969)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/be969cfb )
- Check `--hideSkippedTests` in base reporter - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/6988 ](https://redirect.github.com/vitest-dev/vitest/issues/6988 ) [<samp>(721a5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/721a5b84 )
- Show `retry` and `repeats` counts - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7004 ](https://redirect.github.com/vitest-dev/vitest/issues/7004 ) [<samp>(3496a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3496a015 )
- **runner**:
- Long synchronous tasks does not time out - by [@​ferdodo](https://redirect.github.com/ferdodo ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/2920 ](https://redirect.github.com/vitest-dev/vitest/issues/2920 ) and [https://github.com/vitest-dev/vitest/issues/6944 ](https://redirect.github.com/vitest-dev/vitest/issues/6944 ) [<samp>(2fb58)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2fb585ae )
- Mark tests of `describe.todo` as `'todo'` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7171 ](https://redirect.github.com/vitest-dev/vitest/issues/7171 ) [<samp>(1d458)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1d458955 )
- **snapshot**:
- Fix "obsolete" message on snapshot update re-run - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7129 ](https://redirect.github.com/vitest-dev/vitest/issues/7129 ) [<samp>(c2beb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c2beb8ca )
- Preserve white space of `toMatchFileSnapshot` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7156 ](https://redirect.github.com/vitest-dev/vitest/issues/7156 ) [<samp>(a437b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a437b656 )
- Fix obsoleteness check of `toMatchSnapshot("...")` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7126 ](https://redirect.github.com/vitest-dev/vitest/issues/7126 ) [<samp>(ac9ba)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ac9ba151 )
- **typecheck**:
- Fix typecheck collect on Vite 6 - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6972 ](https://redirect.github.com/vitest-dev/vitest/issues/6972 ) [<samp>(7b35d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7b35d13a )
- Use unique temp and tsbuildinfo file for each tsconfig file - by [@​masnormen](https://redirect.github.com/masnormen ) in [https://github.com/vitest-dev/vitest/issues/7107 ](https://redirect.github.com/vitest-dev/vitest/issues/7107 ) and [https://github.com/vitest-dev/vitest/issues/7112 ](https://redirect.github.com/vitest-dev/vitest/issues/7112 ) [<samp>(61b30)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/61b30162 )
- Fix error test case mapping for `@ts-expect-error` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7125 ](https://redirect.github.com/vitest-dev/vitest/issues/7125 ) [<samp>(27d34)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/27d340aa )
- **types**:
- Make parameters non-nullable for Playwright options - by [@​apple-yagi](https://redirect.github.com/apple-yagi ) in [https://github.com/vitest-dev/vitest/issues/6989 ](https://redirect.github.com/vitest-dev/vitest/issues/6989 ) [<samp>(fe2a1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fe2a187f )
- **ui**:
- Wrong module graph when generating html.meta.json.gz in browser mode - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7214 ](https://redirect.github.com/vitest-dev/vitest/issues/7214 ) [<samp>(dccdd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dccdd550 )
- Add errors and draft state (\*) to the code editor - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7044 ](https://redirect.github.com/vitest-dev/vitest/issues/7044 ) [<samp>(faca4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/faca4de8 )
- **vite-node**:
- Fix error stack on Windows - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6786 ](https://redirect.github.com/vitest-dev/vitest/issues/6786 ) [<samp>(bf7b3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bf7b36ac )
- Properly normalize file url import - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7087 ](https://redirect.github.com/vitest-dev/vitest/issues/7087 ) [<samp>(31675)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/31675e3b )
- Fix mandatory node prefix - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7179 ](https://redirect.github.com/vitest-dev/vitest/issues/7179 ) [<samp>(b6284)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b6284642 )
- **watch**:
- Don't indicate exit when no matching files - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7246 ](https://redirect.github.com/vitest-dev/vitest/issues/7246 ) [<samp>(003c0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/003c0bef )
- **workspace**:
- `extends: true` correctly inherits all root config properties - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7232 ](https://redirect.github.com/vitest-dev/vitest/issues/7232 ) [<samp>(798c0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/798c0da2 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.8...v3.0.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-01-18 16:27:22 +00:00
fundon
7436c139ab
fix(core): improve doc title and icon display ( #9755 )
...
Closes: [AF-2132](https://linear.app/affine-design/issue/AF-2132/优化-emoji-title-和-icon-显示 )
2025-01-18 17:29:15 +08:00
akumatus
d048ac6c91
feat(core): support chat panel chips and suggest current doc for embedding ( #9747 )
...
Support issue [BS-2347](https://linear.app/affine-design/issue/BS-2347 ).
## What Changed?
- Add chat panel components
- `chat-panel-chips`
- `chat-panel-doc-chip`
- `chat-panel-file-chip`
- `chat-panel-chip`
- Add `chips` and `docs` field in `ChatContextValue`
- Add `extractMarkdownFromDoc` function to extract markdown content of a doc
- Add e2e test
Click a candidate card to add it into AI chat context:
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/4e6b11ef-f993-4e6a-9f40-b2826af1990c.mov ">录屏2025-01-17 01.02.04.mov</video>
2025-01-18 08:35:19 +00:00