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
- Start a server with
deephaven.ui installed and open the IDE.
- 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()
- Click the button a couple of times and confirm the count increments.
- 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.
- Click the button again.
Expected results
- The button keeps working - clicking still increments the counter.
Actual results
- 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
Description
A
deephaven.uicomponent stops responding after the web IDE reconnects to the server. Following a connection drop andautomatic 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
deephaven.uiinstalled and open the IDE.restore it and wait for the IDE to reconnect.
Expected results
Actual results
Additional details and attachments
session and hits a separate re-authentication path.
observe it.
web-client-api(deephaven-core) plus a companion change in thedeephaven.uiplugin so it resets its per-connection state on reconnect.Versions
43.0server image