vico icon indicating copy to clipboard operation
vico copied to clipboard

Very rapid transactions cause transaction lock-out

Open Tyler-Lopez opened this issue 4 months ago • 0 comments

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.

Tyler-Lopez avatar Oct 25 '24 20:10 Tyler-Lopez