mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-04-24 21:26:04 +03:00
[PR #4176] dbeaver/pro#8355 throttle hover and menu showing #4746
Labels
No labels
AS
can't reproduce
can't reproduce
deployment
development
documentation
duplicate
duplicate
ee
enhancement
external
new driver
performance
pull-request
third party issue
wait for response
wait for review
wontfix
x:Oracle
x:cassandra
x:clickhouse
x:db2
x:duckdb
x:greenplum
x:h2
x:h2gis
x:hana
x:hive
x:intersystems
x:kyuubi
x:maria
x:mongo
x:mysql
x:postgresql
x:presto
x:sql server
x:sqlite
x:teradata
x:trino
xf:accessibility
xf:administration
xf:ai
xf:authentication
xf:aws
xf:commit-mode
xf:connection
xf:dark theme
xf:data editor
xf:datatransfer
xf:dba
xf:driver management
xf:erd
xf:filters
xf:i18n
xf:i18n
xf:installer
xf:json
xf:kerberos
xf:ldap
xf:local config
xf:log viewer
xf:metadata
xf:metadata editor
xf:navigator
xf:okta
xf:query manager
xf:resource manager
xf:scripts
xf:sql editor
xf:tasks
xf:ui/uix
xo: Firefox
xo:eclipse
xo:internet explorer
xo:macos
xp:major
xrn:internal
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cloudbeaver#4746
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Original Pull Request: https://github.com/dbeaver/cloudbeaver/pull/4176
State: open
Merged: No
closes 8355
We ve removed the hover state and menu from each node and moved them to the Tree component so performance will be much better in the new Tree.
For now, in old tree, what works best is startTransition, as it makes hover updates non-blocking and does not cause regressions in production on capable devices, since it does not delay state updates with a specific hardcoded timeout
in general, the performance issue is that the hover state changes too quickly, causing the menu to mount and unmount repeatedly, which triggers very heavy calculations. The issue is still reproducible even without the menu, just changing the hover state itself causes the component to re-render a lot. New Tree will not have such problems, we are controlling hover there via css as menu trigger there is not actual menu, but just a button so we can hide it with just css.
before:
https://github.com/user-attachments/assets/c209d572-5801-4f92-9d17-942f6163b52d
after:
https://github.com/user-attachments/assets/83327d1b-515b-498d-915f-f2c2cee445c4