doouding
21bf009553
refactor: migrate elements clone from default-tool to extension ( #11703 )
...
### Changed
- Add `onRequestElementsClone` action to allow extension to define how to clone gfx elements
2025-04-22 08:18:23 +00:00
doouding
52953ce8e3
refactor: redesign element transform manager interface ( #11679 )
...
### Change
- Rename `ElementTransformManager` -> `InteractivityManager`
- Now you can `event.on` and `action.onXXX` method to extend interactivity behaviour. The old approach of overriding methods directly is deprecated.
2025-04-22 08:18:23 +00:00
L-Sun
e457e2f8a8
fix(editor): add reference after duplicate edgeless embed doc as note ( #11877 )
...
- fix(editor): add reference in the copied note of embed doc
- refactor(editor): add generics parameter `TextAttributes` into `Text`
2025-04-22 08:03:52 +00:00
Saul-Mirone
6d6504e2af
feat(editor): replace spec provider with extension manager ( #11861 )
...
Closes: BS-3273
2025-04-22 07:40:41 +00:00
pengx17
8fdb00e0ab
fix(core): do not need to inline fonts ( #11880 )
...
The fonts are always loaded via url thus it is not needed to have fonts inlined. Inlining fonts will increase the size of bundled files.
2025-04-22 07:27:11 +00:00
yoyoyohamapi
19c06a2821
fix(core): falky ai save as block test ( #11878 )
2025-04-22 06:58:26 +00:00
Vladimir Romashchenko
9373006b9f
ci: Auto-update AppStream on release ( #11820 )
...
Co-authored-by: liuyi <forehalo@gmail.com >
2025-04-22 14:57:46 +08:00
EYHN
e4d6833296
refactor(core): rename explorer to navigation-panel ( #11876 )
2025-04-22 12:47:35 +08:00
forehalo
f918573ba8
fix(server): config defaults ( #11879 )
2025-04-22 04:26:28 +00:00
LongYinan
a1e338efc1
ci: group all others deps update
2025-04-22 10:28:11 +08:00
renovate
bc8774580e
chore: bump up oxlint version to v0.16.7 ( #11870 )
...
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.6` -> `0.16.7`](https://renovatebot.com/diffs/npm/oxlint/0.16.6/0.16.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/ ) |
---
### Release Notes
<details>
<summary>oxc-project/oxc (oxlint)</summary>
### [`v0.16.7`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.16.7 ): oxlint v0.16.7
[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.6...oxlint_v0.16.7 )
#### \[0.16.7] - 2025-04-21
- [`7212803`](https://redirect.github.com/oxc-project/oxc/commit/7212803 ) ast: \[**BREAKING**] Change `TSInterfaceDeclaration::extends` from `Option<Vec>` to `Vec` ([#​10472](https://redirect.github.com/oxc-project/oxc/issues/10472 )) (overlookmotel)
- [`7284135`](https://redirect.github.com/oxc-project/oxc/commit/7284135 ) ast: \[**BREAKING**] Remove `trailing_commas` from `ArrayExpression` and `ObjectExpression` ([#​10431](https://redirect.github.com/oxc-project/oxc/issues/10431 )) (Boshen)
##### Features
- [`bb8a078`](https://redirect.github.com/oxc-project/oxc/commit/bb8a078 ) language_server: Use linter runtime ([#​10268](https://redirect.github.com/oxc-project/oxc/issues/10268 )) (Sysix)
- [`c94e6b8`](https://redirect.github.com/oxc-project/oxc/commit/c94e6b8 ) linter: Allow `eqeqeq` to always be dangerously fixable ([#​10499](https://redirect.github.com/oxc-project/oxc/issues/10499 )) (camchenry)
##### Bug Fixes
- [`df488d4`](https://redirect.github.com/oxc-project/oxc/commit/df488d4 ) language_server: Workspace edits as one batch when `source.fixAll.oxc` is the context ([#​10428](https://redirect.github.com/oxc-project/oxc/issues/10428 )) (Sysix)
- [`2fc083c`](https://redirect.github.com/oxc-project/oxc/commit/2fc083c ) linter: Incorrect fix for prefer start ends with ([#​10525](https://redirect.github.com/oxc-project/oxc/issues/10525 )) (camc314)
- [`020d8f8`](https://redirect.github.com/oxc-project/oxc/commit/020d8f8 ) linter: Fix auto-fix issue for eslint/no-else-return ([#​10494](https://redirect.github.com/oxc-project/oxc/issues/10494 )) (yefan)
- [`f0c1eff`](https://redirect.github.com/oxc-project/oxc/commit/f0c1eff ) linter: False positve in no-unused-vars ([#​10470](https://redirect.github.com/oxc-project/oxc/issues/10470 )) (camc314)
- [`d690060`](https://redirect.github.com/oxc-project/oxc/commit/d690060 ) linter: Fix the auto-fix issue of the eslint/no-plusplus rule ([#​10469](https://redirect.github.com/oxc-project/oxc/issues/10469 )) (yefan)
- [`72d5074`](https://redirect.github.com/oxc-project/oxc/commit/72d5074 ) linter: False positive in `eslint/no-redeclare` ([#​10402](https://redirect.github.com/oxc-project/oxc/issues/10402 )) (shulaoda)
- [`c1f5623`](https://redirect.github.com/oxc-project/oxc/commit/c1f5623 ) linter: Add check for plugin_name when applying LintFilterKind::Rule ([#​10339](https://redirect.github.com/oxc-project/oxc/issues/10339 )) (Ulrich Stark)
- [`4e1f536`](https://redirect.github.com/oxc-project/oxc/commit/4e1f536 ) linter: Config path resolution when path contains '..' syntax ([#​10367](https://redirect.github.com/oxc-project/oxc/issues/10367 )) (Florian Bopp)
- [`58ab8ff`](https://redirect.github.com/oxc-project/oxc/commit/58ab8ff ) parser: Adjust class start position when decorators are involved ([#​10438](https://redirect.github.com/oxc-project/oxc/issues/10438 )) (Boshen)
##### Performance
- [`21f3175`](https://redirect.github.com/oxc-project/oxc/commit/21f3175 ) langage_server: Prebuild `IsolatedLintHandler` ([#​10406](https://redirect.github.com/oxc-project/oxc/issues/10406 )) (Sysix)
- [`62178c2`](https://redirect.github.com/oxc-project/oxc/commit/62178c2 ) linter: Replace `phf_set` with `array` for `DOM_PROPERTIES_NAMES` ([#​10501](https://redirect.github.com/oxc-project/oxc/issues/10501 )) (shulaoda)
- [`9280707`](https://redirect.github.com/oxc-project/oxc/commit/9280707 ) linter: Replace `phf_set` with `array` for `DOM_ATTRIBUTES_TO_CAMEL` ([#​10500](https://redirect.github.com/oxc-project/oxc/issues/10500 )) (shulaoda)
- [`0a4f9d9`](https://redirect.github.com/oxc-project/oxc/commit/0a4f9d9 ) linter: Replace `phf_set` with `array` for `ATTRIBUTE_TAGS_MAP` ([#​10498](https://redirect.github.com/oxc-project/oxc/issues/10498 )) (shulaoda)
- [`09f7358`](https://redirect.github.com/oxc-project/oxc/commit/09f7358 ) linter: Replace `phf_set` with `array` in `jsdoc/check-tag-names` ([#​10485](https://redirect.github.com/oxc-project/oxc/issues/10485 )) (shulaoda)
- [`da87390`](https://redirect.github.com/oxc-project/oxc/commit/da87390 ) linter: Replace `phf_set` with `array` in `jsx-a11y/autocomplete-valid` ([#​10484](https://redirect.github.com/oxc-project/oxc/issues/10484 )) (shulaoda)
- [`d4033bc`](https://redirect.github.com/oxc-project/oxc/commit/d4033bc ) linter: Replace `phf_set` with `array` in `globals.rs` ([#​10483](https://redirect.github.com/oxc-project/oxc/issues/10483 )) (shulaoda)
- [`7e08618`](https://redirect.github.com/oxc-project/oxc/commit/7e08618 ) linter: Replace `phf_set` with `array` in `unicorn/prefer-add-event-listener` ([#​10451](https://redirect.github.com/oxc-project/oxc/issues/10451 )) (dalaoshu)
- [`e2af873`](https://redirect.github.com/oxc-project/oxc/commit/e2af873 ) linter: Replace `phf_set` with `array` in `unicorn/no-useless-undefined` ([#​10450](https://redirect.github.com/oxc-project/oxc/issues/10450 )) (dalaoshu)
- [`af635fb`](https://redirect.github.com/oxc-project/oxc/commit/af635fb ) linter: Replace `phf_set` with `array` in `nextjs/no-unwanted-polyfillio` ([#​10452](https://redirect.github.com/oxc-project/oxc/issues/10452 )) (shulaoda)
- [`c0f0369`](https://redirect.github.com/oxc-project/oxc/commit/c0f0369 ) linter: Replace `phf_set` with `array` in `utils/vitest` ([#​10427](https://redirect.github.com/oxc-project/oxc/issues/10427 )) (shulaoda)
- [`17c7bda`](https://redirect.github.com/oxc-project/oxc/commit/17c7bda ) linter: Replace `phf_set` with `array` in `unicorn/prefer-type-error` ([#​10426](https://redirect.github.com/oxc-project/oxc/issues/10426 )) (shulaoda)
- [`5cde29b`](https://redirect.github.com/oxc-project/oxc/commit/5cde29b ) linter: Replace `phf_set` with `array` in `react/void-dom-elements-no-children` ([#​10425](https://redirect.github.com/oxc-project/oxc/issues/10425 )) (shulaoda)
- [`7ef1e0d`](https://redirect.github.com/oxc-project/oxc/commit/7ef1e0d ) linter: Replace `phf_set` with `array` in `unicorn/new-for-builtins` ([#​10424](https://redirect.github.com/oxc-project/oxc/issues/10424 )) (shulaoda)
- [`50fd839`](https://redirect.github.com/oxc-project/oxc/commit/50fd839 ) linter: Replace `phf_set` with `array` in `utils/mod.rs` ([#​10405](https://redirect.github.com/oxc-project/oxc/issues/10405 )) (shulaoda)
- [`a7ac137`](https://redirect.github.com/oxc-project/oxc/commit/a7ac137 ) linter: Replace `phf_set` with `array` in `unicorn/prefer-set-has` ([#​10398](https://redirect.github.com/oxc-project/oxc/issues/10398 )) (shulaoda)
##### Documentation
- [`5d1dfb5`](https://redirect.github.com/oxc-project/oxc/commit/5d1dfb5 ) linter: Fix wording in the eqeqeq docs ([#​10401](https://redirect.github.com/oxc-project/oxc/issues/10401 )) (Connor Pearson)
##### Refactor
- [`8731f14`](https://redirect.github.com/oxc-project/oxc/commit/8731f14 ) editor: Output error when custom server path is not accessible ([#​10518](https://redirect.github.com/oxc-project/oxc/issues/10518 )) (Sysix)
- [`2935103`](https://redirect.github.com/oxc-project/oxc/commit/2935103 ) language_server: Report info as warning instead of error when falling back to default config ([#​10517](https://redirect.github.com/oxc-project/oxc/issues/10517 )) (Sysix)
- [`5ab4d40`](https://redirect.github.com/oxc-project/oxc/commit/5ab4d40 ) linter: Simplify error handling ([#​10404](https://redirect.github.com/oxc-project/oxc/issues/10404 )) (camchenry)
##### Testing
- [`83baf8b`](https://redirect.github.com/oxc-project/oxc/commit/83baf8b ) editor: Correct test diagnostic for import plugin ([#​10453](https://redirect.github.com/oxc-project/oxc/issues/10453 )) (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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-22 02:04:00 +00:00
LongYinan
b8bea62a10
ci: group all others deps update
2025-04-22 10:02:32 +08:00
renovate
3967f25cee
chore: bump up com.android.tools.build:gradle version to v8.9.2 ( #11872 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.tools.build:gradle](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.9.1` -> `8.9.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/ ) |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-22 01:11:30 +00:00
renovate
742b3eebf8
chore: bump up android.gradle.plugin to v8.9.2 ( #11871 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.library](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.9.1` -> `8.9.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/ ) |
| [com.android.application](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.9.1` -> `8.9.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/ ) |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.9.1` -> `8.9.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/ ) |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-22 00:42:11 +00:00
fundon
824e66df58
fix(core): improve EdgelessCopilotPanel position ( #11814 )
...
Closes: [AF-2101](https://linear.app/affine-design/issue/AF-2101/ai-panel-的输入框menu定位错误,menu-应该出现在输入框下方 )
[Screen Recording 2025-04-18 at 20.51.01.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/67410349-b056-40a7-b1e6-6de5a5137789.mov " />](https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/67410349-b056-40a7-b1e6-6de5a5137789.mov )
2025-04-21 14:08:24 +00:00
fundon
fd67bdf88b
fix(editor): should update color of edgeless text when switching theme ( #11853 )
...
Closes: [BS-3258](https://linear.app/affine-design/issue/BS-3258/edgeless-text-颜色不符合预期 )
2025-04-21 13:54:12 +00:00
renovate
8966e8440b
chore: bump up @blocksuite/icons version to v2.2.13 ( #11838 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://redirect.github.com/toeverything/icons ) | [`2.2.12` -> `2.2.13`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.2.12/2.2.13 ) | [](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>toeverything/icons (@​blocksuite/icons)</summary>
### [`v2.2.13`](00a749af2e...1775fb2908 )
[Compare Source](00a749af2e...1775fb2908 )
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-21 13:34:21 +00:00
Saul-Mirone
846410cdb6
feat(editor): note extension ( #11856 )
...
Closes: BS-3200
Closes: BS-3201
2025-04-21 13:18:35 +00:00
Brooooooklyn
864dd0e74d
test: fix flaky create template doc e2e ( #11863 )
2025-04-21 13:04:49 +00:00
Brooooooklyn
a31d97dbb1
ci: set npmRegistryServer to npmjs.org ( #11857 )
2025-04-21 11:30:55 +00:00
yoyoyohamapi
e9dab04990
fix(core): chat user message margin & max-width ( #11854 )
...
### TL;DR
Fix chat panel user message css: `margin-left` & `max-width`
2025-04-21 11:15:18 +00:00
yoyoyohamapi
fe03292346
fix(core): ai images are not right-aligned ( #11850 )
...
### TL;DR
Fix ai images are not right-aligned.
> CLOSE BS-3131
2025-04-21 11:15:18 +00:00
L-Sun
a2b40fea20
feat(editor): insertion and duplication actions for embed synced doc ( #11852 )
...
Close [BS-3068](https://linear.app/affine-design/issue/BS-3068/在edgeless-的embed-doc-block上,增加-insert-into-page的选项,类似frame )
Close [BS-3069](https://linear.app/affine-design/issue/BS-3069/edgeless下的-embed,覆盖现在的edit行为-,暂定叫做duplicate-into-a-note,复制一个-note )
2025-04-21 11:01:04 +00:00
Brooooooklyn
e46ae2f721
feat(native): upgrade dispatch2 to 0.3 ( #11855 )
2025-04-21 10:43:51 +00:00
Saul-Mirone
7c79b1f024
feat(editor): latex and list extensions ( #11851 )
...
Closes: BS-3198
Closes: BS-3199
2025-04-21 10:29:31 +00:00
Saul-Mirone
df6e17b82f
feat(editor): frame and image extensions ( #11849 )
...
Closes: BS-3196
Closes: BS-3197
2025-04-21 10:29:30 +00:00
Saul-Mirone
12bf866dc5
fix(editor): remove replaceRichTextWithSvgElement ( #11843 )
2025-04-21 10:04:05 +00:00
Saul-Mirone
92ac8e3cad
feat(editor): embed extension ( #11848 )
...
Closes: BS-3195
2025-04-21 09:22:12 +00:00
Saul-Mirone
15a5264352
feat(editor): divider and edgeless text extensions ( #11846 )
...
Closes: BS-3193
Closes: BS-3194
2025-04-21 09:22:12 +00:00
Saul-Mirone
652d42ba1e
feat(editor): scaffolding store and view manager in affine ( #11840 )
...
Closes: BS-3254
2025-04-21 09:22:11 +00:00
Saul-Mirone
5244ff9b98
feat(editor): data view and database extension ( #11837 )
...
Closes: BS-3191
Closes: BS-3192
2025-04-21 09:22:11 +00:00
fundon
e60d5483ad
refactor(editor): add attachments ( #11842 )
...
Closes: [BS-3256](https://linear.app/affine-design/issue/BS-3256/重构-add-attachments-方法 )
2025-04-21 09:07:02 +00:00
L-Sun
61ce1123ae
refactor(editor): split synced-doc-block tests to serveral files ( #11845 )
...
This PR splits `synced-doc-block.spec.ts` into multiple files for better organization.
2025-04-21 08:54:04 +00:00
pengx17
0442c0e2b6
feat(electron): adapts to default audio input/output device changes ( #11815 )
...
Enable automatic adoption of new default audio devices upon detection.
1. add `AggregateDeviceManager` to watch for audio device changes, creating & maintaining `AggregateDevice` instances and cleaning up
2. use a workaround of `FastFixedIn` to deal with resampling delay issue (this is low quality and have some artifacts in the resampled audio)
fix AF-2536
2025-04-21 08:35:32 +00:00
yoyoyohamapi
f65c8f8fa6
fix(core): disable space ai guidance for non-paragraph block ( #11847 )
...
### TL;DR
Disable space ai guidance for non-paragraph block
> CLOSE AI-67
2025-04-21 08:04:51 +00:00
pengx17
1efcd480af
fix(core): sidebar audio player seek position issue ( #11844 )
...
fix AF-2541
2025-04-21 07:52:01 +00:00
pengx17
2bd9cfe20a
fix(electron): use askForMeetingPermission for asking microphone permission ( #11792 )
2025-04-21 07:37:43 +00:00
yoyoyohamapi
f87a6e17bd
fix(core): action items in the ai response are not optimized for dark mode ( #11839 )
...
### TL;DR
* Fix action items in the AI response are not optimized for dark mode.
* Fix answer content in the AI response are not optimized for edgeless theme.

[uploading 截屏2025-04-21 14.30.00.png...]
> CLOSE BS-3249
2025-04-21 07:24:18 +00:00
fengmk2
a35a4ccf48
test(server): don't mock event bus on e2e ( #11841 )
2025-04-21 06:51:14 +00:00
doufa
b036ff5a45
fix(web): export png split text error with comment out rich text replacement in export process ( #11834 )
...
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-04-21 14:50:03 +08:00
darkskygit
f2adb9f72c
feat(server): workspace file embedding & ignored docs model impl ( #11804 )
...
fix AI-30
fix AI-31
2025-04-21 05:34:10 +00:00
Saul-Mirone
93b7c288cb
feat(editor): callout and code extension ( #11827 )
...
Closes: BS-3243
Closes: BS-3190
2025-04-21 04:27:19 +00:00
Saul-Mirone
a6d0894ce1
feat(editor): bookmark and attachment extension ( #11824 )
...
Closes: BS-3188
Closes: BS-3189
2025-04-21 04:27:18 +00:00
Saul-Mirone
70ddae15ef
feat(editor): affine extension provider and manager ( #11822 )
...
Closes: BS-3186
# @blocksuite/affine-ext-loader
Blocksuite extension loader system for AFFiNE, providing a structured way to manage and load extensions in different contexts.
## Usage
### Basic Extension Provider
```typescript
import { BaseExtensionProvider } from '@blocksuite/affine-ext-loader';
import { z } from 'zod';
// Create a custom provider with options
class MyProvider extends BaseExtensionProvider<'my-scope', { enabled: boolean }> {
name = 'MyProvider';
schema = z.object({
enabled: z.boolean(),
});
setup(context: Context<'my-scope'>, options?: { enabled: boolean }) {
super.setup(context, options);
// Custom setup logic
}
}
```
### Store Extensions
```typescript
import { StoreExtensionProvider, StoreExtensionManager } from '@blocksuite/affine-ext-loader';
import { z } from 'zod';
// Create a store provider with custom options
class MyStoreProvider extends StoreExtensionProvider<{ cacheSize: number }> {
override name = 'MyStoreProvider';
override schema = z.object({
cacheSize: z.number().min(0),
});
override setup(context: StoreExtensionContext, options?: { cacheSize: number }) {
super.setup(context, options);
context.register([Ext1, Ext2, Ext3]);
}
}
// Create and use the store extension manager
const manager = new StoreExtensionManager([MyStoreProvider]);
manager.configure(MyStoreProvider, { cacheSize: 100 });
const extensions = manager.get('store');
```
### View Extensions
```typescript
import { ViewExtensionProvider, ViewExtensionManager } from '@blocksuite/affine-ext-loader';
import { z } from 'zod';
// Create a view provider with custom options
class MyViewProvider extends ViewExtensionProvider<{ theme: string }> {
override name = 'MyViewProvider';
override schema = z.object({
theme: z.enum(['light', 'dark']),
});
override setup(context: ViewExtensionContext, options?: { theme: string }) {
super.setup(context, options);
context.register([CommonExt]);
if (context.scope === 'page') {
context.register([PageExt]);
} else if (context.scope === 'edgeless') {
context.register([EdgelessExt]);
}
if (options?.theme === 'dark') {
context.register([DarkModeExt]);
}
}
// Override effect to run one-time initialization logic
override effect() {
// This will only run once per provider class
console.log('Initializing MyViewProvider');
// Register lit elements
this.registerLitElements();
}
}
// Create and use the view extension manager
const manager = new ViewExtensionManager([MyViewProvider]);
manager.configure(MyViewProvider, { theme: 'dark' });
// Get extensions for different view scopes
const pageExtensions = manager.get('page');
const edgelessExtensions = manager.get('edgeless');
```
### One-time Initialization with Effect
View extensions support one-time initialization through the `effect` method. This method is called automatically during setup, but only once per provider class. It's useful for:
- Initializing global state
- Registering lit elements
- Setting up shared resources
```typescript
class MyViewProvider extends ViewExtensionProvider {
override effect() {
// This will only run once, even if multiple instances are created
initializeGlobalState();
registerLitElements();
setupGlobalEventListeners();
}
}
```
### Available View Scopes
The view extension system supports the following scopes:
- `page` - Standard page view
- `edgeless` - Edgeless (whiteboard) view
- `preview-page` - Page preview view
- `preview-edgeless` - Edgeless preview view
- `mobile-page` - Mobile page view
- `mobile-edgeless` - Mobile edgeless view
### Extension Configuration
Extensions can be configured using the `configure` method:
```typescript
// Set configuration directly
manager.configure(MyProvider, { enabled: true });
// Update configuration using a function
manager.configure(MyProvider, prev => {
if (!prev) return prev;
return {
...prev,
enabled: !prev.enabled,
};
});
// Remove configuration
manager.configure(MyProvider, undefined);
```
### Dependency Injection
Both store and view extension managers support dependency injection:
```typescript
// Access the manager through the di container
const viewManager = std.get(ViewExtensionManagerIdentifier);
const pagePreviewExtension = viewManager.get('preview-page');
```
2025-04-21 04:27:18 +00:00
pengx17
535b5ff7c2
fix(core): flaky quick search test ( #11833 )
2025-04-21 04:14:29 +00:00
doodlewind
1146f4d5a9
fix(editor): prototype polluting in gfx util ( #11831 )
...
This fixes the security edge case where the font key happens to be `__proto__` or `constructor`
2025-04-21 04:00:59 +00:00
L-Sun
6d7cd6dd99
fix(editor): banner of blookmark not shown in edgeless ( #11796 )
...
Close [BS-2651](https://app.graphite.dev/github/pr/toeverything/AFFiNE/11797/chore(editor)-add-feature-flag-to-embed-doc-with-alias )
### What Changes:
- Fixed banner of edgeless embed bookmark is not shown
- Add fallback bookmark creation with embed creation modal when there is not a `QuickSearchProvider` in blocksuite playground
- Add tests for embed blookmark and embed github block in edgeless
2025-04-21 03:33:18 +00:00
Saul-Mirone
c74b5dc214
fix(editor): convert note to linked doc from edgeless ( #11828 )
...
Closes: BS-3244
2025-04-21 03:18:14 +00:00
renovate
e0a1d87cee
chore: bump up hilt to v2.56.2 ( #11829 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://redirect.github.com/google/dagger ) | `2.56.1` -> `2.56.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/ ) |
| [com.google.dagger:hilt-android-compiler](https://redirect.github.com/google/dagger ) | `2.56.1` -> `2.56.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/ ) |
| [com.google.dagger:hilt-android-testing](https://redirect.github.com/google/dagger ) | `2.56.1` -> `2.56.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/ ) |
| [com.google.dagger:hilt-android](https://redirect.github.com/google/dagger ) | `2.56.1` -> `2.56.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/ ) |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-21 03:05:30 +00:00
Brooooooklyn
95dbda24fc
feat(y-octo): import y-octo monorepo ( #11750 )
2025-04-21 02:51:15 +00:00