Operating System: Ubuntu 24.04 LTS
Application Version: SparkSDR v2.0.992.0
UI Framework: Avalonia v11.1.3.0
When viewing dynamic data tables (such as the WSPR or FT8 decode history), the UI container fails to maintain its "stick to top" auto-scroll state if a user scrolls down to inspect history and then manually scrolls back to the top. When the next batch of decodes arrives, the viewport dynamically jumps downward, burying the newest entries out of view.
The auto-scroll pinning mechanism only functions correctly if the viewport is forcefully anchored by clicking the scrollbar's physical "up arrow" button or by selecting a row at the absolute top of the index.
Steps to ReproduceOpen SparkSDR and monitor an active digital mode (e.g., WSPR) to accumulate data rows.
Ensure the view is at the top (most recent entries visible).
Scroll down the history list manually using the mouse scroll wheel or trackpad to review older entries.
Scroll back up to the absolute top of the list manually using the scroll wheel.
Wait for the next decode period/cycle to complete and append new entries to the table.
Because the viewport was returned to the top of the container, it should register as "pinned" or index-zero aligned, automatically shifting to show the brand-new incoming entries at the top of the screen.
Actual BehaviorThe moment the new decode batch populates, the viewport dynamically jumps down, positioning the scroll index somewhere in the middle of the dataset and hiding the most recent decodes until the user manually scrolls up again.
Workarounds IdentifiedThe auto-scroll lock is only respected if the user:
Forcefully clicks the physical "up arrow" button in the scroll bar track area after scrolling up.
Manually clicks and highlights a row at the absolute top of the current list.