snapshot of https://github.com/toeverything/AFFiNE.git (canary, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Build & Test / Analyze (javascript, affine) (push) Failing after 4s
Build & Test / Analyze (typescript, affine) (push) Failing after 3s
Build & Test / Rust test filter (push) Failing after 4s
Build & Test / Check yarn binary (push) Failing after 3s
Build & Test / E2E BlockSuite Test (3) (push) Failing after 3s
Build & Test / Analyze (javascript, blocksuite) (push) Failing after 3s
Build & Test / Analyze (typescript, blocksuite) (push) Failing after 3s
Build & Test / Mobile native build filter (push) Failing after 3s
Build & Test / E2E BlockSuite Test (1) (push) Failing after 4s
Build & Test / E2E BlockSuite Test (2) (push) Failing after 4s
Build & Test / E2E Mobile Test (1) (push) Failing after 3s
Build & Test / Unit Test (1) (push) Has been skipped
Build & Test / Unit Test (2) (push) Has been skipped
Build & Test / Unit Test (3) (push) Has been skipped
Build & Test / Unit Test (4) (push) Has been skipped
Build & Test / Unit Test (5) (push) Has been skipped
Build & Test / Native Unit Test (push) Has been skipped
Build & Test / E2E BlockSuite Test (4) (push) Failing after 3s
Build & Test / E2E BlockSuite Test (5) (push) Failing after 3s
Build & Test / E2E BlockSuite Cross Browser Test (push) Failing after 3s
Build & Test / E2E Mobile Test (2) (push) Failing after 3s
Build & Test / Build AFFiNE native (x86_64-unknown-linux-gnu) (push) Failing after 3s
Build & Test / Build Server native (push) Failing after 3s
Build & Test / Check Git Status (push) Has been skipped
Build & Test / Server Test (0, 4) (push) Has been skipped
Build & Test / Server Test (1, 4) (push) Has been skipped
Build & Test / Server Test (2, 4) (push) Has been skipped
Build & Test / Server Test (3, 4) (push) Has been skipped
Build & Test / Server Test with Elasticsearch (push) Has been skipped
Build & Test / Build @affine/electron renderer (push) Failing after 3s
Build & Test / Copilot test filter (push) Failing after 4s
Build & Test / Lint Rust (push) Has been skipped
Build & Test / Server Test with Embedded Search (push) Has been skipped
Build & Test / Server Test with Manticore Search (push) Has been skipped
Build & Test / Server E2E Test (push) Has been skipped
Build & Test / Cloud Desktop E2E Test (push) Has been skipped
Build & Test / Cloud E2E Test 1/2 (push) Has been skipped
Build & Test / Cloud E2E Test 2/2 (push) Has been skipped
Build & Test / Build Android app (push) Has been skipped
Build & Test / Test Android app (push) Has been skipped
Build & Test / Run native tests (push) Has been skipped
Build & Test / Server Copilot Api Test (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (1, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (2, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (3, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (4, 5) (push) Has been skipped
Build & Test / Frontend Copilot E2E Test (5, 5) (push) Has been skipped
Release / Canary Gate (push) Has been skipped
Build & Test / Build AFFiNE native (aarch64-apple-darwin) (push) Has been cancelled
Build & Test / Lint (push) Has been cancelled
Build & Test / Typecheck (push) Has been cancelled
Build & Test / Build AFFiNE native (x86_64-apple-darwin) (push) Has been cancelled
Build & Test / Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true) (push) Has been cancelled
Build & Test / Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true) (push) Has been cancelled
Build & Test / E2E Test (1) (push) Has been cancelled
Build & Test / E2E Test (2) (push) Has been cancelled
Build & Test / E2E Test (3) (push) Has been cancelled
Build & Test / E2E Test (4) (push) Has been cancelled
Build & Test / E2E Test (5) (push) Has been cancelled
Build & Test / Build AFFiNE native (aarch64-pc-windows-msvc) (push) Has been cancelled
Build & Test / Build AFFiNE native (x86_64-pc-windows-msvc) (push) Has been cancelled
Build & Test / Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true) (push) Has been cancelled
Build & Test / Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false) (push) Has been cancelled
Build & Test / 3, 2, 1 Launch (push) Has been cancelled
Build & Test / Build iOS app (push) Has been cancelled
Copilot Test Automatically / Setup Test (push) Failing after 1s
Release / Prepare (push) Failing after 2s
Release / Release Cloud (push) Has been skipped
Release / Release Desktop (push) Has been skipped
Release / Release Docker Image (push) Has been skipped
Release / Release Mobile (push) Has been skipped

