Paginate TUI transcript history (#36950)

## What changed

- Load older transcript items in bounded pages as users scroll upward, and let `Home` continue fetching until the start of the thread.
- Show loading, partial-history, retry, and complete states in the transcript overlay while preserving the visible scroll position as pages are prepended.
- Use paginated history for resume, fork, retry, and prompt-edit flows, while falling back to legacy history requests when the app server does not support pagination.

## Testing

- Cover multi-page transcript loading, page-boundary prompt reconciliation, legacy-server fallback, bounded retry history, and transcript history-state rendering.

GitOrigin-RevId: cc6b764bc4185d079b2f68bedf235c1d08278dfb
This commit is contained in:
Felipe Coury
2026-08-04 19:12:46 +00:00
committed by copyberry
parent 3b8d22ec2c
commit dbcd837c20
16 changed files with 1019 additions and 169 deletions
@@ -130,7 +130,7 @@ impl AppServerSession {
.wrap_err("failed to load a bounded thread item page")
}
async fn thread_turns_page(
pub(crate) async fn thread_turns_page(
&mut self,
thread_id: ThreadId,
cursor: Option<String>,