1.0.3
1.0.3
Bug-fix release focused on split-view translation-pane stability, writing-mode handling, and a title-bar version display fix.
Reader
-
Fixed the TTU library manager rendering as a black box with top-bar icons stacked vertically down the right edge on Japanese target. The appearance-CSS layer was injecting
writing-mode: vertical-rlinto the body while the user was on non-book pages (manager, settings) and the stylesheet persisted across TTU's SPA navigation. Appearance CSS is now stripped when no book is open. -
Fixed translation-pane scroll position not persisting across app restarts on Japanese primary. TTU caches a single shared writing-mode preference in localStorage at module init and uses it to decide which axis to save bookmarks on (scrollX for vertical, scrollY for horizontal). Both panes load from the same TTU origin, so the secondary inherited the primary's vertical flag even though its body is rendered horizontally — TTU saved
scrollX(always 0 on a horizontal body) and restored to 0 every time. A per-webviewlocalStorage.getItemhook now forces each pane's TTU to read a writing-mode matching the pane's actual rendered orientation. -
Fixed two related writing-mode defects that surfaced through the reader settings dialog: flipping the primary to horizontal produced a giant left margin on both panes and lost both scroll positions, and forcing both panes to vertical left the secondary restoring to the end of the book on reopen instead of the saved position. Same root cause as the previous bug — TTU's internal flag disagreeing with the rendered body CSS. The per-webview hook plus a widget-key-driven rebuild on writing-mode change now keep flag and CSS in sync. Side effect worth noting: changing writing mode via the reader settings dialog now causes a brief webview reinit, and the pane restores to its last saved bookmark rather than the exact pre-change scroll position.
-
Fixed font size changes made via the left-edge volume-swipe gesture leaking between the primary and translation panes across app restarts. TTU's
fontSizepreference lives in shared-origin localStorage and was never tracked per-book, so whichever pane gestured last dictated the value both panes read on the next cold start. Font size is now persisted per-book per-pane, with the gesture handler writing directly to the appropriate Hive entry on drag end.
Infrastructure
- Fixed the title bar rendering
1.0.2as"1.0.2+1000200"and1.0.2+1as"1.0.2+1000201". The app packs pubspecX.Y.Z+Ninto a strictly-monotonic Android versionCode viaX*1_000_000 + Y*10_000 + Z*100 + N(needed so Android doesn't reject a release install as a downgrade), but the home page was reading the packed value back raw and concatenating it to the version string. The title bar now decodesNout of the packed value and renders justX.Y.Z+N— or plainX.Y.Zfor release builds whereN=0.
Full changelog: 1.0.2...1.0.3