Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Components stop rendering #2139

Open
devinrsmith opened this issue Jul 9, 2024 · 4 comments
Open

Components stop rendering #2139

devinrsmith opened this issue Jul 9, 2024 · 4 comments
Labels
bug Something isn't working question Further information is requested
Milestone

Comments

@devinrsmith
Copy link
Member

I'm able to get some DH (UI plugin) components to completely stop rendering. It happens during normal operation as I'm tabbing between views, but to illustrate it faster, I can click rapidly and reproduce it usually in <20 seconds.

I'll note that this only seems to be happening in Firefox - so far, I haven't been able to reproduce in chrome.

Attached is a video showing off the behavior. The console logs and server logs don't seem to contain any interesting information.

components-stop-rendering.mp4

Engine Version: 0.35.0
Web UI Version: 0.83.0
Java Version: 21.0.3
Barrage Version: 0.6.0
Browser Name: Firefox 127
OS Name: Linux
@deephaven/js-plugin-ui: 0.16.0

Also to note, I'm using a caddy proxy that looks something like:

w1.dh.mydomain.com {
        reverse_proxy {
                to h2c://my-internal-ip:10000
        }
        tls internal
}

The behavior seems to persist in Firefox even when I open a new browser; hard refreshing fixes the issue. This makes me think somehow Firefox (or the connection) is getting into some bad state.

@devinrsmith devinrsmith added bug Something isn't working triage Issue requires triage labels Jul 9, 2024
@vbabich vbabich removed the triage Issue requires triage label Jul 16, 2024
@vbabich vbabich modified the milestones: July 2024, August 2024 Jul 16, 2024
@devinrsmith
Copy link
Member Author

I was able to reproduce this on Ubuntu 24.04, FF version 125 (snap).

@AkshatJawne
Copy link
Contributor

AkshatJawne commented Jul 22, 2024

Was able to reproduce through Remote Desktop, but upon investigating the console and attempting to research online, not sure what the cause could be. The component renders, and then when it breaks, nothing renders -- but there is no errors thrown, or any warning message.

@mofojed The only thing I could suspect is that there is some weird connection behaviour with Firefox, maybe something related to this open issue regarding nested tabs (which is the setup here) adobe/react-spectrum#5469.

Otherwise, not exactly clear on what code changes could be made to fix this issue.

EDIT: There is also this issue, but this appears to already have had a fix merged in: adobe/react-spectrum#4938

@AkshatJawne AkshatJawne added the question Further information is requested label Jul 23, 2024
@AkshatJawne
Copy link
Contributor

Have continued to try and reproduce locally, without using remote desktop, both just with Tabs in a Spectrum Code Sandbox, as well as in deephaven.ui. I was not able to reproduce in either, and so, without having the ability consistently reproduce (without using that specific snippet), it is difficult to propose a solution.

@devinrsmith , is there any way you can distill your example down to be one that can be transported and or easily reproduced on other machines?

@mofojed
Copy link
Member

mofojed commented Jul 29, 2024

Tried reproducing with some nested tabs:

from deephaven import ui
from deephaven.plot import express as dx

stocks = dx.data.stocks()
p = dx.line(stocks.where(["sym=`CAT`", "exchange=`TPET`"]), x="timestamp", y="price")

@ui.component
def tabs(count=3):
    return ui.tabs(
        ui.tab_list(list(map(lambda i: ui.item(f"Tab {i}"), range(count)))),
        ui.tab_panels(list(map(lambda i: ui.item(stocks if i % 2 == 0 else p, key=f"Tab {i}"), range(count)))),
        flex_grow=1
    )

@ui.component
def nested_tabs(count=3):
    return ui.tabs(
        ui.tab_list(list(map(lambda i: ui.item(f"Tab {i}"), range(count)))),
        ui.tab_panels(list(map(lambda i: ui.item(tabs(i + 1), key=f"Tab {i}"), range(count)))),
        flex_grow=1
    )

nt = nested_tabs(5)

Wasn't able to reproduce though.

@mofojed mofojed modified the milestones: July 2024, Backlog Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants