Astra Shell DocumentationDownload for macOS
Documentation Current: History and scrolling

Documentation / Core concepts / History and scrolling

CORE · HISTORY

History and the current screen share one model.

History is not a separate text log. It retains complete cell semantics and is fetched in pages using stable anchors.

Unified cell model

The primary viewport and history share cells, styles, widths, wrapping, and logical-line identity. Resize and reflow do not require reconstructing content from ANSI byte offsets.

Anchors and paging

The client requests older pages with a (logical_line_id, cell_offset) Anchor. Logical-line IDs are not reused inside a Terminal, so scroll position stays stable across reflow.

Retention limits

Default row limit10,000 rows
The first limit reached triggers trimming
Default byte limit8 MiB

The server trims only the oldest history prefix and returns an explicit boundary when an Anchor has already been trimmed.

Alternate screen

Full-screen terminal applications use the alternate screen, which has no history paging. Leaving it returns the client to the primary screen and its history timeline.