Problem
The timeline already has historyHasMore / historyCursor / historyLoading and sessionManager.loadEarlierHistory(), but the UI exposes no way to trigger it — there's no pull-to-refresh or "Load earlier" control at the top of the thread.
Suggested fix
Wire a pull-to-refresh (or a "Load earlier" button) at the top of the thread to loadEarlierHistory().
Where
mobile/src/lib/timeline.ts (history fields), sessionManager.loadEarlierHistory (~385–398).
Filed from a UI research sweep of the Helm mobile app (landing + live demo session) using Playwright + full source review, cross-referenced against Claude, ChatGPT, GitHub Copilot Chat, and Codex/Claude Code UIs.
Problem
The timeline already has
historyHasMore/historyCursor/historyLoadingandsessionManager.loadEarlierHistory(), but the UI exposes no way to trigger it — there's no pull-to-refresh or "Load earlier" control at the top of the thread.Suggested fix
Wire a pull-to-refresh (or a "Load earlier" button) at the top of the thread to
loadEarlierHistory().Where
mobile/src/lib/timeline.ts(history fields),sessionManager.loadEarlierHistory(~385–398).Filed from a UI research sweep of the Helm mobile app (landing + live demo session) using Playwright + full source review, cross-referenced against Claude, ChatGPT, GitHub Copilot Chat, and Codex/Claude Code UIs.