mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-20 03:26:47 +08:00
03e8e7143dcd3426bce69c1880f0d5167962cfbf
19 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
566ff7470e |
chore: bump up oxlint version to v1.1.0 (#12509)
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.11` -> `0.18.1`](https://renovatebot.com/diffs/npm/oxlint/0.16.11/0.18.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>oxc-project/oxc (oxlint)</summary> ### [`v0.18.1`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.18.1): oxlint v0.18.1 [Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.18.0...oxlint_v0.18.1) #### \[0.18.1] - 2025-06-09 ##### 🐛 Bug Fixes - [`6d68568`](https://redirect.github.com/oxc-project/oxc/commit/6d68568) linter: False negative in typescript/array-type ([#​11574](https://redirect.github.com/oxc-project/oxc/issues/11574)) (camc314) - [`6a856a0`](https://redirect.github.com/oxc-project/oxc/commit/6a856a0) linter/no-magic-numbers: Fix typo in error message ([#​11560](https://redirect.github.com/oxc-project/oxc/issues/11560)) (overlookmotel) - [`3952e01`](https://redirect.github.com/oxc-project/oxc/commit/3952e01) linter: False negative in jsx-a11y/aria-role ([#​11547](https://redirect.github.com/oxc-project/oxc/issues/11547)) (camc314) - [`b0e3e08`](https://redirect.github.com/oxc-project/oxc/commit/b0e3e08) linter: Misplaced quote in jsx-curly-brace-presence test case ([#​11546](https://redirect.github.com/oxc-project/oxc/issues/11546)) (camc314) - [`a833ed1`](https://redirect.github.com/oxc-project/oxc/commit/a833ed1) linter: Misplaced quote in anchor-is-valid test case ([#​11545](https://redirect.github.com/oxc-project/oxc/issues/11545)) (camc314) - [`4e53b80`](https://redirect.github.com/oxc-project/oxc/commit/4e53b80) linter: Misplaced backtick in exhaustive-deps test case ([#​11544](https://redirect.github.com/oxc-project/oxc/issues/11544)) (camc314) - [`e8a04b6`](https://redirect.github.com/oxc-project/oxc/commit/e8a04b6) linter: Misplaced backtick in no-object-constructor test case ([#​11543](https://redirect.github.com/oxc-project/oxc/issues/11543)) (camc314) - [`65311d0`](https://redirect.github.com/oxc-project/oxc/commit/65311d0) linter: Remove duplicate rule/scope from diagnostic ([#​11531](https://redirect.github.com/oxc-project/oxc/issues/11531)) (camc314) ##### 🚜 Refactor - [`7ab84c2`](https://redirect.github.com/oxc-project/oxc/commit/7ab84c2) editor: Use pattern for textDocument filter ([#​11559](https://redirect.github.com/oxc-project/oxc/issues/11559)) (Sysix) - [`9b475ad`](https://redirect.github.com/oxc-project/oxc/commit/9b475ad) linter: Use one instance of rope per file ([#​11552](https://redirect.github.com/oxc-project/oxc/issues/11552)) (Sysix) ##### 📚 Documentation - [`e13ed51`](https://redirect.github.com/oxc-project/oxc/commit/e13ed51) editor/vscode: Fix typo in README ([#​11572](https://redirect.github.com/oxc-project/oxc/issues/11572)) (David) - [`fa924ab`](https://redirect.github.com/oxc-project/oxc/commit/fa924ab) linter: Cleanup docs for multiple linter rules ([#​11551](https://redirect.github.com/oxc-project/oxc/issues/11551)) (Ulrich Stark) ##### ⚡ Performance - [`7bf25cb`](https://redirect.github.com/oxc-project/oxc/commit/7bf25cb) language_server: Transform `MessageWithPosition` to `Diagnostic` with less allocations ([#​11561](https://redirect.github.com/oxc-project/oxc/issues/11561)) (Sysix) ### [`v0.18.0`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.18.0): oxlint v0.18.0 [Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.17.0...oxlint_v0.18.0) #### \[0.18.0] - 2025-06-06 - [`bd9dd88`](https://redirect.github.com/oxc-project/oxc/commit/bd9dd88) linter: \[**BREAKING**] Add more info to json reporter ([#​11524](https://redirect.github.com/oxc-project/oxc/issues/11524)) (camc314) ##### Features - [`825d40c`](https://redirect.github.com/oxc-project/oxc/commit/825d40c) linter: Fix casing in unicorn/no-useless-promise-resolve-reject ([#​11528](https://redirect.github.com/oxc-project/oxc/issues/11528)) (camc314) - [`2faee3d`](https://redirect.github.com/oxc-project/oxc/commit/2faee3d) linter: Fix grammer in react/exhaustive-deps ([#​11527](https://redirect.github.com/oxc-project/oxc/issues/11527)) (camc314) ##### Bug Fixes - [`1a71d7c`](https://redirect.github.com/oxc-project/oxc/commit/1a71d7c) linter: Misplaced backtick in unicorn/no-array-for-each diagnostic ([#​11529](https://redirect.github.com/oxc-project/oxc/issues/11529)) (camc314) - [`7430b14`](https://redirect.github.com/oxc-project/oxc/commit/7430b14) linter: Grammer in jest/valid-expect diagnostic ([#​11522](https://redirect.github.com/oxc-project/oxc/issues/11522)) (camc314) - [`b92ac41`](https://redirect.github.com/oxc-project/oxc/commit/b92ac41) linter: Grammer in eslint/no-redeclare diagnostic ([#​11521](https://redirect.github.com/oxc-project/oxc/issues/11521)) (camc314) - [`17883e3`](https://redirect.github.com/oxc-project/oxc/commit/17883e3) linter: Improve eslint/no-unsafe-negation diagnostic ([#​11520](https://redirect.github.com/oxc-project/oxc/issues/11520)) (camc314) - [`8c89937`](https://redirect.github.com/oxc-project/oxc/commit/8c89937) linter: Improve eslint/no-shadow-restricted-names diagnostic ([#​11519](https://redirect.github.com/oxc-project/oxc/issues/11519)) (camc314) - [`3f0d889`](https://redirect.github.com/oxc-project/oxc/commit/3f0d889) linter: Add missing article to oxc/bad-array-method-on-arguments diagnostic ([#​11518](https://redirect.github.com/oxc-project/oxc/issues/11518)) (camc314) - [`cf0c24c`](https://redirect.github.com/oxc-project/oxc/commit/cf0c24c) linter: Improve message in react/prefer-es6-class diagnostic ([#​11516](https://redirect.github.com/oxc-project/oxc/issues/11516)) (camc314) - [`91855df`](https://redirect.github.com/oxc-project/oxc/commit/91855df) linter: Fix message in react/rules-of-hooks diagnostic ([#​11515](https://redirect.github.com/oxc-project/oxc/issues/11515)) (camc314) - [`b272194`](https://redirect.github.com/oxc-project/oxc/commit/b272194) linter: Misplaced backtick in jest/no-conditional-expect diagnostic ([#​11514](https://redirect.github.com/oxc-project/oxc/issues/11514)) (camc314) - [`3403303`](https://redirect.github.com/oxc-project/oxc/commit/3403303) linter: Misplaced backtick in unicorn/prefer-dom-node-dataset diagnostic ([#​11513](https://redirect.github.com/oxc-project/oxc/issues/11513)) (camc314) - [`d5ca872`](https://redirect.github.com/oxc-project/oxc/commit/d5ca872) linter: Misplaced backtick in eslint/radix diagnostic ([#​11512](https://redirect.github.com/oxc-project/oxc/issues/11512)) (camc314) - [`2dcf8be`](https://redirect.github.com/oxc-project/oxc/commit/2dcf8be) linter: Improve diagnostic message when function name is referenced ([#​11509](https://redirect.github.com/oxc-project/oxc/issues/11509)) (camc314) - [`0de0c9c`](https://redirect.github.com/oxc-project/oxc/commit/0de0c9c) linter: Improve diagnostic message for no-unsafe-declaration-merging ([#​11508](https://redirect.github.com/oxc-project/oxc/issues/11508)) (camc314) - [`0946dac`](https://redirect.github.com/oxc-project/oxc/commit/0946dac) linter: Correctly inherit categories when plugins are enabled ([#​11353](https://redirect.github.com/oxc-project/oxc/issues/11353)) (Cameron) - [`510c1c6`](https://redirect.github.com/oxc-project/oxc/commit/510c1c6) linter: Add missing `allowArrowFunctions` option for eslint/func-style ([#​11455](https://redirect.github.com/oxc-project/oxc/issues/11455)) (yefan) - [`c77787c`](https://redirect.github.com/oxc-project/oxc/commit/c77787c) linter: Improve `eslint/no-loss-of-precision` ([#​11437](https://redirect.github.com/oxc-project/oxc/issues/11437)) (magic-akari) - [`11d4523`](https://redirect.github.com/oxc-project/oxc/commit/11d4523) linter: False positive in react/exhaustive-deps ([#​11438](https://redirect.github.com/oxc-project/oxc/issues/11438)) (camc314) - [`616b613`](https://redirect.github.com/oxc-project/oxc/commit/616b613) linter/switch-case-braces: Align the logic with `unicorn` ([#​11405](https://redirect.github.com/oxc-project/oxc/issues/11405)) (shulaoda) ##### Refactor - [`db0b099`](https://redirect.github.com/oxc-project/oxc/commit/db0b099) language_server: Convert only once uri to path when creating `ServerLinter` ([#​11503](https://redirect.github.com/oxc-project/oxc/issues/11503)) (Sysix) - [`ccceb52`](https://redirect.github.com/oxc-project/oxc/commit/ccceb52) language_server: Simplify `workspace/didChangeConfiguration` call ([#​11462](https://redirect.github.com/oxc-project/oxc/issues/11462)) (Sysix) - [`0fdc51e`](https://redirect.github.com/oxc-project/oxc/commit/0fdc51e) linter: Simplify `OxlintRules::override_rules` ([#​11510](https://redirect.github.com/oxc-project/oxc/issues/11510)) (camc314) ##### Testing - [`2ba2893`](https://redirect.github.com/oxc-project/oxc/commit/2ba2893) editor: Fix test for auto `fixAll` on save ([#​11448](https://redirect.github.com/oxc-project/oxc/issues/11448)) (Sysix) ### [`v0.17.0`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.17.0): oxlint v0.17.0 [Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.12...oxlint_v0.17.0) #### \[0.17.0] - 2025-05-30 - [`ead5309`](https://redirect.github.com/oxc-project/oxc/commit/ead5309) linter: \[**BREAKING**] Remove react from default plugin set ([#​11382](https://redirect.github.com/oxc-project/oxc/issues/11382)) (camc314) ##### Features - [`2d25bd8`](https://redirect.github.com/oxc-project/oxc/commit/2d25bd8) linter: Remove `unicorn/no-for-loop` over `typescript/prefer-for-of` ([#​11354](https://redirect.github.com/oxc-project/oxc/issues/11354)) (camc314) - [`bbb7eb1`](https://redirect.github.com/oxc-project/oxc/commit/bbb7eb1) linter: Add auto-fix to react/forward-ref-uses-ref ([#​11342](https://redirect.github.com/oxc-project/oxc/issues/11342)) (yefan) - [`590c27b`](https://redirect.github.com/oxc-project/oxc/commit/590c27b) linter: Add auto-fix to unicorn/no-await-expression-member ([#​11306](https://redirect.github.com/oxc-project/oxc/issues/11306)) (yefan) - [`7824f01`](https://redirect.github.com/oxc-project/oxc/commit/7824f01) linter: Implement suggestion for `jsx/no-useless-fragment` ([#​10800](https://redirect.github.com/oxc-project/oxc/issues/10800)) (Cam McHenry) - [`2083d33`](https://redirect.github.com/oxc-project/oxc/commit/2083d33) linter/language_server: Add second editor suggestion for `react/forward-ref-uses-ref` ([#​11375](https://redirect.github.com/oxc-project/oxc/issues/11375)) (Sysix) ##### Bug Fixes - [`f6424dd`](https://redirect.github.com/oxc-project/oxc/commit/f6424dd) linter: Reflect react plugin is disabled by default in cli ([#​11397](https://redirect.github.com/oxc-project/oxc/issues/11397)) (camc314) - [`25ecbfe`](https://redirect.github.com/oxc-project/oxc/commit/25ecbfe) linter: Remove use of `FrameworkFlags::React` to decide whether rules should run ([#​11383](https://redirect.github.com/oxc-project/oxc/issues/11383)) (camc314) - [`0d240e4`](https://redirect.github.com/oxc-project/oxc/commit/0d240e4) linter: False positive in react/exhaustive-deps with default formal parameter ([#​11395](https://redirect.github.com/oxc-project/oxc/issues/11395)) (camc314) - [`c91697e`](https://redirect.github.com/oxc-project/oxc/commit/c91697e) linter: Fix panic in multi byte char in `TryFrom` aria ([#​11350](https://redirect.github.com/oxc-project/oxc/issues/11350)) (camc314) - [`9798ef1`](https://redirect.github.com/oxc-project/oxc/commit/9798ef1) linter: Stack overflow in no-async-endpoint-handlers ([#​11317](https://redirect.github.com/oxc-project/oxc/issues/11317)) (camc314) - [`348ad97`](https://redirect.github.com/oxc-project/oxc/commit/348ad97) linter: Skip no-unused-vars on astro files ([#​11303](https://redirect.github.com/oxc-project/oxc/issues/11303)) (camc314) - [`183d7f0`](https://redirect.github.com/oxc-project/oxc/commit/183d7f0) linter: Make `jest/no-large-snapshots` error easier to comprehend ([#​11294](https://redirect.github.com/oxc-project/oxc/issues/11294)) (Ulrich Stark) - [`4e606a5`](https://redirect.github.com/oxc-project/oxc/commit/4e606a5) linter: Improve `jest/no-large-snapshots` ([#​11291](https://redirect.github.com/oxc-project/oxc/issues/11291)) (Ulrich Stark) - [`14f790f`](https://redirect.github.com/oxc-project/oxc/commit/14f790f) linter: Improve `jest/no-restricted-matchers` ([#​11292](https://redirect.github.com/oxc-project/oxc/issues/11292)) (Ulrich Stark) - [`a2c82be`](https://redirect.github.com/oxc-project/oxc/commit/a2c82be) linter/block-scoped-var: Better diagnostic messages ([#​11290](https://redirect.github.com/oxc-project/oxc/issues/11290)) (DonIsaac) - [`19772e5`](https://redirect.github.com/oxc-project/oxc/commit/19772e5) linter/no-unused-vars: Panic when variable is redeclared as function in same scope ([#​11280](https://redirect.github.com/oxc-project/oxc/issues/11280)) (Dunqing) - [`7af5bb1`](https://redirect.github.com/oxc-project/oxc/commit/7af5bb1) oxc_language_server: Include save option for text document sync capability ([#​11297](https://redirect.github.com/oxc-project/oxc/issues/11297)) (Nicholas Rayburn) ##### Performance - [`0ed6c1a`](https://redirect.github.com/oxc-project/oxc/commit/0ed6c1a) language_server: Use `Arc<RwLock>` instead of `Mutex` for workspace workers ([#​11328](https://redirect.github.com/oxc-project/oxc/issues/11328)) (Sysix) - [`a0ee946`](https://redirect.github.com/oxc-project/oxc/commit/a0ee946) linter: Reduce code size in `globals` ([#​11333](https://redirect.github.com/oxc-project/oxc/issues/11333)) (shulaoda) - [`c90c5e9`](https://redirect.github.com/oxc-project/oxc/commit/c90c5e9) linter/no-unused-vars: Simplify checking self call usage ([#​11281](https://redirect.github.com/oxc-project/oxc/issues/11281)) (Dunqing) ##### Documentation - [`eae51ca`](https://redirect.github.com/oxc-project/oxc/commit/eae51ca) linter: Clarify jsdoc/check-tag-names configuration ([#​11394](https://redirect.github.com/oxc-project/oxc/issues/11394)) (Rägnar O'ock) - [`cd354d4`](https://redirect.github.com/oxc-project/oxc/commit/cd354d4) oxlint: Remove incorrect doc comment ([#​11326](https://redirect.github.com/oxc-project/oxc/issues/11326)) (camc314) ##### Refactor - [`42738f0`](https://redirect.github.com/oxc-project/oxc/commit/42738f0) linter: Shorten code of match arms ([#​11389](https://redirect.github.com/oxc-project/oxc/issues/11389)) (Ulrich Stark) - [`8a34447`](https://redirect.github.com/oxc-project/oxc/commit/8a34447) linter: Improve `unicorn/text-encoding-identifier-case` ([#​11386](https://redirect.github.com/oxc-project/oxc/issues/11386)) (shulaoda) - [`eaa605e`](https://redirect.github.com/oxc-project/oxc/commit/eaa605e) linter: Avoid some `Arc::clone` in linter runtime ([#​11388](https://redirect.github.com/oxc-project/oxc/issues/11388)) (Boshen) - [`1cd8b9c`](https://redirect.github.com/oxc-project/oxc/commit/1cd8b9c) linter: Fixes in `react/forward-ref-uses-ref` are suggestions ([#​11376](https://redirect.github.com/oxc-project/oxc/issues/11376)) (Sysix) - [`50ef691`](https://redirect.github.com/oxc-project/oxc/commit/50ef691) linter: Add `diagnostics_with_multiple_fixes` to `LintContext` ([#​11357](https://redirect.github.com/oxc-project/oxc/issues/11357)) (Sysix) - [`606bb34`](https://redirect.github.com/oxc-project/oxc/commit/606bb34) linter: Accept `PossibleFixes` instead of `Fix` for `Messages` ([#​11295](https://redirect.github.com/oxc-project/oxc/issues/11295)) (Sysix) - [`042a3f3`](https://redirect.github.com/oxc-project/oxc/commit/042a3f3) linter: Use `PossibleFixes` instead of `Option<Fix>` ([#​11284](https://redirect.github.com/oxc-project/oxc/issues/11284)) (Sysix) - [`ffcfb46`](https://redirect.github.com/oxc-project/oxc/commit/ffcfb46) linter: Improve `unicorn/throw-new-error` ([#​11364](https://redirect.github.com/oxc-project/oxc/issues/11364)) (shulaoda) - [`8fb55c3`](https://redirect.github.com/oxc-project/oxc/commit/8fb55c3) linter: Cleanup docs and simplify code of `eslint/no-fallthrough` ([#​11331](https://redirect.github.com/oxc-project/oxc/issues/11331)) (Ulrich Stark) - [`e2f0f0a`](https://redirect.github.com/oxc-project/oxc/commit/e2f0f0a) linter: Improve docs and simplify code of `eslint/no-duplicate-imports` ([#​11320](https://redirect.github.com/oxc-project/oxc/issues/11320)) (Ulrich Stark) - [`b53b053`](https://redirect.github.com/oxc-project/oxc/commit/b53b053) linter: Simplify accessing span of NameSpan ([#​11305](https://redirect.github.com/oxc-project/oxc/issues/11305)) (Ulrich Stark) - [`4bc2650`](https://redirect.github.com/oxc-project/oxc/commit/4bc2650) linter: Improve `eslint/no-void` ([#​11285](https://redirect.github.com/oxc-project/oxc/issues/11285)) (shulaoda) ##### Styling - [`49b664c`](https://redirect.github.com/oxc-project/oxc/commit/49b664c) linter: Remove needless newline in `declare_oxc_lint` ([#​11400](https://redirect.github.com/oxc-project/oxc/issues/11400)) (camc314) ##### Testing - [`c4f64aa`](https://redirect.github.com/oxc-project/oxc/commit/c4f64aa) linter: Explicitly disable correctness for clarity ([#​11327](https://redirect.github.com/oxc-project/oxc/issues/11327)) (camc314) - [`a404b2c`](https://redirect.github.com/oxc-project/oxc/commit/a404b2c) linter: `eslint/no-duplicate-imports` shouldn't report the same span ([#​11324](https://redirect.github.com/oxc-project/oxc/issues/11324)) (Ulrich Stark) ### [`v0.16.12`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#01612---2025-05-25) [Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.11...oxlint_v0.16.12) ##### Features - [`6a7018e`](https://redirect.github.com/oxc-project/oxc/commit/6a7018e) linter: Generate stricter json schema for lint plugins ([#​11219](https://redirect.github.com/oxc-project/oxc/issues/11219)) (camc314) ##### Bug Fixes - [`e8470d9`](https://redirect.github.com/oxc-project/oxc/commit/e8470d9) linter: Delay merging of oxlintrc configs ([#​10835](https://redirect.github.com/oxc-project/oxc/issues/10835)) (camc314) </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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuNTAuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Simplified array element retrieval across multiple components and utilities by replacing `.filter(...)[0]` with `.find(...)` or `.findLast(...)`, improving code readability and efficiency. - Improved JSX structure in the audio player component by nesting elements directly rather than using a `children` prop. - Enhanced code organization in the modal container by repositioning functions and updating dependency arrays for better maintainability. - Added a comment to disable a specific lint rule in a React hook for clarity. - **Chores** - Updated the `oxlint` development dependency to allow for newer compatible versions. - **Tests** - Refactored test setup logic for more direct and clear retrieval of test data. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: LongYinan <lynweklm@gmail.com> |
||
|
|
6d012f093f |
fix(core): ai replace selection (#11875)
### TL;DR * Fix the issue of inaccurate content replacement in AI Replace Selection * Optimize unit Tests utils ### What Changed 1. Fixed the issue of inaccurate content replacement in AI Replace Selection: - Convert the AI Answer into a Snapshot, then transform it into a sequence of Blocks ready for insertion. - Invoke the `replaceSelectedTextWithBlocks` command to replace the current selection with blocks (given the complexity of block combinations, this command uses [ts-pattern](https://github.com/gvergnaud/ts-pattern) implementation to ensure compile-time prevention of pattern handling omissions). 2. Optimized unit test assertions for commands, now allowing direct document content comparison using `toEqualDoc`. ```ts const host = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel<anchor />lo</affine-paragraph> <affine-paragraph id="paragraph-2">Wor<focus />ld</affine-paragraph> </affine-note> </affine-page> `; // .... const expected = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel111</affine-paragraph> <affine-code id="code"></affine-code> <affine-paragraph id="paragraph-2">222ld</affine-paragraph> </affine-note> </affine-page> `; expect(host.doc).toEqualDoc(expected.doc); ``` 3. Added support for text cursors in unit test template syntax. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit > CLOSE BS-3278 - **New Features** - Introduced the ability to replace selected text in documents with blocks, supporting advanced merging and insertion scenarios for various block types. - **Bug Fixes** - Improved handling of text selection and cursor placement in document templates used for testing. - **Tests** - Added comprehensive tests for replacing selected text with blocks, including edge cases and complex selection scenarios. - Enhanced test utilities for document structure comparison and selection handling. - Updated end-to-end tests to verify correct replacement of selected text via AI-driven actions. - **Chores** - Added and updated dependencies to support new features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
388641bc89 |
refactor(editor): rename doc to store on block components (#12173)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Unified internal data access by replacing all references from `doc` to `store` across all components, blocks, widgets, and utilities. This affects how readonly state, block operations, and service retrieval are handled throughout the application. - **Tests** - Updated all test utilities and test cases to use `store` instead of `doc` for document-related operations. - **Chores** - Updated context providers and property names to reflect the change from `doc` to `store` for improved consistency and maintainability. No user-facing features or behaviors have changed. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f16bcdbe2b | fix(editor): edgeless selected block is missing in the return of getSelectedBlockCommand (#11813) | ||
|
|
5fcf34d848 | refactor(editor): adjust parameters of duplicate block command (#11812) | ||
|
|
205cd7a86d |
refactor(editor): rename block-std to std (#11250)
Closes: BS-2946 |
||
|
|
d9d5aa407a |
fix: split view focus (#11217)
# After: https://github.com/user-attachments/assets/990d500d-2da7-488e-ac32-dd7bd229f896 # Before: https://github.com/user-attachments/assets/6676766a-c76a-414b-a35e-53d2cda10c24 |
||
|
|
e086fd2a43 | refactor(editor): getFirstContentBlock -> getFirstBlock & getLastContentBlock -> getLastBlock (#10809) | ||
|
|
d3aae962bc |
test(editor): getFirstContentBlock & getLastContentBlock & isNothingSelected command (#10757)
### TL;DR
Added unit tests for block and selection commands, along with a new test helper system for creating test documents.
### What changed?
- Added unit tests for several commands:
- `getFirstContentBlockCommand`
- `getLastContentBlockCommand`
- `isNothingSelectedCommand`
- Created a new test helpers make it easier to create structured test documents with a html-like syntax:
```typescript
import { describe, expect, it } from 'vitest';
import { affine } from '../__tests__/utils/affine-template';
describe('My Test', () => {
it('should correctly handle document structure', () => {
const doc = affine`
<affine-page>
<affine-note>
<affine-paragraph>Test content</affine-paragraph>
</affine-note>
</affine-page>
`;
// Get blocks
const pages = doc.getBlocksByFlavour('affine:page');
const notes = doc.getBlocksByFlavour('affine:note');
const paragraphs = doc.getBlocksByFlavour('affine:paragraph');
expect(pages.length).toBe(1);
expect(notes.length).toBe(1);
expect(paragraphs.length).toBe(1);
// Perform more tests here...
});
});
```
|
||
|
|
04efca362e |
feat(editor): is nothing selected command (#10721)
### TL;DR Added a new command to check if nothing is currently selected in the editor. ### What changed? - Created new `isNothingSelectedCommand` to determine if there are no active selections |
||
|
|
aa15b106d9 |
feat(editor): content block getter command (#10720)
### TL;DR Added new commands to retrieve the first and last content blocks in a document. ### What changed? - Created `getFirstContentBlockCommand` to find the first content block in a document - Created `getLastContentBlockCommand` to find the last content block in a document - Added `getFirstNoteBlock` utility function to find the first note block in a document |
||
|
|
98d44d5be5 | refactor(editor): move focus block commands to blocksuite/shared (#10671) | ||
|
|
ec9bd1f383 |
feat(editor): add toolbar registry extension (#9572)
### What's Changed! #### Added Manage various types of toolbars uniformly in one place. * `affine-toolbar-widget` * `ToolbarRegistryExtension` The toolbar currently supports and handles several scenarios: 1. Select blocks: `BlockSelection` 2. Select text: `TextSelection` or `NativeSelection` 3. Hover a link: `affine-link` and `affine-reference` #### Removed Remove redundant toolbar implementations. * `attachment` toolbar * `bookmark` toolbar * `embed` toolbar * `formatting` toolbar * `affine-link` toolbar * `affine-reference` toolbar ### How to migrate? Here is an example that can help us migrate some unrefactored toolbars: Check out the more detailed types of [`ToolbarModuleConfig`](https://github.com/toeverything/AFFiNE/blob/c178debf2d49c40b753e1bcaa6f07270bdde7401/blocksuite/affine/shared/src/services/toolbar-service/config.ts). 1. Add toolbar configuration file to a block type, such as bookmark block: [`config.ts`](https://github.com/toeverything/AFFiNE/blob/c178debf2d49c40b753e1bcaa6f07270bdde7401/blocksuite/affine/block-bookmark/src/configs/toolbar.ts) ```ts export const builtinToolbarConfig = { actions: [ { id: 'a.preview', content(ctx) { const model = ctx.getCurrentModelBy(BlockSelection, BookmarkBlockModel); if (!model) return null; const { url } = model; return html`<affine-link-preview .url=${url}></affine-link-preview>`; }, }, { id: 'b.conversions', actions: [ { id: 'inline', label: 'Inline view', run(ctx) { }, }, { id: 'card', label: 'Card view', disabled: true, }, { id: 'embed', label: 'Embed view', disabled(ctx) { }, run(ctx) { }, }, ], content(ctx) { }, } satisfies ToolbarActionGroup<ToolbarAction>, { id: 'c.style', actions: [ { id: 'horizontal', label: 'Large horizontal style', }, { id: 'list', label: 'Small horizontal style', }, ], content(ctx) { }, } satisfies ToolbarActionGroup<ToolbarAction>, { id: 'd.caption', tooltip: 'Caption', icon: CaptionIcon(), run(ctx) { }, }, { placement: ActionPlacement.More, id: 'a.clipboard', actions: [ { id: 'copy', label: 'Copy', icon: CopyIcon(), run(ctx) { }, }, { id: 'duplicate', label: 'Duplicate', icon: DuplicateIcon(), run(ctx) { }, }, ], }, { placement: ActionPlacement.More, id: 'b.refresh', label: 'Reload', icon: ResetIcon(), run(ctx) { }, }, { placement: ActionPlacement.More, id: 'c.delete', label: 'Delete', icon: DeleteIcon(), variant: 'destructive', run(ctx) { }, }, ], } as const satisfies ToolbarModuleConfig; ``` 2. Add configuration extension to a block spec: [bookmark's spec](https://github.com/toeverything/AFFiNE/blob/c178debf2d49c40b753e1bcaa6f07270bdde7401/blocksuite/affine/block-bookmark/src/bookmark-spec.ts) ```ts const flavour = BookmarkBlockSchema.model.flavour; export const BookmarkBlockSpec: ExtensionType[] = [ ..., ToolbarModuleExtension({ id: BlockFlavourIdentifier(flavour), config: builtinToolbarConfig, }), ].flat(); ``` 3. If the bock type already has a toolbar configuration built in, we can customize it in the following ways: Check out the [editor's config](https://github.com/toeverything/AFFiNE/blob/c178debf2d49c40b753e1bcaa6f07270bdde7401/packages/frontend/core/src/blocksuite/extensions/editor-config/index.ts#L51C4-L54C8) file. ```ts // Defines a toolbar configuration for the bookmark block type const customBookmarkToolbarConfig = { actions: [ ... ] } as const satisfies ToolbarModuleConfig; // Adds it into the editor's config ToolbarModuleExtension({ id: BlockFlavourIdentifier('custom:affine:bookmark'), config: customBookmarkToolbarConfig, }), ``` 4. If we want to extend the global: ```ts // Defines a toolbar configuration const customWildcardToolbarConfig = { actions: [ ... ] } as const satisfies ToolbarModuleConfig; // Adds it into the editor's config ToolbarModuleExtension({ id: BlockFlavourIdentifier('custom:affine:*'), config: customWildcardToolbarConfig, }), ``` Currently, only most toolbars in page mode have been refactored. Next is edgeless mode. |
||
|
|
39eb8625d6 | refactor(editor): remove block models global type (#10086) | ||
|
|
17bf75e843 |
refactor(editor): remove dependency of command global types (#9903)
Closes: [BS-2216](https://linear.app/affine-design/issue/BS-2216/remove-global-types-in-command) |
||
|
|
d21ef47ae8 | chore(editor): rename std.doc to std.store (#9596) | ||
|
|
fc863e484c |
refactor(editor): remove selection global types (#9532)
Closes: [BS-2217](https://linear.app/affine-design/issue/BS-2217/remove-global-types-in-selection) |
||
|
|
2074bda8ff | fix(editor): at menu position in split view (#9500) | ||
|
|
30200ff86d | chore: merge blocksuite source code (#9213) |