Understanding memory requirements for production usage

@tommoor I plan to keep the document in the compressed binary format in the persistence plugin (I already developed an interface for it).

Part 1: I want so compute the sync steps directly on the Yjs binary format. This is currently only simulated in y-leveldb by temporarily loading the Yjs document. The API can be considered stable though.

Part 2: write a new y-websocket server to use that new API. I’d love to just have an alternative server implementation that uses the new persistence API. I will probably keep the old server around because some people depend on the document content being loaded to memory to periodically send the document content to a database for indexing.

The server implementation is currently quite a mess. It grew over the years. It is not adaptable and doesn’t provide a nice solution for handling authentication… I’d like to have a minimalistic server that others can adapt. Alternatively I know that a lot of people would rather like a server that handles everything for them (more opinionated). This would be open to discussion.

Would you like to work on part 2?