OT does not work properly

opening https://prosemirror.net/demo/collab.html#edit-Example in two chrome tabs and making changes in the second one, it seems they do not appear in the first one.

At first I thought it’s a matter of delay but it seems even if I wait quite a bit the first one does not update.

If I switch to the second one and make more changes the first changes then appear in the first one.

How can I make changes appear immediately ?

Works for me. Any errors in your devtools?

Also, OT is not a synonym for collaborative editing. ProseMirror’s implementation has nothing to do with operational transform.

no, no errors in the console

I just tried again now, opened two tabs, typed ‘hello’ in one of them and switched to the other, after a second or so it showed ‘hell’ so missing the final letter, it’s still missing now ~5 min after. If I keep switching between the two tabs I see ‘hello’ in one and ‘hell’ in hte other with the console empty on both.

Which browser are you using?

chrome 52.0.2743.116

(windows 7)

I’ve been testing with Chrome, and not seeing any problems. Anyone else reading this thread who can confirm what they are seeing?

I just tested collaborative editing using two Chrome (v.52.0.2743.116) tabs on Mac. I also opened Safari for good measure. I was able to reproduce the problem of ‘hello’ in the Chrome input browser but only ‘hell’ in the other Chrome and Safari browser if I typed ‘hello’ quickly. Upon resumption of typing (e.g. adding a space) that last ‘o’ and the space appeared in Chrome and Safari. When I typed ‘hello’ slowly it would appear correctly in all browsers.

Seems to be a timing issue. I was able to sporadically reproduce this when I typed really fast. Will look into it. (Note that the bug is in the demo’s implementation, not in ProseMirror’s algorithm.)

This sounds like it could be one of the edge cases I described in How to handle edge case with collab module.

doesn’t sound like an edge case if it happens to me on almost every type …

The problem seems to be gone in the cleaned-up implementation of the demo released with 0.11.0.