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:
EYHN
2025-05-08 07:53:33 +00:00
parent 93d74ff220
commit 2d1600fa00
56 changed files with 496 additions and 458 deletions

View File

@@ -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$);
}