Occurs when at end of list and all visible items are removed in
multiple steps, without entering the event loop.
We were not updating visibleIndex if there were no visible items
when handling itemsRemoved().
Also avoid skipping items in refill if there are no valid visible
items for reference.