xh / hoist-react

🏗️ ⚛️ The XH Hoist toolkit for React
https://xh.io
Apache License 2.0
24 stars 9 forks source link

Resizable panels / splitters broken in desktop Safari #3797

Closed amcclain closed 1 month ago

lbwexler commented 1 month ago

This seems concerning -- think we should understand what's happening here sooner rather than later

TomTirapani commented 1 month ago

I'm looking into this... it seems this test is failing: https://github.com/xh/hoist-react/blob/develop/desktop/cmp/panel/impl/dragger/DraggerModel.ts#L256-L258

DragEvent's buttons is 0 in Safari, but 1 in Chrome, which causes us to exit out of the drag early here: https://github.com/xh/hoist-react/blob/develop/desktop/cmp/panel/impl/dragger/DraggerModel.ts#L93-L96

Investigating why / how this could be the case, and what we can do about it. Seems like a low-level Safari bug to me - will post findings here

TomTirapani commented 1 month ago

I came up with a workaround which resolves the issue: https://github.com/xh/hoist-react/pull/3799

I'll keep looking for a better solution / more information