Skip to content

fix: add reconnect support to JsWidget so deephaven.ui widgets revive - #4

Open
fyrkov wants to merge 10 commits into
mainfrom
jswidget-reconnect-support
Open

fix: add reconnect support to JsWidget so deephaven.ui widgets revive#4
fyrkov wants to merge 10 commits into
mainfrom
jswidget-reconnect-support

Conversation

@fyrkov

@fyrkov fyrkov commented Jul 15, 2026

Copy link
Copy Markdown
Owner

JsWidget extended HasEventHandling and was never registered as reconnectable, so after a disconnect its message stream was nulled and never reopened - every subsequent message became a silent no-op, leaving deephaven.ui components (e.g. a ui.button) dead until page reload.

Make JsWidget lifecycle-aware (extend HasLifecycle) and register plain widgets as reconnectable, so on reconnect it reopens its stream, emits disconnect/ reconnect events, and re-delivers the current document.

Requires the companion client change deephaven/deephaven-plugins#1390 to fully restore interactivity; manual verification on 42.0+ also needs the transport reconnect fix (deephaven#8235).

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

⚠️ Failed to deploy docs previews for e17ea57

Please check the logs for more details.

margaretkennedy and others added 8 commits July 15, 2026 14:05
Release notes:
https://github.com/deephaven/web-client-ui/releases/tag/v1.26.0

- DH-22030: Add event handler prereqs to chart

Release notes:
https://github.com/deephaven/web-client-ui/releases/tag/v1.25.0
Features
- DH-21344: Dropdown for input table enums

Bug Fixes
- DH-22961: Content toolbar buttons overflow
- DH-23020: Fix input table delete exceeds max stack
- DH-23038: Fix extraneous characters from input table context menu
paste
…aven#8246)

Corrects sorted-column metadata assignment during `SourceTable`
coalescing.

**Changes:**
- Applies sorting metadata to the coalesced result instead of the
published source table.
- Updates round-trip tests and adds regression coverage.
I let Claude write a lot of method descriptions. If it seems like that
is wasting more time on editing than it saves on writing, I will not do
that on the next PR.
BREAKING CHANGE: SQL window functions (including FIRST_VALUE and
LAST_VALUE) are no longer supported. This is due to stricter validation
that makes the OVER clause mandatory for these functions; because our
current SQL engine does not support evaluating the OVER clause, all
window functions have been disabled.
@fyrkov
fyrkov force-pushed the jswidget-reconnect-support branch from 8d2a823 to 9d1178e Compare July 17, 2026 18:34
- JsWidget.die() now unregisters from simpleReconnectableInstances (mirroring
  close()), so a widget whose revive fails stops receiving disconnect/refetch
  callbacks on every future reconnect.
- getWidget(JsVariableDefinition) delegates to getWidget(TypedTicket) instead of
  duplicating its construction body.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants