Skip to content

deephaven.ui button becomes unresponsive after a same-session reconnect #1389

Description

@fyrkov

Description

A deephaven.ui component stops responding after the web IDE reconnects to the server. Following a connection drop and
automatic reconnect, an interactive element (e.g. a button) becomes unresponsive - clicks do nothing and no error is
shown. The component looks fine but is effectively dead until the page is reloaded.

This was found alongside the transport-reconnect regression reported in #8235; that bug masks this one on 42.0+, so this
is only observable once the IDE actually reconnects.

Steps to reproduce

  1. Start a server with deephaven.ui installed and open the IDE.
  2. Create a simple stateful component and open it as a panel:
    import deephaven.ui as ui
    
    @ui.component
    def click_counter():
        count, set_count = ui.use_state(0)
        return ui.button(f"Clicked {count} times", on_press=lambda: set_count(count + 1))
    
    button_panel = click_counter()
  3. Click the button a couple of times and confirm the count increments.
  4. Briefly drop the network connection to the server (leave the server process running so the session survives), then
    restore it and wait for the IDE to reconnect.
  5. Click the button again.

Expected results

  1. The button keeps working - clicking still increments the counter.

Actual results

  1. The button does nothing - no increment and no error.

Additional details and attachments

  • Requires a same-session reconnect (a network blip, not a full server restart). A server restart creates a new
    session and hits a separate re-authentication path.
  • On 42.0+ the transport itself fails to reconnect (#8235), which hides this issue; apply/await that fix first to
    observe it.
  • The fix spans two repos: reconnect support in web-client-api (deephaven-core) plus a companion change in the
    deephaven.ui plugin so it resets its per-connection state on reconnect.
  • Related upstream: #3604 (widgets not reviving after reconnect).

Versions

  • Engine Version: 43.0-SNAPSHOT (also affects 42.x once #8235 is fixed)
  • Web UI Version: bundled with the 43.0 server image
  • deephaven.ui plugin: 0.40.1
  • Browser: Chrome / Chromium

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions