mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
refactor(core): implement doc created/updated by service (#12150)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Documents now automatically track and display "created by" and "updated by" user information. - Document creation and update timestamps are now managed and shown more accurately. - Workspace and document metadata (name, avatar) updates are more responsive and reliable. - Document creation supports middleware for customizing properties and behavior. - **Improvements** - Simplified and unified event handling for document list updates, reducing redundant event subscriptions. - Enhanced integration of editor and theme settings into the document creation process. - Explicit Yjs document initialization for improved workspace stability and reliability. - Consolidated journal-related metadata display in document icons and titles for clarity. - **Bug Fixes** - Fixed inconsistencies in how workspace and document names are set and updated. - Improved accuracy of "last updated" indicators by handling timestamps automatically. - **Refactor** - Removed deprecated event subjects and direct metadata manipulation in favor of more robust, reactive patterns. - Streamlined document creation logic across various features (quick search, journal, recording, etc.). - Simplified user avatar display components and removed cloud metadata dependencies. - Removed legacy editor setting and theme service dependencies from multiple modules. - **Chores** - Updated internal APIs and interfaces to support new metadata and event handling mechanisms. - Cleaned up unused code and dependencies related to editor settings and theme services. - Skipped flaky end-to-end test to improve test suite stability. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -126,19 +126,6 @@ export class DocDisplayMetaService
|
||||
}, pageId);
|
||||
|
||||
this.disposables.push(disposable);
|
||||
const docRemovedSubscription =
|
||||
this.std.workspace.slots.docRemoved.subscribe(docId => {
|
||||
if (docId === doc.id) {
|
||||
docRemovedSubscription.unsubscribe();
|
||||
const index = this.disposables.findIndex(d => d === disposable);
|
||||
if (index !== -1) {
|
||||
this.disposables.splice(index, 1);
|
||||
disposable.unsubscribe();
|
||||
}
|
||||
this.iconMap.delete(store);
|
||||
}
|
||||
});
|
||||
this.disposables.push(docRemovedSubscription);
|
||||
this.iconMap.set(store, icon$);
|
||||
}
|
||||
|
||||
@@ -188,19 +175,6 @@ export class DocDisplayMetaService
|
||||
);
|
||||
|
||||
this.disposables.push(disposable);
|
||||
const docRemovedSubscription =
|
||||
this.std.workspace.slots.docRemoved.subscribe(docId => {
|
||||
if (docId === doc.id) {
|
||||
docRemovedSubscription.unsubscribe();
|
||||
const index = this.disposables.findIndex(d => d === disposable);
|
||||
if (index !== -1) {
|
||||
this.disposables.splice(index, 1);
|
||||
disposable.unsubscribe();
|
||||
}
|
||||
this.iconMap.delete(store);
|
||||
}
|
||||
});
|
||||
this.disposables.push(docRemovedSubscription);
|
||||
this.titleMap.set(store, title$);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user