-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor base protocol #315
Labels
Comments
tortmayr
added a commit
to eclipse-glsp/glsp-client
that referenced
this issue
Aug 12, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Also: - Remove no longer needs actions for initializing/disposing a client session. - Refactor `InitializeParameters` to use a custom args map instead of an arbitrary object. The additional map is the default approach in GLSP to provide additional custom arguments. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 12, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters`; Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 12, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-client
that referenced
this issue
Aug 12, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Refactor the standlone example to properly implement the new protocol. Also: - Remove no longer needs actions for initializing/disposing a client session. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 12, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. Part of eclipse-glsp/glsp/issues/315
This was referenced Aug 12, 2021
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 12, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Re-add WorkflowGLSPClientContribution (provides custom initialize options) Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 15, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Remove unncessary injected `TheiaGLSPConnector`in `GLSPTheiaDiagramServer` - Re-add WorkflowGLSPClientContribution (provides custom initialize options) - Add utility function for configuring a digram server. Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
that referenced
this issue
Aug 15, 2021
Update protocol.md to conform to changes from eclipse-glsp/glsp/315. - Update `Server-Client Lifecycle` section - Remove `Session-Lifecycle` from the `Graphical Language Server Protocol` section. The session lifecycle has moved to the Server-Client Lifecycle` section
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 15, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-client
that referenced
this issue
Aug 15, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return an `InitializeResult` instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. The `InitializeResult` also provides the information about which actionKinds are handled by the server. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Using the new initialize result the server action handlers can be configured BEFORE the first action is dispatched in a diagram container, which means its no longer necessary to register certain early actions directly in the diagram server. Refactor the standalone example to properly implement the new protocol. Also: - Remove no longer needs protocol actions for initializing/disposing a client session. - Update webpack config of standalone example to properly support typescript source maps. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
that referenced
this issue
Aug 16, 2021
Update protocol.md to conform to changes from eclipse-glsp/glsp/315. - Update `Server-Client Lifecycle` section - Remove `Session-Lifecycle` from the `Graphical Language Server Protocol` section. The session lifecycle has moved to the Server-Client Lifecycle` section
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 16, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 16, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-client
that referenced
this issue
Aug 16, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return an `InitializeResult` instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. The `InitializeResult` also provides the information about which actionKinds are handled by the server. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Using the new initialize result the server action handlers can be configured BEFORE the first action is dispatched in a diagram container, which means its no longer necessary to register certain early actions directly in the diagram server. Refactor the standalone example to properly implement the new protocol. Also: - Remove no longer needs protocol actions for initializing/disposing a client session. - Update webpack config of standalone example to properly support typescript source maps. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 16, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Remove unncessary injected `TheiaGLSPConnector`in `GLSPTheiaDiagramServer` - Re-add WorkflowGLSPClientContribution (provides custom initialize options) - Add utility function for configuring a digram server. Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-server
that referenced
this issue
Aug 16, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-client
that referenced
this issue
Aug 16, 2021
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return an `InitializeResult` instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. The `InitializeResult` also provides the information about which actionKinds are handled by the server. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Using the new initialize result the server action handlers can be configured BEFORE the first action is dispatched in a diagram container, which means its no longer necessary to register certain early actions directly in the diagram server. Refactor the standalone example to properly implement the new protocol. Also: - Remove no longer needs protocol actions for initializing/disposing a client session. - Update webpack config of standalone example to properly support typescript source maps. Part of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 16, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Remove unncessary injected `TheiaGLSPConnector`in `GLSPTheiaDiagramServer` - Re-add WorkflowGLSPClientContribution (provides custom initialize options) - Add utility function for configuring a digram server. Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 16, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Remove unncessary injected `TheiaGLSPConnector`in `GLSPTheiaDiagramServer` - Re-add WorkflowGLSPClientContribution (provides custom initialize options) - Add utility function for configuring a digram server. Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
to eclipse-glsp/glsp-theia-integration
that referenced
this issue
Aug 16, 2021
Adapt integration code to conform to the changes of : eclipse-glsp/glsp-client#132 Also: -Fix bug and typo in glsp-theia-container-module -Cleanup implementation of glsp-client-contribution and ensure that the ready() promise resolves AFTER the server has been initialized. - Remove unncessary injected `TheiaGLSPConnector`in `GLSPTheiaDiagramServer` - Re-add WorkflowGLSPClientContribution (provides custom initialize options) - Add utility function for configuring a digram server. Requires eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
tortmayr
added a commit
that referenced
this issue
Aug 16, 2021
Update protocol.md to conform to changes from eclipse-glsp/glsp/315. - Update `Server-Client Lifecycle` section - Remove `Session-Lifecycle` from the `Graphical Language Server Protocol` section. The session lifecycle has moved to the Server-Client Lifecycle` section
tortmayr
added a commit
to eclipse-glsp/glsp-eclipse-integration
that referenced
this issue
Aug 17, 2021
- Update targetplatform to use latest glsp versions and Adapt cllient code to conform to the changes of : eclipse-glsp/glsp-client#132 Part-of eclipse-glsp/glsp/issues/315
This was referenced Aug 25, 2021
tortmayr
added a commit
to eclipse-glsp/glsp-eclipse-integration
that referenced
this issue
Aug 30, 2021
Adapt the codebase to the changes from the protocol update of eclipse-glsp/glsp/issues/315. Fixes eclipse-glsp/glsp/380
tortmayr
added a commit
to eclipse-glsp/glsp-eclipse-integration
that referenced
this issue
Aug 30, 2021
Adapt the codebase to the changes from the protocol update of eclipse-glsp/glsp/issues/315. Fixes eclipse-glsp/glsp/issues/380
tortmayr
added a commit
to eclipse-glsp/glsp-eclipse-integration
that referenced
this issue
Aug 31, 2021
* #380 Adapt codebase to changes from #315 Adapt the codebase to the changes from the protocol update of eclipse-glsp/glsp/issues/315. Fixes eclipse-glsp/glsp/issues/380 * Update package.json
holkerveen
pushed a commit
to holkerveen/glsp-client
that referenced
this issue
Dec 21, 2024
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return an `InitializeResult` instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. The `InitializeResult` also provides the information about which actionKinds are handled by the server. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Using the new initialize result the server action handlers can be configured BEFORE the first action is dispatched in a diagram container, which means its no longer necessary to register certain early actions directly in the diagram server. Refactor the standalone example to properly implement the new protocol. Also: - Remove no longer needs protocol actions for initializing/disposing a client session. - Update webpack config of standalone example to properly support typescript source maps. Part of eclipse-glsp/glsp/issues/315
holkerveen
pushed a commit
to holkerveen/glsp-client
that referenced
this issue
Dec 21, 2024
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initializeServer` method to return an `InitializeResult` instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. The `InitializeResult` also provides the information about which actionKinds are handled by the server. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Using the new initialize result the server action handlers can be configured BEFORE the first action is dispatched in a diagram container, which means its no longer necessary to register certain early actions directly in the diagram server. Refactor the standalone example to properly implement the new protocol. Also: - Remove no longer needs protocol actions for initializing/disposing a client session. - Update webpack config of standalone example to properly support typescript source maps. Part of eclipse-glsp/glsp/issues/315
MatthiasHofstaetter
pushed a commit
to MatthiasHofstaetter/glsp-server
that referenced
this issue
Dec 21, 2024
Refactor the base communication protocol to support initializing and disposing a client session for a given language. The method parameters are encapsulated in dedicated parameter objects to provide a stable API. Refactor the existing `initialize` method to return void instead of a boolean and use a generic args map for custom arguments instead of a dedicated object. In addition, the protocol version that is implemented by the client is now passed as part of the `InitializeParameters` Other fixes/improvements: - Fixed code template for new files. Used ${year} variable for the copyright header instead of hard coded 2020 string. - Refactor `ActionRegistry` to use Class<Action> instead of dedicated action instances. - Fixed bug in "Disposable". Previously the 'disposed' flag was not set correctly - Refactor `ClientOptions` util class and extract a generic `MapUtil` class. - Merge `GLSPServer` and `GLSPJsonRpcServer` interfaces. There is no need of a dediacted subinterface because the GLSPServer interface is already tailored for JSON-RPC and not generically reuseable. - Improve documentation for protocol components and related classes. Part of eclipse-glsp/glsp/issues/315
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In preparation for #150 it is necessary to refactor our current base protocol.
Currently the base protocol only provides methods for initializing the server and processing action messages. The actual initialization and disposal of a client session is done via action messages. In order to split the network-related classes from the language-related classes we would like to use child injectors for each language/session. This means we need methods for initializing and disposing client sessions directly in the base protocol because those methods provide the entrypoint for the server to know when to create/dispose a language specific injector for a client session.
The text was updated successfully, but these errors were encountered: