A lot of work is done elsewhere in the class to see if an item should be skipped or not, complicating the code.
A possible fix for #208 may be removing non viewable items. And then there are duplicate UIDs.
A lot of this dates back to the early days when there was less experience in JS's event loop. Some state duplicated between the DOM and the class (e.g., elements present, UIDs, etc) would get out of sync, and more code was added to deal with that, and reused even when unnecessary.
A lot of work is done elsewhere in the class to see if an item should be skipped or not, complicating the code.
A possible fix for #208 may be removing non viewable items. And then there are duplicate UIDs.
A lot of this dates back to the early days when there was less experience in JS's event loop. Some state duplicated between the DOM and the class (e.g., elements present, UIDs, etc) would get out of sync, and more code was added to deal with that, and reused even when unnecessary.