Compare commits

...

21 Commits

Author SHA1 Message Date
Joooye_34
00c940f7df chore: bump affine version to 0.10.2 (#4959) 2023-11-16 15:48:37 +08:00
Flrande
931b459fbd chore: bump blocksuite (#4958) 2023-11-16 14:27:39 +08:00
LongYinan
51e71f4a0a ci: prevent error if rust build is cached by nx (#4951)
If Rust build was cached by nx, only the output file will be presented. The chmod command will be failed in this case like: https://github.com/toeverything/AFFiNE/actions/runs/6874496337/job/18697360212
2023-11-16 10:31:51 +08:00
Peng Xiao
9b631f2328 fix(infra): page id compat fix for page ids in workspace.meta (#4950)
since we strip `page:` in keys of workspacedoc.spaces, we should also strip the prefix in meta.pages as well.
2023-11-15 17:36:08 +08:00
LongYinan
01f481a9b6 ci: only disable postinstall on macOS in nightly desktop build (#4938) 2023-11-14 23:00:30 +08:00
Joooye_34
0177ab5c87 fix(infra): workspace migration without blockVersions (#4936) 2023-11-14 14:38:11 +01:00
Peng Xiao
4db35d341c perf(component): use png instead of svg for rendering noise svg (#4935) 2023-11-14 11:52:51 +00:00
DarkSky
3c4a803c97 fix: change password token check (#4934) (#4932) 2023-11-14 11:15:54 +00:00
LongYinan
05154dc7ca ci: disable postinstall in nightly desktop build (#4930)
Should be part of https://github.com/toeverything/AFFiNE/pull/4885
2023-11-14 14:13:55 +08:00
Peng Xiao
c90b477f60 fix(core): change server url of stable to insider (#4902) (#4926) 2023-11-14 12:05:52 +08:00
李华桥
6f18ddbe85 v0.10.1 2023-11-13 19:49:26 +08:00
LongYinan
dde779a71d test(e2e): add subdoc migration test (#4921)
test(e2e): add subdoc migration test

fix: remove .only
2023-11-13 18:00:40 +08:00
Peng Xiao
bd9f66fbc7 fix(infra): compatibility fix for space prefix (#4912)
It seems there are some cases that [this upstream PR](https://github.com/toeverything/blocksuite/pull/4747) will cause data loss.

Because of some historical reasons, the page id could be different with its doc id.
It might be caused by subdoc migration in the following (not 100% sure if all white screen issue is caused by it) 0714c12703/packages/common/infra/src/blocksuite/index.ts (L538-L540)

In version 0.10, page id in spaces no longer has prefix "space:"
The data flow for fetching a doc's updates is:
- page id in `meta.pages` -> find `${page-id}` in `doc.spaces` -> `doc` -> `doc.guid`
if `doc` is not found in `doc.spaces`, a new doc will be created and its `doc.guid` is the same with its pageId
- because of guid logic change, the doc that previously prefixed with `space:` will not be found in `doc.spaces`
- when fetching the rows of this doc using the doc id === page id,
  it will return EMPTY since there is no updates associated with the page id

The provided fix in the PR will patch the `spaces` field of the root doc so that after 0.10 the page doc can still be found in the `spaces` map. It shall apply to both of the idb & sqlite datasources.

Special thanks to @lawvs 's db file for investigation!
2023-11-13 17:57:56 +08:00
liuyi
92f1f40bfa fix(server): wrap updates applying in a transaction (#4922) 2023-11-13 08:49:30 +00:00
LongYinan
48dc1049b3 Merge pull request #4913 from toeverything/darksky/cleanup-depolyment
chore: cleanup deployment
2023-11-12 11:20:02 +08:00
DarkSky
9add530370 chore: cleanup deployment 2023-11-12 11:03:25 +08:00
LongYinan
b77460d871 Merge pull request #4908 from toeverything/61/hotfix-websocket-payload
fix(server): increase server acceptable websocket payload size
2023-11-10 22:01:48 +08:00
forehalo
42db41776b fix(server): increase server acceptable websocket payload size 2023-11-10 21:31:45 +08:00
李华桥
075439c74f fix(core): change server url of stable to insider 2023-11-10 18:32:53 +08:00
Yifeng Wang
fc6c553ece chore: bump theme (#4904)
Co-authored-by: 李华桥 <joooye1991@gmail.com>
2023-11-10 15:40:38 +08:00
Joooye_34
59cb3d5df1 fix(core): change server url of stable to insider (#4902) 2023-11-10 14:50:57 +08:00
79 changed files with 1788 additions and 298 deletions

View File

@@ -51,8 +51,12 @@ runs:
export CC_x86_64_unknown_linux_gnu=x86_64-unknown-linux-gnu-gcc
export RUSTFLAGS="-C debuginfo=1"
yarn workspace ${{ inputs.package }} nx build ${{ inputs.package }} --target ${{ inputs.target }}
chmod -R 777 node_modules/.cache
chmod -R 777 target
if [ -d "node_modules/.cache" ]; then
chmod -R 777 node_modules/.cache
fi
if [ -d "target" ]; then
chmod -R 777 target;
fi
- name: Build
if: ${{ inputs.target == 'aarch64-unknown-linux-gnu' }}
@@ -63,5 +67,9 @@ runs:
run: |
export RUSTFLAGS="-C debuginfo=1"
yarn workspace ${{ inputs.package }} nx build ${{ inputs.package }} --target ${{ inputs.target }}
chmod -R 777 node_modules/.cache
chmod -R 777 target
if [ -d "node_modules/.cache" ]; then
chmod -R 777 node_modules/.cache
fi
if [ -d "target" ]; then
chmod -R 777 target;
fi

View File

@@ -66,7 +66,6 @@ jobs:
check-yarn-binary:
name: Check yarn binary
runs-on: ubuntu-latest
environment: development
steps:
- uses: actions/checkout@v4
- name: Run check

View File

@@ -86,11 +86,11 @@ jobs:
# For windows, we need a separate approach
matrix:
spec:
- runner: macos-latest-xlarge
- runner: macos-latest
platform: darwin
arch: x64
target: x86_64-apple-darwin
- runner: macos-latest-xlarge
- runner: macos-latest
platform: darwin
arch: arm64
target: aarch64-apple-darwin
@@ -115,6 +115,17 @@ jobs:
- uses: actions/checkout@v4
- name: Setup Node.js
timeout-minutes: 10
if: ${{ matrix.spec.platform == 'darwin' }}
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo
hard-link-nm: false
build-plugins: false
nmHoistingLimits: workspaces
enableScripts: false
- name: Setup Node.js
timeout-minutes: 10
if: ${{ matrix.spec.platform != 'darwin' }}
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/monorepo",
"version": "0.10.0",
"version": "0.10.2",
"private": true,
"author": "toeverything",
"license": "MIT",

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/server",
"private": true,
"version": "0.10.0",
"version": "0.10.2",
"description": "Affine Node.js server",
"type": "module",
"bin": {

View File

@@ -23,6 +23,8 @@ import {
export const NextAuthOptionsProvide = Symbol('NextAuthOptions');
const TrustedProviders = ['google'];
export const NextAuthOptionsProvider: FactoryProvider<NextAuthOptions> = {
provide: NextAuthOptionsProvide,
useFactory(
@@ -51,6 +53,23 @@ export const NextAuthOptionsProvider: FactoryProvider<NextAuthOptions> = {
}
return createUser(userData);
};
// linkAccount exists in the adapter
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const linkAccount = prismaAdapter.linkAccount!.bind(prismaAdapter);
prismaAdapter.linkAccount = async account => {
// google account must be a verified email
if (TrustedProviders.includes(account.provider)) {
await prisma.user.update({
where: {
id: account.userId,
},
data: {
emailVerified: new Date(),
},
});
}
return linkAccount(account) as Promise<void>;
};
// getUser exists in the adapter
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const getUser = prismaAdapter.getUser!.bind(prismaAdapter)!;

View File

@@ -135,9 +135,17 @@ export class AuthResolver {
@Args('token') token: string,
@Args('newPassword') newPassword: string
) {
// we only create user account after user sign in with email link
const id = await this.session.get(token);
if (!id || id !== user.id || !user.emailVerified) {
if (!user.emailVerified) {
throw new ForbiddenException('Please verify the email first');
}
if (
!id ||
(id !== user.id &&
// change password after sign in with email link
// we only create user account after user sign in with email link
id !== user.email)
) {
throw new ForbiddenException('Invalid token');
}

View File

@@ -8,7 +8,13 @@ import {
import { Snapshot, Update } from '@prisma/client';
import { chunk } from 'lodash-es';
import { defer, retry } from 'rxjs';
import { applyUpdate, Doc, encodeStateAsUpdate, encodeStateVector } from 'yjs';
import {
applyUpdate,
Doc,
encodeStateAsUpdate,
encodeStateVector,
transact,
} from 'yjs';
import { Config } from '../../config';
import { Metrics } from '../../metrics/metrics';
@@ -84,16 +90,18 @@ export class DocManager implements OnModuleInit, OnModuleDestroy {
const next = () => {
const updates = chunks.shift();
if (updates?.length) {
updates.forEach(u => {
try {
applyUpdate(doc, u);
} catch (e) {
this.logger.error(
`Failed to apply update: ${updates
.map(u => u.toString('hex'))
.join('\n')}`
);
}
transact(doc, () => {
updates.forEach(u => {
try {
applyUpdate(doc, u);
} catch (e) {
this.logger.error(
`Failed to apply update: ${updates
.map(u => u.toString('hex'))
.join('\n')}`
);
}
});
});
// avoid applying too many updates in single round which will take the whole cpu time like dead lock

View File

@@ -50,6 +50,8 @@ type EventResponse<Data = any> =
@WebSocketGateway({
cors: process.env.NODE_ENV !== 'production',
transports: ['websocket'],
// see: https://socket.io/docs/v4/server-options/#maxhttpbuffersize
maxHttpBufferSize: 1e8, // 100 MB
})
export class EventsGateway implements OnGatewayConnection, OnGatewayDisconnect {
protected logger = new Logger(EventsGateway.name);

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/storage",
"version": "0.10.0",
"version": "0.10.2",
"engines": {
"node": ">= 10.16.0 < 11 || >= 11.8.0"
},

View File

@@ -8,5 +8,5 @@
"react": "18.2.0",
"react-dom": "18.2.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,5 +9,5 @@
"@types/debug": "^4.1.9",
"vitest": "0.34.6"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -3,8 +3,8 @@
"private": true,
"type": "module",
"devDependencies": {
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"react": "18.2.0",
"react-dom": "18.2.0",
"vitest": "0.34.6",
@@ -27,5 +27,5 @@
"dependencies": {
"lit": "^3.0.2"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -55,9 +55,9 @@
},
"dependencies": {
"@affine/sdk": "workspace:*",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"jotai": "^2.4.3",
"jotai-effect": "^0.2.2",
"tinykeys": "^2.1.0",
@@ -66,8 +66,8 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@testing-library/react": "^14.0.0",
"async-call-rpc": "^6.3.1",
"electron": "link:../../frontend/electron/node_modules/electron",
@@ -111,5 +111,5 @@
"optional": true
}
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -2,7 +2,7 @@ import type { Page, PageMeta, Workspace } from '@blocksuite/store';
import { createIndexeddbStorage } from '@blocksuite/store';
import type { createStore, WritableAtom } from 'jotai/vanilla';
import type { Doc } from 'yjs';
import { Array as YArray, Doc as YDoc, Map as YMap } from 'yjs';
import { Array as YArray, Doc as YDoc, Map as YMap, transact } from 'yjs';
export async function initEmptyPage(page: Page, title?: string) {
await page.waitForLoaded();
@@ -537,6 +537,7 @@ function migrateBlocks(
const originalBlocks = oldDoc.getMap(spaceId) as YMap<unknown>;
const subdoc = new YDoc();
spaces.set(newId, subdoc);
subdoc.guid = id;
const blocks = subdoc.getMap('blocks');
Array.from(originalBlocks.entries()).forEach(([key, value]) => {
const blockData = value.clone();
@@ -597,11 +598,13 @@ export async function forceUpgradePages(
options: Omit<UpgradeOptions, 'createWorkspace'>
): Promise<boolean> {
const rootDoc = await options.getCurrentRootDoc();
guidCompatibilityFix(rootDoc);
const spaces = rootDoc.getMap('spaces') as YMap<any>;
const meta = rootDoc.getMap('meta') as YMap<unknown>;
const versions = meta.get('blockVersions') as YMap<number>;
const schema = options.getSchema();
const oldVersions = versions.toJSON();
const oldVersions = versions?.toJSON() ?? {};
spaces.forEach((space: Doc) => {
try {
schema.upgradePage(0, oldVersions, space);
@@ -623,6 +626,7 @@ async function upgradeV2ToV3(options: UpgradeOptions): Promise<boolean> {
const meta = rootDoc.getMap('meta') as YMap<unknown>;
const versions = meta.get('blockVersions') as YMap<number>;
const schema = options.getSchema();
guidCompatibilityFix(rootDoc);
spaces.forEach((space: Doc) => {
schema.upgradePage(
0,
@@ -654,6 +658,48 @@ async function upgradeV2ToV3(options: UpgradeOptions): Promise<boolean> {
return true;
}
// patch root doc's space guid compatibility issue
//
// in version 0.10, page id in spaces no longer has prefix "space:"
// The data flow for fetching a doc's updates is:
// - page id in `meta.pages` -> find `${page-id}` in `doc.spaces` -> `doc` -> `doc.guid`
// if `doc` is not found in `doc.spaces`, a new doc will be created and its `doc.guid` is the same with its pageId
// - because of guid logic change, the doc that previously prefixed with "space:" will not be found in `doc.spaces`
// - when fetching the rows of this doc using the doc id === page id,
// it will return empty since there is no updates associated with the page id
export function guidCompatibilityFix(rootDoc: YDoc) {
let changed = false;
transact(rootDoc, () => {
const meta = rootDoc.getMap('meta') as YMap<unknown>;
const pages = meta.get('pages') as YArray<YMap<unknown>>;
pages?.forEach(page => {
const pageId = page.get('id') as string | undefined;
if (pageId?.includes(':')) {
// remove the prefix "space:" from page id
page.set('id', pageId.split(':').at(-1));
}
});
const spaces = rootDoc.getMap('spaces') as YMap<YDoc>;
spaces?.forEach((doc: YDoc, pageId: string) => {
if (pageId.includes(':')) {
const newPageId = pageId.split(':').at(-1) ?? pageId;
const newDoc = new YDoc();
// clone the original doc. yjs is not happy to use the same doc instance
applyUpdate(newDoc, encodeStateAsUpdate(doc));
newDoc.guid = doc.guid;
spaces.set(newPageId, newDoc);
// should remove the old doc, otherwise we will do it again in the next run
spaces.delete(pageId);
changed = true;
console.debug(
`fixed space id ${pageId} -> ${newPageId}, doc id: ${doc.guid}`
);
}
});
});
return changed;
}
export enum WorkspaceVersion {
// v1 is treated as undefined
SubDoc = 2,

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/sdk",
"version": "0.10.0",
"version": "0.10.2",
"type": "module",
"scripts": {
"build": "vite build",
@@ -22,11 +22,11 @@
"dist"
],
"dependencies": {
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"jotai": "^2.4.3",
"zod": "^3.22.4"
},

View File

@@ -1,7 +1,7 @@
{
"name": "@toeverything/y-indexeddb",
"type": "module",
"version": "0.10.0",
"version": "0.10.2",
"description": "IndexedDB database adapter for Yjs",
"repository": "toeverything/AFFiNE",
"author": "toeverything",
@@ -37,8 +37,8 @@
"y-provider": "workspace:*"
},
"devDependencies": {
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"fake-indexeddb": "^5.0.0",
"vite": "^4.4.11",
"vite-plugin-dts": "3.6.0",

View File

@@ -68,6 +68,7 @@ beforeEach(() => {
isSSR: true,
schema,
});
vi.useFakeTimers({ toFake: ['requestIdleCallback'] });
});
afterEach(() => {

View File

@@ -1,7 +1,7 @@
{
"name": "y-provider",
"type": "module",
"version": "0.10.0",
"version": "0.10.2",
"description": "Yjs provider protocol for multi document support",
"exports": {
".": "./src/index.ts"
@@ -24,7 +24,7 @@
"build": "vite build"
},
"devDependencies": {
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"vite": "^4.4.11",
"vite-plugin-dts": "3.6.0",
"vitest": "0.34.6",

View File

@@ -98,38 +98,21 @@ export const createLazyProvider = (
async function syncDoc(doc: Doc) {
const guid = doc.guid;
{
// backport from `@blocksuite/store`
const prefixId = guid.startsWith('space:') ? guid.slice(6) : guid;
const possible1 = `${rootDoc.guid}:space:${prefixId}`;
const possible2 = `space:${prefixId}`;
const update1 = await datasource.queryDocState(possible1);
const update2 = await datasource.queryDocState(possible2);
const update = await datasource.queryDocState(guid);
let hasUpdate = false;
if (
update1 &&
update1.missing.length !== 2 &&
update1.missing[0] !== 0 &&
update1.missing[1] !== 0
update &&
update.missing.length !== 2 &&
update.missing[0] !== 0 &&
update.missing[1] !== 0
) {
applyUpdate(doc, update1.missing, origin);
hasUpdate = true;
}
if (
update2 &&
update2.missing.length !== 2 &&
update2.missing[0] !== 0 &&
update2.missing[1] !== 0
) {
applyUpdate(doc, update2.missing, origin);
applyUpdate(doc, update.missing, origin);
hasUpdate = true;
}
if (hasUpdate) {
await datasource.sendDocUpdate(
guid,
encodeStateAsUpdate(
doc,
update1 ? update1.state : update2 ? update2.state : undefined
)
encodeStateAsUpdate(doc, update ? update.state : undefined)
);
}
}

View File

@@ -40,7 +40,7 @@
"@radix-ui/react-toolbar": "^1.0.4",
"@toeverything/hooks": "workspace:*",
"@toeverything/infra": "workspace:*",
"@toeverything/theme": "^0.7.20",
"@toeverything/theme": "^0.7.24",
"@vanilla-extract/dynamic": "^2.0.3",
"bytes": "^3.1.2",
"check-password-strength": "^2.0.7",
@@ -69,12 +69,12 @@
"uuid": "^9.0.1"
},
"devDependencies": {
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/icons": "2.1.35",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@storybook/jest": "^0.2.3",
"@storybook/testing-library": "^0.2.2",
"@testing-library/react": "^14.0.0",
@@ -90,5 +90,5 @@
"vitest": "0.34.6",
"yjs": "^13.6.8"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -3,6 +3,7 @@ import type { ComplexStyleRule } from '@vanilla-extract/css';
import { globalStyle, style } from '@vanilla-extract/css';
import { breakpoints } from '../../styles/mui-theme';
export const appStyle = style({
width: '100%',
position: 'relative',
@@ -22,9 +23,11 @@ export const appStyle = style({
content: '""',
position: 'absolute',
inset: 0,
opacity: 'var(--affine-noise-opacity)',
backgroundSize: '25%',
backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.25' numOctaves='10' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`,
opacity: 'var(--affine-noise-opacity, 0)',
backgroundRepeat: 'repeat',
backgroundSize: '2.5%',
// todo: figure out how to use vanilla-extract webpack plugin to inject img url
backgroundImage: `var(--noise-background)`,
},
},
});

View File

@@ -8,6 +8,10 @@
/*transition: all 0.1s;*/
}
:root {
--noise-background: url(./noise.png);
}
html,
body,
h1,

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -33,7 +33,7 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
enableCaptcha: true,
enableEnhanceShareMode: false,
enablePayment: true,
serverUrlPrefix: 'https://app.affine.pro',
serverUrlPrefix: 'https://insider.affine.pro', // Let insider be stable environment temporarily.
editorFlags,
appVersion: packageJson.version,
editorVersion: packageJson.dependencies['@blocksuite/editor'],

View File

@@ -2,7 +2,7 @@
"name": "@affine/core",
"type": "module",
"private": true,
"version": "0.10.0",
"version": "0.10.2",
"scripts": {
"build": "yarn -T run build-core",
"dev": "yarn -T run dev-core",
@@ -24,13 +24,13 @@
"@affine/i18n": "workspace:*",
"@affine/templates": "workspace:*",
"@affine/workspace": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/icons": "2.1.35",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@dnd-kit/core": "^6.0.8",
"@dnd-kit/sortable": "^7.0.2",
"@emotion/cache": "^11.11.0",

View File

@@ -6,6 +6,7 @@ import {
currentWorkspaceIdAtom,
getCurrentStore,
} from '@toeverything/infra/atom';
import { guidCompatibilityFix } from '@toeverything/infra/blocksuite';
import type { ReactElement } from 'react';
import {
type LoaderFunction,
@@ -43,6 +44,7 @@ export const loader: LoaderFunction = async args => {
const workspace = await rootStore.get(workspaceAtom);
return (() => {
guidCompatibilityFix(workspace.doc);
const blockVersions = workspace.meta.blockVersions;
if (!blockVersions) {
return true;

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/electron",
"private": true,
"version": "0.10.0",
"version": "0.10.2",
"author": "toeverything",
"repository": {
"url": "https://github.com/toeverything/AFFiNE",
@@ -32,10 +32,10 @@
"@affine/sdk": "workspace:*",
"@affine/templates": "workspace:*",
"@affine/vue-hello-world-plugin": "workspace:*",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@electron-forge/cli": "^6.4.2",
"@electron-forge/core": "^6.4.2",
"@electron-forge/core-utils": "^6.4.2",
@@ -51,7 +51,7 @@
"builder-util-runtime": "^9.2.1",
"cross-env": "^7.0.3",
"electron": "^27.0.0",
"electron-log": "^5.0.0-rc.1",
"electron-log": "^5.0.0",
"electron-squirrel-startup": "1.0.0",
"electron-window-state": "^5.0.3",
"esbuild": "^0.19.4",

View File

@@ -54,7 +54,6 @@ function spawnOrReloadElectron() {
if (code && code !== 0) {
console.log(`Electron exited with code ${code}`);
}
process.exit(code ?? 0);
});
}

View File

@@ -5,7 +5,7 @@ import {
} from '@affine/native';
import { WorkspaceVersion } from '@toeverything/infra/blocksuite';
import { migrateToLatest } from '../db/migration';
import { applyGuidCompatibilityFix, migrateToLatest } from '../db/migration';
import { logger } from '../logger';
/**
@@ -29,6 +29,7 @@ export abstract class BaseSQLiteAdapter {
if (maxVersion !== WorkspaceVersion.Surface) {
await migrateToLatest(this.path, WorkspaceVersion.Surface);
}
await applyGuidCompatibilityFix(this.db);
logger.info(`[SQLiteAdapter:${this.role}]`, 'connected:', this.path);
}
return this.db;

View File

@@ -6,6 +6,7 @@ import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models';
import { Schema } from '@blocksuite/store';
import {
forceUpgradePages,
guidCompatibilityFix,
migrateToSubdoc,
WorkspaceVersion,
} from '@toeverything/infra/blocksuite';
@@ -119,3 +120,21 @@ async function replaceRows(
})
);
}
export const applyGuidCompatibilityFix = async (db: SqliteConnection) => {
const oldRows = await db.getUpdates(undefined);
const rootDoc = new YDoc();
oldRows.forEach(row => applyUpdate(rootDoc, row.data));
// see comments of guidCompatibilityFix
guidCompatibilityFix(rootDoc);
// todo: backup?
await db.replaceUpdates(undefined, [
{
docId: undefined,
data: encodeStateAsUpdate(rootDoc),
},
]);
};

View File

@@ -24,7 +24,7 @@ export const mode = process.env.NODE_ENV;
export const isDev = mode === 'development';
const API_URL_MAPPING = {
stable: `https://app.affine.pro`,
stable: `https://insider.affine.pro`, // Let insider be stable environment temporarily.
beta: `https://insider.affine.pro`,
canary: `https://affine.fail`,
internal: `https://insider.affine.pro`,

View File

@@ -1,4 +1,5 @@
import { shell } from 'electron';
import { app } from 'electron';
import log from 'electron-log';
export const logger = log.scope('main');
@@ -12,3 +13,7 @@ export async function revealLogFile() {
const filePath = getLogFilePath();
return await shell.openPath(filePath);
}
app.on('before-quit', () => {
log.transports.console.level = false;
});

View File

@@ -10,6 +10,9 @@ import { updaterSubjects } from './event';
const mode = process.env.NODE_ENV;
const isDev = mode === 'development';
// skip auto update in dev mode & internal
const disabled = buildType === 'internal' || isDev;
export const quitAndInstall = async () => {
autoUpdater.quitAndInstall();
};
@@ -17,7 +20,7 @@ export const quitAndInstall = async () => {
let lastCheckTime = 0;
export const checkForUpdates = async (force = true) => {
// check every 30 minutes (1800 seconds) at most
if (force || lastCheckTime + 1000 * 1800 < Date.now()) {
if (!disabled && (force || lastCheckTime + 1000 * 1800 < Date.now())) {
lastCheckTime = Date.now();
return await autoUpdater.checkForUpdates();
}
@@ -25,8 +28,7 @@ export const checkForUpdates = async (force = true) => {
};
export const registerUpdater = async () => {
// skip auto update in dev mode & internal
if (buildType === 'internal' || isDev) {
if (disabled) {
return;
}
@@ -43,7 +45,6 @@ export const registerUpdater = async () => {
channel: buildType,
// hack for custom provider
provider: 'custom' as 'github',
// @ts-expect-error - just ignore for now
repo: buildType !== 'internal' ? 'AFFiNE' : 'AFFiNE-Releases',
owner: 'toeverything',
releaseType: buildType === 'stable' ? 'release' : 'prerelease',

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/graphql",
"version": "0.10.0",
"version": "0.10.2",
"description": "Autogenerated GraphQL client for affine.pro",
"license": "MIT",
"type": "module",

View File

@@ -18,12 +18,12 @@
"devDependencies": {
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@testing-library/react": "^14.0.0",
"@types/image-blob-reduce": "^4.1.3",
"@types/lodash.debounce": "^4.0.7",
@@ -66,5 +66,5 @@
"optional": true
}
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,7 +9,7 @@ import type { Page } from '@blocksuite/store';
import { Schema, Workspace as BlockSuiteWorkspace } from '@blocksuite/store';
import { renderHook } from '@testing-library/react';
import { useAtomValue } from 'jotai';
import { describe, expect, test } from 'vitest';
import { describe, expect, test, vi } from 'vitest';
import { beforeEach } from 'vitest';
import { useBlockSuitePagePreview } from '../use-block-suite-page-preview';
@@ -22,6 +22,7 @@ const schema = new Schema();
schema.register(AffineSchemas).register(__unstableSchemas);
beforeEach(async () => {
vi.useFakeTimers({ toFake: ['requestIdleCallback'] });
blockSuiteWorkspace = new BlockSuiteWorkspace({ id: 'test', schema });
const initPage = async (page: Page) => {
await page.waitForLoaded();
@@ -76,12 +77,25 @@ describe('useBlockSuitePagePreview', () => {
page.getBlockByFlavour('affine:note')[0].id
);
const hook = renderHook(() => useAtomValue(useBlockSuitePagePreview(page)));
expect(hook.result.current).toBe('\nHello, world!');
expect(hook.result.current).toBe('Hello, world!');
page.transact(() => {
page.getBlockById(id)!.text!.insert('Test', 0);
});
await new Promise(resolve => setTimeout(resolve, 100));
hook.rerender();
expect(hook.result.current).toBe('\nTestHello, world!');
expect(hook.result.current).toBe('TestHello, world!');
// Insert before
page.addBlock(
'affine:paragraph',
{
text: new page.Text('First block!'),
},
page.getBlockByFlavour('affine:note')[0].id,
0
);
await new Promise(resolve => setTimeout(resolve, 100));
hook.rerender();
expect(hook.result.current).toBe('First block! TestHello, world!');
});
});

View File

@@ -1,20 +1,49 @@
import type { ParagraphBlockModel } from '@blocksuite/blocks/models';
import type { Page } from '@blocksuite/store';
import type { Atom } from 'jotai';
import { atom } from 'jotai';
const MAX_PREVIEW_LENGTH = 150;
const MAX_SEARCH_BLOCK_COUNT = 30;
const weakMap = new WeakMap<Page, Atom<string>>();
export const getPagePreviewText = (page: Page) => {
// TODO this is incorrect, since the order of blocks is not guaranteed
const paragraphBlocks = page.getBlockByFlavour(
'affine:paragraph'
) as ParagraphBlockModel[];
const text = paragraphBlocks
.slice(0, 10)
.map(block => block.text.toString())
.join('\n');
return text.slice(0, 300);
const pageRoot = page.root;
if (!pageRoot) {
return '';
}
const preview: string[] = [];
// DFS
const queue = [pageRoot];
let previewLenNeeded = MAX_PREVIEW_LENGTH;
let count = MAX_SEARCH_BLOCK_COUNT;
while (queue.length && previewLenNeeded > 0 && count-- > 0) {
const block = queue.shift();
if (!block) {
console.error('Unexpected empty block');
break;
}
if (block.children) {
queue.unshift(...block.children);
}
if (block.role !== 'content') {
continue;
}
if (block.text) {
const text = block.text.toString();
if (!text.length) {
continue;
}
previewLenNeeded -= text.length;
preview.push(text);
} else {
// image/attachment/bookmark
const type = block.flavour.split('affine:')[1] ?? null;
previewLenNeeded -= type.length + 2;
type && preview.push(`[${type}]`);
}
}
return preview.join(' ');
};
const emptyAtom = atom<string>('');

View File

@@ -85,7 +85,7 @@ export function loadPage(page: Page, priority = 0) {
logger.debug('page loaded', page.id);
// we do not know how long it takes to load a page here
// so that we just use 300ms timeout as the default page processing time
await awaitForTimeout(1000);
await awaitForTimeout(300);
} else {
// do nothing if it is already loaded
}

View File

@@ -37,5 +37,5 @@
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -58,5 +58,5 @@
"test": "ava",
"version": "napi version"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -7,5 +7,5 @@
"./v1/*.json": "./v1/*.json",
"./preloading.json": "./preloading.json"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -48,5 +48,5 @@
"vitest": "0.34.6",
"ws": "^8.14.2"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -140,12 +140,10 @@ const fetchMetadata: FetchMetadata = async (get, { signal }) => {
performanceJotaiLogger.info('%s adapter', Adapter.flavour);
const { CRUD, flavour: currentFlavour } = Adapter;
if (
Adapter.Events['app:access'] &&
!(await Adapter.Events['app:access']())
) {
performanceJotaiLogger.info('%s app:access', Adapter.flavour);
const appAccessFn = Adapter.Events['app:access'];
const canAccess = appAccessFn && !(await appAccessFn());
performanceJotaiLogger.info('%s app:access', Adapter.flavour);
if (canAccess) {
// skip the adapter if the user doesn't have access to it
const removed = metadata.filter(
meta => meta.flavour === currentFlavour

View File

@@ -9,7 +9,7 @@ import type {
} from '@affine/env/workspace';
import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models';
import { Schema, Workspace } from '@blocksuite/store';
import { afterEach, describe, expect, test } from 'vitest';
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
import {
createIndexedDBBackgroundProvider,
@@ -20,6 +20,10 @@ const schema = new Schema();
schema.register(AffineSchemas).register(__unstableSchemas);
beforeEach(() => {
vi.useFakeTimers({ toFake: ['requestIdleCallback'] });
});
afterEach(() => {
globalThis.localStorage.clear();
globalThis.indexedDB.deleteDatabase('affine-local');

View File

@@ -38,5 +38,5 @@
"react": "*",
"react-dom": "*"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -3,7 +3,7 @@
"type": "module",
"private": true,
"description": "Hello world plugin",
"version": "0.10.0",
"version": "0.10.2",
"scripts": {
"dev": "af dev",
"build": "af build"

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/image-preview-plugin",
"type": "module",
"version": "0.10.0",
"version": "0.10.2",
"description": "Image preview plugin",
"affinePlugin": {
"release": true,
@@ -18,7 +18,7 @@
"@affine/sdk": "workspace:*",
"@blocksuite/icons": "2.1.35",
"@toeverything/components": "^0.0.46",
"@toeverything/theme": "^0.7.20",
"@toeverything/theme": "^0.7.24",
"clsx": "^2.0.0",
"foxact": "^0.2.20",
"react-error-boundary": "^4.0.11",

View File

@@ -3,7 +3,7 @@
"type": "module",
"private": true,
"description": "Outline plugin",
"version": "0.10.0",
"version": "0.10.2",
"scripts": {
"dev": "af dev",
"build": "af build"

View File

@@ -3,7 +3,7 @@
"type": "module",
"private": true,
"description": "Vue hello world plugin",
"version": "0.10.0",
"version": "0.10.2",
"scripts": {
"dev": "af dev",
"build": "af build"

View File

@@ -9,5 +9,5 @@
"@affine-test/kit": "workspace:*",
"@playwright/test": "^1.39.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -11,5 +11,5 @@
"@types/fs-extra": "^11.0.2",
"fs-extra": "^11.1.1"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -12,5 +12,5 @@
"fs-extra": "^11.1.1",
"playwright": "^1.39.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -0,0 +1,4 @@
static
fixtures/*.ydoc
test-results
*.zip

View File

@@ -0,0 +1,12 @@
# AFFiNE Legacy 0.6.1-beta.1
This package is used to record legacy data of 0.6.1-beta.1.
Run following commands locally to record data to `tests/fixtures/legacy/0.6.1-beta.1`.
```sh
cd tests/affine-legacy/0.6.1-beta.1
yarn run unzip
yarn run e2e
```
If you want to debug, running `yarn run e2e --ui` is ok. Or using https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright is more better.

View File

@@ -0,0 +1,36 @@
import { patchDataEnhancement } from '@affine-test/kit/e2e-enhance/initializer';
import { SnapshotStorage } from '@affine-test/kit/e2e-enhance/snapshot';
import { test } from '@affine-test/kit/playwright';
import {
clickNewPageButton,
waitForEditorLoad,
} from '@affine-test/kit/utils/page-logic';
test.beforeEach(async ({ page }) => {
await patchDataEnhancement(page);
});
test('record 0.6.1-beta.1 legacy data', async ({ page }) => {
await page.goto('http://localhost:8081/');
await waitForEditorLoad(page);
await clickNewPageButton(page);
const locator = page.locator('v-line').nth(0);
await locator.fill('hello');
await page.keyboard.press('Enter');
await page.keyboard.type('TEST CONTENT', { delay: 50 });
const localStorageData = await page.evaluate(() =>
window.readAffineLocalStorage()
);
const { idbData, binaries } = await page.evaluate(() =>
window.readAffineDatabase()
);
const snapshotStorage = new SnapshotStorage('0.6.1-beta.1');
await snapshotStorage.write({
idbData,
localStorageData,
binaries,
});
});

View File

@@ -0,0 +1,22 @@
{
"name": "@affine-legacy/0.6.1-beta.1",
"description": "AFFiNE 0.6.1-beta.1 static output",
"scripts": {
"unzip": "wget -O static.zip https://github.com/toeverything/AFFiNE/releases/download/v0.6.1-beta.1/web-static.zip && unzip static.zip -d static",
"start": "yarn exec serve -s static -l 8081",
"e2e": "yarn playwright test"
},
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",
"serve": "^14.2.1"
},
"version": "0.10.2"
}

View File

@@ -0,0 +1,41 @@
import type {
PlaywrightTestConfig,
PlaywrightWorkerOptions,
} from '@playwright/test';
const config: PlaywrightTestConfig = {
testDir: './e2e',
fullyParallel: true,
timeout: process.env.CI ? 50_000 : 30_000,
use: {
baseURL: 'http://localhost:8081/',
browserName:
(process.env.BROWSER as PlaywrightWorkerOptions['browserName']) ??
'chromium',
permissions: ['clipboard-read', 'clipboard-write'],
viewport: { width: 1440, height: 800 },
actionTimeout: 5 * 1000,
locale: 'en-US',
trace: 'on-first-retry',
video: 'on-first-retry',
},
forbidOnly: !!process.env.CI,
workers: 4,
retries: 1,
reporter: process.env.CI ? 'github' : 'list',
webServer: [
{
command: 'yarn run start',
port: 8081,
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
],
};
if (process.env.CI) {
config.retries = 3;
config.workers = '50%';
}
export default config;

View File

@@ -0,0 +1,16 @@
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"esModuleInterop": true,
"outDir": "lib"
},
"include": ["e2e"],
"references": [
{
"path": "../../../tests/kit"
},
{
"path": "../../../tests/fixtures"
}
]
}

View File

@@ -9,14 +9,14 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",
"serve": "^14.2.1"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,14 +9,14 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",
"serve": "^14.2.1"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,14 +9,14 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",
"serve": "^14.2.1"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,5 +9,5 @@
"@affine-test/kit": "workspace:*",
"@playwright/test": "^1.39.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -120,3 +120,41 @@ test('v3 to v4, surface migration', async ({ page }) => {
expect(workspace.version).toBe(4);
}
});
test('v0 to v4, subdoc migration', async ({ page }) => {
await open404PageToInitData(page, '0.6.1-beta.1');
await page.goto(coreUrl);
await page.waitForTimeout(5000);
// go to all page
await clickSideBarAllPageButton(page);
// find if page name with "hello" exists and click it
await page
.locator('[data-testid="page-list-item-title-text"]:has-text("hello")')
.click();
await waitForEditorLoad(page);
// check if content is correct
expect(await page.locator('v-line').nth(0).textContent()).toBe('hello');
expect(await page.locator('v-line').nth(1).textContent()).toBe(
'TEST CONTENT'
);
// check edgeless mode is correct
await clickEdgelessModeButton(page);
await expect(page.locator('edgeless-toolbar')).toBeVisible();
await expect(page.locator('affine-edgeless-page')).toBeVisible();
const changedLocalStorageData = await page.evaluate(() =>
window.readAffineLocalStorage()
);
const workspaces = JSON.parse(
changedLocalStorageData['jotai-workspaces']
) as any[];
for (const workspace of workspaces) {
expect(workspace.version).toBe(4);
}
});

View File

@@ -7,11 +7,11 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@playwright/test": "^1.39.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -9,5 +9,5 @@
"@affine-test/kit": "workspace:*",
"@playwright/test": "^1.39.0"
},
"version": "0.10.0"
"version": "0.10.2"
}

Binary file not shown.

View File

@@ -0,0 +1,530 @@
[
{
"name": "affine-local",
"version": 1,
"stores": [
{
"name": "milestone",
"keyPath": "id",
"values": []
},
{
"name": "workspace",
"keyPath": "id",
"values": [
{
"id": "sdI1qQamsV",
"updates": [
{
"timestamp": 1699853753756,
"update": "__BINARY__1"
},
{
"timestamp": 1699853753757,
"update": "__BINARY__2"
},
{
"timestamp": 1699853753757,
"update": "__BINARY__3"
},
{
"timestamp": 1699853753757,
"update": "__BINARY__4"
},
{
"timestamp": 1699853753757,
"update": "__BINARY__5"
},
{
"timestamp": 1699853753757,
"update": "__BINARY__6"
},
{
"timestamp": 1699853753758,
"update": "__BINARY__7"
},
{
"timestamp": 1699853753758,
"update": "__BINARY__8"
},
{
"timestamp": 1699853753758,
"update": "__BINARY__9"
},
{
"timestamp": 1699853753759,
"update": "__BINARY__10"
},
{
"timestamp": 1699853753760,
"update": "__BINARY__11"
},
{
"timestamp": 1699853753760,
"update": "__BINARY__12"
},
{
"timestamp": 1699853753761,
"update": "__BINARY__13"
},
{
"timestamp": 1699853753762,
"update": "__BINARY__14"
},
{
"timestamp": 1699853753767,
"update": "__BINARY__15"
},
{
"timestamp": 1699853753768,
"update": "__BINARY__16"
},
{
"timestamp": 1699853753770,
"update": "__BINARY__17"
},
{
"timestamp": 1699853753770,
"update": "__BINARY__18"
},
{
"timestamp": 1699853753771,
"update": "__BINARY__19"
},
{
"timestamp": 1699853753772,
"update": "__BINARY__20"
},
{
"timestamp": 1699853753773,
"update": "__BINARY__21"
},
{
"timestamp": 1699853753774,
"update": "__BINARY__22"
},
{
"timestamp": 1699853753775,
"update": "__BINARY__23"
},
{
"timestamp": 1699853753776,
"update": "__BINARY__24"
},
{
"timestamp": 1699853753777,
"update": "__BINARY__25"
},
{
"timestamp": 1699853753778,
"update": "__BINARY__26"
},
{
"timestamp": 1699853753778,
"update": "__BINARY__27"
},
{
"timestamp": 1699853753779,
"update": "__BINARY__28"
},
{
"timestamp": 1699853753780,
"update": "__BINARY__29"
},
{
"timestamp": 1699853753781,
"update": "__BINARY__30"
},
{
"timestamp": 1699853753782,
"update": "__BINARY__31"
},
{
"timestamp": 1699853753783,
"update": "__BINARY__32"
},
{
"timestamp": 1699853753783,
"update": "__BINARY__33"
},
{
"timestamp": 1699853753784,
"update": "__BINARY__34"
},
{
"timestamp": 1699853753785,
"update": "__BINARY__35"
},
{
"timestamp": 1699853753786,
"update": "__BINARY__36"
},
{
"timestamp": 1699853753787,
"update": "__BINARY__37"
},
{
"timestamp": 1699853753787,
"update": "__BINARY__38"
},
{
"timestamp": 1699853753788,
"update": "__BINARY__39"
},
{
"timestamp": 1699853753789,
"update": "__BINARY__40"
},
{
"timestamp": 1699853753790,
"update": "__BINARY__41"
},
{
"timestamp": 1699853753791,
"update": "__BINARY__42"
},
{
"timestamp": 1699853753792,
"update": "__BINARY__43"
},
{
"timestamp": 1699853753793,
"update": "__BINARY__44"
},
{
"timestamp": 1699853753794,
"update": "__BINARY__45"
},
{
"timestamp": 1699853753794,
"update": "__BINARY__46"
},
{
"timestamp": 1699853753795,
"update": "__BINARY__47"
},
{
"timestamp": 1699853753796,
"update": "__BINARY__48"
},
{
"timestamp": 1699853753797,
"update": "__BINARY__49"
},
{
"timestamp": 1699853753798,
"update": "__BINARY__50"
},
{
"timestamp": 1699853753799,
"update": "__BINARY__51"
},
{
"timestamp": 1699853753800,
"update": "__BINARY__52"
},
{
"timestamp": 1699853753801,
"update": "__BINARY__53"
},
{
"timestamp": 1699853753802,
"update": "__BINARY__54"
},
{
"timestamp": 1699853753802,
"update": "__BINARY__55"
},
{
"timestamp": 1699853753803,
"update": "__BINARY__56"
},
{
"timestamp": 1699853753804,
"update": "__BINARY__57"
},
{
"timestamp": 1699853753805,
"update": "__BINARY__58"
},
{
"timestamp": 1699853753806,
"update": "__BINARY__59"
},
{
"timestamp": 1699853753807,
"update": "__BINARY__60"
},
{
"timestamp": 1699853753807,
"update": "__BINARY__61"
},
{
"timestamp": 1699853753808,
"update": "__BINARY__62"
},
{
"timestamp": 1699853753809,
"update": "__BINARY__63"
},
{
"timestamp": 1699853753810,
"update": "__BINARY__64"
},
{
"timestamp": 1699853753811,
"update": "__BINARY__65"
},
{
"timestamp": 1699853753811,
"update": "__BINARY__66"
},
{
"timestamp": 1699853753812,
"update": "__BINARY__67"
},
{
"timestamp": 1699853753813,
"update": "__BINARY__68"
},
{
"timestamp": 1699853753814,
"update": "__BINARY__69"
},
{
"timestamp": 1699853753815,
"update": "__BINARY__70"
},
{
"timestamp": 1699853753816,
"update": "__BINARY__71"
},
{
"timestamp": 1699853753817,
"update": "__BINARY__72"
},
{
"timestamp": 1699853753818,
"update": "__BINARY__73"
},
{
"timestamp": 1699853753818,
"update": "__BINARY__74"
},
{
"timestamp": 1699853753819,
"update": "__BINARY__75"
},
{
"timestamp": 1699853753820,
"update": "__BINARY__76"
},
{
"timestamp": 1699853754053,
"update": "__BINARY__77"
},
{
"timestamp": 1699853755314,
"update": "__BINARY__78"
},
{
"timestamp": 1699853755516,
"update": "__BINARY__79"
},
{
"timestamp": 1699853755920,
"update": "__BINARY__80"
},
{
"timestamp": 1699853755921,
"update": "__BINARY__81"
},
{
"timestamp": 1699853755922,
"update": "__BINARY__82"
},
{
"timestamp": 1699853755923,
"update": "__BINARY__83"
},
{
"timestamp": 1699853755924,
"update": "__BINARY__84"
},
{
"timestamp": 1699853755925,
"update": "__BINARY__85"
},
{
"timestamp": 1699853755926,
"update": "__BINARY__86"
},
{
"timestamp": 1699853755930,
"update": "__BINARY__87"
},
{
"timestamp": 1699853755932,
"update": "__BINARY__88"
},
{
"timestamp": 1699853755933,
"update": "__BINARY__89"
},
{
"timestamp": 1699853755934,
"update": "__BINARY__90"
},
{
"timestamp": 1699853755935,
"update": "__BINARY__91"
},
{
"timestamp": 1699853756122,
"update": "__BINARY__92"
},
{
"timestamp": 1699853756123,
"update": "__BINARY__93"
},
{
"timestamp": 1699853756124,
"update": "__BINARY__94"
},
{
"timestamp": 1699853756125,
"update": "__BINARY__95"
},
{
"timestamp": 1699853756129,
"update": "__BINARY__96"
},
{
"timestamp": 1699853756130,
"update": "__BINARY__97"
},
{
"timestamp": 1699853756131,
"update": "__BINARY__98"
},
{
"timestamp": 1699853756132,
"update": "__BINARY__99"
},
{
"timestamp": 1699853756134,
"update": "__BINARY__100"
},
{
"timestamp": 1699853756135,
"update": "__BINARY__101"
},
{
"timestamp": 1699853756146,
"update": "__BINARY__102"
},
{
"timestamp": 1699853756154,
"update": "__BINARY__103"
},
{
"timestamp": 1699853756155,
"update": "__BINARY__104"
},
{
"timestamp": 1699853756158,
"update": "__BINARY__105"
},
{
"timestamp": 1699853756161,
"update": "__BINARY__106"
},
{
"timestamp": 1699853756162,
"update": "__BINARY__107"
},
{
"timestamp": 1699853756163,
"update": "__BINARY__108"
},
{
"timestamp": 1699853756164,
"update": "__BINARY__109"
},
{
"timestamp": 1699853756165,
"update": "__BINARY__110"
},
{
"timestamp": 1699853756212,
"update": "__BINARY__111"
},
{
"timestamp": 1699853756266,
"update": "__BINARY__112"
},
{
"timestamp": 1699853756321,
"update": "__BINARY__113"
},
{
"timestamp": 1699853756375,
"update": "__BINARY__114"
},
{
"timestamp": 1699853756435,
"update": "__BINARY__115"
},
{
"timestamp": 1699853756490,
"update": "__BINARY__116"
},
{
"timestamp": 1699853756546,
"update": "__BINARY__117"
},
{
"timestamp": 1699853756607,
"update": "__BINARY__118"
},
{
"timestamp": 1699853756672,
"update": "__BINARY__119"
},
{
"timestamp": 1699853756734,
"update": "__BINARY__120"
},
{
"timestamp": 1699853756806,
"update": "__BINARY__121"
}
]
}
]
}
]
},
{
"name": "page-view",
"version": 1,
"stores": [
{
"name": "view",
"keyPath": "id",
"values": []
}
]
},
{
"name": "sdI1qQamsV_blob",
"version": 1,
"stores": [
{
"name": "blob",
"keyPath": null,
"values": []
}
]
}
]

View File

@@ -0,0 +1,607 @@
[
{
"name": "__BINARY__1",
"start": 0,
"end": 189
},
{
"name": "__BINARY__2",
"start": 189,
"end": 251
},
{
"name": "__BINARY__3",
"start": 251,
"end": 564
},
{
"name": "__BINARY__4",
"start": 564,
"end": 626
},
{
"name": "__BINARY__5",
"start": 626,
"end": 923
},
{
"name": "__BINARY__6",
"start": 923,
"end": 985
},
{
"name": "__BINARY__7",
"start": 985,
"end": 1280
},
{
"name": "__BINARY__8",
"start": 1280,
"end": 1342
},
{
"name": "__BINARY__9",
"start": 1342,
"end": 126036
},
{
"name": "__BINARY__10",
"start": 126036,
"end": 126099
},
{
"name": "__BINARY__11",
"start": 126099,
"end": 126402
},
{
"name": "__BINARY__12",
"start": 126402,
"end": 126467
},
{
"name": "__BINARY__13",
"start": 126467,
"end": 126769
},
{
"name": "__BINARY__14",
"start": 126769,
"end": 126834
},
{
"name": "__BINARY__15",
"start": 126834,
"end": 127137
},
{
"name": "__BINARY__16",
"start": 127137,
"end": 127202
},
{
"name": "__BINARY__17",
"start": 127202,
"end": 127504
},
{
"name": "__BINARY__18",
"start": 127504,
"end": 127569
},
{
"name": "__BINARY__19",
"start": 127569,
"end": 127873
},
{
"name": "__BINARY__20",
"start": 127873,
"end": 127938
},
{
"name": "__BINARY__21",
"start": 127938,
"end": 128261
},
{
"name": "__BINARY__22",
"start": 128261,
"end": 128326
},
{
"name": "__BINARY__23",
"start": 128326,
"end": 128647
},
{
"name": "__BINARY__24",
"start": 128647,
"end": 128712
},
{
"name": "__BINARY__25",
"start": 128712,
"end": 129034
},
{
"name": "__BINARY__26",
"start": 129034,
"end": 129099
},
{
"name": "__BINARY__27",
"start": 129099,
"end": 129370
},
{
"name": "__BINARY__28",
"start": 129370,
"end": 129435
},
{
"name": "__BINARY__29",
"start": 129435,
"end": 129895
},
{
"name": "__BINARY__30",
"start": 129895,
"end": 129960
},
{
"name": "__BINARY__31",
"start": 129960,
"end": 130307
},
{
"name": "__BINARY__32",
"start": 130307,
"end": 130372
},
{
"name": "__BINARY__33",
"start": 130372,
"end": 130738
},
{
"name": "__BINARY__34",
"start": 130738,
"end": 130803
},
{
"name": "__BINARY__35",
"start": 130803,
"end": 131698
},
{
"name": "__BINARY__36",
"start": 131698,
"end": 131763
},
{
"name": "__BINARY__37",
"start": 131763,
"end": 131916
},
{
"name": "__BINARY__38",
"start": 131916,
"end": 131981
},
{
"name": "__BINARY__39",
"start": 131981,
"end": 132435
},
{
"name": "__BINARY__40",
"start": 132435,
"end": 132500
},
{
"name": "__BINARY__41",
"start": 132500,
"end": 132730
},
{
"name": "__BINARY__42",
"start": 132730,
"end": 132795
},
{
"name": "__BINARY__43",
"start": 132795,
"end": 133172
},
{
"name": "__BINARY__44",
"start": 133172,
"end": 133237
},
{
"name": "__BINARY__45",
"start": 133237,
"end": 133466
},
{
"name": "__BINARY__46",
"start": 133466,
"end": 133531
},
{
"name": "__BINARY__47",
"start": 133531,
"end": 133935
},
{
"name": "__BINARY__48",
"start": 133935,
"end": 134000
},
{
"name": "__BINARY__49",
"start": 134000,
"end": 134228
},
{
"name": "__BINARY__50",
"start": 134228,
"end": 134293
},
{
"name": "__BINARY__51",
"start": 134293,
"end": 134626
},
{
"name": "__BINARY__52",
"start": 134626,
"end": 134691
},
{
"name": "__BINARY__53",
"start": 134691,
"end": 134921
},
{
"name": "__BINARY__54",
"start": 134921,
"end": 134986
},
{
"name": "__BINARY__55",
"start": 134986,
"end": 135372
},
{
"name": "__BINARY__56",
"start": 135372,
"end": 135437
},
{
"name": "__BINARY__57",
"start": 135437,
"end": 135679
},
{
"name": "__BINARY__58",
"start": 135679,
"end": 135744
},
{
"name": "__BINARY__59",
"start": 135744,
"end": 136129
},
{
"name": "__BINARY__60",
"start": 136129,
"end": 136194
},
{
"name": "__BINARY__61",
"start": 136194,
"end": 136417
},
{
"name": "__BINARY__62",
"start": 136417,
"end": 136482
},
{
"name": "__BINARY__63",
"start": 136482,
"end": 136758
},
{
"name": "__BINARY__64",
"start": 136758,
"end": 136823
},
{
"name": "__BINARY__65",
"start": 136823,
"end": 137319
},
{
"name": "__BINARY__66",
"start": 137319,
"end": 137384
},
{
"name": "__BINARY__67",
"start": 137384,
"end": 137538
},
{
"name": "__BINARY__68",
"start": 137538,
"end": 137603
},
{
"name": "__BINARY__69",
"start": 137603,
"end": 139400
},
{
"name": "__BINARY__70",
"start": 139400,
"end": 139465
},
{
"name": "__BINARY__71",
"start": 139465,
"end": 139692
},
{
"name": "__BINARY__72",
"start": 139692,
"end": 139757
},
{
"name": "__BINARY__73",
"start": 139757,
"end": 139980
},
{
"name": "__BINARY__74",
"start": 139980,
"end": 140045
},
{
"name": "__BINARY__75",
"start": 140045,
"end": 140266
},
{
"name": "__BINARY__76",
"start": 140266,
"end": 140331
},
{
"name": "__BINARY__77",
"start": 140331,
"end": 278777
},
{
"name": "__BINARY__78",
"start": 278777,
"end": 278804
},
{
"name": "__BINARY__79",
"start": 278804,
"end": 417260
},
{
"name": "__BINARY__80",
"start": 417260,
"end": 417300
},
{
"name": "__BINARY__81",
"start": 417300,
"end": 417388
},
{
"name": "__BINARY__82",
"start": 417388,
"end": 417475
},
{
"name": "__BINARY__83",
"start": 417475,
"end": 417565
},
{
"name": "__BINARY__84",
"start": 417565,
"end": 417655
},
{
"name": "__BINARY__85",
"start": 417655,
"end": 417743
},
{
"name": "__BINARY__86",
"start": 417743,
"end": 417832
},
{
"name": "__BINARY__87",
"start": 417832,
"end": 417922
},
{
"name": "__BINARY__88",
"start": 417922,
"end": 418014
},
{
"name": "__BINARY__89",
"start": 418014,
"end": 418103
},
{
"name": "__BINARY__90",
"start": 418103,
"end": 418193
},
{
"name": "__BINARY__91",
"start": 418193,
"end": 418230
},
{
"name": "__BINARY__92",
"start": 418230,
"end": 418344
},
{
"name": "__BINARY__93",
"start": 418344,
"end": 418493
},
{
"name": "__BINARY__94",
"start": 418493,
"end": 418523
},
{
"name": "__BINARY__95",
"start": 418523,
"end": 418676
},
{
"name": "__BINARY__96",
"start": 418676,
"end": 418706
},
{
"name": "__BINARY__97",
"start": 418706,
"end": 418979
},
{
"name": "__BINARY__98",
"start": 418979,
"end": 419009
},
{
"name": "__BINARY__99",
"start": 419009,
"end": 419210
},
{
"name": "__BINARY__100",
"start": 419210,
"end": 419240
},
{
"name": "__BINARY__101",
"start": 419240,
"end": 419281
},
{
"name": "__BINARY__102",
"start": 419281,
"end": 419323
},
{
"name": "__BINARY__103",
"start": 419323,
"end": 419360
},
{
"name": "__BINARY__104",
"start": 419360,
"end": 419397
},
{
"name": "__BINARY__105",
"start": 419397,
"end": 419438
},
{
"name": "__BINARY__106",
"start": 419438,
"end": 419473
},
{
"name": "__BINARY__107",
"start": 419473,
"end": 419673
},
{
"name": "__BINARY__108",
"start": 419673,
"end": 419708
},
{
"name": "__BINARY__109",
"start": 419708,
"end": 419729
},
{
"name": "__BINARY__110",
"start": 419729,
"end": 419772
},
{
"name": "__BINARY__111",
"start": 419772,
"end": 419792
},
{
"name": "__BINARY__112",
"start": 419792,
"end": 419812
},
{
"name": "__BINARY__113",
"start": 419812,
"end": 419832
},
{
"name": "__BINARY__114",
"start": 419832,
"end": 419852
},
{
"name": "__BINARY__115",
"start": 419852,
"end": 419872
},
{
"name": "__BINARY__116",
"start": 419872,
"end": 419892
},
{
"name": "__BINARY__117",
"start": 419892,
"end": 419912
},
{
"name": "__BINARY__118",
"start": 419912,
"end": 419932
},
{
"name": "__BINARY__119",
"start": 419932,
"end": 419952
},
{
"name": "__BINARY__120",
"start": 419952,
"end": 419972
},
{
"name": "__BINARY__121",
"start": 419972,
"end": 419992
}
]

View File

@@ -0,0 +1,7 @@
{
"jotai-workspaces": "[{\"id\":\"sdI1qQamsV\",\"flavour\":\"local\"}]",
"last_page_id": "-RlV_W_Ey1",
"last_workspace_id": "sdI1qQamsV",
"affine-local-workspace": "[\"sdI1qQamsV\"]",
"is-first-open": "false"
}

View File

@@ -3,5 +3,5 @@
"exports": {
"./*": "./*"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -2,7 +2,7 @@
"name": "@affine-test/kit",
"private": true,
"type": "module",
"version": "0.10.0",
"version": "0.10.2",
"exports": {
"./electron": "./electron.ts",
"./playwright": "./playwright.ts",

View File

@@ -32,13 +32,13 @@
"wait-on": "^7.0.1"
},
"devDependencies": {
"@blocksuite/block-std": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/blocks": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/editor": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/global": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/block-std": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/blocks": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/editor": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/global": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/icons": "2.1.35",
"@blocksuite/lit": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/store": "0.0.0-20231110042432-4fdac4dc-nightly",
"@blocksuite/lit": "0.0.0-20231116023037-31273bb7-nightly",
"@blocksuite/store": "0.0.0-20231116023037-31273bb7-nightly",
"@dnd-kit/sortable": "^7.0.2",
"@tomfreudenberg/next-auth-mock": "^0.5.6",
"chromatic": "^7.4.0",
@@ -57,5 +57,5 @@
"@blocksuite/lit": "*",
"@blocksuite/store": "*"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -7,5 +7,5 @@
"@affine/env": "workspace:*",
"@toeverything/infra": "workspace:*"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -22,5 +22,5 @@
"peerDependencies": {
"ts-node": "*"
},
"version": "0.10.0"
"version": "0.10.2"
}

View File

@@ -1,7 +1,7 @@
{
"name": "@affine/plugin-cli",
"type": "module",
"version": "0.10.0",
"version": "0.10.2",
"bin": {
"af": "./src/af.mjs"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@affine/workers",
"version": "0.10.0",
"version": "0.10.2",
"private": true,
"scripts": {
"dev": "wrangler dev"

View File

@@ -190,6 +190,9 @@
{
"path": "./tests/affine-legacy/0.8.4"
},
{
"path": "./tests/affine-legacy/0.6.1-beta.1"
},
// Others
{
"path": "./tsconfig.node.json"

248
yarn.lock
View File

@@ -19,16 +19,33 @@ __metadata:
languageName: node
linkType: hard
"@affine-legacy/0.6.1-beta.1@workspace:tests/affine-legacy/0.6.1-beta.1":
version: 0.0.0-use.local
resolution: "@affine-legacy/0.6.1-beta.1@workspace:tests/affine-legacy/0.6.1-beta.1"
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
serve: "npm:^14.2.1"
languageName: unknown
linkType: soft
"@affine-legacy/0.7.0-canary.18@workspace:tests/affine-legacy/0.7.0-canary.18":
version: 0.0.0-use.local
resolution: "@affine-legacy/0.7.0-canary.18@workspace:tests/affine-legacy/0.7.0-canary.18"
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -42,10 +59,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -59,10 +76,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -121,10 +138,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@playwright/test": "npm:^1.39.0"
languageName: unknown
linkType: soft
@@ -195,12 +212,12 @@ __metadata:
"@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*"
"@affine/workspace": "workspace:*"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/icons": "npm:2.1.35"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@dnd-kit/core": "npm:^6.0.8"
"@dnd-kit/modifiers": "npm:^6.0.1"
"@dnd-kit/sortable": "npm:^7.0.2"
@@ -224,7 +241,7 @@ __metadata:
"@testing-library/react": "npm:^14.0.0"
"@toeverything/hooks": "workspace:*"
"@toeverything/infra": "workspace:*"
"@toeverything/theme": "npm:^0.7.20"
"@toeverything/theme": "npm:^0.7.24"
"@types/bytes": "npm:^3.1.3"
"@types/react": "npm:^18.2.28"
"@types/react-datepicker": "npm:^4.19.0"
@@ -312,13 +329,13 @@ __metadata:
"@affine/templates": "workspace:*"
"@affine/workspace": "workspace:*"
"@aws-sdk/client-s3": "npm:3.433.0"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/icons": "npm:2.1.35"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@dnd-kit/core": "npm:^6.0.8"
"@dnd-kit/sortable": "npm:^7.0.2"
"@emotion/cache": "npm:^11.11.0"
@@ -407,10 +424,10 @@ __metadata:
"@affine/sdk": "workspace:*"
"@affine/templates": "workspace:*"
"@affine/vue-hello-world-plugin": "workspace:*"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@electron-forge/cli": "npm:^6.4.2"
"@electron-forge/core": "npm:^6.4.2"
"@electron-forge/core-utils": "npm:^6.4.2"
@@ -427,7 +444,7 @@ __metadata:
builder-util-runtime: "npm:^9.2.1"
cross-env: "npm:^7.0.3"
electron: "npm:^27.0.0"
electron-log: "npm:^5.0.0-rc.1"
electron-log: "npm:^5.0.0"
electron-squirrel-startup: "npm:1.0.0"
electron-updater: "npm:^6.1.5"
electron-window-state: "npm:^5.0.3"
@@ -457,8 +474,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@affine/env@workspace:packages/common/env"
dependencies:
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
lit: "npm:^3.0.2"
react: "npm:18.2.0"
react-dom: "npm:18.2.0"
@@ -524,7 +541,7 @@ __metadata:
"@affine/sdk": "workspace:*"
"@blocksuite/icons": "npm:2.1.35"
"@toeverything/components": "npm:^0.0.46"
"@toeverything/theme": "npm:^0.7.20"
"@toeverything/theme": "npm:^0.7.24"
clsx: "npm:^2.0.0"
foxact: "npm:^0.2.20"
react-error-boundary: "npm:^4.0.11"
@@ -654,11 +671,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "@affine/sdk@workspace:packages/common/sdk"
dependencies:
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
jotai: "npm:^2.4.3"
vite: "npm:^4.4.11"
vite-plugin-dts: "npm:3.6.0"
@@ -777,13 +794,13 @@ __metadata:
dependencies:
"@affine/component": "workspace:*"
"@affine/i18n": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/icons": "npm:2.1.35"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@dnd-kit/sortable": "npm:^7.0.2"
"@mui/material": "npm:^5.14.14"
"@storybook/addon-actions": "npm:^7.4.6"
@@ -3480,29 +3497,29 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/block-std@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/block-std@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/block-std@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
lz-string: "npm:^1.5.0"
w3c-keyname: "npm:^2.2.8"
zod: "npm:^3.22.4"
peerDependencies:
"@blocksuite/store": 0.0.0-20231110042432-4fdac4dc-nightly
checksum: be3e5b26a3c4ba353ad9f286fb873bf61506bf4f59b9d9439fe53db4528985ab0600223eda66094feeca354f31395cae0f28302058d67e88a7bd8bb61fad96b6
"@blocksuite/store": 0.0.0-20231116023037-31273bb7-nightly
checksum: 1d246f4a7b4c8f5662c3536fd5da1087264b5b363f8c9ede7187ef28162ae0bb52af746f156906e69aa487876fd624b4f6ab5828ae7de77d06aba05e59a11567
languageName: node
linkType: hard
"@blocksuite/blocks@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/blocks@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/blocks@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@floating-ui/dom": "npm:^1.5.3"
"@toeverything/theme": "npm:^0.7.24"
"@types/webfontloader": "npm:^1.6.36"
@@ -3520,30 +3537,30 @@ __metadata:
sortablejs: "npm:^1.15.0"
webfontloader: "npm:^1.6.28"
zod: "npm:^3.22.4"
checksum: a70b0f8eadd0346e7b9753ca5d76368d075c15b7f0fde49ba1748ebcc7433c4c48cc3fe973da453167b8ccce73e90b6ce13f4a57bcf77d6bb626aebc7fe7e679
checksum: c08f62c95fd18b00e98a0bac2893a0d02514f3a49d379ca6dd26fa0170a0699abfd6c00676db735d9c9313edfb62ee19802dd237790557aee7c60521ebe4d2d2
languageName: node
linkType: hard
"@blocksuite/editor@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/editor@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/editor@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@toeverything/theme": "npm:^0.7.21"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@toeverything/theme": "npm:^0.7.24"
lit: "npm:^3.0.2"
checksum: 711fa65dfcaa2734904abd633c6f7dabc7bdc8f98685fe09292e56a41ee14e445c0317d609440c7d61789117c1d3f2cde466bbd041c7c3e9af54b85a55683813
checksum: 5aa2cd370c8237a9a22a0ff7c2bd2bb49cb77a1193bd2e30b3b8ea90144c060d61d4e8914bb6e95aa52f06606aafb9b24e6b1cf18cfc5b2a546e2e0195948c47
languageName: node
linkType: hard
"@blocksuite/global@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/global@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/global@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
zod: "npm:^3.22.4"
checksum: 6814e09168fab38222961140ac98870d9a7a74cc19d2d62fd1cc79d01c870ad3e73811df83fbc5725ca8b9cc81390b78238f8aa7abac4295e29babd4564db9ea
checksum: 0a8a0c9b2cc880dea28184d928dcadebff816fb70658df5e2eac09b23c49a062b05c02393f735036d206ecfae32d8723a442dc011fff4b5121854b3e7b838527
languageName: node
linkType: hard
@@ -3557,26 +3574,26 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/lit@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/lit@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/lit@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231116023037-31273bb7-nightly"
lit: "npm:^3.0.2"
peerDependencies:
"@blocksuite/block-std": 0.0.0-20231110042432-4fdac4dc-nightly
"@blocksuite/store": 0.0.0-20231110042432-4fdac4dc-nightly
checksum: 4f309d853a2dc7f2eabf84b9b43189b2ed2e5ecf87926aab951c6e284f8ec259756c1d638694081f010e497521bae9c12c7322f921093473a53dbaf3546dd31b
"@blocksuite/block-std": 0.0.0-20231116023037-31273bb7-nightly
"@blocksuite/store": 0.0.0-20231116023037-31273bb7-nightly
checksum: 4e728c508d37c73f2206db4bfec528f7681ec2a16ee3cc86a8a6dadba8223a37dd8c9caf5a340c8c86df9a5acd8a3b155c4404190fcfceb01a8e1dcd735cdf6f
languageName: node
linkType: hard
"@blocksuite/store@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/store@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/store@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/virgo": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@types/flexsearch": "npm:^0.7.3"
"@types/mdast": "npm:^4.0.2"
buffer: "npm:^6.0.3"
@@ -3595,20 +3612,20 @@ __metadata:
peerDependencies:
async-call-rpc: ^6
yjs: ^13
checksum: 201a35f96373e93c6d2938a17dae8a8ab8ad64d10f8cdf2de8a8c4f66e0569b2fa41ba8a0708caa1d7fc4e3f46acd1983799d5d825cf1341a79b2b1ef21fc459
checksum: e8adf95d3c0aec3e65ed32839f5c17fc5337b46f293ff46e827d78ace264948360a4801093175579caa4cd4656c86f379ff3366441ec8dc7e8f2680b901eaef7
languageName: node
linkType: hard
"@blocksuite/virgo@npm:0.0.0-20231110042432-4fdac4dc-nightly":
version: 0.0.0-20231110042432-4fdac4dc-nightly
resolution: "@blocksuite/virgo@npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/virgo@npm:0.0.0-20231116023037-31273bb7-nightly":
version: 0.0.0-20231116023037-31273bb7-nightly
resolution: "@blocksuite/virgo@npm:0.0.0-20231116023037-31273bb7-nightly"
dependencies:
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
zod: "npm:^3.22.4"
peerDependencies:
lit: ^3.0.2
yjs: ^13
checksum: 2adba2f970b3b6964e2dc77ffbd19864aece2a32bd8807d53dc17cf942fcc7fe1e39e367ec9281a7d63c94a1788fb27ef3822a64a9b2efcd2be3ae25173c47ce
checksum: a12085ef5440e7db671293aca05c91f8cdb2d5fbac1650ab996754e17c5869f85845fedf06bd50948c1be66a5ce39b338cbca79a7fd86890179321b471868fc0
languageName: node
linkType: hard
@@ -12579,12 +12596,12 @@ __metadata:
dependencies:
"@affine/debug": "workspace:*"
"@affine/env": "workspace:*"
"@blocksuite/block-std": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/block-std": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@testing-library/react": "npm:^14.0.0"
"@types/image-blob-reduce": "npm:^4.1.3"
"@types/lodash.debounce": "npm:^4.0.7"
@@ -12634,11 +12651,11 @@ __metadata:
"@affine-test/fixtures": "workspace:*"
"@affine/sdk": "workspace:*"
"@affine/templates": "workspace:*"
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/editor": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/global": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/lit": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/editor": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/global": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/lit": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@testing-library/react": "npm:^14.0.0"
async-call-rpc: "npm:^6.3.1"
electron: "link:../../frontend/electron/node_modules/electron"
@@ -12679,13 +12696,6 @@ __metadata:
languageName: unknown
linkType: soft
"@toeverything/theme@npm:^0.7.20, @toeverything/theme@npm:^0.7.21":
version: 0.7.23
resolution: "@toeverything/theme@npm:0.7.23"
checksum: 1576abae43677fff5c9a88aea5c5755db7e07cb397daf3eb3bdfd5629350b066d8ddc1b9922b0c773774a7fed465c45e1bfebe6b809c6fa609d75017f40743ab
languageName: node
linkType: hard
"@toeverything/theme@npm:^0.7.24":
version: 0.7.24
resolution: "@toeverything/theme@npm:0.7.24"
@@ -12697,8 +12707,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@toeverything/y-indexeddb@workspace:packages/common/y-indexeddb"
dependencies:
"@blocksuite/blocks": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/blocks": "npm:0.0.0-20231116023037-31273bb7-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
fake-indexeddb: "npm:^5.0.0"
idb: "npm:^7.1.1"
nanoid: "npm:^5.0.1"
@@ -19152,10 +19162,10 @@ __metadata:
languageName: node
linkType: hard
"electron-log@npm:^5.0.0-rc.1":
version: 5.0.0-rc.1
resolution: "electron-log@npm:5.0.0-rc.1"
checksum: f4ec437197ec5801a325e062c19f182a14eba960ee683034bfea5854efe452cfa91985b7f7ab159599c8264fde869f7101d4e82303231865a6b7c8e621815f87
"electron-log@npm:^5.0.0":
version: 5.0.0
resolution: "electron-log@npm:5.0.0"
checksum: 23b14119a5753be24880e7466ee80ae1386f9df4123ed59bc8f4426a814c728875b07de13bf0729cba7202888fcd6230375e2b5302cee0d0c5f25584d9db3334
languageName: node
linkType: hard
@@ -35744,7 +35754,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "y-provider@workspace:packages/common/y-provider"
dependencies:
"@blocksuite/store": "npm:0.0.0-20231110042432-4fdac4dc-nightly"
"@blocksuite/store": "npm:0.0.0-20231116023037-31273bb7-nightly"
vite: "npm:^4.4.11"
vite-plugin-dts: "npm:3.6.0"
vitest: "npm:0.34.6"