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 the user when a notebook kernel autorestarts #6246

Merged
merged 35 commits into from May 15, 2019

Commits on May 13, 2019

  1. Copy the full SHA
    51c3ad9 View commit details
    Browse the repository at this point in the history
  2. In a kernel restart for a console, use the existing kernel info for t…

    …he banner.
    
    Instead of requesting the kernel info a second time, just use the original kernel info we request for a kernel connection.
    jasongrout committed May 13, 2019
    Copy the full SHA
    6ebe08b View commit details
    Browse the repository at this point in the history
  3. Do not kill the websocket connection on kernel restart.

    This makes sure we don’t miss messages during the restart, and helps the browser not have so many different websocket connections.
    jasongrout committed May 13, 2019
    Copy the full SHA
    78abc44 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    290c4db View commit details
    Browse the repository at this point in the history
  5. Make sure the console shows a new banner when restarting.

    Now that we don’t reconnect when restarting, we’ll just show the banner right away.
    jasongrout committed May 13, 2019
    Copy the full SHA
    3233965 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    579c7af View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    463af7a View commit details
    Browse the repository at this point in the history
  8. More work in progress to simplify state management on restart.

    Tests are still failing. This commit is a checkpoint in the work.
    jasongrout committed May 13, 2019
    Copy the full SHA
    8cac49d View commit details
    Browse the repository at this point in the history
  9. When kernel is done initializing, make sure to set the isReady state …

    …to true along with resolving the promise.
    jasongrout committed May 13, 2019
    Copy the full SHA
    365b77e View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    b236b45 View commit details
    Browse the repository at this point in the history
  11. WIP: Skip tests that aren’t working

    This gets the test suite passing, and narrows down our work to the tests that are still failing.
    jasongrout committed May 13, 2019
    Copy the full SHA
    b9f2f15 View commit details
    Browse the repository at this point in the history
  12. Fix console error.

    I think the handler wasn’t getting removed after the check, so it was failing on the next signal emission. testEmission automatically removes the handler after the check, taking care of this issue.
    jasongrout committed May 13, 2019
    Copy the full SHA
    7d31d6a View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    0f3b24f View commit details
    Browse the repository at this point in the history
  14. Copy the full SHA
    d4b4a82 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2019

  1. Copy the full SHA
    1d40ecd View commit details
    Browse the repository at this point in the history
  2. Be more careful about future done promises being wrapped up when clea…

    …ring kernel state.
    
    Before, as soon as one kernel future rejected, clearState would return. Now all outstanding futures must resolve or reject before the state is considered cleared.
    jasongrout committed May 14, 2019
    Copy the full SHA
    2f63f65 View commit details
    Browse the repository at this point in the history
  3. When restarting, handle a requestKernelInfo that rejects.

    If a session or kernel is disposed, the requestKernelInfo done promise might reject. In that case, we should do nothing.
    jasongrout committed May 14, 2019
    Copy the full SHA
    4b9a418 View commit details
    Browse the repository at this point in the history
  4. Toolbar tests are passing

    jasongrout committed May 14, 2019
    Copy the full SHA
    39599db View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    5cd23e6 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    76b1ebc View commit details
    Browse the repository at this point in the history
  7. Handle the ‘connected’ kernel status differently.

    Kernel info is requested by the onWSOpen function already, which is what sets the connected state, so no need to request the kernel info here too.
    jasongrout committed May 14, 2019
    Copy the full SHA
    08474e9 View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    6d1865a View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    549e7c9 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    a50a25e View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    130d44d View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    e770060 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2019

  1. Catch the kernel status dead rejection so we don’t have an unhandled …

    …rejection.
    
    This fixes a number of tests as well.
    jasongrout committed May 15, 2019
    Copy the full SHA
    8885ecd View commit details
    Browse the repository at this point in the history
  2. ikernel tests pass now.

    jasongrout committed May 15, 2019
    Copy the full SHA
    a044cae View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    f5f7f5c View commit details
    Browse the repository at this point in the history
  4. Throw error when shutting down a dead kernel, like its docs claim.

    Also clean up obsolete todo items.
    jasongrout committed May 15, 2019
    Copy the full SHA
    bab8017 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    3e20b14 View commit details
    Browse the repository at this point in the history
  6. Integrity fix.

    jasongrout committed May 15, 2019
    Copy the full SHA
    bcb9210 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    2884cf5 View commit details
    Browse the repository at this point in the history
  8. Delete TODO notes about restarts timing out.

    jupyter/notebook#3705 noted some issues with kernel messages. I think these were mainly because we disconnected and reconnected the websocket on restart. We no longer do this, and these tests seem to pass, so let’s remove the TODO and keep an eye on it.
    jasongrout committed May 15, 2019
    Copy the full SHA
    0743bb2 View commit details
    Browse the repository at this point in the history
  9. Revert shutdown behavior when kernel is dead, and change documentatio…

    …n to match existing behavior.
    
    Throwing an error when shutting down a dead kernel causes a lot of test failures. So we keep the existing behavior and update the documentation, rather than changing the behavior to match the documentation.
    jasongrout committed May 15, 2019
    Copy the full SHA
    8ea8e92 View commit details
    Browse the repository at this point in the history