Activity

Show safe user-facing progress for agent work, jobs, and background tasks.

Keep activity rows in your LiveView assigns or streams, then render the visible rows. The component owns the progress chrome; your app owns the agent, job, or workflow events.

Agent Activity
  1. Read request now

    Reading the request.

Customization

Use the :item slot for most rows. Add a root :marker slot when every streamed row should use custom marker chrome.

Custom Markers
  1. Search docs now

    Finding the right examples.

Compact

Set compact for side panels, popovers, and dense job surfaces where the same status list needs less vertical space.

Compact
  1. Queued export now

Notes

  • Activity is a status list, not a transcript. Keep private reasoning out of the rows and show safe progress such as searches, jobs, and verification steps.
  • Keep the visible rows in assigns or LiveView streams. Inserted rows fade in with CSS, and the animation is disabled when reduced motion is requested.
  • The root list gets a default aria-label="Activity" . Pass your own label only when the surrounding page needs a more specific name.
  • Reach for activity_item/1 only when one row needs markup that cannot fit the shared :item and :marker slots.