Skip to content

feat(ui): add scroll-to-top button in session view #1482

Description

@quay-devel

Problem

When a session conversation grows long, users have no quick way to jump back to the top of the page. The only option is to manually scroll — which becomes increasingly tedious as sessions accumulate many messages. This is especially disruptive mid-session when a user needs to re-read context from the beginning.

Proposed Solution

Add a scroll-to-top button that appears once the user scrolls past a threshold (e.g., 300px from the top) in the session view. Clicking it smoothly scrolls the conversation pane back to the top.

Suggested implementation details:

  • Button appears in the lower-right corner of the session message pane (above any compose / input area)
  • Uses a standard up-chevron or arrow-up icon (consistent with existing PatternFly / design system conventions)
  • Fades in/out with a CSS transition when crossing the scroll threshold
  • Smooth scroll behavior via element.scrollTo({ top: 0, behavior: 'smooth' })
  • Keyboard-accessible (focusable, activated with Enter/Space)
  • Button is hidden (not just invisible) when at the top to avoid interfering with tab order

Affected Components

  • Session message list / conversation scroll container (frontend UI)
  • Relevant CSS for the floating button overlay

Use Case

A developer running a long /poll loop or multi-step implementation session scrolls through dozens of messages looking for a reference from earlier in the conversation. After finding it, they want to resume reading from the top without manual scrolling effort.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ambient-code:auto-fixAmber agent: automated low-risk fixes (formatting, linting)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions