Android app saves reading position locally but never syncs it to the server (old/slow e-reader)
Running the Storyteller Android app 2.7.3 on an e-ink reader stuck on Android 8.1. The app works well enough to read, and the position is saved locally — reopening a book returns me to the right page — but nothing ever reaches the server; there are no sync requests in logcat and no hits in my server logs, only cover fetches. The book was downloaded from the server, not manually imported.
Resolution: This is a known race condition when loading a book in the mobile app that mostly bites low-performance devices — e-readers and older Android hardware — where the sync setup loses to the book-load path and position updates are never sent. It was fixed in mobile 2.8.0; upgrading resolves it. Two things that look like causes but are not: an Uncaught TypeError: e.flatMap is not a function from readium-reflowable.js on old WebViews affects rendering paths, not sync, and a SecurityException ... android.permission.WRITE_SETTINGS in logcat is unrelated noise. Also confirm the book was downloaded from a connected server — manually imported books have no server-side counterpart and can never sync. If you need in-app logs, note they are written to app-internal storage and run-as will refuse on a release build (package not debuggable), so use logcat with debug logging enabled instead.