|  | @@ -66,15 +66,14 @@ import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateItem
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateSectionItem
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.util.lang.launchIO
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.util.lang.withIOContext
 | 
	
		
			
				|  |  | +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.util.removeCovers
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.util.system.logcat
 | 
	
		
			
				|  |  | -import kotlinx.coroutines.NonCancellable
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.Flow
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.collectLatest
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.firstOrNull
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.flow.map
 | 
	
		
			
				|  |  |  import kotlinx.coroutines.launch
 | 
	
		
			
				|  |  | -import kotlinx.coroutines.withContext
 | 
	
		
			
				|  |  |  import logcat.LogPriority
 | 
	
		
			
				|  |  |  import uy.kohesive.injekt.Injekt
 | 
	
		
			
				|  |  |  import uy.kohesive.injekt.api.get
 | 
	
	
		
			
				|  | @@ -212,17 +211,13 @@ open class BrowseSourcePresenter(
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      private suspend fun initializeManga(manga: DomainManga) {
 | 
	
		
			
				|  |  |          if (manga.thumbnailUrl != null || manga.initialized) return
 | 
	
		
			
				|  |  | -        withContext(NonCancellable) {
 | 
	
		
			
				|  |  | -            val db = manga.toDbManga()
 | 
	
		
			
				|  |  | +        withNonCancellableContext {
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  | -                val networkManga = source!!.getMangaDetails(db.copy())
 | 
	
		
			
				|  |  | -                db.copyFrom(networkManga)
 | 
	
		
			
				|  |  | -                db.initialized = true
 | 
	
		
			
				|  |  | -                updateManga.await(
 | 
	
		
			
				|  |  | -                    db
 | 
	
		
			
				|  |  | -                        .toDomainManga()
 | 
	
		
			
				|  |  | -                        ?.toMangaUpdate()!!,
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | +                val networkManga = source!!.getMangaDetails(manga.toSManga())
 | 
	
		
			
				|  |  | +                val updatedManga = manga.copyFrom(networkManga)
 | 
	
		
			
				|  |  | +                    .copy(initialized = true)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                updateManga.await(updatedManga.toMangaUpdate())
 | 
	
		
			
				|  |  |              } catch (e: Exception) {
 | 
	
		
			
				|  |  |                  logcat(LogPriority.ERROR, e)
 | 
	
		
			
				|  |  |              }
 |