Fixed some bugs in rebasing that could cause a device to not import objects in particular circumstances. The test for whether a full integration is needed is much more robust, ensuring stores replay all changes if they have been ‘abandoned’. The test of abandonment is simply whether a merge event exists that is newer than the baseline. This will cause a few more full integrations, but is preferable to being out-of-sync.
Several new rebasing tests have been added, which were failing before the changes.