kuuuurt / multiplatform-paging

Kotlin Multiplatform library for Pagination
Apache License 2.0
250 stars 22 forks source link

iOS refresh logic is weird #35

Open HarryTylenol opened 1 year ago

HarryTylenol commented 1 year ago

Problem

Pager appending same pages on top when refresh called in iOS.

Inspection

https://github.com/kuuuurt/multiplatform-paging/blob/dabcdc5315edc3776f737f5d2a10a0bdd69aa943/paging/src/iosMain/kotlin/com/kuuurt/paging/multiplatform/Pager.kt#L77

https://github.com/kuuuurt/multiplatform-paging/blob/dabcdc5315edc3776f737f5d2a10a0bdd69aa943/paging/src/iosMain/kotlin/com/kuuurt/paging/multiplatform/Pager.kt#L78

According to this line, _pagingData keep appending next page list to previous list when loadItems called.


https://github.com/kuuuurt/multiplatform-paging/blob/dabcdc5315edc3776f737f5d2a10a0bdd69aa943/paging/src/iosMain/kotlin/com/kuuurt/paging/multiplatform/Pager.kt#L43

https://github.com/kuuuurt/multiplatform-paging/blob/dabcdc5315edc3776f737f5d2a10a0bdd69aa943/paging/src/iosMain/kotlin/com/kuuurt/paging/multiplatform/Pager.kt#L44

then _pagingData should be invalidated when refresh() called, but only currentPagingResult and _hasNextPage got invalidated.