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

Notify user in IDE of unavailable workspace #833

Closed
ddementieva opened this issue Mar 25, 2016 · 15 comments
Closed

Notify user in IDE of unavailable workspace #833

ddementieva opened this issue Mar 25, 2016 · 15 comments

Comments

@ddementieva
Copy link
Contributor

We need a way to notify the user about an unavailable workspace from the IDE. This is a client-side check that will have two parts and two different notifications:

1) Bad connection
If the client can't connect to the server then display the following popup (use the Start Workspace popup as a model):

Title: Connection Unavailable
Message: Can't connect to the workspace. Check your network connection.
Buttons: "Ok"[blue]
Button Action: [Ok] dismisses the popup

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

We have some sort of networking state detection now.
You can see it here https://www.youtube.com/watch?v=7A2W287rslw&feature=youtu.be.
What we do is we ping ~1 min server side and waiting for response. If we fail to recive pong we show dialog.

We can't distinct case 1) Bad connection from case 2) Good connection, but workspace unavailable
I think for 4.0 it's ok. And we may re-think this dialog for 3.1 and user monitoring https://jira.codenvycorp.com/browse/CODENVY-224 and this https://jira.codenvycorp.com/browse/CODENVY-271

@ddementieva
Copy link
Contributor Author

(Comment by Brad Micklea)

A couple of things:

  1. I don't understand why we can't delineate between bad connection and good connection but workspace unavailable. Isn't there something other than the workspace which is highly stable and would indicate a good connection? This is a client-side check, right?

  2. For the video the dialog that appears why are the buttons "Login" and "Create a Free Account" - Login makes some sense but why "create free account?" Is there a scenario where someone without an account could see this dialog box?

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

  1. I don't understand why we can't delineate between bad connection and good connection but workspace unavailable. Isn't there something other than the workspace which is highly stable and would indicate a good connection? This is a client-side check, right?

I'm aware only about one state check. We do have response from server (treated as we have connection) and we don't have response - treated as disconnected.
For other types of checks. Like you proposed. We don't have instruments on client side.

  1. For the video the dialog that appears why are the buttons "Login" and "Create a Free Account" - Login makes some sense but why "create free account?" Is there a scenario where someone without an account could see this dialog box?

Legacy code I suppose.

@ddementieva
Copy link
Contributor Author

(Comment by Vitaliy Parfonov)

+1 on [~skabashnyuk] comment

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

Legacy code I suppose.
May be because it often happen when we reboot our authentication server and user need to relogin.

@ddementieva
Copy link
Contributor Author

(Comment by Tyler Jewell)

I simplified the popup items and the descriptions that they had.

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

not simple enough.
It's should be one dialog. We can change buttons but the meaning remain the same. Something bad happen. We can't distinct 1 and 2.

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

I mean second case will become available only after CODENVY-224 in 4.1 or it can be 4.0.1.
If you ok to reduce scope of this issues for case 1 only when I think we are ready to go.

@ddementieva
Copy link
Contributor Author

(Comment by Brad Micklea)

I'm sorry - still confused. When you do your current check and it comes back with a response from the server (treated as a connection) couldn't we ping the workspace itself at that point and, if it's not running, display dialog 2?

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

I'm sorry - still confused. When you do your current check and it comes back with a response from the server (treated as a connection) couldn't we ping the workspace itself at that point and, if >it's not running, display dialog 2?
If response came back it means machine is running, if we ping it again - it means the same(it's still running)
BTW I'm talking about client side pinging.

@ddementieva
Copy link
Contributor Author

(Comment by Brad Micklea)

Ah okay so ideally we'd want the first check to ping the workspace server and the second to ping the workspace itself. Is that hard?

@ddementieva
Copy link
Contributor Author

(Comment by Sergii Kabashniuk)

After talk with [~bmicklea] we decided to make case 1 for 4.0
case 2 best effort but for sure 4.1

@ddementieva
Copy link
Contributor Author

(Comment by Tyler Jewell)

Please separate the issues into separate issues.

@ddementieva
Copy link
Contributor Author

(Comment by Jenkins CI server)

UNSTABLE: Integrated in platform-api-client-java-integration-tests-ci-master #224
CHE-871: Add popup notifier for bad connection (akorneta@codenvy.com: 13bd81318c6eccfb95f92a88ae452130e0f667de)

  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/HostedLocalizationConstant.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/HostedResources.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/resources/com/codenvy/ide/hosted/client/HostedLocalizationConstant.properties
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierViewImpl.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierViewImpl.ui.xml
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/inject/HostedEnvironmentGinModule.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierView.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/resources/com/codenvy/ide/hosted/client/Hosted.css
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/informers/HostedEnvConnectionClosedInformer.java

@ddementieva
Copy link
Contributor Author

(Comment by Jenkins CI server)

SUCCESS: Integrated in codenvy-ci-master #69
CHE-871: Add popup notifier for bad connection (akorneta@codenvy.com: 13bd81318c6eccfb95f92a88ae452130e0f667de)

  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/resources/com/codenvy/ide/hosted/client/Hosted.css
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierViewImpl.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/HostedLocalizationConstant.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierViewImpl.ui.xml
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/inject/HostedEnvironmentGinModule.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/informers/HostedEnvConnectionClosedInformer.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/resources/com/codenvy/ide/hosted/client/HostedLocalizationConstant.properties
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/HostedResources.java
  • plugins/plugin-hosted/codenvy-hosted-ext-hosted/src/main/java/com/codenvy/ide/hosted/client/notifier/BadConnectionNotifierView.java

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

No branches or pull requests

1 participant