This commit is contained in:
upstream-mirror
2026-09-16 04:01:20 +05:00
commit 702cc698a7
9990 changed files with 1073618 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / GfxCompatible
# Function: GfxCompatible()
> **GfxCompatible**\<`Props`, `T`\>(`BlockModelSuperClass`): *typeof* [`GfxBlockElementModel`](../classes/GfxBlockElementModel.md)
Convert a BlockModel to a GfxBlockElementModel.
## Type Parameters
### Props
`Props` *extends* [`GfxCompatibleProps`](../type-aliases/GfxCompatibleProps.md)
### T
`T` *extends* `Constructor`\<`BlockModel`\<`Props`\>\> = `Constructor`\<`BlockModel`\<`Props`\>\>
## Parameters
### BlockModelSuperClass
`T`
The BlockModel class to be converted.
## Returns
*typeof* [`GfxBlockElementModel`](../classes/GfxBlockElementModel.md)
The returned class is a subclass of the GfxBlockElementModel class and the given BlockModelSuperClass.

View File

@@ -0,0 +1,25 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / canSafeAddToContainer
# Function: canSafeAddToContainer()
> **canSafeAddToContainer**(`container`, `element`): `boolean`
This checker is used to prevent circular reference, when adding a child element to a container.
## Parameters
### container
`GfxGroupModel`
### element
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md)
## Returns
`boolean`

View File

@@ -0,0 +1,26 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / compareLayer
# Function: compareLayer()
> **compareLayer**(`a`, `b`): `SortOrder`
A comparator function for sorting elements in the surface.
SortOrder.AFTER means a should be rendered after b and so on.
## Parameters
### a
`GfxModel` \| `GfxLocalElementModel`
### b
`GfxModel` \| `GfxLocalElementModel`
## Returns
`SortOrder`

View File

