From 53c4659044f15e0af488d486031b6000920d7783 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 1 Nov 2025 19:31:01 +0100 Subject: [PATCH] Optionally allow basic auth fallback for chapter page endpoint (#1757) Requesting a chapter page while having a non basic auth mode (e.g. ui login) enabled caused the basic auth prompt. However, this is only supposed to be happen for opds --- .../tachidesk/manga/controller/MangaController.kt | 10 ++++++++-- .../suwayomi/tachidesk/opds/impl/OpdsEntryBuilder.kt | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/MangaController.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/MangaController.kt index f6d62231..9867477c 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/MangaController.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/MangaController.kt @@ -457,6 +457,7 @@ object MangaController { pathParam("index"), queryParam("updateProgress"), queryParam("format"), + queryParam("opds"), documentWith = { withOperation { summary("Get a chapter page") @@ -465,8 +466,13 @@ object MangaController { ) } }, - behaviorOf = { ctx, mangaId, chapterIndex, index, updateProgress, format -> - ctx.getAttribute(Attribute.TachideskUser).requireUserWithBasicFallback(ctx) + behaviorOf = { ctx, mangaId, chapterIndex, index, updateProgress, format, opds -> + if (opds == true) { + ctx.getAttribute(Attribute.TachideskUser).requireUserWithBasicFallback(ctx) + } else { + ctx.getAttribute(Attribute.TachideskUser).requireUser() + } + ctx.future { future { Page.getPageImage( diff --git a/server/src/main/kotlin/suwayomi/tachidesk/opds/impl/OpdsEntryBuilder.kt b/server/src/main/kotlin/suwayomi/tachidesk/opds/impl/OpdsEntryBuilder.kt index 9a302b56..b16ba7fc 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/opds/impl/OpdsEntryBuilder.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/opds/impl/OpdsEntryBuilder.kt @@ -365,7 +365,7 @@ object OpdsEntryBuilder { if (chapter.pageCount > 0) { val basePageHref = "/api/v1/manga/${manga.id}/chapter/${chapter.sourceOrder}/page/{pageNumber}" + - "?updateProgress=${serverConfig.opdsEnablePageReadProgress.value}" + "?updateProgress=${serverConfig.opdsEnablePageReadProgress.value}&opds=true" val title: String = when {