automatic load of next page for paginated panels #19

Closed
opened 2026-07-31 10:43:10 +00:00 by hugo · 1 comment
Owner

when the gitea api delivers paginated results, if the user scrolls down, the user should be able to load the next page of results. this can either be done automatically when a user reaches the end of a list, with showing a "loading more" indicator while the data is loading, or maybe with a pull-up-to-load gesture (like the pull-down-to-refresh gesture at the top). I prefer the pull-up-to-load gesture and an indicator that there is more data than is shown.

when the gitea api delivers paginated results, if the user scrolls down, the user should be able to load the next page of results. this can either be done automatically when a user reaches the end of a list, with showing a "loading more" indicator while the data is loading, or maybe with a pull-up-to-load gesture (like the pull-down-to-refresh gesture at the top). I prefer the pull-up-to-load gesture and an indicator that there is more data than is shown.
hugo added this to the first feature complete release milestone 2026-07-31 10:43:10 +00:00
hugo added the enhancementcritical labels 2026-07-31 10:44:00 +00:00
Author
Owner

Implemented in 33f9eb8. Added Rust-owned page state and API paging for every paginated panel (Home activity, repositories, issues, pull requests, milestones and their contents, commit history, and pull-request files), with regenerated UniFFI records. UIKit now provides a shared native pull-up/tap footer, activity indicator, duplicate-request guard, retry behavior, accessible labels, append-in-place updates, and pagination resets on refresh/filter/branch/view changes. Correctly left non-paginated Gitea comment endpoints unpaged. Updated TESTING.md. Verified in isolation with cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace (21 tests); xcodegen plus signed arm64 iPhone 17 Pro simulator build. Simulator scenarios: loaded multiple Home activity pages with older rows appended and the continuation footer retained, checked the accessible tap path, confirmed issue details and short repository/commit lists do not show false footers, and verified navigation remained functional.

Implemented in 33f9eb8. Added Rust-owned page state and API paging for every paginated panel (Home activity, repositories, issues, pull requests, milestones and their contents, commit history, and pull-request files), with regenerated UniFFI records. UIKit now provides a shared native pull-up/tap footer, activity indicator, duplicate-request guard, retry behavior, accessible labels, append-in-place updates, and pagination resets on refresh/filter/branch/view changes. Correctly left non-paginated Gitea comment endpoints unpaged. Updated TESTING.md. Verified in isolation with cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace (21 tests); xcodegen plus signed arm64 iPhone 17 Pro simulator build. Simulator scenarios: loaded multiple Home activity pages with older rows appended and the continuation footer retained, checked the accessible tap path, confirmed issue details and short repository/commit lists do not show false footers, and verified navigation remained functional.
hugo closed this issue 2026-07-31 13:03:16 +00:00
Sign in to join this conversation.