diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx index d551b025f..2e6c13cb9 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx @@ -88,6 +88,17 @@ const BlockSuiteEditorImpl = forwardRef( [onLoadEditor, ref] ); + useEffect(() => { + const disposable = page.slots.blockUpdated.once(() => { + page.collection.setDocMeta(page.id, { + updatedDate: Date.now(), + }); + }); + return () => { + disposable.dispose(); + }; + }, [page]); + useEffect(() => { return () => { editorDisposeRef.current(); diff --git a/packages/frontend/core/src/components/page-detail-editor.tsx b/packages/frontend/core/src/components/page-detail-editor.tsx index 434df66ec..d280f9bf1 100644 --- a/packages/frontend/core/src/components/page-detail-editor.tsx +++ b/packages/frontend/core/src/components/page-detail-editor.tsx @@ -75,13 +75,6 @@ const PageDetailEditorMain = memo(function PageDetailEditorMain({ // debug current detail editor globalThis.currentEditor = editor; const disposableGroup = new DisposableGroup(); - disposableGroup.add( - page.slots.blockUpdated.once(() => { - page.collection.setDocMeta(page.id, { - updatedDate: Date.now(), - }); - }) - ); localStorage.setItem('last_page_id', page.id); if (onLoad) { diff --git a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx index 8af189417..78ae4b477 100644 --- a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx +++ b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx @@ -67,7 +67,6 @@ const DetailPageImpl = memo(function DetailPageImpl() { const activeTabName = useLiveData(rightSidebar.activeTabName$); const doc = useService(DocService).doc; - const docRecordList = useService(DocsService).list; const { openPage, jumpToPageBlock, jumpToTag } = useNavigateHelper(); const [editor, setEditor] = useState(null); const workspace = useService(WorkspaceService).workspace; @@ -200,15 +199,6 @@ const DetailPageImpl = memo(function DetailPageImpl() { editorHost.std.spec.getService('affine:page'); const disposable = new DisposableGroup(); - pageService.getDocUpdatedAt = (pageId: string) => { - const linkedPage = docRecordList.doc$(pageId).value; - if (!linkedPage) return new Date(); - - const updatedDate = linkedPage.meta$.value.updatedDate; - const createDate = linkedPage.meta$.value.createDate; - return new Date(updatedDate || createDate || Date.now()); - }; - doc.setMode(mode); disposable.add( pageService.slots.docLinkClicked.on(({ docId, blockId }) => { @@ -232,7 +222,6 @@ const DetailPageImpl = memo(function DetailPageImpl() { [ doc, mode, - docRecordList, jumpToPageBlock, docCollection.id, openPage,