You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Small consistency gaps found in the 2.1.7 evidence pass #89
After deleting a downloaded book that is loaded in the mini player, Play fails with an ExoPlayer ENOENT error (player shows an error state, no crash). The loaded item keeps the deleted local path. Not checked on 99839f6.
AudioBookDao.getByLibraryWithLastPlayed reads a whole library without a transaction. 2.1.7 fixed the same pattern in the Library shelf read, where a sync saving pages mid-read returned some books twice and missed others. This query is not on the Library path, but it can do the same.
Proposed shape
Refresh or unload the player item when its download is deleted. Wrap the full-library read in a transaction like getFilteredBooks.
One more from the phone pass on #90 (present on 99839f6 too): with a book's detail page open in the Library tab, deleting its download from the Downloads tab leaves the detail page showing "Downloaded" until it is reopened. BookDetailViewModel.observeDownloadState falls back to the isDownloaded value loaded when the page opened once the download row is gone. Reading the book row as a flow (or re-reading it when the row disappears) would fix it.
Activity
StaticHumStudio commentedon Oct 4, 2026
One more from the phone pass on #90 (present on 99839f6 too): with a book's detail page open in the Library tab, deleting its download from the Downloads tab leaves the detail page showing "Downloaded" until it is reopened.
BookDetailViewModel.observeDownloadStatefalls back to theisDownloadedvalue loaded when the page opened once the download row is gone. Reading the book row as a flow (or re-reading it when the row disappears) would fix it.The Library jumps by letter, search ignores accents, and downloads st…