Skip to content
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

Reconnecting with the engine #5202

Closed
3 tasks done
wdanilo opened this issue Feb 5, 2023 · 5 comments
Closed
3 tasks done

Reconnecting with the engine #5202

wdanilo opened this issue Feb 5, 2023 · 5 comments
Assignees
Labels
-gui -language-server p-medium Should be completed in the next few sprints x-chore Type: chore x-design x-user-story Type: new user story
Milestone

Comments

@wdanilo
Copy link
Member

wdanilo commented Feb 5, 2023

What IDE should do:

  1. Once we lose the connection with LS, try to reconnect.
  2. When reconnected, is should reinitialize the protocol, restore all execution contexts and visualizations, and synchronize the code

This task is automatically imported from the old Task Issue Board and it was originally created by Adam Obuchowicz.
Original issue is here.


Why

As Enso IDE user
**I want ** to IDE try to reconnect to the Language Server if the connection is lost
**So that ** I can continue working once the LS is restored.

Discussion

https://discord.com/channels/401396655599124480/1050713090829852712

Acceptance Criteria

Scenario: 
Given IDE with already open project
When language server is closed or otherwise connection is lost
Then IDE should attempt to reconnect to the language server and reinitialize the session

Notes:

GUI Tasks

  1. -gui d-easy p-medium x-new-feature
    farmaazon
  2. -gui d-hard p-medium x-new-feature
    farmaazon
  3. -gui d-intermediate p-medium x-new-feature
    farmaazon
@wdanilo wdanilo added this to the Beta Release milestone Feb 6, 2023
@sylwiabr sylwiabr moved this to 📤 Backlog in Issues Board Feb 7, 2023
@sylwiabr sylwiabr moved this from 📤 Backlog to ❓New in Issues Board Feb 7, 2023
@farmaazon farmaazon added the x-user-story Type: new user story label Feb 8, 2023
@hubertp hubertp self-assigned this Feb 8, 2023
@Frizi
Copy link
Contributor

Frizi commented Feb 8, 2023

TL;DR from discord:

step by step reproduction scenario by @hubertp:

  1. start gui
  2. start backend (or rather project-manager) separately
  3. enter any project and let it boot
  4. kill backend (that includes project-manager and LS of the project)
  5. let IDE cook for a while until it notices the problem and provides a warning
  6. start backend again

ide side task description by @farmaazon:

on the IDE side, we would need to do the following:

  1. once the we lose connection with LS, try to reconnect.
  2. When reconnected, we should reinitialise the protocol, restore all execution contexts and visualisations, and synchronise the code

@Frizi Frizi removed the triage label Feb 8, 2023
@farmaazon farmaazon moved this from ❓New to 📤 Backlog in Issues Board Feb 20, 2023
@jdunkerley jdunkerley added -language-server p-high Should be completed in the next sprint and removed p-low Low priority labels Feb 21, 2023
@hubertp
Copy link
Contributor

hubertp commented Mar 10, 2023

Doc on the current state of reconnections https://docs.google.com/document/d/1yah7vK9NDt9l15XOXNak37hMugPFmxUsoezrnsyUEU4/edit?usp=sharing

Access Google Docs with a personal Google account or Google Workspace account (for business use).

@enso-bot
Copy link

enso-bot bot commented Mar 10, 2023

Hubert Plociniczak reports a new STANDUP for yesterday (2023-03-09):

Progress: Investigating the current behaviour when Language Server restarts. Created doc as a summary for areas to explore. Also investigated where we spend all this time during bootstrapping. Created 5875, 5881 and 5882 (the last two with Jaroslav's help) as potential follow ups. It should be finished by 2023-03-13.

Next Day: Next day I will be working on the #5749 task. Eliminate GraalVM updater retries, investigate reported visualization problems.

@jdunkerley jdunkerley moved this from 📤 Backlog to ❓New in Issues Board Jun 27, 2023
@jdunkerley jdunkerley moved this from ❓New to 📤 Backlog in Issues Board Jun 27, 2023
@farmaazon farmaazon moved this from 📤 Backlog to ❓New in Issues Board Jul 3, 2023
@farmaazon farmaazon moved this from ❓New to 📤 Backlog in Issues Board Jul 3, 2023
@farmaazon farmaazon added p-medium Should be completed in the next few sprints and removed p-high Should be completed in the next sprint labels Sep 21, 2023
@jdunkerley
Copy link
Member

@hubertp to review state against GUI2.
Need to ensure Windows Hibernation/Standby support works.

@farmaazon
Copy link
Contributor

As I know, GUI2 does not take any action to reconnect with Language Server. Created subtasks to implement it.

@farmaazon farmaazon moved this from Todo to Design in progress in Epics Board Dec 12, 2023
@farmaazon farmaazon moved this from Design in progress to Design done in Epics Board Dec 12, 2023
@farmaazon farmaazon removed this from Issues Board Jan 18, 2024
@farmaazon farmaazon moved this from Design done to Implementation in progress in Epics Board Mar 4, 2024
@AdRiley AdRiley closed this as completed Jul 25, 2024
@github-project-automation github-project-automation bot moved this from Implementation in progress to Done in Epics Board Jul 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-gui -language-server p-medium Should be completed in the next few sprints x-chore Type: chore x-design x-user-story Type: new user story
Projects
Archived in project
Development

No branches or pull requests

6 participants