Skip to content

Bug: Migration error when Tracker Kitsu is activated (copies manga instead) #1631

@Natsu972

Description

@Natsu972

Steps to reproduce

  1. Select a manga.
  2. Add the Kitsu tracker.
  3. Click on the Migrate button.
  4. Select a different manga to replace the original.
  5. Confirm the Migrate action.
  6. Go to the new manga entry.
  7. Open the tracker tab → notice that Kitsu tracker is not enabled.
  8. Perform a global search → notice that both the original and the new entry exist in the library instead of just one.

Expected behavior

When migrating a manga with the Kitsu tracker enabled:

  • All library and tracker information should be transferred to the new entry.
  • The original entry should not remain in the library.
  • The new entry should still have the Kitsu tracker active.

Actual behavior

When I try to migrate a manga with the Kitsu tracker enabled, the migration does not correctly transfer the tracker and library data.

Instead of migrating all the information into the new entry, I end up with two manga entries in the library:

  • The original entry (with Kitsu tracker enabled).
  • The new entry (but without the Kitsu tracker).

Suwayomi-Server version

v2.1.1867

Server operating system

Windows 11 Home 24H2

Server Desktop Environment

No response

Server JVM version

"21.0.8" 2025-07-15 LTS

Used client name

Suwayomi-WebUI

Client version

r2717

Used web browser

Brave 1.81.137 (Official Build) (64-bit)

Client operating system

Windows 11 Home 24H2

Other details

Image

eu.kanade.tachiyomi.network.HttpException: HTTP error 422
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.KitsuApi$addLibManga$2.invokeSuspend(KitsuApi.kt:80)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.KitsuApi$addLibManga$2.invoke(KitsuApi.kt)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.KitsuApi$addLibManga$2.invoke(KitsuApi.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at eu.kanade.tachiyomi.util.lang.CoroutinesExtensionsKt.withIOContext(CoroutinesExtensions.kt:56)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.KitsuApi.addLibManga(KitsuApi.kt:45)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.Kitsu.add(Kitsu.kt:68)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.Kitsu.bind(Kitsu.kt:112)
	at suwayomi.tachidesk.manga.impl.track.tracker.kitsu.Kitsu$bind$1.invokeSuspend(Kitsu.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:266)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:101)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
  • I have written a short but informative title (ideally less than ~100 characters).
  • I have tried the troubleshooting guide described in README.md
  • I have updated to the latest version.
  • I have filled out all of the requested information in this form, including specific version numbers.
  • I understand that Suwayomi does not have or fix any extensions, and I will not receive help for any issues related to sources or extensions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions