MessageTimeline
A concrete page API for Kotlin and Swift. All pages belong to this generation. Observe invalidated, discard its pages when true, and open another timeline around the visible item's ID and cursor. Close this session when leaving the conversation.