You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Jeffail, this is an opinionated proposal, if you don't like it please close it immediately.
There is no reason to do this if there are lots of valid use-cases for having create.
The idea is to remove store.Create and have store.Fetch always return an empty document, if a document doesn't exist. It'll still need an err response for internal errors, and in cases where documentId is too large or in a format not support by the storage engine.
A long with this I would probably suggest that we also reduce auth to only care about permissions Edit and ReadOnly. So technically someone could still prevent new documents, by restricting access using auth (ie. forbid anyone from editing a document that doesn't exist). But as far as curator goes, it seems like a lot of extra cases to deal with.
Unrelated My goal with this is to build an etherpad-like thing. Just more robust, better scalability and less maintenance, my biggest concern for now is complexity of the API, ie. there is a lot of corner cases that I don't think most people will care about.
The last concern is scalability, specifically I see some locks both curator and binder level... I filed a bug for the curator level lock to not cover I/O, but the binder level kick user locks seems to be about slow web sockets (are they able to make the document slow for all users?). Granted I'm less concerned about those for now.
The text was updated successfully, but these errors were encountered:
Also if we do this, perhaps store.Fetch and store.Store should be renamed, get/set, and operate on `[]byte, so that any future model that does more fancy things can use the different stores too...
I doubt anyone is going to do new document models... Text is pretty useful, though it would be nice to have some JSON properties for editor settings. But then again, when storing in blob storage, it's nice that all documents are plain text in terms for backup, etc.
Not sure if it would be feasible, but adding: RegisterHandlers(register register.PubPrivEndpointRegister) error
Would also be nice, notably because different storage engines supports different ways of listing/search/finding documents.
@Jeffail, this is an opinionated proposal, if you don't like it please close it immediately.
There is no reason to do this if there are lots of valid use-cases for having create.
The idea is to remove
store.Create
and havestore.Fetch
always return an empty document, if a document doesn't exist. It'll still need an err response for internal errors, and in cases where documentId is too large or in a format not support by the storage engine.A long with this I would probably suggest that we also reduce auth to only care about permissions Edit and ReadOnly. So technically someone could still prevent new documents, by restricting access using auth (ie. forbid anyone from editing a document that doesn't exist). But as far as curator goes, it seems like a lot of extra cases to deal with.
Unrelated My goal with this is to build an etherpad-like thing. Just more robust, better scalability and less maintenance, my biggest concern for now is complexity of the API, ie. there is a lot of corner cases that I don't think most people will care about.
The last concern is scalability, specifically I see some locks both curator and binder level... I filed a bug for the curator level lock to not cover I/O, but the binder level kick user locks seems to be about slow web sockets (are they able to make the document slow for all users?). Granted I'm less concerned about those for now.
The text was updated successfully, but these errors were encountered: