sync: preserve legacy identity during queue resets

This commit is contained in:
austinried
2026-11-14 12:05:28 +00:00
parent 544b442f4e
commit 481f12c892
3 changed files with 11 additions and 4 deletions
@@ -11,6 +11,7 @@ import com.subtracks.data.model.PlaylistSong
import com.subtracks.data.model.QueueKind
import com.subtracks.data.model.QueueOrigin
import com.subtracks.data.repo.QueueRepository
import com.subtracks.data.repo.QueueResetPreparation
import com.subtracks.data.repo.removeAt
import com.subtracks.data.repo.replace
import kotlinx.coroutines.test.runTest
@@ -592,7 +593,10 @@ class MigrationsTest {
repository.setCursor(2)
val point = repository.captureResetPoint()
var resets = 0
repository.setResetListener { resets++ }
repository.setResetListener {
resets++
QueueResetPreparation(it.snapshot)
}
db.libraryDao().deletePlaylistSongsFrom(1, "p1", 0)
db.libraryDao().upsertPlaylistSongs(
listOf(
@@ -474,6 +474,9 @@ class QueueRepositoryTest {
repository.removeAt(snapshot, 0)
assertEquals(listOf("s2", "s3"), resolveAll(repository.snapshot()))
}
@Test
fun aMatchingOriginStillPublishesWhenItsEntriesDoNotChange() =
runTest {
seedLibrary()