Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions flutter_readium/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### Fixed

- **iOS reader views mounted after `audioEnable` never applied the media-overlay
column-break CSS.** The MO-active flag lives on the reader view, so a view created
after audio was enabled started with it off and word highlighting could be split
across CSS columns for the rest of the session. The flag is now seeded from the live
navigator when a reader view registers, matching Android, where it lives on the
shared reader.
- **Guided-navigation playback reported later reading-order positions on iOS and web.** Those
platforms converted the matched reading-order index twice, so the second item was emitted as
position 3. Locators now apply Readium's 1-based position convention exactly once.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ public class FlutterReadiumPlugin: NSObject, FlutterPlugin, ReadiumShared.Warnin
internal func registerAsCurrentReaderView(_ readerView: any ReadiumReaderView) {
let old = currentReaderView
currentReaderView = readerView
// `audioEnable` sets MO-active through an optional-chained `currentReaderView?`,
// so a view registering later must pick the flag up from the navigator itself.
readerView.setMOActive(timebasedNavigator is FlutterMediaOverlayNavigator)
_ = old // released here, safely outside the write
}

Expand Down