Morrow cannot connect to the server
- Open the same server address in a browser on the affected device.
- Confirm the address includes the correct scheme (
https://orhttp://) and port. - Confirm your username and password still work in the server web interface.
- Temporarily test from the same local network as the server.
- If you use a reverse proxy, check its logs and authentication rules.
The library is empty or incomplete
- Confirm the expected audiobook library is visible to the same server account.
- Morrow hides ebook-only libraries and ebook-only entries by design. It is an audiobook player. Books with both an ebook and audio files appear normally.
- Confirm the server has finished scanning or processing the affected books.
- Restart Morrow and try again.
The library takes a long time to load
Under about 8,000 books: the first load streams in from the server, then Morrow keeps a local snapshot so the grid appears instantly next time, refreshing in the background. If it seems permanently stale, switch servers and back, or restart the app.
Above that, Morrow loads a page at a time as you scroll instead of caching the whole library. See Does Morrow handle very large libraries? in the FAQ. If the Library tab or search feels slow there, that's more likely your server needing a moment under load than the app being stuck.
Playback does not start, or starts slowly
- Test a second audiobook to determine whether the problem is file-specific.
- Confirm the same item plays through the server's own web interface.
- Very large single-file audiobooks (one big
.m4b) take longer to start over the network. Morrow's playback cache removes this after the first listen; downloading the book removes it entirely. - Check available device storage and network connectivity.
Playback stops when the app is closed or the screen locks
Morrow plays in the background and on the lock screen. If audio stops when leaving the app, make sure you are on the latest build, then restart the device. Explicitly force-stopping the app stops playback on both platforms; normal backgrounding should not.
A book is missing from Home's Continue Listening
- Books appear after 60 seconds of playback; brief opens are ignored on purpose.
- A book you removed from the list returns once you listen to it again.
- BookOrbit has no complete "audio in progress" listing, so a book started only in the BookOrbit web player may not appear until you have played it in Morrow once.
- Continue Listening only shows books from the server currently selected on Home. Switch servers to see another server's in-progress books.
Progress is not updating
- Confirm the device has a working connection to the server.
- Allow a moment for progress to synchronize after playback stops.
- Each server you've added to Morrow is independent. Progress on one server never appears on another.
Downloads or caching won't start
- By default Morrow never downloads over cellular. Enable Download over cellular in Settings, or connect to Wi-Fi.
- The automatic playback cache skips books larger than the cache limit set in Settings.
Morrow keeps asking for my password
Some servers rotate or expire passwords. When a server rejects the saved password, Morrow offers to re-enter it. You can dismiss that prompt and it will stay quiet until the next launch.
For Audiobookshelf, the durable fix is an API key: open the server in Settings, switch Sign in with to API Key, and paste a key generated in the Audiobookshelf web UI under Settings → API Keys. API keys survive password changes.
My server is behind Cloudflare and Morrow can't reach it
Edge protection blocks requests that don't carry the right header, so the connection fails before your server ever sees it. Open the server in Settings → Advanced and add the required headers. There's a one-tap Cloudflare Access preset for the standard service-token pair.
Three things to check when it still won't connect:
Paste only the token itself. Each field takes the bare value and nothing else. Copying credentials out of the Cloudflare dashboard can pick up the header name or a label along with the value, and Morrow sends exactly what you give it, so CF-Access-Client-Secret: abc123 in the value field is rejected at the edge. Tap the eye icon on each field and confirm there is no header name, label, or stray space.
Set the SSL/TLS encryption mode to Full or Full (strict), not Flexible. On Flexible, Cloudflare contacts your server over plain HTTP, and a reverse proxy that requires HTTPS will redirect it straight back, looping until the request fails. If your server's own web interface also fails or loops in a browser at the same address, this is why, and it is a Cloudflare setting rather than anything in Morrow.
Set the Access policy action to Service Auth. Service tokens only work under that action. Cloudflare warns about this in the dashboard when the policy uses only service token selectors.
These headers work the same way for every server type Morrow supports.
Reporting a problem
Use the bug report form and include:
- Morrow version and build
- Device model
- Operating-system version (iOS, iPadOS, or Android)
- Server type and version
- Whether the problem occurs locally, remotely, or both
- Exact steps to reproduce it
- Relevant error text
Never include passwords, API keys, access tokens, private server addresses, or unredacted logs containing credentials.