From b28778221e07e4b19a4bd987fa55c84af3e5f0f0 Mon Sep 17 00:00:00 2001 From: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:00:00 +0700 Subject: [PATCH] fix(migrate-dialog): Fix Migrate Manga dialog won't show the second time (#1409) Also handle the case migrate-dialog keeps loading forever in case of exception --- .../feature/migration/dialog/MigrateMangaDialog.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/mihon/feature/migration/dialog/MigrateMangaDialog.kt b/app/src/main/java/mihon/feature/migration/dialog/MigrateMangaDialog.kt index 3c36e5f6e..5086d056b 100644 --- a/app/src/main/java/mihon/feature/migration/dialog/MigrateMangaDialog.kt +++ b/app/src/main/java/mihon/feature/migration/dialog/MigrateMangaDialog.kt @@ -159,6 +159,7 @@ private class MigrateDialogScreenModel( target = target, applicableFlags = applicableFlags, selectedFlags = selectedFlags, + isMigrated = false, ) } } @@ -180,8 +181,14 @@ private class MigrateDialogScreenModel( // sourcePreference.migrationFlags().set(state.selectedFlags) // KMK <-- mutableState.update { it.copy(isMigrating = true) } - migrateManga(current, target, replace, /* KMK --> */ state.selectedFlags /* KMK <-- */) - mutableState.update { it.copy(isMigrating = false, isMigrated = true) } + try { + migrateManga(current, target, replace, /* KMK --> */ state.selectedFlags /* KMK <-- */) + mutableState.update { it.copy(isMigrating = false, isMigrated = true) } + // KMK --> + } catch (_: Throwable) { + mutableState.update { it.copy(isMigrating = false, isMigrated = false) } + // KMK <-- + } } data class State(