When multiple identical songs are added to a playlist, Playlist.Entry.id uses a suffix-based identifier (e.g. songID_0, songID_1, etc.). Removing one entry causes others to shift, changing their .id values. This leads to diffing errors and collection view crashes in SwiftUI or UIKit when entries are updated.
Steps to Reproduce:
- Add the same song to a playlist multiple times.
- Observe .id.rawValue of entries (e.g. i.SONGID_0, i.SONGID_1).
- Remove one entry.
- Fetch playlist again — note the other IDs have shifted.
FB18879062