Problem description from our developer:
We use TaskBoard for showing cards of orders. For rendering of TaskBoard we use react components BryntumTaskBoardProjectModel and BryntumTaskBoard.
<>
<BryntumTaskBoardProjectModel
ref={projectRef}
tasks={orders.map(cardToTask)}
/>
<BryntumTaskBoard
ref={taskBoardRef}
project={projectRef}
{...locationsBoardConfig}
showCollapseInHeader={false}
/>
</>.
In the TaskBoard configuration, we have a method taskRenderer which renders card's view (in this method we use taskRecord.get for getting card's fields) and also we use TaskBoard with virtualization. For defining the column of a card we use one of the order fields (status).
All order data stored in the application's store (Zustand).
Also, we have a function called by timer which updates data of orders in the store. After updating of the store the application updates the properties of components, including TaskBoard, are updated.
We have a problem: when we receive data from a server which differs from the current TaskBoard's data, sometimes we see empty white card instead card of changed order.
We checked all path of data from store to TaskBoard and we see that property tasks of BryntumTaskBoardProjectModel is changed with new data, but also we see that method taskRenderer called less times than quantity of orders we have and this method is not called for an order changed on the backend
This situation repeats in 20% of store updates, sometimes all is ok and card moved in the column according order's status, sometimes card moved but we see only white square instead card, sometimes card updated with new status but without moving to the target column.