New headphones app icon set, hardened streaming and playback, download removal controls
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5f88ab891b
commit
429a72f2c3
13 files changed
+375
-46
No files matched your search
@@ -44,3 +44,23 @@ Tap the ↓ on a book (or "Download" in the player) to save it on the device. Do
|
||||
- **To open the app itself offline, serve it over HTTPS.** Browsers only allow the service worker (`sw.js`) on secure
|
||||
origins. Put a reverse proxy with a certificate in front of port 8080 (and a domain name). Over plain HTTP, downloads
|
||||
still play but the page can't load without a connection.
|
||||
|
||||
## Troubleshooting playback
|
||||
|
||||
Run this on the player server (or `docker exec -it audiobook-player python server.py check`):
|
||||
|
||||
```bash
|
||||
python3 server.py check
|
||||
```
|
||||
|
||||
It logs in to OpenAudible, lists a few books' files, and tests whether each file can stream to a phone. iPhones will
|
||||
only play audio from a server that answers byte-range requests; if OpenAudible doesn't, the player server emulates
|
||||
them (seeking in very large books is slower). The container's log (`docker logs audiobook-player`) notes when that happens
|
||||
and records any upstream errors.
|
||||
|
||||
The player also recovers by itself from dropped connections and stalls (it reloads from the same spot, up to four times),
|
||||
and your position is saved every few seconds, on pause, and when the page is closed or backgrounded.
|
||||
|
||||
## Icons
|
||||
|
||||
`python3 tools/make_icons.py` regenerates the app icons (needs Pillow).
|
||||
Reference in new issue
Block a user