Opened 3 years ago

Closed 3 years ago

#2254 closed defect (fixed)

Race condition between lazy items and sticky columns

Reported by: Nicklas Nordborg Owned by: everyone
Priority: minor Milestone: BASE 3.18.2
Component: web Version:
Keywords: Cc:


Both the lazy items and the sticky column features require that javscript update the document after it has been loaded. The lazy items feature will fill in missing information in columns. This is done in batches for a few table rows at a time. The sticky column feature need to calculate the coordinate where the column should stick. It seems like these two feature may interfere and cause the calculation of the sticky column to be incorrect causing it to stick in an incorrect position.

It is very hard to re-produce this since it doesn't happen every time. Investigating the code reveals that the implementation is such that first an asynchronous call to load lazy items is made. Then, the call to fix the sticky column. After that the result of the first lazy load is processed, and finally the rest of the lazy items are loaded batch-wise.

It might help to re-order the calls so that the sticky column is handled before the first call to load lazy items.

Change History (1)

comment:1 by Nicklas Nordborg, 3 years ago

Resolution: fixed
Status: newclosed

In 7960:

Fixes #2254: Race condition between lazy items and sticky columns

I don't really know if this fixes the issue or not, but now the sticky column calculations should happen before the lazy items start to load.

Note: See TracTickets for help on using tickets.