Fix duplicate items when synchronizing a fever account

This commit is contained in:
Shinokuni 2024-08-13 13:24:15 +02:00
parent 57d66b565c
commit 326fdde7eb
5 changed files with 7 additions and 9 deletions

View File

@ -48,7 +48,7 @@ class FeverDataSource(private val service: FeverService) {
if (newItems.isEmpty()) break
// always take the lowest id
maxId = newItems.last().remoteId!!
maxId = newItems.minOfOrNull { it.remoteId!!.toLong() }.toString()
addAll(newItems)
}
}
@ -77,7 +77,7 @@ class FeverDataSource(private val service: FeverService) {
if (newItems.isEmpty()) break
// always take the highest id
localSinceId = newItems.first().remoteId!!
localSinceId = newItems.maxOfOrNull { it.remoteId!!.toLong() }.toString()
addAll(newItems)
}

View File

@ -229,8 +229,6 @@ class FeverDataSourceTest : KoinTest {
assertEquals(6, result.unreadIds.size)
assertEquals(6, result.starredIds.size)
assertEquals(10, result.items.size)
assertEquals("5", result.items.first().remoteId)
assertEquals("6", result.items.last().remoteId)
assertEquals("1", firstLastSinceId)
assertEquals("5", secondLastSinceId)

View File

@ -31,7 +31,7 @@ class FeverItemsAdapterTest {
assertTrue(isStarred)
assertTrue(isRead)
assertNotNull(pubDate)
assertEquals(remoteId, "10")
assertEquals(remoteId, "6")
assertEquals(feedRemoteId, "2")
}
}

View File

@ -5,7 +5,7 @@
"total_items": 10814,
"items": [
{
"id": "5",
"id": "3",
"feed_id": 2,
"title": "FreshRSS 1.9.0",
"author": "Alkarex",
@ -27,7 +27,7 @@
"created_on_time": 1515697500
},
{
"id": "3",
"id": "5",
"feed_id": 2,
"title": "FreshRSS 1.9.0",
"author": "Alkarex",

View File

@ -5,7 +5,7 @@
"total_items": 10814,
"items": [
{
"id": "10",
"id": "6",
"feed_id": 2,
"title": "FreshRSS 1.9.0",
"author": "Alkarex",
@ -49,7 +49,7 @@
"created_on_time": 1515697500
},
{
"id": "6",
"id": "10",
"feed_id": 2,
"title": "FreshRSS 1.9.0",
"author": "Alkarex",