[Bug]: Subtitle saved as null #691

Closed
opened 2026-04-24 23:17:13 +02:00 by adam · 10 comments
Owner

Originally created by @machstem on GitHub (Oct 13, 2022).

Describe the issue

The books I import that do not belong to a "series", have the string "null" instead of being an empty field.

image

The books I import that belong to a series, they correctly identity the series underneath the title.

Tested on the web version, Firefox on PopOS.

Steps to reproduce the issue

  1. Play audiobook
  2. Verify the series underneath the title of the book, to the right of the cover art.
  3. If the book is not identified as belonging to a series, it should be empty, but we see "null".
  4. If you edit the book, you can remove "null" and "save and close", and it'll correct the issue

image

Audiobookshelf version

v2.2.1

How are you running audiobookshelf?

Docker

Originally created by @machstem on GitHub (Oct 13, 2022). ### Describe the issue The books I import that do not belong to a "series", have the string "null" instead of being an empty field. ![image](https://user-images.githubusercontent.com/11606758/195488888-e3bbde76-4286-4843-9b55-000c16651d12.png) The books I import that belong to a series, they correctly identity the series underneath the title. Tested on the web version, Firefox on PopOS. ### Steps to reproduce the issue 1. Play audiobook 2. Verify the series underneath the title of the book, to the right of the cover art. 3. If the book is not identified as belonging to a series, it should be empty, but we see "null". 4. If you edit the book, you can remove "null" and "save and close", and it'll correct the issue ![image](https://user-images.githubusercontent.com/11606758/195489022-517a6b2f-136b-45f7-a47b-79f1e0688851.png) ### Audiobookshelf version v2.2.1 ### How are you running audiobookshelf? Docker
adam added the bug label 2026-04-24 23:17:13 +02:00
adam closed this issue 2026-04-24 23:17:14 +02:00
Author
Owner

@advplyr commented on GitHub (Oct 14, 2022):

How are you importing the books? Are you using the uploader or are they books already in your filesystem you are scanning?

@advplyr commented on GitHub (Oct 14, 2022): How are you importing the books? Are you using the uploader or are they books already in your filesystem you are scanning?
Author
Owner

@wtanksleyjr commented on GitHub (Oct 20, 2022):

I have a lot of books with this problem; I'd postponed reporting because I wasn't sure where it came from. I might have some answers, though. It appears to come from MP3 metadata ... it looks like all of the cases involve books with "null" in the Subtitle tag.

What's a little worse is that the only way to get rid of this is to manually edit it. Audiobookshelf (ABS) NEVER automatically blanks a field; if a Match result or an OPF file has a blank field, ABS will ignore that field and will not change the book data. I'd like it if the user had a choice in that -- when I'm doing a Match, I'd like to be able to check and uncheck (and edit) EVERY field of the book, not just the ones that are nonblank in the results; and when I'm generating an OPF, if I include a field as being blank, I want it to actually be blanked out, not to be ignored. (Idea: if I don't specify a field, it's OK to leave it alone, but if I do specify it, blank value means blank the field.)

@wtanksleyjr commented on GitHub (Oct 20, 2022): I have a lot of books with this problem; I'd postponed reporting because I wasn't sure where it came from. I might have some answers, though. It appears to come from MP3 metadata ... it looks like all of the cases involve books with "null" in the Subtitle tag. What's a little worse is that the only way to get rid of this is to manually edit it. Audiobookshelf (ABS) NEVER automatically blanks a field; if a Match result or an OPF file has a blank field, ABS will ignore that field and will not change the book data. I'd like it if the user had a choice in that -- when I'm doing a Match, I'd like to be able to check and uncheck (and edit) EVERY field of the book, not just the ones that are nonblank in the results; and when I'm generating an OPF, if I include a field as being blank, I want it to actually be blanked out, not to be ignored. (Idea: if I don't specify a field, it's OK to leave it alone, but if I do specify it, blank value means blank the field.)
Author
Owner

@advplyr commented on GitHub (Oct 20, 2022):

Is the word "null" actually set on the audio file meta tag?

You can select multiple books and press the edit button at the top. This will take you to the batch editor which will allow you to map details onto all selected books. With this you could remove the subtitle on all of those books easily.

@advplyr commented on GitHub (Oct 20, 2022): Is the word "null" actually set on the audio file meta tag? You can select multiple books and press the edit button at the top. This will take you to the batch editor which will allow you to map details onto all selected books. With this you could remove the subtitle on all of those books easily.
Author
Owner

@wtanksleyjr commented on GitHub (Oct 21, 2022):

I don't know what you mean by "actually"; but I found a book with 'null' in
its MP3 subtitle but not in my metadata, and sure enough it had "null" in
its Audiobookshelf subtitle.

I have a ton more, but it's very hard to find them without just being
randomly lucky, it's not possible to search the contents of subtitles.

I was able to confirm that bulk edit+"map details" does work. What does
"map details" mean? And could a better name and more obviously clickable
way to activate it be chosen for it? It's almost invisible against the rest
of the UI, the name doesn't suggest any function, and it's only clickable
in that little pointy arrow thing that I don't think your UI uses anywhere
else. I wish I'd known it existed a long time ago, I've very often wanted
to bulk change book data! I should also say thank you, because even if I
didn't know it was there I will definitely be using it a lot!

-Wm

On Thu, Oct 20, 2022 at 2:20 PM advplyr @.***> wrote:

Is the word "null" actually set on the audio file meta tag?

You can select multiple books and press the edit button at the top. This
will take you to the batch editor which will allow you to map details onto
all selected books. With this you could remove the subtitle on all of those
books easily.


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1286167150,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ7H6LIZT43YQCLQRT7PW3WEGZTPANCNFSM6AAAAAARD2ZMZM
.
You are receiving this because you commented.Message ID:
@.***>

@wtanksleyjr commented on GitHub (Oct 21, 2022): I don't know what you mean by "actually"; but I found a book with 'null' in its MP3 subtitle but not in my metadata, and sure enough it had "null" in its Audiobookshelf subtitle. I have a ton more, but it's very hard to find them without just being randomly lucky, it's not possible to search the contents of subtitles. I was able to confirm that bulk edit+"map details" does work. What does "map details" mean? And could a better name and more obviously clickable way to activate it be chosen for it? It's almost invisible against the rest of the UI, the name doesn't suggest any function, and it's only clickable in that little pointy arrow thing that I don't think your UI uses anywhere else. I wish I'd known it existed a long time ago, I've very often wanted to bulk change book data! I should also say thank you, because even if I didn't know it was there I will definitely be using it a lot! -Wm On Thu, Oct 20, 2022 at 2:20 PM advplyr ***@***.***> wrote: > Is the word "null" actually set on the audio file meta tag? > > You can select multiple books and press the edit button at the top. This > will take you to the batch editor which will allow you to map details onto > all selected books. With this you could remove the subtitle on all of those > books easily. > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1286167150>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAJ7H6LIZT43YQCLQRT7PW3WEGZTPANCNFSM6AAAAAARD2ZMZM> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Author
Owner

@advplyr commented on GitHub (Oct 21, 2022):

I found a book with 'null' in its MP3 subtitle but not in my metadata

I'm not sure what this means. What is MP3 subtitle but not in metadata?

could a better name and more obviously clickable way to activate it be chosen for it?

Definitely. Let me know what you think would be better and more clear.

@advplyr commented on GitHub (Oct 21, 2022): > I found a book with 'null' in its MP3 subtitle but not in my metadata I'm not sure what this means. What is MP3 subtitle but not in metadata? > could a better name and more obviously clickable way to activate it be chosen for it? Definitely. Let me know what you think would be better and more clear.
Author
Owner

@wtanksleyjr commented on GitHub (Oct 22, 2022):

Oh, sorry, the explanation of "my metadata": I keep "my metadata" in a
database, in this case it came from the seller of this audiobook -- the
book had no subtitle there, although the MP3's metadata (which I almost
completely ignore and don't use) has "null" there. It seems to be not
unusual, to the extent that before I gave up on getting metadata from MP3s
I included a test for the word 'null'.

Changing the name is of only limited value because it doesn't look like a
section you can click on; it looks like a headline above what you're
editing. And because the function it's performing is essentially a kind of
bulk editing, anything we call it will look like a description of the
editor you can see, not the editor that's hidden.

On Fri, Oct 21, 2022 at 2:37 AM advplyr @.***> wrote:

I found a book with 'null' in its MP3 subtitle but not in my metadata

I'm not sure what this means. What is MP3 subtitle but not in metadata?

could a better name and more obviously clickable way to activate it be
chosen for it?

Definitely. Let me know what you think would be better and more clear.


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1286710471,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ7H6IGMBNDMY5KKNCJWFTWEJP6VANCNFSM6AAAAAARD2ZMZM
.
You are receiving this because you commented.Message ID:
@.***>

@wtanksleyjr commented on GitHub (Oct 22, 2022): Oh, sorry, the explanation of "my metadata": I keep "my metadata" in a database, in this case it came from the seller of this audiobook -- the book had no subtitle there, although the MP3's metadata (which I almost completely ignore and don't use) has "null" there. It seems to be not unusual, to the extent that before I gave up on getting metadata from MP3s I included a test for the word 'null'. Changing the name is of only limited value because it doesn't look like a section you can click on; it looks like a headline above what you're editing. And because the function it's performing is essentially a kind of bulk editing, anything we call it will look like a description of the editor you can see, not the editor that's hidden. On Fri, Oct 21, 2022 at 2:37 AM advplyr ***@***.***> wrote: > I found a book with 'null' in its MP3 subtitle but not in my metadata > > I'm not sure what this means. What is MP3 subtitle but not in metadata? > > could a better name and more obviously clickable way to activate it be > chosen for it? > > Definitely. Let me know what you think would be better and more clear. > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1286710471>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAJ7H6IGMBNDMY5KKNCJWFTWEJP6VANCNFSM6AAAAAARD2ZMZM> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Author
Owner

@advplyr commented on GitHub (Oct 23, 2022):

If your audio meta tag already has the subtitle stored as "null" then abs is going to pull that in.
I'm still not sure I understand properly. Is this an issue with abs or with your audio meta tags?

@advplyr commented on GitHub (Oct 23, 2022): If your audio meta tag already has the subtitle stored as "null" then abs is going to pull that in. I'm still not sure I understand properly. Is this an issue with abs or with your audio meta tags?
Author
Owner

@wtanksleyjr commented on GitHub (Oct 24, 2022):

OK, that's probably fair, I think it's an answer to the
original question/bug report, "you might have bad MP3 metadata" (it's super
common, and might possibly be 100% of the time, I don't know).

In my case, I've configured ABS to prefer metadata from OPF files, and I
always have an OPF file in the book's folder before I move the folder into
its place in ABS's input directories. In spite of that, so long as the book
doesn't have a subtitle, there's no way to stop ABS from pulling the word
"null" from bad metadata.

Some thoughts: I'd rather ABS not look at any other metadata, including the
MP3 metadata, when there's a valid OPF (and I told it to look for an OPF).

This also happens if my OPF provides a blank title (which I used to do for
series, although I've changed all my series now), although I've never seen
MP3 metadata equal null; instead, what happens is that ABS pulls the
directory the book's in to be the title. It seems that ABS won't allow a
blank field, it'll always try to find some data for it.

-Wm

On Sun, Oct 23, 2022 at 1:20 PM advplyr @.***> wrote:

If your audio meta tag already has the subtitle stored as "null" then abs
is going to pull that in.
I'm still not sure I understand properly. Is this an issue with abs or
with your audio meta tags?


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1288192841,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ7H6PC43M4PWHP37QBWZDWEWMZ7ANCNFSM6AAAAAARD2ZMZM
.
You are receiving this because you commented.Message ID:
@.***>

@wtanksleyjr commented on GitHub (Oct 24, 2022): OK, that's probably fair, I think it's an answer to the original question/bug report, "you might have bad MP3 metadata" (it's super common, and might possibly be 100% of the time, I don't know). In my case, I've configured ABS to prefer metadata from OPF files, and I always have an OPF file in the book's folder before I move the folder into its place in ABS's input directories. In spite of that, so long as the book doesn't have a subtitle, there's no way to stop ABS from pulling the word "null" from bad metadata. Some thoughts: I'd rather ABS not look at any other metadata, including the MP3 metadata, when there's a valid OPF (and I told it to look for an OPF). This also happens if my OPF provides a blank title (which I used to do for series, although I've changed all my series now), although I've never seen MP3 metadata equal null; instead, what happens is that ABS pulls the directory the book's in to be the title. It seems that ABS won't allow a blank field, it'll always try to find some data for it. -Wm On Sun, Oct 23, 2022 at 1:20 PM advplyr ***@***.***> wrote: > If your audio meta tag already has the subtitle stored as "null" then abs > is going to pull that in. > I'm still not sure I understand properly. Is this an issue with abs or > with your audio meta tags? > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1288192841>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAJ7H6PC43M4PWHP37QBWZDWEWMZ7ANCNFSM6AAAAAARD2ZMZM> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Author
Owner

@advplyr commented on GitHub (Oct 28, 2022):

I see what you mean. That would be a big project to have an interface for disabling certain fields but is something we might do down the road.
Best option for now is to make sure your audio file metadata and folder structure are nice and organized.

@advplyr commented on GitHub (Oct 28, 2022): I see what you mean. That would be a big project to have an interface for disabling certain fields but is something we might do down the road. Best option for now is to make sure your audio file metadata and folder structure are nice and organized.
Author
Owner

@wtanksleyjr commented on GitHub (Oct 28, 2022):

True. But that actually wasn't what I meant.

I was wanting to have ABS consider a blank field in an OPF or a match
result to be a request to blank the field, instead of something to ignore.

For backward compatibility, a missing field in OPF would be handled just
like now -- so for example if my OPF has no <title> field the book will
keep its old title (just like now), but if I have a <title> field and
it's blank, that field will be blanked out. Likewise, a Match result with
an unchecked field means to ignore it (leave the old contents), but if it's
checked it would be applied even if it's blank (i.e. blanking out the
field).

I would also like it if the Match editor would stop hiding fields while I'm
editing them -- the first time I wanted to correct a field, I backspaced
it, and was surprised to have the editor permanently hide it so I had to
cancel to get the ability back to edit the field; I had expected to
backspace and then type my correction in.

On Thu, Oct 27, 2022 at 3:21 PM advplyr @.***> wrote:

I see what you mean. That would be a big project to have an interface for
disabling certain fields but is something we might do down the road.
Best option for now is to make sure your audio file metadata and folder
structure are nice and organized.


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1294175282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ7H6NHBCBSNYMYYORUBFDWFL57BANCNFSM6AAAAAARD2ZMZM
.
You are receiving this because you commented.Message ID:
@.***>

@wtanksleyjr commented on GitHub (Oct 28, 2022): True. But that actually wasn't what I meant. I was wanting to have ABS consider a blank field in an OPF or a match result to be a request to blank the field, instead of something to ignore. For backward compatibility, a missing field in OPF would be handled just like now -- so for example if my OPF has no `<title>` field the book will keep its old title (just like now), but if I have a `<title>` field and it's blank, that field will be blanked out. Likewise, a Match result with an unchecked field means to ignore it (leave the old contents), but if it's checked it would be applied even if it's blank (i.e. blanking out the field). I would also like it if the Match editor would stop hiding fields while I'm editing them -- the first time I wanted to correct a field, I backspaced it, and was surprised to have the editor permanently hide it so I had to cancel to get the ability back to edit the field; I had expected to backspace and then type my correction in. On Thu, Oct 27, 2022 at 3:21 PM advplyr ***@***.***> wrote: > I see what you mean. That would be a big project to have an interface for > disabling certain fields but is something we might do down the road. > Best option for now is to make sure your audio file metadata and folder > structure are nice and organized. > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1061#issuecomment-1294175282>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAJ7H6NHBCBSNYMYYORUBFDWFL57BANCNFSM6AAAAAARD2ZMZM> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#691