dask / distributed

A distributed task scheduler for Dask
https://distributed.dask.org
BSD 3-Clause "New" or "Revised" License
1.58k stars 718 forks source link

Reducing width of `/status` dashboard without page refresh breaks layout #7663

Open hendrikmakait opened 1 year ago

hendrikmakait commented 1 year ago

When reducing the window width of the status dashboard without refreshing the page, the layout does not adapt to the new width. Instead, it overflows and you'd have to scroll horizontally to see everything. Eventually, the overall layout changes and resets the dashboard to a "usable" view.

Instead, I'd expect the status dashboard to adapt the same way as it does when refreshing the page.

See how it gets progressively worse:

Original width:

Original width of the dashboard

Task stream and progress get cut off:

Task stream and progress get cut off

It gets even worse:

It gets even worse

Reset due to layout change (progress gets too little vertical space compared to occupancy/memory plots):

Reset due to layout change

cc @jacobtomlinson for visibility

jacobtomlinson commented 1 year ago

It's kind of interesting that if you make it bigger it expands to fill the space. But if you make it smaller it doesn't.

https://user-images.githubusercontent.com/1610850/225898586-be6c1f6a-2dcd-4834-9a44-6b6e8e50e473.mov

I can't see any obvious place where this is being defined so my guess would be this is Bokeh related. Perhaps @bryevdv could nudge us in the right rirection?

hendrikmakait commented 1 year ago

@jacobtomlinson: Yeah, that's quite odd.

Note that this issue also happens when zooming in.

mrocklin commented 1 year ago

cc'ing @ian-r-rose in case he has context to share here

bryevdv commented 1 year ago

I'm not going to have much input on layout-related issues. cc @mattpap

What version of Bokeh is this? Please do try with most recent Bokeh 3.1 (we fixed all the reported issues with 3.0 several months ago, but there still seems to be a package pin on the Dask side, not sure why).

ian-r-rose commented 1 year ago

I don't really have any particular insights here. I inspected the individual bokeh charts, and their width seems to hard-coded in JS. I don't see any logic around handling window.onresize events: https://github.com/search?q=repo%3Abokeh%2Fbokeh%20window.onresize&type=code

jrbourbeau commented 1 year ago

Please do try with most recent Bokeh 3.1 (we fixed all the reported issues with 3.0 several months ago, but there still seems to be a package pin on the Dask side, not sure why).

I'll revisit this today. IIRC there was an issue with the task stream, but maybe that's fixed in the 3.1 release

mrocklin commented 1 year ago

This has been going on for a while, since well before Bokeh 3.0 I think

On Fri, Mar 17, 2023 at 10:58 AM James Bourbeau @.***> wrote:

Please do try with most recent Bokeh 3.1 (we fixed all the reported issues with 3.0 several months ago, but there still seems to be a package pin on the Dask side, not sure why).

I'll revisit this today. IIRC there was an issue with the task stream, but maybe that's fixed in the 3.1 release

— Reply to this email directly, view it on GitHub https://github.com/dask/distributed/issues/7663#issuecomment-1474055091, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACKZTBLE74ADIVY3OR3IHTW4SC3DANCNFSM6AAAAAAV6NYPYQ . You are receiving this because you commented.Message ID: @.***>