-
Notifications
You must be signed in to change notification settings - Fork 393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support multi-person collaborative editing #1274
Conversation
Codecov ReportBase: 57.64% // Head: 57.69% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #1274 +/- ##
==========================================
+ Coverage 57.64% 57.69% +0.04%
==========================================
Files 1256 1269 +13
Lines 78425 78925 +500
Branches 16438 16511 +73
==========================================
+ Hits 45210 45537 +327
- Misses 30219 30376 +157
- Partials 2996 3012 +16
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Collaboration/refactor browser
告一段落,这里尝试简单提出后续的工作:situ2001#15 |
@situ2001 冲突处理一下 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* feat: init collaboration module * chore: clean up * chore: add deps * feat: basic textmodel binding * chore: clean up codes * refactor: fix type error and refactor binding * refactor: rename * feat: store bindings * feat: undo manager * fix: only support CodeEditor * fix: add missing dependency * feat: binding now supports multiple editor * feat: support multiple editor * fix: support multiple editors * refactor: refine logic * refactor: refine logic * feat: force save * feat: node-side init * feat: init backservice * feat: set init content by server * feat: delete YText obj by server on file deletion * fix: add missing dep * refactor: make commands into constants * fix: wont destroy bindings when app is stopped * refactor: use `ROOM_NAME` constant * refactor: apply di to `TextModelBinding` * chore: remove unused log * test: create test for `CollaborationModule` * test: create test for `CollaborationContribution` * refactor: clean codes and add comments * refactor: use `EventBus` for `FilesChangeEvent` * refactor: modify class field accessibility * refactor: rename methods * test: basic test for `CollaborationService` * test: apply modifies to descriptions * chore: update deps * test: create test for `TextModelBinding` * test: completed test for `TextModelBinding` * test: create test for node side of collaboration * feat: handle fs event and resolve content in node * fix: destroy undoManager when destroying binding * feat(collaboration): init user info, cursor widget * fix: should set content before registering listener * feat: add user info and indicator * refactor: refactor constants and interface * test: update * feat: use `Deferred` to handle events * test: remove * test: update * test: update * refactor: move listener and handler from backService * refactor: rename * test: rename * refactor: remove methods from interface * refactor: classified types and constants * refactor: remove default contribution * refactor: rename to `CollaborationModuleContribution` * refactor: remove `logger.debug` statements * fix: do not remove styles when awareness removed * refactor: renamed textmodel-binding * refactor: refine TextModelBinding * refactor: rename interface methods * refactor: rename interface methods * test: add missing token of di provider * refactor: removed unused methods * feat: enable autosave on collaboration module did start * docs: init README * feat: get ws hostname from AppConfig * refactor: move constants * test: add mock `AppConfig` * chore: bump version to 2.20.1 Co-authored-by: Dan <[email protected]>
Types
Background
This is an advance subject of ASoC 2022 and #1103.
For more details, visit #1097.
close #1097
Milestone
Changelog