Il WebView di Sailfish non supporta lo scroll programmatico affidabile
(window.scrollY stale, contentHeight/scrollPosition non scrivibili): 0.3.x
non ha mai cambiato capitolo in modo affidabile. Ora i capitoli sono rich
text Qt in un Text QML dentro un SilicaFlickable: contentY/contentHeight
nativi, paginazione a tap deterministico, fine capitolo esatta. HTML->rich
text in C++ (tag base, entità, fallback). Bookmark v2 invariato (offset
caratteri stimato da frazione). Niente immagini inline (limite rich text).
- Bookmark cw:v2:<offset assoluto caratteri> invece di capitolo+frazione;
migrazione automatica delle chiavi v1 (parseBookmarkKey)
- Lunghezze testo per capitolo in C++ (text node del DOM, entità decodificate,
body-only) per mappare offset assoluto -> capitolo
- Paginazione: stile iniettato height:auto/overflow:visible + unlock JS dei
contenitori hidden — il CSS di molti EPUB bloccava lo scroll e ogni tap
saltava al capitolo successivo
- prevPage dall'inizio capitolo -> ultima pagina del capitolo precedente
- Cambio font mantiene la posizione (restore per carattere)
- Label menu: pagina corrente/totale del capitolo; max su documentElement+body
- Test: harness C++ (Qt) e test JS con DOM mock