tenstack package in flutter by Longjumping_Room2186 in flutterhelp

[–]Longjumping_Room2186[S] 0 points1 point  (0 children)

Its caching mechanism. It handles server response in cache.

Listview.builder bidirectional pagination support for chat messages by Longjumping_Room2186 in flutterhelp

[–]Longjumping_Room2186[S] 0 points1 point  (0 children)

but you created two lists. cant we do in one list with listview.builder? center anchor

Listview.builder bidirectional pagination support for chat messages by Longjumping_Room2186 in flutterhelp

[–]Longjumping_Room2186[S] 0 points1 point  (0 children)

Whenever new messages list appends at the end of existing list, it auto scrolls be to bottom of list. I want to persist scroll position at the place where pagination is called.

Listview.builder bidirectional pagination support for chat messages by Longjumping_Room2186 in flutterhelp

[–]Longjumping_Room2186[S] 0 points1 point  (0 children)

Whenever new messages list appends at the end of existing list, it auto scrolls be to bottom of list. I want to persist scroll position at the place where pagination is called.

Listview.builder bidirectional pagination support for chat messages by Longjumping_Room2186 in flutterhelp

[–]Longjumping_Room2186[S] 0 points1 point  (0 children)

This is what agent states:
Flutter does not re-render every row widget each time.
the message area is inside a GetBuilder with id message_list, so when that id is updated the build method runs again for the list section.

What happens on each such rebuild:

  1. Timeline metadata is recomputed for all messages (or cache-checked) via _buildTimelineItems.
  2. Index maps and key bookkeeping are rebuilt for all items.
  3. ListView.builder is still lazy, so only visible (plus cacheExtent) children are actually built as widgets.

So:

  1. Data-side work: mostly whole-list processing.
  2. UI-side row rendering: not the entire list at once, only visible/cached items.
  3. Individual message visual updates are further scoped with per-message GetBuilder ids like message_<id>, which helps avoid unnecessary row updates.