Description
A custom deephaven.ui component (e.g. a ui.button) stops responding after a frontend↔backend
reconnect. The panel keeps rendering its last state, but interactions (on_press, etc.) silently do
nothing - no client- or server-side error. Only a full page reload restores it.
Steps to reproduce
- Start a Deephaven server with the
deephaven.ui plugin and open the web IDE.
- In the Python console, create a counter button 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()
Double-click button_panel in the panel list and click it a few times - confirm the count increments.
- Cause a frontend↔backend reconnect where the connection is restored and the client fires its
reconnect path - e.g. a brief network interruption while the server stays up (a killable TCP proxy
such as toxiproxy in front of the server, disabled ~45s then re-enabled, works reliably).
- Wait for the IDE to reconnect (the "Attempting to reconnect…" overlay clears), then click the button again.
Expected results
After reconnect the button continues to work (the count increments), the same way tables and figures
revive and remain interactive.
Actual results
The button is unresponsive - clicks do nothing and produce no error in the browser console. The widget
is effectively dead until the page is reloaded.
Additional details and attachments
Versions
- Deephaven: 41.7
- Browser: Chrome
Description
A custom
deephaven.uicomponent (e.g. aui.button) stops responding after a frontend↔backendreconnect. The panel keeps rendering its last state, but interactions (
on_press, etc.) silently donothing - no client- or server-side error. Only a full page reload restores it.
Steps to reproduce
deephaven.uiplugin and open the web IDE.button_panelin the panel list and click it a few times - confirm the count increments.reconnect path - e.g. a brief network interruption while the server stays up (a killable TCP proxy
such as toxiproxy in front of the server, disabled ~45s then re-enabled, works reliably).
Expected results
After reconnect the button continues to work (the count increments), the same way tables and figures
revive and remain interactive.
Actual results
The button is unresponsive - clicks do nothing and produce no error in the browser console. The widget
is effectively dead until the page is reloaded.
Additional details and attachments
Versions