From 792588c95ebc518211adf2e1340ab0e95824580b Mon Sep 17 00:00:00 2001 From: Richard Bennion Date: Fri, 9 Jan 2026 13:49:55 -0800 Subject: [PATCH] Fix series name case-sensitivity when editing books When editing a book's series, the code now updates the series name if the casing differs from what's stored in the database. Previously, the series name would revert to its original casing after saving. Fixes #4934 Co-Authored-By: Claude Opus 4.5 --- server/models/Book.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/models/Book.js b/server/models/Book.js index 96371f3a2..9b4abaca3 100644 --- a/server/models/Book.js +++ b/server/models/Book.js @@ -518,6 +518,14 @@ class Book extends Model { const existingSeries = this.series.find((se) => se.name.toLowerCase() === seriesObj.name.toLowerCase()) if (existingSeries) { + // Update series name if casing differs (e.g., "example series" -> "Example Series") + if (existingSeries.name !== seriesObj.name) { + existingSeries.name = seriesObj.name + existingSeries.nameIgnorePrefix = getTitleIgnorePrefix(seriesObj.name) + await existingSeries.save() + hasUpdates = true + Logger.debug(`[Book] "${this.title}" Updated series name casing to "${seriesObj.name}"`) + } if (existingSeries.bookSeries.sequence !== seriesObjSequence) { existingSeries.bookSeries.sequence = seriesObjSequence await existingSeries.bookSeries.save()