Comments (5)
@sorsaffari (cc @haikalpribadi @lolski) as this feature seems to be needed for all clients, should we make a gRPC endpoint in server that would tell minimal version of client needed to connect to that server?
from typedb-driver-nodejs.
@vmax I was thinking each client would maintain a compatibility table rather than server maintaining one per client (since each client can have different versions). The server just needs to return its version when we open a client I think!
This would entail just having a new version
endpoint that we check when opening a channel in each client would be the most general solution, what do you think?
from typedb-driver-nodejs.
@flyingsilverfin let me correct myself a bit. Server should report minimal version of protocol that client should implement in order to connect to it.
Say, we establish that current version of protocol that latest server and client implement is v1
.
Then, when we need to introduce incompatible changes in server, we'll have to bump server to report v2
as the minimal protocol it supports — therefore, clients that only implement v1
would be rejected a connection.
from typedb-driver-nodejs.
I agree with @vmax. It's a good idea for the server to report the protocol version it serves, and the client validates if they are using that protocol. It has to be one to one anyways. cc: @sorsaffari @flyingsilverfin @lolski
from typedb-driver-nodejs.
We should hold on to the potentially useful discussion in this issue, however it is a duplicate of vaticle/typedb-driver#25 (it can be assumed that we will implement this feature in all clients).
from typedb-driver-nodejs.
Related Issues (20)
- Is this library functional yet? HOT 4
- QueryManager's matchAggregate, matchGroup and matchGroupAggregate send queries with incorrect type
- matchAggregate queries throw an exception
- Enable BDD tests for all Graql Queries on Client Nodejs HOT 1
- Upgrade client-nodejs to use the latest @graknlabs_common HOT 1
- The package deployed to `npm` uses UMD modules, not CommonJS, causing incompatibility with Workbase
- Unify NodeJS dependency declarations into Bazel HOT 4
- 'npm install typedb-client' on MacOS fails HOT 2
- BDD: User management
- TypeDB Cluster: Update password
- Use `yarn` instead of `npm` to install dependencies HOT 1
- Determine which of our direct dependencies pull in the most transitive deps HOT 1
- Support user token mechanism for faster authentication
- User role management HOT 1
- Replica tracking simplification HOT 1
- Node.js build fails on Apple Silicon HOT 1
- Add a function to the Cluster client to return the current user
- Integration tests fail locally with `undefined` errors
- Typescript Definition file needed HOT 14
- Un-ignore test for modifying schema in a READ transaction HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typedb-driver-nodejs.