Shared Edits 플러그인이 500 오류를 발생시키고 데이터가 손실될 수 있음

이 플러그인은 현재 500 오류를 발생시키고 데이터를 잃을 수 있습니다. 이러한 문제가 발생한 후 플러그인을 비활성화했습니다. 지금은 더 이상 보고할 사항이 없습니다. 다만, 활성화된 후에는 비활성화할 수 없었습니다.

I don’t think it has had a refresh after the extensive composer updates over the past year.

Personally, I’d love to see it get some love as it would be very nice to stay in Discourse for collaborative editing.

1개의 좋아요

Does it also give errors and lose data when you are in the markdown editor, or is it just in the richtext editor?

There are a handful of plugins that will not work in the richtext editor, and this appears to be one of them.

Edit: I just installed it to try it out and am not able to repro, even using the richtext editor. I was not attempting to edit together with another user, but I was able to enable shared edits and edit the post, and see the changes appearing in real time. What are the repro steps to getting 500 errors and losing data?

1개의 좋아요

The OT library we use is pretty rough, it usually works fine but sometimes when documents get long there are pathological cases.

The plan is to shift to a CRDT based implementation, though I do not have a timeline yet.

3개의 좋아요

For those curious to see the future of Shared Edits, I have a work in progress PR here:

https://github.com/discourse/discourse-shared-edits/pull/143

It resolves the issue in the OP and a family of other issues, but will take a while to merge given the changes are extremely extensive.

7개의 좋아요

Thank you @sam, I’ll be happy to test this on larger texts in a safe environment. Indeed, losing large chunks of text is exactly why I stopped using this plugin, so I’m happy to come back to it.

We’re still using HedgeDoc to avoid any problems, but there is an issue there when two cursors are at the same point: editing becomes unreliable, especially if the other person is trying to do something, then there’s a race condition. Just saying in case you bump into this with your own code.

(Note that I might not be able to test soonish, as I’m on vacation.)

3개의 좋아요