fix scrollview not sticking to bottom if composer sends multiline messages

This commit is contained in:
Henry Hiles 2026-10-04 17:15:23 -04:00
commit f931615890
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -106,11 +106,16 @@ final class const RoomChat({
lastComposerHeight.value = composerSize.value;
if (delta != 0) {
final wasAtBottom = scroll.atBottom;
WidgetsBinding.instance.addPostFrameCallback((_) {
final controller = scroll.scrollController;
if (!controller.hasClients) return;
controller.jumpTo(controller.position.pixels - delta);
final position = controller.position;
controller.jumpTo(
wasAtBottom ? position.minScrollExtent : position.pixels - delta,
);
});
}