C3 AI Documentation Home

JupyterLab disconnected modes

JupyterLab manages disconnections in four modes by displaying headers and modals to guide users in restoring or continuing with partial functionality.

Header colors and UI responses

The table below describes the different disconnection modes in JupyterLab, their corresponding connection header colors, and the UI behavior for each mode.

Disconnected ModeConnection Header ColorUI Behavior
Internet disconnectedRedRed header, banner, and retry/dismiss modal after 10 seconds
Back end disconnectedRedRed header, disconnected modal with ripsaws/dismiss options
App degradedYellowYellow header with tooltip indicating "App degraded"
UnknownRedRed header, disconnected modal with refresh/dismiss options

Internet disconnected

This mode is triggered when the JupyterLab UI faces issues establishing a proper network connection.

Cases Covered:

  • Issues with network (for example, VPN issues, internet connection issues, firewall issues)
  • C3 cluster is unreachable

UI behavior

  1. Connection header changes to red, displaying the text Disconnected.
  2. A banner appears with the message JupyterLab server unreachable. Attempting to reconnect.
    • Internet disconnected banner
  3. JupyterLab attempts to reconnect to the internet for 10 seconds.
    • If it fails:
      1. A modal appears with options to either Dismiss or Retry.
        • Internet disconnected modal
      2. Dismissing the modal allows the user to interact with JupyterLab in a partially functioning state:
        • Users can interact with currently open files but cannot open or create new files or run cells.
      3. Clicking Retry attempts to re-establish the connection, returning to step 1 if unsuccessful.
    • If it succeeds:
      1. The banner disappears.
      2. The connection header changes to green.
stateDiagram-v2 direction LR [*] --> CheckInternet CheckInternet --> InternetDisconnectedBanner: Internet Disconnected InternetDisconnectedBanner --> AttemptToReconnect AttemptToReconnect --> RetryModal: Retry failed after 10 seconds RetryModal --> AttemptToReconnect: Retry clicked AttemptToReconnect --> NormallyWorkingUI: Internet reconnected RetryModal --> PartiallyWorkingUI: Dismiss clicked NormallyWorkingUI --> [*]: System operates normally PartiallyWorkingUI --> [*]: System operates with partial functionality

Back end disconnected

This mode is triggered when the JupyterLab UI loses connection to the back end.

Cases Covered:

  • JupyterLab UI loses connection to the JupyterLab pod
  • JupyterLab pod loses connection to the C3 app

UI behavior

  1. Connection header changes to red, displaying the text Disconnected.
  2. A modal appears with options to Respawn or Dismiss.
    • Backend disconnected modal
    • Dismissing the modal allows partial functionality:
      • Users can interact with currently open files but cannot open or create new files or run cells.
    • Clicking Respawn attempts to restart the Lab. If reconnection to the back end fails, the flow returns to step 1.
stateDiagram-v2 direction LR [*] --> CheckConnection CheckConnection --> BackendDisconnectedModal: Jupyter Backend Disconnected BackendDisconnectedModal --> CheckConnection: Respawn clicked CheckConnection --> NormallyWorkingUI: Backend Connected BackendDisconnectedModal --> PartiallyWorkingUI: Dismiss clicked NormallyWorkingUI --> [*]: System operates normally PartiallyWorkingUI --> [*]: System operates with partial functionality

App degradation

This mode is triggered when the JupyterLab UI loses connection to the C3 app, typically due to the app or environment being stopped or unreachable.

Cases Covered:

  • JupyterLab loses connection to the C3 app

UI behavior

  1. Connection header changes to yellow, displaying the text Degraded.
  2. The connection header tooltip displays App degraded.
    • App degraded connection
stateDiagram-v2 direction LR [*] --> CheckConnection CheckConnection --> DegradedMode: App degraded DegradedMode --> YellowConnectionHeader: Change header color YellowConnectionHeader --> PartiallyWorkingUI PartiallyWorkingUI --> [*]: System operates with partial functionality

Unknown disconnected

This mode is triggered when JupyterLab loses connection for reasons not covered by the other modes.

Cases Covered:

  • Any unclassified disconnection issue

UI behavior

  1. Connection header changes to red, displaying the text Disconnected.
  2. A modal appears with options to Refresh or Dismiss.
    • Unknown disconnected modal
    • Dismissing the modal allows partial functionality:
      • Users can interact with currently open files but cannot open or create new files or run cells.
    • Clicking Refresh reloads the page. If the connection remains unsuccessful, the flow returns to step 1.
stateDiagram-v2 direction LR [*] --> CheckConnection CheckConnection --> UnknownDisconnectedModal: Show unknown disconnected modal UnknownDisconnectedModal --> CheckConnection: Refresh clicked CheckConnection --> NormallyWorkingUI: Connected UnknownDisconnectedModal --> PartiallyWorkingUI: Dismiss clicked NormallyWorkingUI --> [*]: System operates normally PartiallyWorkingUI --> [*]: System operates with partial functionality
Was this page helpful?