From a926df3aaee4d7a8e572d9344c35437bdd6f4aad Mon Sep 17 00:00:00 2001 From: Kareem Ahmad Date: Wed, 18 Mar 2026 22:07:22 -0400 Subject: [PATCH] Fix bug in readers where web browser is unable to load the ebook when running behind a reverse proxy at /audiobookshelf --- client/components/readers/ComicReader.vue | 6 +++--- client/components/readers/EpubReader.vue | 6 +++--- client/components/readers/MobiReader.vue | 4 ++-- client/components/readers/PdfReader.vue | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/client/components/readers/ComicReader.vue b/client/components/readers/ComicReader.vue index fce26939..e30354a3 100644 --- a/client/components/readers/ComicReader.vue +++ b/client/components/readers/ComicReader.vue @@ -109,9 +109,9 @@ export default { }, ebookUrl() { if (this.fileId) { - return `/api/items/${this.libraryItemId}/ebook/${this.fileId}` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook/${this.fileId}` } - return `/api/items/${this.libraryItemId}/ebook` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook` }, comicMetadataKeys() { return this.comicMetadata ? Object.keys(this.comicMetadata) : [] @@ -176,7 +176,7 @@ export default { ebookLocation: this.page, ebookProgress: Math.max(0, Math.min(1, (Number(this.page) - 1) / Number(this.numPages))) } - this.$axios.$patch(`/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { + this.$axios.$patch(`/audiobookshelf/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { console.error('ComicReader.updateProgress failed:', error) }) }, diff --git a/client/components/readers/EpubReader.vue b/client/components/readers/EpubReader.vue index a4c51539..b309b895 100644 --- a/client/components/readers/EpubReader.vue +++ b/client/components/readers/EpubReader.vue @@ -94,9 +94,9 @@ export default { }, ebookUrl() { if (this.fileId) { - return `/api/items/${this.libraryItemId}/ebook/${this.fileId}` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook/${this.fileId}` } - return `/api/items/${this.libraryItemId}/ebook` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook` }, themeRules() { const theme = this.ereaderSettings.theme @@ -206,7 +206,7 @@ export default { */ updateProgress(payload) { if (!this.keepProgress) return - this.$axios.$patch(`/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { + this.$axios.$patch(`/audiobookshelf/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { console.error('EpubReader.updateProgress failed:', error) }) }, diff --git a/client/components/readers/MobiReader.vue b/client/components/readers/MobiReader.vue index 459ae55b..62c9cda5 100644 --- a/client/components/readers/MobiReader.vue +++ b/client/components/readers/MobiReader.vue @@ -31,9 +31,9 @@ export default { }, ebookUrl() { if (this.fileId) { - return `/api/items/${this.libraryItemId}/ebook/${this.fileId}` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook/${this.fileId}` } - return `/api/items/${this.libraryItemId}/ebook` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook` } }, methods: { diff --git a/client/components/readers/PdfReader.vue b/client/components/readers/PdfReader.vue index d9459d76..4192878d 100644 --- a/client/components/readers/PdfReader.vue +++ b/client/components/readers/PdfReader.vue @@ -104,9 +104,9 @@ export default { }, ebookUrl() { if (this.fileId) { - return `/api/items/${this.libraryItemId}/ebook/${this.fileId}` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook/${this.fileId}` } - return `/api/items/${this.libraryItemId}/ebook` + return `/audiobookshelf/api/items/${this.libraryItemId}/ebook` } }, methods: { @@ -127,7 +127,7 @@ export default { ebookLocation: this.page, ebookProgress: Math.max(0, Math.min(1, (Number(this.page) - 1) / Number(this.numPages))) } - this.$axios.$patch(`/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { + this.$axios.$patch(`/audiobookshelf/api/me/progress/${this.libraryItemId}`, payload, { progress: false }).catch((error) => { console.error('EpubReader.updateProgress failed:', error) }) },