From 3f1038292997e6e4f4df78d441ad13f136641905 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 16 Feb 2021 12:43:26 +0100 Subject: [PATCH 1/2] fixes #265: StreamChannel can not handle initialMessageId parameter changes --- .../lib/src/stream_channel.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/stream_chat_flutter_core/lib/src/stream_channel.dart b/packages/stream_chat_flutter_core/lib/src/stream_channel.dart index af5502ae..ff1b8232 100644 --- a/packages/stream_chat_flutter_core/lib/src/stream_channel.dart +++ b/packages/stream_chat_flutter_core/lib/src/stream_channel.dart @@ -314,12 +314,22 @@ class StreamChannelState extends State { @override void initState() { super.initState(); + _populateFutures(); + } + + void _populateFutures() { _futures = [widget.channel.initialized]; if (initialMessageId != null) { _futures.add(_loadChannelAtMessage); } } + @override + void didUpdateWidget(covariant StreamChannel oldWidget) { + _populateFutures(); + super.didUpdateWidget(oldWidget); + } + @override void dispose() { _queryTopMessagesController.close(); From da7e0242761226f02aa9f99e9bc72ccd6d54a2f3 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 16 Feb 2021 13:19:13 +0100 Subject: [PATCH 2/2] add if condition --- packages/stream_chat_flutter_core/lib/src/stream_channel.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter_core/lib/src/stream_channel.dart b/packages/stream_chat_flutter_core/lib/src/stream_channel.dart index ff1b8232..c2333b05 100644 --- a/packages/stream_chat_flutter_core/lib/src/stream_channel.dart +++ b/packages/stream_chat_flutter_core/lib/src/stream_channel.dart @@ -326,7 +326,9 @@ class StreamChannelState extends State { @override void didUpdateWidget(covariant StreamChannel oldWidget) { - _populateFutures(); + if (oldWidget.initialMessageId != initialMessageId) { + _populateFutures(); + } super.didUpdateWidget(oldWidget); }