Agenda: scrolling to the bottom jumps up by about a month #1088

Open
opened 2026-10-05 03:23:58 +00:00 by kayg · 3 comments
Owner

Owner report (2026-10-05 08:44–08:49 IST, iPhone, production 269b1b51b, dark theme). Screenshots: owner's four phone captures (Day view during horizontal swipe, Day view at rest, Settings → Account sheet, Agenda).

"Every time I try to reach the end of the vertical scroll, I'm thrown up by a month (it scrolls up randomly as I try to reach the bottom)."

In Agenda on iPhone, scrolling toward the bottom jumps the scroll position up by roughly a month. Likely an infinite-list prepend/append that does not preserve the scroll anchor, or a loader that inserts content above the viewport. Expected: scrolling is stable; loading more days never moves what the User is looking at.

## Owner report (2026-10-05 08:44–08:49 IST, iPhone, production 269b1b51b, dark theme). Screenshots: owner's four phone captures (Day view during horizontal swipe, Day view at rest, Settings → Account sheet, Agenda). "Every time I try to reach the end of the vertical scroll, I'm thrown up by a month (it scrolls up randomly as I try to reach the bottom)." In Agenda on iPhone, scrolling toward the bottom jumps the scroll position up by roughly a month. Likely an infinite-list prepend/append that does not preserve the scroll anchor, or a loader that inserts content above the viewport. Expected: scrolling is stable; loading more days never moves what the User is looking at.
Author
Owner

Starting work on branch job/agenda-1086, based at 269b1b51b5 (production/dev starting point). I will reproduce repeated bottom scrolling in WebKit and inspect the Agenda's incremental loading and anchor behavior.

Starting work on branch job/agenda-1086, based at 269b1b51b5774d79de08bfb31d058b3d248a7e7b (production/dev starting point). I will reproduce repeated bottom scrolling in WebKit and inspect the Agenda's incremental loading and anchor behavior.
Author
Owner

Finding: loadAgenda() fetches older days and prepends them to the backing array. AgendaList was sorting those dates oldest-first, so each page expanded above the current range. That changes document geometry before the viewport and matches the reported WebKit jump. I am keeping the user's current range first and placing the earlier-days control before historical pages; I will reproduce repeated end scrolling in WebKit against the production build.

Finding: `loadAgenda()` fetches older days and prepends them to the backing array. `AgendaList` was sorting those dates oldest-first, so each page expanded above the current range. That changes document geometry before the viewport and matches the reported WebKit jump. I am keeping the user's current range first and placing the earlier-days control before historical pages; I will reproduce repeated end scrolling in WebKit against the production build.
Author
Owner

Deployed to production 2026-10-05 09:42 CEST in fix batch 1 (d1b8371f5).

Deployed to production 2026-10-05 09:42 CEST in fix batch 1 (d1b8371f5).
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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
kayg/calternal-v0#1088
No description provided.