akumatus
ee337a16af
feat(core): support collection search for ai chat ( #10987 )
...
Close [BS-2787](https://linear.app/affine-design/issue/BS-2787 ).
Close [BS-2788](https://linear.app/affine-design/issue/BS-2788 ).

2025-03-20 00:34:12 +00:00
forehalo
f889886b31
refactor(server): e2e utilities ( #11000 )
2025-03-19 17:00:20 +00:00
forehalo
21c4a29f55
refactor(server): mail service ( #10934 )
2025-03-19 17:00:19 +00:00
forehalo
b3a245f47a
chore(server): better internal error stack ( #11009 )
2025-03-19 16:41:56 +00:00
Saul-Mirone
b3c6333694
refactor(editor): remove note block service ( #11015 )
2025-03-20 01:04:20 +09:00
Saul-Mirone
2701be8d08
refactor(editor): remove empty block services ( #11014 )
2025-03-20 01:04:20 +09:00
Saul-Mirone
76dc55f328
refactor(editor): remove legacy block service spec slots ( #11013 )
2025-03-20 01:04:18 +09:00
doouding
1c8d25bc29
feat: add ElementTransformManager for edgeless element basic manipulation ( #10824 )
...
### Overview:
We've been working with some legacy code in the default-tool and edgeless-selected-rect modules, which are responsible for fundamental operations like moving, resizing, and rotating elements. Currently, these operations are hardcoded, making it challenging to extend functionalities without diving deep into the code.
### What's Changing:
Introducing `ElementTransformManager` to streamline the handling of basic transformations (move, resize, rotate) while allowing the business logic to dictate when these actions occur.
Providing two ways to extend the transformations behaviour:
- Extends inside element view definition: Elements can decide how to handle move/resize events, such as enforcing size constraints.
- Extension mechanism provided by this manager: Adjust or completely override default drag behaviors, like snapping elements into alignment.
### Code Examples:
Delegate element movement to TransformManager:
```typescript
class DefaultTool {
override dragStart(event) {
if(this.dragType === DragType.ContentMoving) {
const transformManager = this.std.get(TransformManagerIdentifier);
transformManager.startDrag({ selectedElements, event });
}
}
}
```
Enforce minimum width inside view definition:
```typescript
class EdgelessNoteBlock extends GfxBlockComponent {
onResizeDelta({ dw, dh }) {
const bound = this.model.elementBound;
bound.w = Math.min(MAX_WIDTH, bound.w + dw);
bound.h = Math.min(MAX_HEIGHT, bound.h + dh);
this.model.xywh = bound.serialize();
}
}
```
Use extension to implement element snapping:
```typescript
import { TransformerExtension } from '@blocksuite/std/gfx';
// Just extends the TransformerExtension
class SnapManager extends TransformerExtension {
static override key = 'snap-manager';
onDragInitialize() {
return {
onDragMove(context) {
const { dx, dy } = this.getAlignmentMoveDistance(context.elements);
context.dx = dx;
context.dy = dy;
}
}
}
}
```
### Others
The migration will be divided into several PRs. This PR mostly focus on refactoring elements movement part of `default-tool`.
- Delegate elements movement to `TransformManager`
- Rewrite the default tool extension into `TransformManager` extension
- Add drag handler interface to gfx view (both `GfxBlockComponent` and `GfxElementModelView`) to allow element to define how it gonna react on drag
2025-03-19 15:30:06 +00:00
fengmk2
89a0880bb3
feat(server): record pending updates count to metrics ( #10991 )
...
close CLOUD-161
2025-03-19 15:10:25 +00:00
fundon
c98f0900cc
refactor(editor): edgeless mindmap toolbar config extension ( #10803 )
2025-03-19 14:50:55 +00:00
fundon
7f34667b78
refactor(editor): edgeless connector toolbar config extension ( #10798 )
2025-03-19 14:50:55 +00:00
darkskygit
b099546164
feat(server): copilot job models ( #10732 )
2025-03-19 14:34:14 +00:00
forehalo
dd31ef95db
chore: bump otel packages in a group ( #11001 )
2025-03-19 14:17:02 +00:00
donteatfriedrice
f6e32d8894
feat(editor): add embed iframe provider miro ( #10996 )
2025-03-19 13:57:30 +00:00
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
Brooooooklyn
9a697dc9bb
chore(server): change the embedding params ( #10994 )
2025-03-19 13:18:59 +00:00
forehalo
33d57b455a
chore(server): revert access control in sync module ( #11011 )
2025-03-19 12:58:56 +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
fengmk2
ddd6c97b08
refactor(server): improve workspace content retrieval from database ( #10964 )
2025-03-19 12:16:53 +00:00
Saul-Mirone
a9b53839a6
refactor(editor): improve std structure ( #10993 )
2025-03-19 11:37:55 +00:00
L-Sun
9211fbf68c
refactor(editor): move surface-ref toolbar to its block folder ( #10938 )
2025-03-19 10:54:22 +00:00
yoyoyohamapi
afc4158f47
refactor(core): separate rendering logic for user and assistant messages ( #10909 )
...
### TL;DR
Separate rendering logic for user and assistant messages.
> CLOSE AF-2323
### What Changed
- Rendering user message with `<chat-panel-message-user />` component.
- Rendering assistant message with `<chat-panel-message-assistant />` Component
2025-03-19 10:28:56 +00:00
fundon
a8ac3bdb3e
fix(editor): adjust creation position to avoid being blocked by banner ( #10992 )
...

2025-03-19 10:01:53 +00:00
Saul-Mirone
ae3cb61943
chore: align vitest versions ( #10990 )
2025-03-19 08:57:24 +00:00
fengmk2
d00fd8316d
refactor(server): remove unused randomDoc method ( #10985 )
...
close CLOUD-177
2025-03-19 06:45:22 +00:00
fundon
0442430971
refactor(editor): edgeless html embed card toolbar config extension ( #10716 )
2025-03-19 05:03:00 +00:00
doodlewind
80f62a995b
perf(editor): improve resize frame rate ( #10967 )
...
This PR improves panel toggling FPS by minimizing DOM and canvas updates during resizing.
[Screen Recording 2025-03-18 at 11.57.45 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov " />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov )
### What changed?
- Added a debounced resize handling mechanism using RxJS's `debounceTime` operator
- Implemented a new resize strategy that preserves the top-left corner position during resizing
- Added state tracking for resize operations with `_isResizing` flag and `_initialTopLeft` coordinates
2025-03-19 04:42:23 +00:00
akumatus
47206b8d47
feat(core): support tag search for ai chat ( #10965 )
...
Close [BS-2785](https://linear.app/affine-design/issue/BS-2785 ).
Close [BS-2786](https://linear.app/affine-design/issue/BS-2786 ).

2025-03-19 04:22:11 +00:00
akumatus
b470eafd55
feat(core): add keyboard event listener to ai popover ( #10952 )
...
Close [BS-2827](https://linear.app/affine-design/issue/BS-2827 ).
2025-03-19 04:22:10 +00:00
akumatus
efe7e1d527
feat(core): add tags and collections menu item ( #10951 )
...
Close [BS-2827](https://linear.app/affine-design/issue/BS-2827 ).

2025-03-19 04:22:09 +00:00
fundon
7f4b56e05c
refactor(editor): edgeless external embed card toolbar config extension ( #10712 )
2025-03-19 04:05:36 +00:00
CatsJuice
284aae9b52
fix(core): remove unexpected comma ( #10984 )
2025-03-19 03:49:53 +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
pengx17
6b73e8ebb5
fix(core): allow unused blobs to preview in new tab ( #10874 )
...
fix AF-2330
2025-03-19 02:40:06 +00:00
fundon
d8567e669a
refactor(editor): edgeless bookmark toolbar config extension ( #10711 )
2025-03-19 02:24:26 +00:00
JimmFly
70fe521300
fix(core): copy link should not have mode ( #10904 )
2025-03-19 01:50:34 +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