We used an incorrect, non-async mutex. This usually wasn't an issue on local networks due to low latency, but it leads to issues in production.
Ignore local Yjs events; After fixing the mutex situation, the editor continued acting up by adding every keypress twice to the document. This is fixed by simply ignoring all document changes that originate from the local client.
Closes https://github.com/TypeFox/open-collaboration-tools/issues/37
There were two main culprits: