vico
vico copied to clipboard
Very rapid transactions cause transaction lock-out
How to reproduce
I was looking into how to have changes to the range provider instantly update the chart and was pointed to use ExtraStore
and running transactions to update the extras -> extraStore
as the range changes. That solution worked great, however, I found that when I rapidly updated the transactions I would get into a state where I was completely locked out from all transactions: including mutations to the values. Specifically, the UI element facilitating rapid update was a range slider.
I created this MRE which demonstrates this. I've updated this since the original issue slightly
The MRE contains two UI control sliders:
- The first shuffles the x-values when changed.
- The second updates the x-axis range when changed.
In both cases (I originally observed the issue with just the x-axis range), updates are reflected when you click. If you drag, the UI very quickly locks up, and any subsequent clicks or drags will fail to do anything.
https://github.com/user-attachments/assets/c9da50ce-c9c3-4d02-aa98-5dd0addcef4c
Observed behavior
Rapidly changing a key to the LaunchedEffect
which results in modelProducer.runTransaction
updates breaks all subsequent updates.
Expected behavior
Rapidly changing a key to the LaunchedEffect
which results in modelProducer.runTransaction
updates should not break subsequent updates.
Vico version(s)
2.0.0-beta.2
Android version(s)
33
Additional information
Physical Samsung Galaxy S23 device.