Saul-Mirone
ee65d66d67
refactor(editor): remove code block service ( #11010 )
2025-03-19 13:38:10 +00:00
Saul-Mirone
1c6a876e6a
refactor(editor): improve config extension ( #11006 )
2025-03-19 13:38:10 +00:00
Saul-Mirone
c1e16aeaa7
refactor(editor): remove paragraph service ( #11003 )
2025-03-19 13:38:09 +00:00
fundon
03ffc688c3
refactor(editor): edgeless brush toolbar config extension ( #10796 )
2025-03-19 12:34:19 +00:00
fundon
c44a339bd9
refactor(editor): edgeless group toolbar config extension ( #10787 )
2025-03-19 12:34:19 +00:00
fundon
f87cc0f599
refactor(editor): edgeless frame toolbar config extension ( #10769 )
2025-03-19 12:34:18 +00:00
fundon
e320552594
refactor(editor): edgeless note toolbar config extension ( #10719 )
2025-03-19 12:34:18 +00:00
fundon
b5406fa57a
refactor(editor): edgeless image toolbar config extension ( #10718 )
2025-03-19 12:34:18 +00:00
fundon
e686a6aecc
refactor(editor): edgeless internal embed card toolbar config extension ( #10717 )
2025-03-19 12:34:17 +00:00
L-Sun
9211fbf68c
refactor(editor): move surface-ref toolbar to its block folder ( #10938 )
2025-03-19 10:54:22 +00:00
fundon
0442430971
refactor(editor): edgeless html embed card toolbar config extension ( #10716 )
2025-03-19 05:03:00 +00:00
fundon
7f4b56e05c
refactor(editor): edgeless external embed card toolbar config extension ( #10712 )
2025-03-19 04:05:36 +00:00
L-Sun
68bc2db560
fix(editor): descendant elements are missing in edgelessToCanvas ( #10933 )
...
### Before

### After

2025-03-19 03:35:06 +00:00
pengx17
a118cbd036
fix(editor): chat panel text render link preview base url ( #10791 )
...
fix AF-2322
2025-03-19 03:19:09 +00:00
donteatfriedrice
3a2d386275
feat(editor): support add embed iframe block in mobile ( #10955 )
...
To close [BS-2664](https://linear.app/affine-design/issue/BS-2664/iframe-embed-block-移动端支持 )
2025-03-19 02:58:51 +00:00
fundon
d8567e669a
refactor(editor): edgeless bookmark toolbar config extension ( #10711 )
2025-03-19 02:24:26 +00:00
fundon
251d1d8782
refactor(editor): edgeless attacment toolbar config extension ( #10710 )
2025-03-19 00:52:22 +00:00
fundon
3cce147c60
refactor(editor): improve query methods in toolbar context ( #10714 )
2025-03-19 00:52:22 +00:00
doodlewind
02d707feab
fix(editor): adapt font size in turbo renderer ( #10858 )
2025-03-18 19:01:48 +00:00
fundon
cb37d25d7b
refactor(editor): edgeless element toolbar with new pattern ( #10511 )
2025-03-18 15:36:25 +00:00
zzj3720
3939cc1c52
feat(editor): support file column and member column for database block ( #10932 )
...
close: BS-2630, BS-2631, BS-2629, BS-2632, BS-2635
2025-03-18 14:51:45 +00:00
Saul-Mirone
321e3449ec
fix(editor): block can be null in widget ( #10959 )
...
Closes: [BS-2826](https://linear.app/affine-design/issue/BS-2826/typeerror-thisblock-is-null )
2025-03-18 10:58:19 +00:00
Saul-Mirone
ef00a158fc
docs(editor): improve documentation for store class ( #10949 )
2025-03-18 07:57:58 +00:00
L-Sun
83af78d9ee
chore(editor): update icon color of link doc card ( #10943 )
...
Close [BS-2679](https://linear.app/affine-design/issue/BS-2679/card-view-icon-color-incorrect )
2025-03-18 05:00:26 +00:00
Saul-Mirone
9f3cf271e3
feat(editor): support user provided role and role schema ( #10939 )
...
Let me analyze the key changes in this diff:
1. **Role System Changes**:
- Changed from a fixed enum of roles (`root`, `hub`, `content`) to a more flexible string-based system
- Removed strict role hierarchy validation rules (hub/content/root relationships)
- Added support for role-based matching using `@` prefix (e.g., `@root`, `@content`)
2. **Schema Validation Updates**:
- Added new `_matchFlavourOrRole` method to handle both flavour and role-based matching
- Updated `_validateParent` to consider both roles and flavours when validating parent-child relationships
- Simplified `_validateRole` by removing specific role hierarchy constraints
3. **Block Schema Changes**:
- Updated parent/children references in various block schemas to use the new `@` prefix notation
- Changed parent definitions from `['affine:page']` to `['@root']` in several blocks
- Updated children definitions to use role-based references (e.g., `['@content']`)
4. **Test Updates**:
- Added new test cases for role-based schema validation
- Introduced new test block schemas (`TestRoleBlockSchema`, `TestParagraphBlockSchema`) to verify role-based functionality
This appears to be a significant architectural change that makes the block schema system more flexible by:
1. Moving away from hardcoded role hierarchies
2. Introducing a more dynamic role-based relationship system
3. Supporting both flavour-based and role-based parent-child relationships
4. Using the `@` prefix convention to distinguish role references from flavour references
The changes make the system more extensible while maintaining backward compatibility with existing flavour-based relationships.
2025-03-18 01:58:59 +00:00
Saul-Mirone
3de7d85eea
feat(editor): improve api for store, and add docs ( #10941 )
2025-03-17 16:30:59 +00:00
L-Sun
3dbeebd6ba
fix(editor): background of surface-ref disappeared when it was re-rendered ( #10931 )
...
This PR fixed the background of surface-ref dis
2025-03-17 14:00:17 +00:00
L-Sun
cc8ec72f2c
feat(editor): insert a mindmap slash menu action ( #10930 )
...
Close [BS-2516](https://linear.app/affine-design/issue/BS-2516/添加mind-map入口 )
2025-03-17 13:19:56 +00:00
L-Sun
d80f1e8067
feat(editor): insert a blank frame slash menu action ( #10899 )
...
Close [BS-2517](https://linear.app/affine-design/issue/BS-2517/%E6%B7%BB%E5%8A%A0frame%E5%85%A5%E5%8F%A3 )
### What changes:
- add a insert blank frame action to slash menu
- move `EdgelessFrameManager` and `FrameOverlay` extensions to `FrameBlockSpec`
- make `FrameBlockSpec` as a part of `CommonBlockSpecs` such that we can use `EdgelessFrameManager` to create a frame more easily
https://github.com/user-attachments/assets/ddff5866-8933-4ce5-aaf4-873661407ee4
2025-03-17 10:32:55 +00:00
EYHN
b401012d85
feat(core): user service loading state ( #10922 )
2025-03-17 09:28:25 +00:00
Saul-Mirone
d5a5df5e49
test(editor): move blocksuite test to tests folder ( #10917 )
2025-03-17 06:40:25 +00:00
Saul-Mirone
808c053c3c
feat(editor): add block meta for table block ( #10915 )
2025-03-17 05:20:10 +00:00
donteatfriedrice
6eb34d70c1
feat(editor): support bookmark block convert to embed iframe block ( #10907 )
2025-03-17 05:00:55 +00:00
Saul-Mirone
8bd4125c96
feat(editor): enable block meta for code, image, list block ( #10905 )
2025-03-17 03:29:51 +00:00
Saul-Mirone
7e6ff8d9c6
chore(editor): remove unused npm scripts ( #10895 )
2025-03-16 17:48:49 +00:00
Saul-Mirone
2f5e801097
fix(editor): missing export ( #10893 )
2025-03-16 16:09:35 +00:00
hackerESQ
fff15222d9
feat(core): add transparent as default shape fill ( #10801 )
2025-03-16 20:58:50 +09:00
donteatfriedrice
d7d512084e
feat(editor): embed iframe error status card in surface ( #10869 )
...
To close [BS-2806](https://linear.app/affine-design/issue/BS-2806/iframe-embed-block-edgeless-loading-and-error-status )
2025-03-16 09:05:04 +00:00
donteatfriedrice
7ecb1f510d
feat(editor): embed iframe loading status card in surface ( #10868 )
2025-03-16 09:05:04 +00:00
Saul-Mirone
26285f7dcb
feat(editor): unify block props api ( #10888 )
...
Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop )
2025-03-16 05:48:34 +00:00
Oleg
8f9e5bf0aa
fix(editor): minor ui bugs ( #10841 )
...
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-03-15 19:15:56 +09:00
donteatfriedrice
1d4ee1e383
feat(editor): support embed iframe block in edgeless ( #10830 )
...
To close:
[BS-2665](https://linear.app/affine-design/issue/BS-2665/iframe-embed-block-edgeless-mode-支持 )
[BS-2666](https://linear.app/affine-design/issue/BS-2666/iframe-embed-block-edgeless-toolbar )
[BS-2667](https://linear.app/affine-design/issue/BS-2667/iframe-embed-block-edgeless-mode-拖拽调整支持 )
[BS-2789](https://linear.app/affine-design/issue/BS-2789/iframe-embed-block-edgeless-block-component )
2025-03-15 09:23:02 +00:00
L-Sun
3b4453d2b8
chore(editor): update default width of page block ( #10873 )
...
Close [BS-2498](https://linear.app/affine-design/issue/BS-2498/page-block首次切换时默认宽度为800px )
2025-03-14 12:59:17 +00:00
fundon
99fdfe821a
fix(editor): improve type declaration definition ( #10866 )
...
Closes: [BS-2809](https://linear.app/affine-design/issue/BS-2809/改进继承自抽象类的类型后-createidentifier-类型定义 )
### What's Changed!
* Improved type declaration definition
2025-03-14 10:38:17 +00:00
doodlewind
d8dfea6ccf
fix(editor): type import in vite worker env ( #10856 )
...
The dependencies of `@blocksuite/affine-gfx-turbo-renderer` in work is now all type imports.
2025-03-14 10:22:58 +00:00
doodlewind
d1c10f5401
chore(editor): hide tweakpane for turbo renderer ( #10846 )
2025-03-14 06:47:15 +00:00
Saul-Mirone
b8452f56a8
feat(editor): block painter extension ( #10847 )
2025-03-14 05:26:58 +00:00
doodlewind
be9f44fc4f
fix(editor): worker loading in webpack env ( #10832 )
...
### TL;DR
Created dedicated worker entry points to avoid dynamic imports.
### What changed?
- Painters are provided during worker initialization
- Removed `ParagraphPaintConfigExtension` and the associated configuration system
- Created dedicated worker entry points in both the integration test and frontend packages
- Modified `ViewportLayoutPainter` to accept painters in its constructor
- Updated the `TurboRendererConfig` interface to require a `painterWorkerEntry` function
### Why make this change?
Webpack support. Extension objects in main thread are not available to be passed into workers. Dynamic painter path import is hard to support in webpack environment. With the [webpack-ignore](https://webpack.js.org/api/module-methods/#webpackignore ) rule, there are still build errors in webpack.
2025-03-14 05:26:57 +00:00
akumatus
daccb2c865
feat(core): add ai file context api ( #10842 )
...
Close [BS-2349](https://linear.app/affine-design/issue/BS-2349 ).
### What Changed?
- Add file context graphql apis
- Pass matched file chunks to LLM
[录屏2025-02-19 23.27.47.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/8e8a98ca-6959-4bb6-9759-b51d97cede49.mov " />](https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/8e8a98ca-6959-4bb6-9759-b51d97cede49.mov )
2025-03-14 04:29:54 +00:00
yoyoyohamapi
e086fd2a43
refactor(editor): getFirstContentBlock -> getFirstBlock & getLastContentBlock -> getLastBlock ( #10809 )
2025-03-14 02:35:22 +00:00