Skip to content

Conversation

@bryankeller
Copy link
Contributor

Details

This is a follow-up to #134. It turns out section moves need to be handled differently depending on what kind of batch updates are produced. UICollectionViewDiffableDataSource produces section-move batch updates with corresponding item-moves for all of the items in the moved sections. Paul Heckel's diffing algorithm, used internally and in Epoxy, only generates a section move with no corresponding item move updates. These two cases need to be handled separately.

Motivation and Context

Crash fix

How Has This Been Tested

Tested in Airbnb iOS app and example project, with Paul Heckel diffing and UICollectionViewDiffableDataSource.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.

@bryankeller bryankeller added the bug Something isn't working label Oct 16, 2025
Copy link
Contributor

@jinxiao-zang jinxiao-zang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@bryankeller bryankeller merged commit a33a90f into master Oct 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants