When a downloaded book is moved from one library to another, the local book becomes orphaned. The app correctly tags the book as "missing", but the entry remains stuck in the local books list section with no way to remove it.
Steps to Reproduce the Issue
Download a book to the device.
On the server-side, move the book's folder to a different library.
Notice that the book is now marked as "missing" in the app.
What was Expected?
Add a remove / delete button
OR, ideally: Re-associate the local file with the book's new library location, preserving playback progress and listening history. This would require the server to detect that a book was moved at the file-system level, which could potentially be achieved by parsing an associated .json metadata file to track the item's unique identity.
Phone Model
Pixel 9 Pro
Phone OS
Android 16
Audiobookshelf App Version
Android App - 0.9.81
Installation Source
Google Play Store
Additional Notes
Originally created by @dedors on GitHub (Jul 20, 2025).
### I have verified that the [bug is not already awaiting release](https://github.com/advplyr/audiobookshelf-app/issues?q=is%3Aissue%20label%3A%22awaiting%20release%22)
Yes
### What was the Problem?
When a downloaded book is moved from one library to another, the local book becomes orphaned. The app correctly tags the book as "missing", but the entry remains stuck in the local books list section with no way to remove it.
### Steps to Reproduce the Issue
Download a book to the device.
On the server-side, move the book's folder to a different library.
Notice that the book is now marked as "missing" in the app.
### What was Expected?
Add a remove / delete button
OR, ideally: Re-associate the local file with the book's new library location, preserving playback progress and listening history. This would require the server to detect that a book was moved at the file-system level, which could potentially be achieved by parsing an associated .json metadata file to track the item's unique identity.
### Phone Model
Pixel 9 Pro
### Phone OS
Android 16
### Audiobookshelf App Version
Android App - 0.9.81
### Installation Source
Google Play Store
### Additional Notes
<img width="1074" height="1215" alt="Image" src="https://github.com/user-attachments/assets/3a38eaa1-446e-4fc8-9104-c2769a6e70fb" />
adam
added the bugandroid labels 2026-04-24 23:54:54 +02:00
I'm confused, are you moving the file on the server or locally on your phone?
The server is able to detect file moves using the inode of the file, but this relies on you moving the audio files within the same drive instead of copying the files.
@nichwall commented on GitHub (Jul 20, 2025):
I'm confused, are you moving the file on the server or locally on your phone?
The server is able to detect file moves using the inode of the file, but this relies on you moving the audio files within the same drive instead of copying the files.
I'm confused, are you moving the file on the server or locally on your phone?
The server is able to detect file moves using the inode of the file, but this relies on you moving the audio files within the same drive instead of copying the files.
On the server-side, move the book's folder to a different library.
On the server, the folder was moved (via smb), but was on still the same disk. From Audiobooks/Series/Seriename/Bookname to Audiobooks/Books/Bookname. (Series and Books are the 2 libraries).
@dedors commented on GitHub (Jul 22, 2025):
> I'm confused, are you moving the file on the server or locally on your phone?
>
> The server is able to detect file moves using the inode of the file, but this relies on you moving the audio files within the same drive instead of copying the files.
> On the server-side, move the book's folder to a different library.
On the server, the folder was moved (via smb), but was on still the same disk. From Audiobooks/Series/Seriename/Bookname to Audiobooks/Books/Bookname. (Series and Books are the 2 libraries).
On the server, the folder was moved (via smb), but was on still the same disk. From Audiobooks/Series/Seriename/Bookname to Audiobooks/Books/Bookname. (Series and Books are the 2 libraries).
Network mounted drives do not have stable inodes, so that explains why the move was not detected.
Either way the app should allow deleting the local media files if it is not longer on the server.
@nichwall commented on GitHub (Jul 22, 2025):
> On the server, the folder was moved (via smb), but was on still the same disk. From Audiobooks/Series/Seriename/Bookname to Audiobooks/Books/Bookname. (Series and Books are the 2 libraries).
Network mounted drives do not have stable inodes, so that explains why the move was not detected.
Either way the app should allow deleting the local media files if it is not longer on the server.
Network mounted drives do not have stable inodes, so that explains why the move was not detected.
My apologies, I was unclear here. The files are actually local on the server, as I moved them using SMB. For context, the setup is a Docker container running on Unraid, which has a single mounted local folder for data access.
@dedors commented on GitHub (Jul 22, 2025):
> Network mounted drives do not have stable inodes, so that explains why the move was not detected.
My apologies, I was unclear here. The files are actually local on the server, as **I** moved them using SMB. For context, the setup is a Docker container running on Unraid, which has a single mounted local folder for data access.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @dedors on GitHub (Jul 20, 2025).
I have verified that the bug is not already awaiting release
Yes
What was the Problem?
When a downloaded book is moved from one library to another, the local book becomes orphaned. The app correctly tags the book as "missing", but the entry remains stuck in the local books list section with no way to remove it.
Steps to Reproduce the Issue
Download a book to the device.
On the server-side, move the book's folder to a different library.
Notice that the book is now marked as "missing" in the app.
What was Expected?
Add a remove / delete button
OR, ideally: Re-associate the local file with the book's new library location, preserving playback progress and listening history. This would require the server to detect that a book was moved at the file-system level, which could potentially be achieved by parsing an associated .json metadata file to track the item's unique identity.
Phone Model
Pixel 9 Pro
Phone OS
Android 16
Audiobookshelf App Version
Android App - 0.9.81
Installation Source
Google Play Store
Additional Notes
@nichwall commented on GitHub (Jul 20, 2025):
I'm confused, are you moving the file on the server or locally on your phone?
The server is able to detect file moves using the inode of the file, but this relies on you moving the audio files within the same drive instead of copying the files.
@dedors commented on GitHub (Jul 22, 2025):
On the server, the folder was moved (via smb), but was on still the same disk. From Audiobooks/Series/Seriename/Bookname to Audiobooks/Books/Bookname. (Series and Books are the 2 libraries).
@nichwall commented on GitHub (Jul 22, 2025):
Network mounted drives do not have stable inodes, so that explains why the move was not detected.
Either way the app should allow deleting the local media files if it is not longer on the server.
@dedors commented on GitHub (Jul 22, 2025):
My apologies, I was unclear here. The files are actually local on the server, as I moved them using SMB. For context, the setup is a Docker container running on Unraid, which has a single mounted local folder for data access.