diff --git a/data/src/main/java/mihon/data/extension/repository/ExtensionStoreRepositoryImpl.kt b/data/src/main/java/mihon/data/extension/repository/ExtensionStoreRepositoryImpl.kt index 140f353aa..e04ede9cb 100644 --- a/data/src/main/java/mihon/data/extension/repository/ExtensionStoreRepositoryImpl.kt +++ b/data/src/main/java/mihon/data/extension/repository/ExtensionStoreRepositoryImpl.kt @@ -39,7 +39,14 @@ class ExtensionStoreRepositoryImpl( try { database.extension_storeQueries.getAll().awaitAsList().forEach { store -> service.fetch(store.index_url) - .mapCatching { upsert(it) } + .mapCatching { + database.transaction { + upsert(it) + if (store.index_url != it.indexUrl) { + database.extension_storeQueries.delete(store.index_url) + } + } + } .onFailure { logcat(LogPriority.ERROR, it) { "Failed to refresh extension store '${store.name} (${store.index_url})'"