This repository was archived by the owner on Feb 2, 2023. It is now read-only.

Description
This is a minor issue but I want to get it on the board while we're thinking through table view updates in #684 / #693. It results from us splitting moves into delete+insert in ASDataController.
I believe this issue is important because it highlights a really common architectural problem when dealing with table views: interpreting changes merely as array updates and discarding change metadata. For example, interpreting move as delete,insert or interpreting a reload section as remove all items, add all items which ignores section metadata like header views.
Since our updates are already required to be on the main thread, maybe we should split each intercepted call into two parts: the intact update, which we forward to the table view, and the array update where we interpret the update as above (e.g. move -> delete + insert).
Naturally all this applies to collection views as well.