# Manual reading via View

Hold B opens Settings. Its root entries are View, Agent / Session, Device / Display, Back.
View contains Read Current Reply, History (when supported), Back. Agent / Session retains
session, model, effort, permissions, voice-send and frozen speech entries. Device / Display
contains Device, Display and System; Hold A or Back returns to the enclosing group.

Both readers use A previous screen, B next screen, Hold B exit. Hold A returns to View.
Tap right maps to A; tap left maps to B. Swipe up/right goes previous, down/left goes next.
History traverses a message's screens before crossing into the adjacent message; boundaries
stay in the reader. MSG is position within the loaded history page, not the entire conversation.
SCREEN is position within the current message. No total conversation count is claimed.

Read Current Reply copies the cached final assistant reply on entry and starts at screen 1.
It is usable offline. A missing reply displays No reply cached; tool output is not substituted.
Time, repeated snapshots and incoming text never reload its body or move the page. Changed
reply text or assistant text events set a sticky Updates available badge. Exit and reopen to
load the new reply. Target/session changes clear the old reading state and close the reader.

This firmware change retains existing transport bounds: cached final reply 2048 bytes,
History message 1200 bytes, History frame 4096 bytes. Reader wrapping uses the full retained
body, including the beginning, without the live Agent view's 1400-byte tail window. Reading
a longer complete message still requires separate server/body retrieval work.

Regression coverage exercises production entry, button and touch reducers, snapshot-observation
helper, fixed body/page on new content, target invalidation, offline reading, explicit re-entry,
menu nesting, and reader/menu round-display bounds at all text sizes and themes.
