-
Notifications
You must be signed in to change notification settings - Fork 816
feat: Enable series name editing with duplicate validation #4962
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Remove disabled state from series name input in edit modal - Add duplicate name validation in SeriesController (resolves TODO) - Update nameIgnorePrefix when series name changes - Add frontend validation for duplicate series names - Add updateSeriesName method to PATCH series immediately on rename - Show backend error message in toast on failure - Add i18n string for duplicate name error message This enables users to rename existing series while preventing duplicate series names within the same library.
|
As I said in my other comment, I do not think it is a good idea to make this changeable so easily. In my opinion, this should be added to the metadata utils, where other such actions are already possible, although I am just a contributor, so whatever. But that is not why I am commenting. It is cool that you seem to have found AI that works for you. But you help nobody if you open AI-generated PRs. ABS already had a flood of AI PRs and you contributed 5 new ones. It adds review work for things you did not write and likely do not fully understand, though I do not want to assume this about you. Even your answers are copied straight from an AI. The following was, in no world, written by a human: #4960 (comment) AI is a nice assistance. Submitting a AI only PR and even answering trough AI is no assistance. |
|
Yeah the endpoint already existed. It just wasn’t being used because the UI prevented renames and the server-side handler still had a TODO about duplicate-name checking. This PR adds the missing duplicate-name guard (and updates nameIgnorePrefix) and then wires the UI to call the existing PATCH when the name changes. just enabling the existing single-series edit path. |
|
Just for the record. I do not mean to delete and add the series again. This would remove the set position. But like for generes and tags, you have the option to rename them at a global place in the UI, also without removing and adding and is done in two clicks. I still think it would be cleaner in the settings, because then it would be all at one place and the benefit, you would be able to delete a series, but again, not will change if this PR is merged, just some comment (And because that PR here is 100% AI generated anyway I also didn't do much thinking here, because that was not the main point I was making) |

Brief summary
Enables editing of series names directly from the book/series edit modal with proper duplicate name validation. Previously, the series name field was locked (disabled) when editing existing series, forcing users to use workarounds or third-party tools.
Which issue is fixed?
Addresses user feedback from #4937:
Also resolves the long-standing TODO in
SeriesController.js:// TODO: Currently unused in the client, should check for duplicate nameIn-depth Description
Why was it locked?
The series name field was disabled in
EditSeriesInputInnerModal.vuewhen editing existing series, likely to prevent accidental renames that affect multiple books. However, this forced users to:What this PR does
Backend (
SeriesController.js):nameIgnorePrefixwhen series name changes (important for sorting)Frontend:
:disabledlock on series name inputoriginalSeriesNametracking to detect changesPATCH /api/series/:idimmediately when renaming existing seriesHow it works
nameIgnorePrefixseries_updatednotifies all clientsWhy this is safe
How have you tested this?
Manual Testing
✅ Rename existing series - Changed "Harry Potter" to "Harry Potter Series"
✅ Duplicate name validation - Tried renaming to an existing series name
✅ Empty name validation - Tried submitting empty name
✅ New series creation - Still works as before
✅ Cross-library series - Same series name in different libraries
Automated Testing
Edge Cases Tested
Screenshots
Screenshots (click to expand)
Before (series name disabled):

After (series name editable):

Validation in action:
When attempting to rename to existing series name: