authorgravatar for akole779@mtroyal.caAKolenda <akole779@mtroyal.ca> 2026-09-25 18:35:33-06:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-25 17:35:33-07:00
log595a1e1f537f403eba408817c2aba35e61c2ac29
tree8f070f15d6540909968c8e6f46c6bd647431c8a9
parentaade3a69a8536be98d2fe9b0fb9193289b70e90b
signature Signed by PGP key B5690EEEBB952194

perf(mobile): render Home rows further ahead while scrolling (#13705)

Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

1 files changed, 5 insertions(+), 1 deletions(-)

apps/mobile/src/features/home/HomeScreen.tsx+5-1
......@@ -138,6 +138,10 @@ interface HomeScreenProps {
138138// measured-height pool expansion. The old tallest-card estimate (~92) fired
139139// that warning on every ordinary shelf expand, so the average wins.
140140const ESTIMATED_THREAD_LIST_V2_ROW_HEIGHT = 72;
141// Rows away from the viewport are cheap dormant frames (see
142// swipe-row-activation), so render further ahead: a fast fling then reaches
143// rows that are already built instead of rows still being rebuilt.
144const THREAD_LIST_V2_DRAW_DISTANCE = 1_000;
141145const PRE_LIQUID_GLASS_BOTTOM_TOOLBAR_HEIGHT = 44;
142146/**
143147 * Top spacing between the list and the Android custom header. The Android
......@@ -1014,7 +1018,7 @@ export function HomeScreen(props: HomeScreenProps) {
10141018 getItemType={(item) => item.type}
10151019 itemsAreEqual={threadListV2ListItemsAreEqual}
10161020 estimatedItemSize={ESTIMATED_THREAD_LIST_V2_ROW_HEIGHT}
1017 drawDistance={500}
1021 drawDistance={THREAD_LIST_V2_DRAW_DISTANCE}
10181022 recycleItems
10191023 extraData={v2ExtraData}
10201024 ListHeaderComponent={v2ListHeader}