Skip to content

Collaborative editing based on yjs #1155

@hughfenghen

Description

@hughfenghen

Hi, all.

Sorry, my English is very bad, so I use bilingual to avoid misunderstanding. Thanks google translate.
抱歉,我的英语非常糟糕,所以使用双语,避免误解。感谢谷歌翻译。

I used yjs + editor.js to implement a collaborative editing demo, Below is the preview.
我使用yjs + editor.js实现了一个协同编辑的demo,下面是预览图。

Kapture 2020-05-16 at 16 15 12

It is currently immature, has many bugs, and does not implement cursor synchronization.
目前它还不成熟,有很多bug,没有实现光标同步。

As you can see from the preview, the updated block will flash (Because the new block is used to replace the old block). Hope that editor.js will have a new API to improve the experience.
从预览图中看到,被更新的block会出现闪烁(因为是使用新的block替换旧的block),希望editor.js会有新的API来改善体验。

#1074 (comment)

However, at the moment we can't provide a method to update a certain block, as data passed to the Tool constructor. So to update it, we need to construct the new Block with updated data and replace the old one. I don't think this approach is the best one, so we need to design a block update flow and describe it with APIs and docs.

In addition, YUndoManager may be able to optimize the undo feature. (#518)
另外YUndoManager也许可以优化撤销功能。

Related issue: #908, #1040

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions