fix(home): activity table stays scrolled to bottom after async reload, hiding new entries #372

Closed
opened 2026-07-08 11:50:40 +00:00 by fuzzy · 0 comments
Owner

Problem

After PR #365 made home view activity loading async, the activity feed table stays scrolled to the last position after a refresh. If the user happened to scroll down, the next auto-refresh or manual Ctrl+R keeps the scroll position — new entries at the top remain hidden.

Steps to Reproduce

  1. Open the home tab
  2. Scroll down the activity feed table
  3. Wait for auto-refresh (or press Ctrl+R)
  4. Table stays scrolled down — the newest entries at the top are invisible

Expected Behavior

After rendering the activity entries, the table should scroll back to the top and select the first row, ensuring the most recent activity is always visible after a refresh.

Proposed Fix

In internal/tui/homeview.go, after v.renderActivities() completes (in the QueueUpdateDraw callback in loadAsync), add:

v.activityList.ScrollToBeginning()
v.activityList.Select(1, 0)

This would be placed after v.renderActivities() in the QueueUpdateDraw closure at homeview.go:~90.

Labels

Already set: Kind/Bug, Priority/High

## Problem After PR #365 made home view activity loading async, the activity feed table stays scrolled to the last position after a refresh. If the user happened to scroll down, the next auto-refresh or manual `Ctrl+R` keeps the scroll position — new entries at the top remain hidden. ## Steps to Reproduce 1. Open the home tab 2. Scroll down the activity feed table 3. Wait for auto-refresh (or press Ctrl+R) 4. Table stays scrolled down — the newest entries at the top are invisible ## Expected Behavior After rendering the activity entries, the table should scroll back to the top and select the first row, ensuring the most recent activity is always visible after a refresh. ## Proposed Fix In `internal/tui/homeview.go`, after `v.renderActivities()` completes (in the `QueueUpdateDraw` callback in `loadAsync`), add: ```go v.activityList.ScrollToBeginning() v.activityList.Select(1, 0) ``` This would be placed after `v.renderActivities()` in the `QueueUpdateDraw` closure at `homeview.go:~90`. ## Labels Already set: Kind/Bug, Priority/High
fuzzy self-assigned this 2026-07-08 11:50:50 +00:00
the.auditor changed title from main home view follows table data to bottom to fix(home): activity table stays scrolled to bottom after async reload, hiding new entries 2026-07-08 11:51:47 +00:00
fuzzy closed this issue 2026-07-08 11:58:00 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thwap/steeper#372
No description provided.