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 {...@@ -138,6 +138,10 @@ interface HomeScreenProps {
138// measured-height pool expansion. The old tallest-card estimate (~92) fired138// measured-height pool expansion. The old tallest-card estimate (~92) fired
139// that warning on every ordinary shelf expand, so the average wins.139// that warning on every ordinary shelf expand, so the average wins.
140const ESTIMATED_THREAD_LIST_V2_ROW_HEIGHT = 72;140const 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;
141const PRE_LIQUID_GLASS_BOTTOM_TOOLBAR_HEIGHT = 44;145const PRE_LIQUID_GLASS_BOTTOM_TOOLBAR_HEIGHT = 44;
142/**146/**
143 * Top spacing between the list and the Android custom header. The Android147 * Top spacing between the list and the Android custom header. The Android
...@@ -1014,7 +1018,7 @@ export function HomeScreen(props: HomeScreenProps) {...@@ -1014,7 +1018,7 @@ export function HomeScreen(props: HomeScreenProps) {
1014 getItemType={(item) => item.type}1018 getItemType={(item) => item.type}
1015 itemsAreEqual={threadListV2ListItemsAreEqual}1019 itemsAreEqual={threadListV2ListItemsAreEqual}
1016 estimatedItemSize={ESTIMATED_THREAD_LIST_V2_ROW_HEIGHT}1020 estimatedItemSize={ESTIMATED_THREAD_LIST_V2_ROW_HEIGHT}
1017 drawDistance={500}1021 drawDistance={THREAD_LIST_V2_DRAW_DISTANCE}
1018 recycleItems1022 recycleItems
1019 extraData={v2ExtraData}1023 extraData={v2ExtraData}
1020 ListHeaderComponent={v2ListHeader}1024 ListHeaderComponent={v2ListHeader}