@@ -0,0 +1,35 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / convert
# Function: convert()
> **convert**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>
The convert decorator is used to convert the property value before it's
set to the Y map.
Note:
1. This decorator function will not execute in model initialization.
## Type Parameters
### V
`V`
### T
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
## Parameters
### fn
(`propValue`, `instance`) => `unknown`
## Returns
(`_`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>

View File

@@ -0,0 +1,27 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / createRafCoalescer
# Function: createRafCoalescer()
> **createRafCoalescer**\<`T`\>(`apply`): `RafCoalescer`\<`T`\>
Coalesce high-frequency updates and only process the latest payload in one frame.
## Type Parameters
### T
`T`
## Parameters
### apply
(`payload`) => `void`
## Returns
`RafCoalescer`\<`T`\>

View File

@@ -0,0 +1,40 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / derive
# Function: derive()
> **derive**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
The derive decorator is used to derive other properties' update when the
decorated property is updated through assignment in the local.
Note:
1. The first argument of the function is the new value of the decorated property
before the `convert` decorator is called.
2. The decorator function will execute after the decorated property has been updated.
3. The decorator function will not execute during model creation.
4. The decorator function will not execute if the decorated property is updated through
the Y map. That is to say, if other peers update the property will not trigger this decorator
## Type Parameters
### V
`V`
### T
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
## Parameters
### fn
(`propValue`, `instance`) => `Record`\<`string`, `unknown`\>
## Returns
(`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>

View File

@@ -0,0 +1,27 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / generateKeyBetween
# Function: generateKeyBetween()
> **generateKeyBetween**(`a`, `b`, `digits?`): `string`
## Parameters
### a
`string` \| `null` \| `undefined`
### b
`string` \| `null` \| `undefined`
### digits?
`string`
## Returns
`string`

View File

@@ -0,0 +1,28 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / generateKeyBetweenV2
# Function: generateKeyBetweenV2()
> **generateKeyBetweenV2**(`a`, `b`): `string`
generate a key between a and b, the result key is always satisfied with a < result < b.
the key always has a random suffix, so there is no need to worry about collision.
make sure a and b are generated by this function.
## Parameters
### a
`string` \| `null`
### b
`string` \| `null`
## Returns
`string`

View File

@@ -0,0 +1,39 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / generateNKeysBetween
# Function: generateNKeysBetween()
> **generateNKeysBetween**(`a`, `b`, `n`, `digits?`): `string`[]
same preconditions as generateKeysBetween.
n >= 0.
Returns an array of n distinct keys in sorted order.
If a and b are both null, returns [a0, a1, ...]
If one or the other is null, returns consecutive "integer"
keys. Otherwise, returns relatively short keys between
a and b.
## Parameters
### a
`string` \| `null` \| `undefined`
### b
`string` \| `null` \| `undefined`
### n
`number`
### digits?
`string`
## Returns
`string`[]

View File

@@ -0,0 +1,28 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / getEffectiveDpr
# Function: getEffectiveDpr()
> **getEffectiveDpr**(`zoom`, `rawDpr?`): `number`
Resolves the effective device-pixel-ratio for canvas backing stores at the
given zoom, honoring [viewportRuntimeConfig.CANVAS\_DPR\_CAP\_BY\_ZOOM](../variables/viewportRuntimeConfig.md#canvas_dpr_cap_by_zoom).
Returns the raw `window.devicePixelRatio` when no cap applies.
## Parameters
### zoom
`number`
### rawDpr?
`number` = `window.devicePixelRatio`
## Returns
`number`

View File

@@ -0,0 +1,36 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / getTopElements
# Function: getTopElements()
> **getTopElements**(`elements`): `GfxModel`[]
Get the top elements from the list of elements, which are in some tree structures.
For example: a list `[G1, E1, G2, E2, E3, E4, G4, E5, E6]`,
and they are in the elements tree like:
```
G1 G4 E6
/ \ |
E1 G2 E5
/ \
E2 G3*
/ \
E3 E4
```
where the star symbol `*` denote it is not in the list.
The result should be `[G1, G4, E6]`
## Parameters
### elements
`GfxModel`[]
## Returns
`GfxModel`[]

View File

@@ -0,0 +1,21 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / isGfxGroupCompatibleModel
# Function: isGfxGroupCompatibleModel()
> **isGfxGroupCompatibleModel**(`elm`): `elm is GfxGroupModel`
Check if the element is a container element.
## Parameters
### elm
`unknown`
## Returns
`elm is GfxGroupModel`

View File

@@ -0,0 +1,28 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / local
# Function: local()
> **local**\<`V`, `T`\>(): (`_target`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>
A decorator to mark the property as a local property.
The local property act like it is a field property, but it's not synced to the Y map.
Updating local property will also trigger the `elementUpdated` slot of the surface model
## Type Parameters
### V
`V`
### T
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
## Returns
(`_target`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>

View File

@@ -0,0 +1,34 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / measureOperation
# Function: measureOperation()
> **measureOperation**\<`T`\>(`name`, `fn`): `T`
Measure operation cost via Performance API when available.
Marks are always cleared, while measure entries are intentionally retained
so callers can inspect them from Performance tools.
## Type Parameters
### T
`T`
## Parameters
### name
`string`
### fn
() => `T`
## Returns
`T`

View File

@@ -0,0 +1,39 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / observe
# Function: observe()
> **observe**\<`V`, `E`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
A decorator to observe the y type property.
You can think of it is just a decorator version of 'observe' method of Y.Array and Y.Map.
The observer function start to observe the property when the model is mounted. And it will
re-observe the property automatically when the value is altered.
## Type Parameters
### V
`V`
### E
`E` *extends* `YEvent`\<`any`\>
### T
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
## Parameters
### fn
`ObserveFn`\<`E`, `T`\>
## Returns
(`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>

View File

@@ -0,0 +1,32 @@
[**BlockSuite API Documentation**](../../../../README.md)
***
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/std](../../README.md) / [gfx](../README.md) / watch
# Function: watch()
> **watch**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
The watch decorator is used to watch the property change of the element.
You can thinks of it as a decorator version of `elementUpdated` slot of the surface model.
## Type Parameters
### V
`V`
### T
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
## Parameters
### fn
`WatchFn`\<`T`\>
## Returns
(`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>