Compare commits

...

22 Commits

Author SHA1 Message Date
DarkSky
9e94e7195b fix: use absolute path in gql client (#5454) (#5462) 2023-12-29 16:02:29 +08:00
Peng Xiao
de951c8779 fix(core): enable page history for beta/stable (#5415) 2023-12-27 14:39:59 +08:00
EYHN
fd37026ca5 fix(component): fix font display on safari (#5393)
before

![CleanShot 2023-12-25 at 13.09.26.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/4fe08951-67bb-4050-ba14-94391db1cac1.png)

after

![CleanShot 2023-12-25 at 13.09.13.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/fbfb17ec-b871-4746-9d3c-d24f850ecca1.png)
2023-12-27 14:39:50 +08:00
JimmFly
4fd5812a89 fix(core): avatars are not aligned (#5404) 2023-12-26 20:43:08 +08:00
Peng Xiao
d01e987ecc fix(core): trash page footer display issue (#5402)
Before

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/eb5e5b18-c4a2-469b-8763-be34c39ba736.png)

After

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/7b3ef339-0cb5-44fe-9e75-cec0e97d28b7.png)
2023-12-26 20:42:54 +08:00
Joooye_34
d87c218c0b fix(electron): set stable base url to app.affine.pro (#5401)
close TOV-282
2023-12-26 20:42:41 +08:00
Peng Xiao
a5bf5cc244 fix(core): about setting blink issue (#5399) 2023-12-26 20:42:33 +08:00
Peng Xiao
16bcd6e76b fix(core): workpace list blink issue on open (#5400) 2023-12-26 20:42:19 +08:00
JimmFly
2e2ace8472 chore(core): add background color to questionnaire (#5396) 2023-12-26 20:42:06 +08:00
Cats Juice
37cff8fe8d fix(core): correct title of onboarding article-2 (#5387) 2023-12-26 20:41:58 +08:00
DarkSky
70ab3b4916 fix: use prefix in electron to prevent formdata bug (#5395) 2023-12-26 20:41:47 +08:00
EYHN
f42ba54578 fix(core): fix flickering workspace list (#5391) 2023-12-26 20:41:36 +08:00
EYHN
a67c8181fc fix(workspace): fix svg file with xml header (#5388) 2023-12-26 20:41:28 +08:00
regischen
613efbded9 feat: bump blocksuite (#5386) 2023-12-26 20:41:18 +08:00
李华桥
549419d102 Merge branch 'canary' into stable 2023-12-22 16:29:51 +08:00
EYHN
8b28761a8a fix(component): fix workspace input (#5381) 2023-12-22 08:26:14 +00:00
EYHN
77d239ff81 fix(workspace): leave workspace correctly (#5379) 2023-12-22 16:17:59 +08:00
Cats Juice
1ce4dd0497 fix(core): hide onboarding paper segments gap (#5384) 2023-12-22 15:49:43 +08:00
EYHN
aa74b0617c fix(workspace): dont upgrade subdoc on cloud (#5382) 2023-12-22 15:48:54 +08:00
Joooye_34
46f824c4e9 fix: input style priority (#5383) 2023-12-22 15:48:28 +08:00
EYHN
f11ea7570a fix(core): maxWait for sync progress debounce (#5377) 2023-12-22 03:28:24 +00:00
Flrande
a08edfd6d9 feat: bump blocksuite (#5374) 2023-12-22 03:17:57 +00:00
47 changed files with 362 additions and 282 deletions

View File

@@ -3,8 +3,8 @@
"private": true,
"type": "module",
"devDependencies": {
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"react": "18.2.0",
"react-dom": "18.2.0",
"vitest": "1.0.4",

View File

@@ -62,9 +62,9 @@
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@affine/sdk": "workspace:*",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"jotai": "^2.5.1",
"jotai-effect": "^0.2.3",
"tinykeys": "^2.1.0",
@@ -73,8 +73,8 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@testing-library/react": "^14.0.0",
"async-call-rpc": "^6.3.1",
"electron": "link:../../frontend/electron/node_modules/electron",

View File

@@ -11,7 +11,8 @@ export enum MigrationPoint {
}
export function checkWorkspaceCompatibility(
workspace: Workspace
workspace: Workspace,
isCloud: boolean
): MigrationPoint | null {
// check if there is any key starts with 'space:' on root doc
const spaceMetaObj = workspace.doc.share.get('space:meta') as
@@ -20,7 +21,9 @@ export function checkWorkspaceCompatibility(
const docKeys = Array.from(workspace.doc.share.keys());
const haveSpaceMeta = !!spaceMetaObj && spaceMetaObj.size > 0;
const haveLegacySpace = docKeys.some(key => key.startsWith('space:'));
if (haveSpaceMeta || haveLegacySpace) {
// DON'T UPGRADE SUBDOC ON CLOUD
if (!isCloud && (haveSpaceMeta || haveLegacySpace)) {
return MigrationPoint.SubDoc;
}

View File

@@ -22,11 +22,11 @@
"dist"
],
"dependencies": {
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"jotai": "^2.5.1",
"zod": "^3.22.4"
},

View File

@@ -37,8 +37,8 @@
"y-provider": "workspace:*"
},
"devDependencies": {
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"fake-indexeddb": "^5.0.0",
"vite": "^5.0.6",
"vite-plugin-dts": "3.6.0",

View File

@@ -24,7 +24,7 @@
"build": "vite build"
},
"devDependencies": {
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"vite": "^5.0.6",
"vite-plugin-dts": "3.6.0",
"vitest": "1.0.4",

View File

@@ -72,12 +72,12 @@
"uuid": "^9.0.1"
},
"devDependencies": {
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/icons": "2.1.36",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@storybook/addon-actions": "^7.5.3",
"@storybook/addon-essentials": "^7.5.3",
"@storybook/addon-interactions": "^7.5.3",

View File

@@ -7,6 +7,7 @@ export const scrollableContainer = style({
alignItems: 'center',
height: '100vh',
padding: '0 200px',
backgroundColor: 'var(--affine-background-primary-color)',
'@media': {
'screen and (max-width: 1024px)': {
padding: '80px 36px',

View File

@@ -1,6 +0,0 @@
import { style } from '@vanilla-extract/css';
export const input = style({
height: '34px',
width: '220px',
});

View File

@@ -2,7 +2,6 @@ import { useCallback, useState } from 'react';
import Input from '../../ui/input';
import { Menu } from '../../ui/menu';
import * as styles from './index.css';
export const RenameModal = ({
onRename,
@@ -33,12 +32,12 @@ export const RenameModal = ({
}}
items={
<Input
className={styles.input}
autoFocus
defaultValue={value}
onChange={setValue}
onEnter={handleRename}
data-testid="rename-modal-input"
style={{ width: 220, height: 34 }}
/>
}
>

View File

@@ -5,6 +5,7 @@
font-family: 'Inter';
font-display: swap;
src: url(../fonts/inter/Inter-VariableFont_slnt,wght.ttf);
font-weight: 1 999;
}
/*

View File

@@ -31,7 +31,7 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
enableCaptcha: true,
enableEnhanceShareMode: false,
enablePayment: true,
enablePageHistory: false,
enablePageHistory: true,
enableCopilot: false,
serverUrlPrefix: 'https://app.affine.pro',
editorFlags,
@@ -42,7 +42,7 @@ export function getRuntimeConfig(buildFlags: BuildFlags): RuntimeConfig {
get beta() {
return {
...this.stable,
enablePageHistory: false,
enablePageHistory: true,
enableCopilot: false,
serverUrlPrefix: 'https://insider.affine.pro',
appBuildType: 'beta' as const,

View File

@@ -25,14 +25,14 @@
"@affine/i18n": "workspace:*",
"@affine/templates": "workspace:*",
"@affine/workspace": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/icons": "2.1.36",
"@blocksuite/inline": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/inline": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@dnd-kit/core": "^6.0.8",
"@dnd-kit/sortable": "^8.0.0",
"@emotion/cache": "^11.11.0",

View File

@@ -14,7 +14,6 @@ import { useSetAtom } from 'jotai';
import {
type KeyboardEvent,
type MouseEvent,
startTransition,
useCallback,
useEffect,
useState,
@@ -119,9 +118,7 @@ export const ProfilePanel = ({ isOwner, workspace }: ProfilePanelProps) => {
);
const handleSetInput = useCallback((value: string) => {
startTransition(() => {
setInput(value);
});
setInput(value);
}, []);
const handleKeyUp = useCallback(
@@ -203,7 +200,7 @@ export const ProfilePanel = ({ isOwner, workspace }: ProfilePanelProps) => {
<Input
disabled={workspaceIsLoading || !isOwner}
value={input}
className={styles.workspaceNameInput}
style={{ width: 280, height: 32 }}
data-testid="workspace-name-input"
placeholder={t['Workspace Name']()}
maxLength={64}

View File

@@ -201,8 +201,3 @@ export const arrowRight = style({
color: 'var(--affine-text-emphasis-color)',
cursor: 'pointer',
});
export const workspaceNameInput = style({
height: '32px',
width: '280px',
});

View File

@@ -8,12 +8,7 @@ import { BlogLink } from './blog-link';
export const article2: Array<OnboardingBlockOption> = [
{
children: (
<h1>
Learning with earning with
<br /> retrieval practice
</h1>
),
children: <h1>Learning with retrieval practice</h1>,
offset: { x: -824, y: 0 },
},
{
@@ -150,14 +145,14 @@ export const article2: Array<OnboardingBlockOption> = [
{
children: <img draggable={false} width={380} src={embed1png} />,
edgelessOnly: true,
position: { x: -300, y: 0 },
position: { x: -200, y: -50 },
fromPosition: { x: 300, y: -300 },
},
{
children: <img draggable={false} width={309} src={note1png} />,
edgelessOnly: true,
position: { x: -360, y: -20 },
position: { x: -260, y: -70 },
fromPosition: { x: -360, y: -100 },
enterDelay: 300,
customStyle: {
@@ -170,7 +165,7 @@ export const article2: Array<OnboardingBlockOption> = [
{
children: <img draggable={false} width={1800} src={note2png} />,
edgelessOnly: true,
position: { x: 0, y: 0 },
position: { x: 50, y: 0 },
fromPosition: { x: 2000, y: -2000 },
},
];

View File

@@ -158,7 +158,7 @@ const paperBriefs = {
'2': (
<div className={articleWrapper}>
<article className={article}>
<h1 className={title}>Learning with earning with retrieval practice</h1>
<h1 className={title}>Learning with retrieval practice</h1>
<p className={text}>
Are there any specific techniques to make the process of learning more
effective?

View File

@@ -23,7 +23,27 @@ export const segment = style({
position: 'absolute',
top: `calc(var(--segments-up) / var(--segments) * 100%)`,
// add a thin line behind to hide the gap between segments
'::before': {
content: '""',
position: 'absolute',
transform: `translateZ(-1px)`,
width: '100%',
height: '2px',
background: onboardingVars.paper.bg,
},
selectors: {
['&[data-root="true"]::before']: {
content: 'none',
},
['&[data-direction="up"]::before']: {
bottom: -1,
},
['&[data-direction="down"]::before']: {
top: -1,
},
['&[data-root="true"]']: {
height: `calc(1 / var(--segments) * 100%)`,
},

View File

@@ -137,12 +137,12 @@ export const AvatarAndName = () => {
<label>{t['com.affine.settings.profile.name']()}</label>
<FlexWrapper alignItems="center">
<Input
className={styles.userNameInput}
defaultValue={input}
data-testid="user-name-input"
placeholder={t['com.affine.settings.profile.placeholder']()}
maxLength={64}
minLength={0}
style={{ width: 280, height: 32 }}
onChange={setInput}
onEnter={handleUpdateUserName}
/>

View File

@@ -43,8 +43,3 @@ globalStyle(`${avatarWrapper} .camera-icon-wrapper`, {
export const button = style({
padding: '4px 12px',
});
export const userNameInput = style({
height: '32px',
width: '280px',
});

View File

@@ -126,20 +126,20 @@ export const SettingModal = ({
>
<div ref={modalContentRef} className={style.centerContainer}>
<div className={style.content}>
{activeTab === 'workspace' && workspaceMetadata ? (
<Suspense fallback={<WorkspaceDetailSkeleton />}>
<Suspense fallback={<WorkspaceDetailSkeleton />}>
{activeTab === 'workspace' && workspaceMetadata ? (
<WorkspaceSetting
key={workspaceMetadata.id}
workspaceMetadata={workspaceMetadata}
/>
</Suspense>
) : null}
{generalSettingList.some(v => v.key === activeTab) ? (
<GeneralSetting generalKey={activeTab as GeneralSettingKeys} />
) : null}
{activeTab === 'account' && loginStatus === 'authenticated' ? (
<AccountSetting />
) : null}
) : null}
{generalSettingList.some(v => v.key === activeTab) ? (
<GeneralSetting generalKey={activeTab as GeneralSettingKeys} />
) : null}
{activeTab === 'account' && loginStatus === 'authenticated' ? (
<AccountSetting />
) : null}
</Suspense>
</div>
<div className={style.footer}>
<a

View File

@@ -1,4 +1,3 @@
import { styled } from '@affine/component';
import { Button } from '@affine/component/ui/button';
import { useAFFiNEI18N } from '@affine/i18n/hooks';
import type { ChangeEvent, PropsWithChildren } from 'react';
@@ -42,7 +41,7 @@ export const Upload = ({
}
return (
<UploadStyle onClick={_chooseFile}>
<div style={{ display: 'flex' }} onClick={_chooseFile}>
{children ?? <Button>{t['Upload']()}</Button>}
<input
ref={input_ref}
@@ -52,12 +51,6 @@ export const Upload = ({
accept={accept}
{...props}
/>
</UploadStyle>
</div>
);
};
const UploadStyle = styled('div')(() => {
return {
display: 'inline-block',
};
});

View File

@@ -17,13 +17,6 @@ export const deleteHintContainer = style({
gap: '16px',
backgroundColor: 'var(--affine-background-primary-color)',
borderTop: '1px solid var(--affine-border-color)',
selectors: {
'&[data-has-background="false"]': {
backgroundColor: 'transparent',
borderTop: 'none',
padding: '14px 0',
},
},
});
export const deleteHintText = style({
fontSize: '15px',

View File

@@ -97,9 +97,16 @@ const useSyncEngineSyncProgress = () => {
useEffect(() => {
setSyncEngineStatus(currentWorkspace.engine.sync.status);
const disposable = currentWorkspace.engine.sync.onStatusChange.on(
debounce(status => {
setSyncEngineStatus(status);
}, 500)
debounce(
status => {
setSyncEngineStatus(status);
},
300,
{
maxWait: 500,
trailing: true,
}
)
);
return () => {
disposable?.dispose();

View File

@@ -30,7 +30,7 @@ import { useAsyncCallback } from '@toeverything/hooks/affine-async-hooks';
import { useAtom, useAtomValue } from 'jotai';
import { nanoid } from 'nanoid';
import type { HTMLAttributes, ReactElement } from 'react';
import { forwardRef, useCallback, useEffect, useMemo } from 'react';
import { forwardRef, Suspense, useCallback, useEffect, useMemo } from 'react';
import { openWorkspaceListModalAtom } from '../../atoms';
import { useHistoryAtom } from '../../atoms/history';
@@ -218,7 +218,11 @@ export const RootAppSidebar = ({
rootOptions={{
open: openUserWorkspaceList,
}}
items={<UserWithWorkspaceList onEventEnd={closeUserWorkspaceList} />}
items={
<Suspense>
<UserWithWorkspaceList onEventEnd={closeUserWorkspaceList} />
</Suspense>
}
contentOptions={{
// hide trigger
sideOffset: -58,

View File

@@ -1,7 +1,8 @@
import { Menu } from '@affine/component/ui/menu';
import { WorkspaceFallback } from '@affine/component/workspace';
import { workspaceListAtom } from '@affine/workspace/atom';
import { useAtomValue } from 'jotai';
import { lazy, useEffect } from 'react';
import { lazy, useEffect, useLayoutEffect, useState } from 'react';
import { type LoaderFunction, redirect } from 'react-router-dom';
import { createFirstAppData } from '../bootstrap/first-app-data';
@@ -24,10 +25,14 @@ export const loader: LoaderFunction = async () => {
};
export const Component = () => {
// navigating and creating may be slow, to avoid flickering, we show workspace fallback
const [navigating, setNavigating] = useState(false);
const [creating, setCreating] = useState(false);
const list = useAtomValue(workspaceListAtom);
const { openPage } = useNavigateHelper();
useEffect(() => {
useLayoutEffect(() => {
if (list.length === 0) {
return;
}
@@ -36,14 +41,24 @@ export const Component = () => {
const lastId = localStorage.getItem('last_workspace_id');
const openWorkspace = list.find(w => w.id === lastId) ?? list[0];
openPage(openWorkspace.id, WorkspaceSubPath.ALL);
setNavigating(true);
}, [list, openPage]);
useEffect(() => {
createFirstAppData().catch(err => {
console.error('Failed to create first app data', err);
});
setCreating(true);
createFirstAppData()
.catch(err => {
console.error('Failed to create first app data', err);
})
.finally(() => {
setCreating(false);
});
}, []);
if (navigating || creating) {
return <WorkspaceFallback></WorkspaceFallback>;
}
// TODO: We need a no workspace page
return (
<>

View File

@@ -32,10 +32,10 @@
"@affine/sdk": "workspace:*",
"@affine/templates": "workspace:*",
"@affine/vue-hello-world-plugin": "workspace:*",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@electron-forge/cli": "^7.2.0",
"@electron-forge/core": "^7.2.0",
"@electron-forge/core-utils": "^7.2.0",

View File

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

View File

@@ -2,4 +2,15 @@ export * from './fetcher';
export * from './graphql';
export * from './schema';
export * from './utils';
import '@affine/env/global';
import { setupGlobal } from '@affine/env/global';
setupGlobal();
export function getBaseUrl(): string {
if (environment.isDesktop) {
return runtimeConfig.serverUrlPrefix;
}
const { protocol, hostname, port } = window.location;
return `${protocol}//${hostname}${port ? `:${port}` : ''}`;
}

View File

@@ -20,12 +20,12 @@
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@affine/workspace": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@testing-library/react": "^14.0.0",
"@toeverything/infra": "workspace:*",
"@types/image-blob-reduce": "^4.1.3",

View File

@@ -7,7 +7,7 @@ import type {
QueryVariables,
RecursiveMaybeFields,
} from '@affine/graphql';
import { gqlFetcherFactory } from '@affine/graphql';
import { getBaseUrl, gqlFetcherFactory } from '@affine/graphql';
import type { GraphQLError } from 'graphql';
import { useCallback, useMemo } from 'react';
import type { Key, SWRConfiguration, SWRResponse } from 'swr';
@@ -22,7 +22,7 @@ import useSWRMutation from 'swr/mutation';
setupGlobal();
export const fetcher = gqlFetcherFactory('/graphql');
export const fetcher = gqlFetcherFactory(getBaseUrl() + '/graphql');
/**
* A `useSWR` wrapper for sending graphql queries

View File

@@ -92,7 +92,7 @@ export class SyncEngine {
}
canGracefulStop() {
return !!this.status.local && this.status.local.pendingPushUpdates > 0;
return !!this.status.local && this.status.local.pendingPushUpdates === 0;
}
async waitForGracefulStop(abort?: AbortSignal) {

View File

@@ -76,6 +76,11 @@ export function createCloudAwarenessProvider(
removeAwarenessStates(awareness, [awareness.clientID], 'window unload');
};
function handleConnect() {
socket.emit('client-handshake-awareness', workspaceId);
socket.emit('awareness-init', workspaceId);
}
return {
connect: () => {
socket.on('server-awareness-broadcast', awarenessBroadcast);
@@ -86,16 +91,19 @@ export function createCloudAwarenessProvider(
socket.connect();
socket.on('connect', handleConnect);
socket.emit('client-handshake-awareness', workspaceId);
socket.emit('awareness-init', workspaceId);
},
disconnect: () => {
removeAwarenessStates(awareness, [awareness.clientID], 'disconnect');
awareness.off('update', awarenessUpdate);
socket.emit('client-leave-awareness', workspaceId);
socket.off('server-awareness-broadcast', awarenessBroadcast);
socket.off('new-client-awareness-init', newClientAwarenessInitHandler);
socket.off('connect', handleConnect);
window.removeEventListener('unload', windowBeforeUnloadHandler);
socket.disconnect();
},
};
}

View File

@@ -2,6 +2,7 @@ import {
checkBlobSizesQuery,
deleteBlobMutation,
fetchWithTraceReport,
getBaseUrl,
listBlobsQuery,
setBlobMutation,
} from '@affine/graphql';
@@ -21,7 +22,7 @@ export const createAffineCloudBlobStorage = (
? key
: `/api/workspaces/${workspaceId}/blobs/${key}`;
return fetchWithTraceReport(suffix).then(async res => {
return fetchWithTraceReport(getBaseUrl() + suffix).then(async res => {
if (!res.ok) {
// status not in the range 200-299
return null;

View File

@@ -51,8 +51,7 @@ export function createAffineStorage(
});
});
// TODO: handle error
socket.on('connect', () => {
function handleConnect() {
socket.emit(
'client-handshake-sync',
workspaceId,
@@ -62,10 +61,22 @@ export function createAffineStorage(
}
}
);
});
}
socket.on('connect', handleConnect);
socket.connect();
socket.emit(
'client-handshake-sync',
workspaceId,
(response: { error?: any }) => {
if (!response.error) {
syncSender.start();
}
}
);
return {
name: 'affine-cloud',
async pull(docId, state) {
@@ -124,14 +135,6 @@ export function createAffineStorage(
await syncSender.send(docId, update);
},
async subscribe(cb, disconnect) {
const response: { error?: any } = await socket
.timeout(10000)
.emitWithAck('client-handshake-sync', workspaceId);
if (response.error) {
throw new Error('client-handshake error, ' + response.error);
}
const handleUpdate = async (message: {
workspaceId: string;
guid: string;
@@ -157,7 +160,7 @@ export function createAffineStorage(
disconnect() {
syncSender.stop();
socket.emit('client-leave-sync', workspaceId);
socket.disconnect();
socket.off('connect', handleConnect);
},
};
}

View File

@@ -49,7 +49,8 @@ export class WorkspaceUpgradeController {
checkIfNeedUpgrade() {
const needUpgrade = !!checkWorkspaceCompatibility(
this.workspace.blockSuiteWorkspace
this.workspace.blockSuiteWorkspace,
this.workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD
);
this.status = {
...this.status,
@@ -69,7 +70,8 @@ export class WorkspaceUpgradeController {
await this.workspace.engine.sync.waitForSynced();
const step = checkWorkspaceCompatibility(
this.workspace.blockSuiteWorkspace
this.workspace.blockSuiteWorkspace,
this.workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD
);
if (!step) {

View File

@@ -9,5 +9,10 @@ describe('isSvgBuffer', () => {
expect(isSvgBuffer(Buffer.from('<svg></svg>'))).toBe(true);
expect(isSvgBuffer(Buffer.from(' \n\r\t<svg></svg>'))).toBe(true);
expect(isSvgBuffer(Buffer.from('<123>'))).toBe(false);
expect(
isSvgBuffer(
Buffer.from('<?xml version="1.0" encoding="UTF-8"?><svg></svg>')
)
).toBe(true);
});
});

View File

@@ -1,7 +1,7 @@
import isSvg from 'is-svg';
function fastCheckIsNotSvg(buffer: Uint8Array) {
// check first non-whitespace character is not '<svg'
// check first non-whitespace character is not '<svg' or '<?xml'
for (let i = 0; i < buffer.length; i++) {
const ch = buffer[i];
@@ -18,11 +18,20 @@ function fastCheckIsNotSvg(buffer: Uint8Array) {
continue;
}
return !(
buffer[i] === /* '<' */ 0x3c &&
buffer[i + 1] === /* 's' */ 0x73 &&
buffer[i + 2] === /* 'v' */ 0x76 &&
buffer[i + 3] === /* 'g' */ 0x67
return (
!(
buffer[i] === /* '<' */ 0x3c &&
buffer[i + 1] === /* 's' */ 0x73 &&
buffer[i + 2] === /* 'v' */ 0x76 &&
buffer[i + 3] === /* 'g' */ 0x67
) &&
!(
buffer[i] === /* '<' */ 0x3c &&
buffer[i + 1] === /* '?' */ 0x3f &&
buffer[i + 2] === /* 'x' */ 0x78 &&
buffer[i + 3] === /* 'm' */ 0x6d &&
buffer[i + 4] === /* 'l' */ 0x6c
)
);
}

View File

@@ -5,7 +5,6 @@ import { type ReactElement, useCallback } from 'react';
import { openAIApiKeyAtom } from '../core/hooks';
import { conversationHistoryDBName } from '../core/langchain/message-history';
import * as styles from './index.css';
export const DebugContent = (): ReactElement => {
const [key, setKey] = useAtom(openAIApiKeyAtom);
@@ -13,7 +12,7 @@ export const DebugContent = (): ReactElement => {
<div>
<FlexWrapper justifyContent="space-between">
<Input
className={styles.debugContentInput}
style={{ width: 280 }}
defaultValue={key ?? undefined}
onChange={useCallback(
(newValue: string) => {

View File

@@ -41,7 +41,3 @@ export const sendButtonStyle = style({
backgroundColor: 'transparent',
},
});
export const debugContentInput = style({
width: '280px',
});

View File

@@ -9,10 +9,10 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",

View File

@@ -9,10 +9,10 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",

View File

@@ -9,10 +9,10 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",

View File

@@ -9,10 +9,10 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@playwright/test": "^1.39.0",
"express": "^4.18.2",
"http-proxy-middleware": "^3.0.0-beta.1",

View File

@@ -7,10 +7,10 @@
"devDependencies": {
"@affine-test/fixtures": "workspace:*",
"@affine-test/kit": "workspace:*",
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@playwright/test": "^1.39.0"
},
"version": "0.11.0"

View File

@@ -31,14 +31,14 @@
"wait-on": "^7.2.0"
},
"devDependencies": {
"@blocksuite/block-std": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/blocks": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/global": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/block-std": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/icons": "2.1.36",
"@blocksuite/inline": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/lit": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/presets": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/store": "0.11.0-nightly-202312210105-edfa58e",
"@blocksuite/inline": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",
"@dnd-kit/sortable": "^8.0.0",
"@tomfreudenberg/next-auth-mock": "^0.5.6",
"chromatic": "^9.1.0",

256
yarn.lock
View File

@@ -25,10 +25,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -42,10 +42,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -59,10 +59,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -76,10 +76,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@playwright/test": "npm:^1.39.0"
express: "npm:^4.18.2"
http-proxy-middleware: "npm:^3.0.0-beta.1"
@@ -138,10 +138,10 @@ __metadata:
dependencies:
"@affine-test/fixtures": "workspace:*"
"@affine-test/kit": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@playwright/test": "npm:^1.39.0"
languageName: unknown
linkType: soft
@@ -222,12 +222,12 @@ __metadata:
"@affine/graphql": "workspace:*"
"@affine/i18n": "workspace:*"
"@affine/workspace": "workspace:*"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/icons": "npm:2.1.36"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@dnd-kit/core": "npm:^6.0.8"
"@dnd-kit/modifiers": "npm:^7.0.0"
"@dnd-kit/sortable": "npm:^8.0.0"
@@ -351,14 +351,14 @@ __metadata:
"@affine/templates": "workspace:*"
"@affine/workspace": "workspace:*"
"@aws-sdk/client-s3": "npm:3.433.0"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/icons": "npm:2.1.36"
"@blocksuite/inline": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@dnd-kit/core": "npm:^6.0.8"
"@dnd-kit/sortable": "npm:^8.0.0"
"@emotion/cache": "npm:^11.11.0"
@@ -468,10 +468,10 @@ __metadata:
"@affine/sdk": "workspace:*"
"@affine/templates": "workspace:*"
"@affine/vue-hello-world-plugin": "workspace:*"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@electron-forge/cli": "npm:^7.2.0"
"@electron-forge/core": "npm:^7.2.0"
"@electron-forge/core-utils": "npm:^7.2.0"
@@ -520,8 +520,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@affine/env@workspace:packages/common/env"
dependencies:
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
lit: "npm:^3.0.2"
react: "npm:18.2.0"
react-dom: "npm:18.2.0"
@@ -711,11 +711,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "@affine/sdk@workspace:packages/common/sdk"
dependencies:
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
jotai: "npm:^2.5.1"
vite: "npm:^5.0.6"
vite-plugin-dts: "npm:3.6.0"
@@ -840,14 +840,14 @@ __metadata:
dependencies:
"@affine/component": "workspace:*"
"@affine/i18n": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/icons": "npm:2.1.36"
"@blocksuite/inline": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@dnd-kit/sortable": "npm:^8.0.0"
"@storybook/addon-actions": "npm:^7.5.3"
"@storybook/addon-essentials": "npm:^7.5.3"
@@ -4077,29 +4077,29 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/block-std@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/block-std@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/block-std@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
lz-string: "npm:^1.5.0"
w3c-keyname: "npm:^2.2.8"
zod: "npm:^3.22.4"
peerDependencies:
"@blocksuite/store": 0.11.0-nightly-202312210105-edfa58e
checksum: eb20c1b8a497562676c3d91b9470add50fdb01e4ec68243dc2349fa7cb943cd77f013b2d38db8d61de03caba8ca04de21ce84bb7d56cb6991d9e8b7901a05d41
"@blocksuite/store": 0.11.0-nightly-202312220916-e3abcbb
checksum: bb1e7aae8310b09976af186566194eeae50d49518ada0571993d093afed029e8e1487258cc9fdc1b87b4961e05664408fbf7def2ffd01664bd80702481793eca
languageName: node
linkType: hard
"@blocksuite/blocks@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/blocks@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/blocks@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@floating-ui/dom": "npm:^1.5.3"
"@toeverything/theme": "npm:^0.7.27"
"@types/hast": "npm:^3.0.3"
@@ -4133,16 +4133,16 @@ __metadata:
unified: "npm:^11.0.4"
webfontloader: "npm:^1.6.28"
zod: "npm:^3.22.4"
checksum: fc4fecfb2dd3bfdf0e91fd91bda40d7ba9c02533f6e5f2de17b32265288d0b44dbb64402c6f6a1b8adb469046df14d89beb15d1ba24e0724b9145495c2f0174d
checksum: 4d489d9b07240e10f395889cff888a0827d755be546dcc8a59394ac9562efadb18bc7af395d0fb64d31a14fda1582a0834a3f7f543ca3cfbf6ede063c1db02c7
languageName: node
linkType: hard
"@blocksuite/global@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/global@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/global@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
zod: "npm:^3.22.4"
checksum: f1943b1e456197d7e90775cdeda8bab01361f81c665cdcf025efe39c7d1e3f8e370873c80d5fcb02427410b4457a92deb3334d9e7401a47b276bd46714fbcf1a
checksum: 90cadce741fe6917175848637fceddd90f8d18270ce95d92fd7c3035805e5add96dc363a20c6c1d89402f0d932ae0afcbba2d99afe65a624118b57cfdebcb13c
languageName: node
linkType: hard
@@ -4156,55 +4156,57 @@ __metadata:
languageName: node
linkType: hard
"@blocksuite/inline@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/inline@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/inline@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
zod: "npm:^3.22.4"
peerDependencies:
lit: ^3.0.2
yjs: ^13
checksum: 066a2141351acbcb0d8a73244057e6d6d900681572cd9cc65226b7e4fba8ad5e4b0ff25aa9a9eade04c2a003d7d9794ce21fd55fade6eac7356c9e4b3fd8be4d
checksum: 33f68338338981d43304e7408757ede7269bd5eb8be2fe92ec5e5a35dbbc20095fbec9bf26878d7e88484302bd4c466806bdc48c871c97aeab0c2d456fd062ab
languageName: node
linkType: hard
"@blocksuite/lit@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/lit@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/lit@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
lit: "npm:^3.1.0"
peerDependencies:
"@blocksuite/block-std": 0.11.0-nightly-202312210105-edfa58e
"@blocksuite/store": 0.11.0-nightly-202312210105-edfa58e
checksum: a736fbd9b8bcbb9e0341943c4a033a526ee6270049db4ba1eef3bfe937283f786b397cc6e086123b1b9d8f6b3f4d94d442722864a2f0ca3f1c6bcdfe9ad08db9
"@blocksuite/block-std": 0.11.0-nightly-202312220916-e3abcbb
"@blocksuite/store": 0.11.0-nightly-202312220916-e3abcbb
checksum: af7835d4facd1e4a1339ec69a3069c0e49042d76a5af40cd5ad4763f845806b0c95b8464e2a26a74fe92397fd01e928ee30168e7dbbf86d111711c1c8f3503f4
languageName: node
linkType: hard
"@blocksuite/presets@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/presets@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/presets@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@fal-ai/serverless-client": "npm:^0.7.3"
"@toeverything/theme": "npm:^0.7.27"
lit: "npm:^3.1.0"
openai: "npm:^4.20.1"
checksum: 471e5f4748dc695cff7bdba939e3cc9f8d9e302442d7b366b03c8a207280c2c2532c3abdd767f041a47a644e23faa7a2860c8a0b28b4530e0b194f076562acbe
checksum: c065ed1ac04eef103170650bdb81af7aca6d8f1b9d72253251397345d908c09e6daf78eed2a408b273caf3d109900ad84f4a60fc54fd6f7b062f93b5e23c92f4
languageName: node
linkType: hard
"@blocksuite/store@npm:0.11.0-nightly-202312210105-edfa58e":
version: 0.11.0-nightly-202312210105-edfa58e
resolution: "@blocksuite/store@npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store@npm:0.11.0-nightly-202312220916-e3abcbb":
version: 0.11.0-nightly-202312220916-e3abcbb
resolution: "@blocksuite/store@npm:0.11.0-nightly-202312220916-e3abcbb"
dependencies:
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/inline": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/inline": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@types/flexsearch": "npm:^0.7.3"
flexsearch: "npm:0.7.21"
idb-keyval: "npm:^6.2.1"
@@ -4217,7 +4219,7 @@ __metadata:
peerDependencies:
async-call-rpc: ^6
yjs: ^13
checksum: afd08bbb37060102de1cf5d0ce6f14a7197cd7b9f8e8cd306246de61e11122dabe01713e570ee7d4f38c8deed5090a0077bb628ed3421552d7c583da58ca5670
checksum: fe615c626b412c5f48406a6617e950f55388e3253540cd02978e3155f3a573adc68539c3b521c40d04da7932eb8a73af30b8262cb34f478fb0b88bc0b28f9153
languageName: node
linkType: hard
@@ -5901,6 +5903,17 @@ __metadata:
languageName: node
linkType: hard
"@fal-ai/serverless-client@npm:^0.7.3":
version: 0.7.4
resolution: "@fal-ai/serverless-client@npm:0.7.4"
dependencies:
"@msgpack/msgpack": "npm:^3.0.0-beta2"
robot3: "npm:^0.4.1"
uuid-random: "npm:^1.3.2"
checksum: 2df2a3de60b637b2cfe57e08429f79e0ac7f604777f7e761839b28795be049e714f3f1f338c4fb35a18e575d4c58b82c7244680877adf5d83094ba6625de4851
languageName: node
linkType: hard
"@fal-works/esbuild-plugin-global-externals@npm:^2.1.2":
version: 2.1.2
resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2"
@@ -7390,6 +7403,13 @@ __metadata:
languageName: node
linkType: hard
"@msgpack/msgpack@npm:^3.0.0-beta2":
version: 3.0.0-beta2
resolution: "@msgpack/msgpack@npm:3.0.0-beta2"
checksum: d02f9221aa152cbd2977d1f56dc591baa2a37420a694cbc7e54ff0724f56ac0523e94de010e56bb845d67a1f2226c1761064b5777e63e9fc26884f4144d391a7
languageName: node
linkType: hard
"@mswjs/cookies@npm:^1.1.0":
version: 1.1.0
resolution: "@mswjs/cookies@npm:1.1.0"
@@ -13743,12 +13763,12 @@ __metadata:
"@affine/debug": "workspace:*"
"@affine/env": "workspace:*"
"@affine/workspace": "workspace:*"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/block-std": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@testing-library/react": "npm:^14.0.0"
"@toeverything/infra": "workspace:*"
"@types/image-blob-reduce": "npm:^4.1.3"
@@ -13799,11 +13819,11 @@ __metadata:
"@affine/env": "workspace:*"
"@affine/sdk": "workspace:*"
"@affine/templates": "workspace:*"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/global": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/lit": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/presets": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/global": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@testing-library/react": "npm:^14.0.0"
async-call-rpc: "npm:^6.3.1"
electron: "link:../../frontend/electron/node_modules/electron"
@@ -13852,8 +13872,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@toeverything/y-indexeddb@workspace:packages/common/y-indexeddb"
dependencies:
"@blocksuite/blocks": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
fake-indexeddb: "npm:^5.0.0"
idb: "npm:^8.0.0"
nanoid: "npm:^5.0.3"
@@ -32667,6 +32687,13 @@ __metadata:
languageName: node
linkType: hard
"robot3@npm:^0.4.1":
version: 0.4.1
resolution: "robot3@npm:0.4.1"
checksum: bab48cf0be9c26caeca0bb11a0c7abac813db67dd76c406cfd9ac828562c1cf504ce3775f87b157eb33ac62cda4763421513ecc6f2780266d19cc0f9590eb3bf
languageName: node
linkType: hard
"rollup-plugin-inject@npm:^3.0.0":
version: 3.0.2
resolution: "rollup-plugin-inject@npm:3.0.2"
@@ -35772,6 +35799,13 @@ __metadata:
languageName: node
linkType: hard
"uuid-random@npm:^1.3.2":
version: 1.3.2
resolution: "uuid-random@npm:1.3.2"
checksum: 9070c876651e1893f9255dddab2edc177ba34196660065be074050e4143405382b7f0f5fb922b666ebfd0794a6ef7b9f6acb627865df7b2978edb0da6b448f1d
languageName: node
linkType: hard
"uuid@npm:9.0.1, uuid@npm:^9.0.0, uuid@npm:^9.0.1":
version: 9.0.1
resolution: "uuid@npm:9.0.1"
@@ -37017,7 +37051,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "y-provider@workspace:packages/common/y-provider"
dependencies:
"@blocksuite/store": "npm:0.11.0-nightly-202312210105-edfa58e"
"@blocksuite/store": "npm:0.11.0-nightly-202312220916-e3abcbb"
vite: "npm:^5.0.6"
vite-plugin-dts: "npm:3.6.0"
vitest: "npm:1.0.4"