Skip to content
This repository has been archived by the owner on May 7, 2022. It is now read-only.

Current limitations document #74

Closed
mglukhovsky opened this issue Jun 10, 2016 · 6 comments
Closed

Current limitations document #74

mglukhovsky opened this issue Jun 10, 2016 · 6 comments

Comments

@mglukhovsky
Copy link
Member

We should add a document outlining some current limitations in the server, and certain operations (as well as temporary workarounds as features get added). For example:

  • Reconnection logic
  • Pagination
  • User / password authentication
  • GraphQL support

Other suggestions are welcome.

@mlucy
Copy link
Member

mlucy commented Jun 10, 2016

  • Lack of automatic retrying for writes that might have version conflicts.
  • Lack of atomic operations (even single-document ones).

@danielmewes
Copy link
Member

  • User records for "anonymous" users don't expire yet (though the users' JWT tokens do) and need to be removed from the users collection manually.
  • While schema enforcement can be done through query templates and validator functions, there is no support for a declarative schema specification in the style of something like JSON Schema yet.

@mglukhovsky
Copy link
Member Author

  • Browsers and environment versions supported by the Horizon client

@chipotle
Copy link
Collaborator

This is a good idea for a document. @mlucy and @danielmewes are listing actual limitations, but @mglukhovsky is really offering a list of questions that I'll need answers to, though.

  • GraphQL support, pagination, local user/password authentication: we don't have any of these, right?
  • Browsers supported by the client: do we have a known minimum? Any browser that supports ES5 methods? (React simply lists: "React supports most popular browsers, including Internet Explorer 9 and above." Statements like that seem to be pretty common these days; the common wisdom appears to be that only people stuck with IE have to care about versions.)
  • "Environment versions": This is a little nebulous; what environment?
  • Reconnection logic: I presume this is about how an application reconnects to the Horizon server; there's an issue which has been open on that since November (Managing reconnection horizon#9), but I'm not sure what you need here as far as documenting it as a limitation, other than just mentioning that there is no auto

@danielmewes
Copy link
Member

We talked about this a little bit yesterday, and it seems that the page really needs to cover two different things. One is "Limitations of current features" and the other is "Features that don't exist yet, but are planned".

GraphQL support, pagination, local user/password authentication: we don't have any of these, right?

Right, those would be "planned features".

Browsers supported by the client: do we have a known minimum?

I don't think we do, though there are some known issues with Internet Explorer 10 and 11 (see rethinkdb/horizon#566 ). We could say something along the lines of us not having tested compatibility with older browsers extensively yet, and mention the known incompatibility. @deontologician do you know more about which browsers should work?

Environment versions

I'm not entirely sure what @mglukhovsky had in mind here, though one thing that would fit into this point are supported versions of npm and node. I don't think this is something we need to mention on this page though, since we don't have any ambition to add support for older npm or node version. Another thing that might be worth mentioning on this page is that setting up a Horizon server on Windows is still not as well tested.

Reconnection logic

Yeah, this is another one of the missing features. No automatic reconnection logic, and also if you do reconnect manually, any active subscriptions will not (yet) automatically resume and will have to be set up again from scratch on the client.

@deontologician
Copy link
Contributor

I am not sure which browsers should work. We know for certain it doesn't work on mobile safari, and it seems IE 10 based on @danielmewes testing. We have polyfills for the most bleeding edge stuff, but if your browser doesn't support Promises directly, you'll need to add your own polyfill

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants