Compare commits

..

9 Commits

Author SHA1 Message Date
CatsJuice
5e8fe28326 chore(core): replace ai onboarding videos (#6730) 2024-04-29 07:07:43 +00:00
pengx17
964e475c5f chore: bump @pengx17/electron-forge-maker-appimage (#6726)
fix https://github.com/toeverything/AFFiNE/issues/6722
add `--no-sandbox --disable-setuid-sandbox` to appimage run
2024-04-29 04:57:52 +00:00
pengx17
905d7d18e4 chore: bump blocksuite (#6725) 2024-04-29 04:57:46 +00:00
Brooooooklyn
81729703d9 chore(server): use native file-type implementation (#6686) 2024-04-29 04:46:26 +00:00
EYHN
f98db24391 fix(core): fix opt out telemetry cause error (#6723) 2024-04-29 04:03:31 +00:00
EYHN
704532bd2f fix(core): adjust notify style (#6724) 2024-04-29 03:51:41 +00:00
CatsJuice
8d342f85ad fix(core): workspace avatar hover radius (#6717) 2024-04-29 02:27:21 +00:00
Brooooooklyn
fed2503782 refactor(server): rename @affine/storage to @affine/server-native (#6682)
- Close https://github.com/toeverything/AFFiNE/issues/6680
2024-04-29 02:14:20 +00:00
EYHN
236c6e00df fix(infra): reduce workspace avatar request (#6713) 2024-04-28 07:06:27 +00:00
56 changed files with 230 additions and 255 deletions

View File

@@ -9,10 +9,10 @@ corepack prepare yarn@stable --activate
yarn install
# Build Server Dependencies
yarn workspace @affine/storage build
yarn workspace @affine/server-native build
# Create database
yarn workspace @affine/server prisma db push
# Create user username: affine, password: affine
echo "INSERT INTO \"users\"(\"id\",\"name\",\"email\",\"email_verified\",\"created_at\",\"password\") VALUES('99f3ad04-7c9b-441e-a6db-79f73aa64db9','affine','affine@affine.pro','2024-02-26 15:54:16.974','2024-02-26 15:54:16.974+00','\$argon2id\$v=19\$m=19456,t=2,p=1\$esDS3QCHRH0Kmeh87YPm5Q\$9S+jf+xzw2Hicj6nkWltvaaaXX3dQIxAFwCfFa9o38A');" | yarn workspace @affine/server prisma db execute --stdin
echo "INSERT INTO \"users\"(\"id\",\"name\",\"email\",\"email_verified\",\"created_at\",\"password\") VALUES('99f3ad04-7c9b-441e-a6db-79f73aa64db9','affine','affine@affine.pro','2024-02-26 15:54:16.974','2024-02-26 15:54:16.974+00','\$argon2id\$v=19\$m=19456,t=2,p=1\$esDS3QCHRH0Kmeh87YPm5Q\$9S+jf+xzw2Hicj6nkWltvaaaXX3dQIxAFwCfFa9o38A');" | yarn workspace @affine/server prisma db execute --stdin

4
.github/labeler.yml vendored
View File

@@ -44,10 +44,10 @@ mod:component:
- any-glob-to-any-file:
- 'packages/frontend/component/**/*'
mod:storage:
mod:server-native:
- changed-files:
- any-glob-to-any-file:
- 'packages/backend/storage/**/*'
- 'packages/backend/native/**/*'
mod:native:
- changed-files:

View File

@@ -66,18 +66,18 @@ jobs:
path: ./packages/frontend/web/dist
if-no-files-found: error
build-storage:
name: Build Storage - ${{ matrix.targets.name }}
build-server-native:
name: Build Server native - ${{ matrix.targets.name }}
runs-on: ubuntu-latest
strategy:
matrix:
targets:
- name: x86_64-unknown-linux-gnu
file: storage.node
file: server-native.node
- name: aarch64-unknown-linux-gnu
file: storage.arm64.node
file: server-native.arm64.node
- name: armv7-unknown-linux-gnueabihf
file: storage.armv7.node
file: server-native.armv7.node
steps:
- uses: actions/checkout@v4
@@ -88,18 +88,18 @@ jobs:
uses: ./.github/actions/setup-node
with:
electron-install: false
extra-flags: workspaces focus @affine/storage
extra-flags: workspaces focus @affine/server-native
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: ${{ matrix.targets.name }}
package: '@affine/storage'
package: '@affine/server-native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload ${{ matrix.targets.file }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.targets.file }}
path: ./packages/backend/storage/storage.node
path: ./packages/backend/native/server-native.node
if-no-files-found: error
build-docker:
@@ -108,7 +108,7 @@ jobs:
needs:
- build-server
- build-web-selfhost
- build-storage
- build-server-native
steps:
- uses: actions/checkout@v4
- name: Download server dist
@@ -116,25 +116,25 @@ jobs:
with:
name: server-dist
path: ./packages/backend/server/dist
- name: Download storage.node
- name: Download server-native.node
uses: actions/download-artifact@v4
with:
name: storage.node
name: server-native.node
path: ./packages/backend/server
- name: Download storage.node arm64
- name: Download server-native.node arm64
uses: actions/download-artifact@v4
with:
name: storage.arm64.node
path: ./packages/backend/storage
- name: Download storage.node arm64
name: server-native.arm64.node
path: ./packages/backend/native
- name: Download server-native.node arm64
uses: actions/download-artifact@v4
with:
name: storage.armv7.node
name: server-native.armv7.node
path: .
- name: move storage files
- name: move server-native files
run: |
mv ./packages/backend/storage/storage.node ./packages/backend/server/storage.arm64.node
mv storage.node ./packages/backend/server/storage.armv7.node
mv ./packages/backend/native/server-native.node ./packages/backend/server/server-native.arm64.node
mv server-native.node ./packages/backend/server/server-native.armv7.node
- name: Setup env
run: |
echo "GIT_SHORT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV"

View File

@@ -241,8 +241,8 @@ jobs:
path: ./packages/frontend/native/${{ steps.filename.outputs.filename }}
if-no-files-found: error
build-storage:
name: Build Storage
build-server-native:
name: Build Server native
runs-on: ubuntu-latest
env:
CARGO_PROFILE_RELEASE_DEBUG: '1'
@@ -251,19 +251,19 @@ jobs:
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/storage
extra-flags: workspaces focus @affine/server-native
electron-install: false
- name: Build Rust
uses: ./.github/actions/build-rust
with:
target: 'x86_64-unknown-linux-gnu'
package: '@affine/storage'
package: '@affine/server-native'
nx_token: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
- name: Upload storage.node
- name: Upload server-native.node
uses: actions/upload-artifact@v4
with:
name: storage.node
path: ./packages/backend/storage/storage.node
name: server-native.node
path: ./packages/backend/native/server-native.node
if-no-files-found: error
build-web:
@@ -294,7 +294,7 @@ jobs:
server-test:
name: Server Test
runs-on: ubuntu-latest
needs: build-storage
needs: build-server-native
env:
NODE_ENV: test
DISTRIBUTION: browser
@@ -324,10 +324,10 @@ jobs:
electron-install: false
full-cache: true
- name: Download storage.node
- name: Download server-native.node
uses: actions/download-artifact@v4
with:
name: storage.node
name: server-native.node
path: ./packages/backend/server
- name: Initialize database
@@ -383,7 +383,7 @@ jobs:
yarn workspace @affine/electron build:dev
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn workspace @affine-test/affine-desktop-cloud e2e
needs:
- build-storage
- build-server-native
- build-native
services:
postgres:
@@ -411,10 +411,10 @@ jobs:
playwright-install: true
hard-link-nm: false
- name: Download storage.node
- name: Download server-native.node
uses: actions/download-artifact@v4
with:
name: storage.node
name: server-native.node
path: ./packages/backend/server
- name: Download affine.linux-x64-gnu.node

View File

@@ -21,6 +21,6 @@ packages/frontend/templates/onboarding
# auto-generated by NAPI-RS
# fixme(@joooye34): need script to check and generate ignore list here
packages/backend/storage/index.d.ts
packages/backend/native/index.d.ts
packages/frontend/native/index.d.ts
packages/frontend/native/index.js

9
Cargo.lock generated
View File

@@ -45,10 +45,11 @@ name = "affine_schema"
version = "0.0.0"
[[package]]
name = "affine_storage"
name = "affine_server_native"
version = "1.0.0"
dependencies = [
"chrono",
"file-format",
"napi",
"napi-build",
"napi-derive",
@@ -434,6 +435,12 @@ version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
[[package]]
name = "file-format"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ba1b81b3c213cf1c071f8bf3b83531f310df99642e58c48247272eef006cae5"
[[package]]
name = "filetime"
version = "0.2.23"

View File

@@ -3,7 +3,7 @@ resolver = "2"
members = [
"./packages/frontend/native",
"./packages/frontend/native/schema",
"./packages/backend/storage",
"./packages/backend/native",
]
[profile.dev.package.sqlx-macros]

View File

@@ -93,7 +93,7 @@ yarn workspace @affine/native build
### Build Server Dependencies
```sh
yarn workspace @affine/storage build
yarn workspace @affine/server-native build
```
## Testing

View File

@@ -81,7 +81,7 @@ yarn workspace @affine/server prisma studio
```
# build native
yarn workspace @affine/storage build
yarn workspace @affine/server-native build
yarn workspace @affine/native build
```

View File

@@ -21,7 +21,7 @@
"dev:electron": "yarn workspace @affine/electron dev",
"build": "yarn nx build @affine/web",
"build:electron": "yarn nx build @affine/electron",
"build:storage": "yarn nx run-many -t build -p @affine/storage",
"build:server-native": "yarn nx run-many -t build -p @affine/server-native",
"start:web-static": "yarn workspace @affine/web static-server",
"serve:test-static": "yarn exec serve tests/fixtures --cors -p 8081",
"lint:eslint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint . --ext .js,mjs,.ts,.tsx --cache",

View File

@@ -1,5 +1,5 @@
[package]
name = "affine_storage"
name = "affine_server_native"
version = "1.0.0"
edition = "2021"
@@ -8,6 +8,7 @@ crate-type = ["cdylib"]
[dependencies]
chrono = "0.4"
file-format = { version = "0.24", features = ["reader"] }
napi = { version = "2", default-features = false, features = [
"napi5",
"async",

View File

@@ -1,6 +1,8 @@
/* auto-generated by NAPI-RS */
/* eslint-disable */
export function getMime(input: Uint8Array): string
/**
* Merge updates in form like `Y.applyUpdate(doc, update)` way and return the
* result binary.

View File

@@ -3,9 +3,9 @@ import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
/** @type {import('.')} */
const binding = require('./storage.node');
const binding = require('./server-native.node');
export const Storage = binding.Storage;
export const mergeUpdatesInApplyWay = binding.mergeUpdatesInApplyWay;
export const verifyChallengeResponse = binding.verifyChallengeResponse;
export const mintChallengeResponse = binding.mintChallengeResponse;
export const getMime = binding.getMime;

View File

@@ -1,5 +1,5 @@
{
"name": "@affine/storage",
"name": "@affine/server-native",
"version": "0.14.0",
"engines": {
"node": ">= 10.16.0 < 11 || >= 11.8.0"
@@ -10,13 +10,13 @@
"types": "index.d.ts",
"exports": {
".": {
"require": "./storage.node",
"require": "./server-native.node",
"import": "./index.js",
"types": "./index.d.ts"
}
},
"napi": {
"binaryName": "storage",
"binaryName": "server-native",
"targets": [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
@@ -29,10 +29,7 @@
"scripts": {
"test": "node --test ./__tests__/**/*.spec.js",
"build": "napi build --release --strip --no-const-enum",
"build:debug": "napi build",
"prepublishOnly": "napi prepublish -t npm",
"artifacts": "napi artifacts",
"version": "napi version"
"build:debug": "napi build"
},
"devDependencies": {
"@napi-rs/cli": "3.0.0-alpha.46",

View File

@@ -1,9 +1,9 @@
{
"name": "@affine/storage",
"name": "@affine/server-native",
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
"root": "packages/backend/storage",
"sourceRoot": "packages/backend/storage/src",
"root": "packages/backend/native",
"sourceRoot": "packages/backend/native/src",
"targets": {
"build": {
"executor": "nx:run-script",

View File

@@ -0,0 +1,8 @@
use napi_derive::napi;
#[napi]
pub fn get_mime(input: &[u8]) -> String {
file_format::FileFormat::from_bytes(input)
.media_type()
.to_string()
}

View File

@@ -1,5 +1,6 @@
#![deny(clippy::all)]
pub mod file_type;
pub mod hashcash;
use std::fmt::{Debug, Display};

View File

@@ -11,7 +11,7 @@ yarn
### Build Native binding
```bash
yarn workspace @affine/storage build
yarn workspace @affine/server-native build
```
### Run server

View File

@@ -61,7 +61,6 @@
"dotenv": "^16.4.5",
"dotenv-cli": "^7.4.1",
"express": "^4.19.2",
"file-type": "^19.0.0",
"get-stream": "^9.0.1",
"graphql": "^16.8.1",
"graphql-scalars": "^1.23.0",
@@ -96,7 +95,7 @@
},
"devDependencies": {
"@affine-test/kit": "workspace:*",
"@affine/storage": "workspace:*",
"@affine/server-native": "workspace:*",
"@napi-rs/image": "^1.9.1",
"@nestjs/testing": "^10.3.7",
"@types/cookie-parser": "^1.4.7",

View File

@@ -1,19 +1,19 @@
import { createRequire } from 'node:module';
let storageModule: typeof import('@affine/storage');
let serverNativeModule: typeof import('@affine/server-native');
try {
storageModule = await import('@affine/storage');
serverNativeModule = await import('@affine/server-native');
} catch {
const require = createRequire(import.meta.url);
storageModule =
serverNativeModule =
process.arch === 'arm64'
? require('../../../storage.arm64.node')
? require('../../../server-native.arm64.node')
: process.arch === 'arm'
? require('../../../storage.armv7.node')
: require('../../../storage.node');
? require('../../../server-native.armv7.node')
: require('../../../server-native.node');
}
export const mergeUpdatesInApplyWay = storageModule.mergeUpdatesInApplyWay;
export const mergeUpdatesInApplyWay = serverNativeModule.mergeUpdatesInApplyWay;
export const verifyChallengeResponse = async (
response: any,
@@ -21,10 +21,12 @@ export const verifyChallengeResponse = async (
resource: string
) => {
if (typeof response !== 'string' || !response || !resource) return false;
return storageModule.verifyChallengeResponse(response, bits, resource);
return serverNativeModule.verifyChallengeResponse(response, bits, resource);
};
export const mintChallengeResponse = async (resource: string, bits: number) => {
if (!resource) return null;
return storageModule.mintChallengeResponse(resource, bits);
return serverNativeModule.mintChallengeResponse(resource, bits);
};
export const getMime = serverNativeModule.getMime;

View File

@@ -1,9 +1,9 @@
import { Readable } from 'node:stream';
import { crc32 } from '@node-rs/crc32';
import { fileTypeFromBuffer } from 'file-type';
import { getStreamAsBuffer } from 'get-stream';
import { getMime } from '../native';
import { BlobInputType, PutObjectMetadata } from './provider';
export async function toBuffer(input: BlobInputType): Promise<Buffer> {
@@ -35,8 +35,7 @@ export async function autoMetadata(
// mime type
if (!metadata.contentType) {
try {
const typeResult = await fileTypeFromBuffer(blob);
metadata.contentType = typeResult?.mime ?? 'application/octet-stream';
metadata.contentType = getMime(blob);
} catch {
// ignore
}

View File

@@ -23,7 +23,7 @@
"path": "./tsconfig.node.json"
},
{
"path": "../storage/tsconfig.json"
"path": "../native/tsconfig.json"
}
],
"ts-node": {

View File

@@ -3,8 +3,8 @@
"private": true,
"type": "module",
"devDependencies": {
"@blocksuite/global": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/global": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"react": "18.2.0",
"react-dom": "18.2.0",
"vitest": "1.4.0"

View File

@@ -11,9 +11,9 @@
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/blocks": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/global": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/blocks": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/global": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"@datastructures-js/binary-search-tree": "^5.3.2",
"foxact": "^0.2.33",
"jotai": "^2.8.0",
@@ -28,8 +28,8 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/block-std": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/presets": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/block-std": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/presets": "0.14.0-canary-202404280529-c8e5f89",
"@testing-library/react": "^15.0.0",
"async-call-rpc": "^6.4.0",
"react": "^18.2.0",

View File

@@ -1,5 +1,5 @@
import { DebugLogger } from '@affine/debug';
import { catchError, EMPTY, mergeMap, switchMap } from 'rxjs';
import { catchError, EMPTY, exhaustMap, mergeMap } from 'rxjs';
import { Entity } from '../../../framework';
import {
@@ -59,7 +59,7 @@ export class WorkspaceProfile extends Entity<{ metadata: WorkspaceMetadata }> {
}
revalidate = effect(
switchMap(() => {
exhaustMap(() => {
const provider = this.provider;
if (!provider) {
return EMPTY;

View File

@@ -32,14 +32,14 @@
}
},
"dependencies": {
"@blocksuite/global": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/global": "0.14.0-canary-202404280529-c8e5f89",
"idb": "^8.0.0",
"nanoid": "^5.0.7",
"y-provider": "workspace:*"
},
"devDependencies": {
"@blocksuite/blocks": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/blocks": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"fake-indexeddb": "^5.0.2",
"vite": "^5.2.8",
"vite-plugin-dts": "3.8.1",

View File

@@ -24,7 +24,7 @@
"build": "vite build"
},
"devDependencies": {
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"vite": "^5.1.4",
"vite-plugin-dts": "3.7.3",
"vitest": "1.4.0",

View File

@@ -75,12 +75,12 @@
"zod": "^3.22.4"
},
"devDependencies": {
"@blocksuite/block-std": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/blocks": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/global": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/block-std": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/blocks": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/global": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/icons": "2.1.46",
"@blocksuite/presets": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/presets": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"@storybook/addon-actions": "^7.6.17",
"@storybook/addon-essentials": "^7.6.17",
"@storybook/addon-interactions": "^7.6.17",

View File

@@ -18,13 +18,13 @@
"@affine/graphql": "workspace:*",
"@affine/i18n": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/block-std": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/blocks": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/global": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/block-std": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/blocks": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/global": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/icons": "2.1.46",
"@blocksuite/inline": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/presets": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/inline": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/presets": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"@dnd-kit/core": "^6.1.0",
"@dnd-kit/modifiers": "^7.0.0",
"@dnd-kit/sortable": "^8.0.0",

View File

@@ -26,27 +26,27 @@ type Translate = ReturnType<typeof useAFFiNEI18N>;
const getPlayList = (t: Translate): Array<PlayListItem> => [
{
video: '/onboarding/ai-onboarding.general.1.mov',
video: '/onboarding/ai-onboarding.general.1.mp4',
title: t['com.affine.ai-onboarding.general.1.title'](),
desc: t['com.affine.ai-onboarding.general.1.description'](),
},
{
video: '/onboarding/ai-onboarding.general.2.mov',
video: '/onboarding/ai-onboarding.general.2.mp4',
title: t['com.affine.ai-onboarding.general.2.title'](),
desc: t['com.affine.ai-onboarding.general.2.description'](),
},
{
video: '/onboarding/ai-onboarding.general.3.mov',
video: '/onboarding/ai-onboarding.general.3.mp4',
title: t['com.affine.ai-onboarding.general.3.title'](),
desc: t['com.affine.ai-onboarding.general.3.description'](),
},
{
video: '/onboarding/ai-onboarding.general.4.mov',
video: '/onboarding/ai-onboarding.general.4.mp4',
title: t['com.affine.ai-onboarding.general.4.title'](),
desc: t['com.affine.ai-onboarding.general.4.description'](),
},
{
video: '/onboarding/ai-onboarding.general.1.mov',
video: '/onboarding/ai-onboarding.general.5.mp4',
title: t['com.affine.ai-onboarding.general.5.title'](),
desc: (
<Trans
@@ -241,17 +241,17 @@ export const AIOnboardingGeneral = ({
<Button
className={styles.baseActionButton}
size="large"
onClick={closeAndDismiss}
onClick={goToPricingPlans}
>
{t['com.affine.ai-onboarding.general.try-for-free']()}
{t['com.affine.ai-onboarding.general.purchase']()}
</Button>
<Button
className={styles.baseActionButton}
size="large"
onClick={goToPricingPlans}
onClick={closeAndDismiss}
type="primary"
>
{t['com.affine.ai-onboarding.general.purchase']()}
{t['com.affine.ai-onboarding.general.try-for-free']()}
</Button>
</div>
)}

View File

@@ -64,7 +64,7 @@ export const AfterSignInSendEmail = ({
} catch (err) {
console.error(err);
notify.error({
message: 'Failed to send email, please try again.',
title: 'Failed to send email, please try again.',
});
}
setIsSending(false);

View File

@@ -64,7 +64,7 @@ export const AfterSignUpSendEmail: FC<AuthPanelProps> = ({
} catch (err) {
console.error(err);
notify.error({
message: 'Failed to send email, please try again.',
title: 'Failed to send email, please try again.',
});
}
setIsSending(false);

View File

@@ -67,7 +67,7 @@ function OAuthProvider({
await authService.signInOauth(provider, redirectUri);
} catch (err) {
console.error(err);
notify.error({ message: 'Failed to sign in, please try again.' });
notify.error({ title: 'Failed to sign in, please try again.' });
} finally {
setIsConnecting(false);
mixpanel.track('OAuth', { provider });

View File

@@ -60,7 +60,7 @@ export const SignInWithPassword: FC<AuthPanelProps> = ({
} catch (err) {
console.error(err);
notify.error({
message: 'Failed to send email, please try again.',
title: 'Failed to send email, please try again.',
});
// TODO: handle error better
}

View File

@@ -101,7 +101,7 @@ export const SignIn: FC<AuthPanelProps> = ({
// TODO: better error handling
notify.error({
message: 'Failed to send email. Please try again.',
title: 'Failed to send email. Please try again.',
});
}

View File

@@ -155,6 +155,7 @@ export const ProfilePanel = () => {
name={name}
imageProps={avatarImageProps}
fallbackProps={avatarImageProps}
hoverWrapperProps={avatarImageProps}
colorfulFallback
hoverIcon={isOwner ? <CameraIcon /> : undefined}
onRemove={canAdjustAvatar ? handleRemoveUserAvatar : undefined}

View File

@@ -278,10 +278,10 @@ export function setupAIProvider() {
});
provideAction('makeItReal', options => {
return textToText({
return toImage({
...options,
promptName: 'Make it real',
params: options.params,
seed: options.seed,
content:
options.content ||
'Here are the latest wireframes. Could you make a new website based on these wireframes and notes and send back just the html file?',

View File

@@ -233,9 +233,8 @@ export const SignOutConfirmModal = () => {
} catch (err) {
console.error(err);
// TODO: i18n
notify({
style: 'alert',
message: 'Failed to sign out',
notify.error({
title: 'Failed to sign out',
});
}

View File

@@ -11,9 +11,9 @@ export function Telemetry() {
track_pageview: true,
persistence: 'localStorage',
});
}
if (settings.enableTelemetry === false) {
mixpanel.opt_out_tracking();
if (settings.enableTelemetry === false) {
mixpanel.opt_out_tracking();
}
}
}, [settings.enableTelemetry]);
return null;

View File

@@ -29,10 +29,10 @@
"@affine/env": "workspace:*",
"@affine/i18n": "workspace:*",
"@affine/native": "workspace:*",
"@blocksuite/block-std": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/blocks": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/presets": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/store": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/block-std": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/blocks": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/presets": "0.14.0-canary-202404280529-c8e5f89",
"@blocksuite/store": "0.14.0-canary-202404280529-c8e5f89",
"@electron-forge/cli": "^7.3.0",
"@electron-forge/core": "^7.3.0",
"@electron-forge/core-utils": "^7.3.0",
@@ -43,7 +43,7 @@
"@electron-forge/plugin-auto-unpack-natives": "^7.3.0",
"@electron-forge/shared-types": "^7.3.0",
"@emotion/react": "^11.11.4",
"@pengx17/electron-forge-maker-appimage": "^1.2.0",
"@pengx17/electron-forge-maker-appimage": "^1.2.1",
"@sentry/electron": "^4.22.0",
"@sentry/esbuild-plugin": "^2.16.1",
"@sentry/react": "^7.109.0",

View File

@@ -6,7 +6,7 @@
"@affine/env": "workspace:*",
"@affine/templates": "workspace:*",
"@aws-sdk/client-s3": "3.537.0",
"@blocksuite/presets": "0.14.0-canary-202404260628-ddb1941",
"@blocksuite/presets": "0.14.0-canary-202404280529-c8e5f89",
"@clack/core": "^0.3.4",
"@clack/prompts": "^0.7.0",
"@magic-works/i18n-codegen": "^0.5.0",

View File

@@ -69,7 +69,7 @@
"@toeverything/infra": ["./packages/common/infra/src"],
"@affine/native": ["./packages/frontend/native/index.d.ts"],
"@affine/native/*": ["./packages/frontend/native/*"],
"@affine/storage": ["./packages/backend/storage/index.d.ts"],
"@affine/server-native": ["./packages/backend/native/index.d.ts"],
// Development only
"@affine/electron/*": ["./packages/frontend/electron/src/*"]
}

221
yarn.lock
View File

@@ -173,7 +173,7 @@ __metadata:
"@affine/env": "workspace:*"
"@affine/templates": "workspace:*"
"@aws-sdk/client-s3": "npm:3.537.0"
"@blocksuite/presets": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets": "npm:0.14.0-canary-202404280529-c8e5f89"
"@clack/core": "npm:^0.3.4"
"@clack/prompts": "npm:^0.7.0"
"@magic-works/i18n-codegen": "npm:^0.5.0"
@@ -226,12 +226,12 @@ __metadata:
"@affine/electron-api": "workspace:*"
"@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*"
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/icons": "npm:2.1.46"
"@blocksuite/presets": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@dnd-kit/core": "npm:^6.1.0"
"@dnd-kit/modifiers": "npm:^7.0.0"
"@dnd-kit/sortable": "npm:^8.0.0"
@@ -327,13 +327,13 @@ __metadata:
"@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*"
"@affine/templates": "workspace:*"
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/icons": "npm:2.1.46"
"@blocksuite/inline": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/inline": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/presets": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@dnd-kit/core": "npm:^6.1.0"
"@dnd-kit/modifiers": "npm:^7.0.0"
"@dnd-kit/sortable": "npm:^8.0.0"
@@ -455,10 +455,10 @@ __metadata:
"@affine/env": "workspace:*"
"@affine/i18n": "workspace:*"
"@affine/native": "workspace:*"
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/presets": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@electron-forge/cli": "npm:^7.3.0"
"@electron-forge/core": "npm:^7.3.0"
"@electron-forge/core-utils": "npm:^7.3.0"
@@ -469,7 +469,7 @@ __metadata:
"@electron-forge/plugin-auto-unpack-natives": "npm:^7.3.0"
"@electron-forge/shared-types": "npm:^7.3.0"
"@emotion/react": "npm:^11.11.4"
"@pengx17/electron-forge-maker-appimage": "npm:^1.2.0"
"@pengx17/electron-forge-maker-appimage": "npm:^1.2.1"
"@sentry/electron": "npm:^4.22.0"
"@sentry/esbuild-plugin": "npm:^2.16.1"
"@sentry/react": "npm:^7.109.0"
@@ -516,8 +516,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@affine/env@workspace:packages/common/env"
dependencies:
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
lit: "npm:^3.1.2"
react: "npm:18.2.0"
react-dom: "npm:18.2.0"
@@ -644,12 +644,24 @@ __metadata:
languageName: unknown
linkType: soft
"@affine/server-native@workspace:*, @affine/server-native@workspace:packages/backend/native":
version: 0.0.0-use.local
resolution: "@affine/server-native@workspace:packages/backend/native"
dependencies:
"@napi-rs/cli": "npm:3.0.0-alpha.46"
lib0: "npm:^0.2.93"
nx: "npm:^18.2.4"
nx-cloud: "npm:^18.0.0"
yjs: "npm:^13.6.14"
languageName: unknown
linkType: soft
"@affine/server@workspace:packages/backend/server":
version: 0.0.0-use.local
resolution: "@affine/server@workspace:packages/backend/server"
dependencies:
"@affine-test/kit": "workspace:*"
"@affine/storage": "workspace:*"
"@affine/server-native": "workspace:*"
"@apollo/server": "npm:^4.10.2"
"@aws-sdk/client-s3": "npm:^3.552.0"
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "npm:^0.17.0"
@@ -712,7 +724,6 @@ __metadata:
dotenv: "npm:^16.4.5"
dotenv-cli: "npm:^7.4.1"
express: "npm:^4.19.2"
file-type: "npm:^19.0.0"
get-stream: "npm:^9.0.1"
graphql: "npm:^16.8.1"
graphql-scalars: "npm:^1.23.0"
@@ -752,18 +763,6 @@ __metadata:
languageName: unknown
linkType: soft
"@affine/storage@workspace:*, @affine/storage@workspace:packages/backend/storage":
version: 0.0.0-use.local
resolution: "@affine/storage@workspace:packages/backend/storage"
dependencies:
"@napi-rs/cli": "npm:3.0.0-alpha.46"
lib0: "npm:^0.2.93"
nx: "npm:^18.2.4"
nx-cloud: "npm:^18.0.0"
yjs: "npm:^13.6.14"
languageName: unknown
linkType: soft
"@affine/templates@workspace:*, @affine/templates@workspace:packages/frontend/templates":
version: 0.0.0-use.local
resolution: "@affine/templates@workspace:packages/frontend/templates"
@@ -3732,30 +3731,30 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/block-std@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/block-std@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/block-std@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
lit: "npm:^3.1.3"
lz-string: "npm:^1.5.0"
w3c-keyname: "npm:^2.2.8"
zod: "npm:^3.22.4"
peerDependencies:
"@blocksuite/inline": 0.14.0-canary-202404260628-ddb1941
"@blocksuite/store": 0.14.0-canary-202404260628-ddb1941
checksum: 10/bafca28b660194351bb136687b1e881d1b1b5ca8476742303ca18a34a7bdf262f46c21c6b037074a3b83affe482395aef727571f3011477c57740cbb9ef51cb5
"@blocksuite/inline": 0.14.0-canary-202404280529-c8e5f89
"@blocksuite/store": 0.14.0-canary-202404280529-c8e5f89
checksum: 10/ed48717fc653f8fcdcb513342de54ba063fbbc28ea85bac4a342c7926a96776f16fd8ff7d26921c6856767723994c77a35be1a10050d191c3063a67a5f0c712a
languageName: node
linkType: hard
"@blocksuite/blocks@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/blocks@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/blocks@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/inline": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/inline": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@dotlottie/player-component": "npm:^2.7.12"
"@fal-ai/serverless-client": "npm:^0.9.3"
"@floating-ui/dom": "npm:^1.6.3"
@@ -3794,16 +3793,16 @@ __metadata:
unified: "npm:^11.0.4"
webfontloader: "npm:^1.6.28"
zod: "npm:^3.22.4"
checksum: 10/8860fa8e2f858b07ca36698025994ece9591c775946bd2e33581b339c2a52e546e670603dd18d6dedfa4ebd60a144155be8f154abfeaf82979b31fcf5bfa65bf
checksum: 10/48e5232b2e720492ad77616ffa2cfbaf045e10af5925534e034dfda7310d6abc9a316fbb76ea456292f3612aaec2cda4e475e7465ae474deabcf20d5ded6e040
languageName: node
linkType: hard
"@blocksuite/global@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/global@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/global@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
zod: "npm:^3.22.4"
checksum: 10/cafdfbece39027dcd38ed77c61718c4d45718e76c255dd652ab51f6ecee6b6e318a6e6a081ec1ec79af88694d413e615351b207b1bd6e907fa52642a54ac759d
checksum: 10/14f55505be9497db26c651454eb2d52336f525b34f916d6aee8da7921d504ac64ed7db30c174188ff83730b5fab58ce39cde4d9c1409ac1c6964e17684164795
languageName: node
linkType: hard
@@ -3817,45 +3816,45 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/inline@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/inline@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/inline@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/inline@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
zod: "npm:^3.22.4"
peerDependencies:
lit: ^3.1.1
yjs: ^13
checksum: 10/79f00d0761fe92868a09201b32dd7c347a625e7bfa14a17d498326b343b0cb7674a8ee7e27af2e435f1d19171b564f20aa1f6e81e299e8849da40852782cf78c
checksum: 10/ba893ce944dc9f1acf37d123d34a3473f2e9e2faed75897ca609fcacf5e0628f3fb1e569eab3a641cffd3b1ffc5fbc294ebc7fe0d4f3c784f2d0174675527c79
languageName: node
linkType: hard
"@blocksuite/presets@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/presets@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/presets@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/inline": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/inline": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@dotlottie/player-component": "npm:^2.7.12"
"@fal-ai/serverless-client": "npm:^0.9.3"
"@floating-ui/dom": "npm:^1.6.3"
"@toeverything/theme": "npm:^0.7.29"
lit: "npm:^3.1.3"
openai: "npm:^4.37.1"
checksum: 10/e0d998d93f5becf17f7883ea5e1af18a0c0235c997e17ca498597b5b695b53b199eb20b63b8ca924cb1e9501777c85d0393ae52c57e7bd04087beb09539a0313
checksum: 10/6f427982c25288578e052e73e7c3400f0c1fbb8354d8ab043d34da5e7ccb9d4f20a42bd85c92cdcdb607e0e1173b70da4f90b73bdce8fe7e75e1544d570bb23c
languageName: node
linkType: hard
"@blocksuite/store@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/store@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/store@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/inline": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/sync": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/inline": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/sync": "npm:0.14.0-canary-202404280529-c8e5f89"
"@types/flexsearch": "npm:^0.7.6"
flexsearch: "npm:0.7.43"
idb-keyval: "npm:^6.2.1"
@@ -3867,20 +3866,20 @@ __metadata:
zod: "npm:^3.22.4"
peerDependencies:
yjs: ^13
checksum: 10/fc97033a7e08922e3e9e5812df60e402c7824f048fc1cbea63e616d407e4b278549ba7465cac0c4934eafc091a461cec17fa38a99837c807627f9aed14ae3129
checksum: 10/f0ed64763e4e5277f598d64ae555b7658ed7db9ece7389b1cc5dcd80622326d44f7a7a7cb86b790762e41cfd0fd53e9a4163e53d9a44b80d5b3b8d5fc6f7d9dc
languageName: node
linkType: hard
"@blocksuite/sync@npm:0.14.0-canary-202404260628-ddb1941":
version: 0.14.0-canary-202404260628-ddb1941
resolution: "@blocksuite/sync@npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/sync@npm:0.14.0-canary-202404280529-c8e5f89":
version: 0.14.0-canary-202404280529-c8e5f89
resolution: "@blocksuite/sync@npm:0.14.0-canary-202404280529-c8e5f89"
dependencies:
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
idb: "npm:^8.0.0"
y-protocols: "npm:^1.0.6"
peerDependencies:
yjs: ^13
checksum: 10/749bf6cbe97bddc5d5d306f02861a517fa50fbdb162798c83b5eb0839c86572088db88e93bc97c1af767b63e37de9b04c2196e0af132aa88c30e19cbb7f19611
checksum: 10/45960ea9fc4aed445f5517539468f670e8d1eb8730ab567e0f98716a9c42aeb1ecc85717fd5fceb36d5aa40ef6d52435ce17a9f952f772d73879ee169332b2d9
languageName: node
linkType: hard
@@ -10198,14 +10197,14 @@ __metadata:
languageName: node
linkType: hard
"@pengx17/electron-forge-maker-appimage@npm:^1.2.0":
version: 1.2.0
resolution: "@pengx17/electron-forge-maker-appimage@npm:1.2.0"
"@pengx17/electron-forge-maker-appimage@npm:^1.2.1":
version: 1.2.1
resolution: "@pengx17/electron-forge-maker-appimage@npm:1.2.1"
dependencies:
"@electron-forge/maker-base": "npm:^7.3.0"
"@electron-forge/shared-types": "npm:^7.3.0"
app-builder-lib: "npm:^24.13.3"
checksum: 10/f5e8927810b5381462ec2cde8fcbbaab74b66e025e549d49707c1d855a9618c1b88bf136a4a0df9bc2b80a19ea136443115c462feb2a5b8b0311ec6c6c0ea1fa
checksum: 10/632c243dd6d0ee61d17741b212c9fd2b201ee4dc05ffc244e3d14fa0f7af368546c533612145367bdf61563d03240e3464f5a5f22028a16de454cabb8fbe010b
languageName: node
linkType: hard
@@ -14409,11 +14408,11 @@ __metadata:
"@affine/debug": "workspace:*"
"@affine/env": "workspace:*"
"@affine/templates": "workspace:*"
"@blocksuite/block-std": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/presets": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/block-std": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/presets": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
"@datastructures-js/binary-search-tree": "npm:^5.3.2"
"@testing-library/react": "npm:^15.0.0"
async-call-rpc: "npm:^6.4.0"
@@ -14464,9 +14463,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@toeverything/y-indexeddb@workspace:packages/common/y-indexeddb"
dependencies:
"@blocksuite/blocks": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/global": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/blocks": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/global": "npm:0.14.0-canary-202404280529-c8e5f89"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
fake-indexeddb: "npm:^5.0.2"
idb: "npm:^8.0.0"
nanoid: "npm:^5.0.7"
@@ -22536,17 +22535,6 @@ __metadata:
languageName: node
linkType: hard
"file-type@npm:^19.0.0":
version: 19.0.0
resolution: "file-type@npm:19.0.0"
dependencies:
readable-web-to-node-stream: "npm:^3.0.2"
strtok3: "npm:^7.0.0"
token-types: "npm:^5.0.1"
checksum: 10/8befa58f769b19d4a72c214694906b83b584310575300e63c08c48f9f2cfa6cb57fb4e1d08325961938d9dde3ecc4f5737b1604ddedfd759f5a1e65e5b0ca577
languageName: node
linkType: hard
"file-uri-to-path@npm:1.0.0":
version: 1.0.0
resolution: "file-uri-to-path@npm:1.0.0"
@@ -32384,15 +32372,6 @@ __metadata:
languageName: node
linkType: hard
"readable-web-to-node-stream@npm:^3.0.2":
version: 3.0.2
resolution: "readable-web-to-node-stream@npm:3.0.2"
dependencies:
readable-stream: "npm:^3.6.0"
checksum: 10/d3a5bf9d707c01183d546a64864aa63df4d9cb835dfd2bf89ac8305e17389feef2170c4c14415a10d38f9b9bfddf829a57aaef7c53c8b40f11d499844bf8f1a4
languageName: node
linkType: hard
"readdirp@npm:~3.6.0":
version: 3.6.0
resolution: "readdirp@npm:3.6.0"
@@ -34681,16 +34660,6 @@ __metadata:
languageName: node
linkType: hard
"strtok3@npm:^7.0.0":
version: 7.0.0
resolution: "strtok3@npm:7.0.0"
dependencies:
"@tokenizer/token": "npm:^0.3.0"
peek-readable: "npm:^5.0.0"
checksum: 10/4f2269679fcfce1e9fe0600eff361ea4c687ae0a0e8d9dab6703811071cd92545cbcb32d4ace3d3aa591f777cec1a3e8aeecd5efd71ae216fd2962a7a238b4ab
languageName: node
linkType: hard
"style-loader@npm:^4.0.0":
version: 4.0.0
resolution: "style-loader@npm:4.0.0"
@@ -35327,16 +35296,6 @@ __metadata:
languageName: node
linkType: hard
"token-types@npm:^5.0.1":
version: 5.0.1
resolution: "token-types@npm:5.0.1"
dependencies:
"@tokenizer/token": "npm:^0.3.0"
ieee754: "npm:^1.2.1"
checksum: 10/0985369bbea9f53a5ccd79bb9899717b41401a813deb2c7fb1add5d0baf2f702aaf6da78f6e0ccf346d5a9f7acaa7cb5efed7d092d89d8c1e6962959e9509bc0
languageName: node
linkType: hard
"toml@npm:^3.0.0":
version: 3.0.0
resolution: "toml@npm:3.0.0"
@@ -37672,7 +37631,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "y-provider@workspace:packages/common/y-provider"
dependencies:
"@blocksuite/store": "npm:0.14.0-canary-202404260628-ddb1941"
"@blocksuite/store": "npm:0.14.0-canary-202404280529-c8e5f89"
vite: "npm:^5.1.4"
vite-plugin-dts: "npm:3.7.3"
vitest: "npm:1.4.0"