diff --git a/example/pubspec.lock b/example/pubspec.lock
index bddb834..ab12488 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -1251,7 +1251,7 @@ packages:
path: ".."
relative: true
source: path
- version: "2.5.1+5"
+ version: "2.6.0+1"
tencent_cloud_uikit_core:
dependency: transitive
description:
diff --git a/images/svg/send_file.svg b/images/svg/send_file.svg
index 3df3b42..1fd6a48 100644
--- a/images/svg/send_file.svg
+++ b/images/svg/send_file.svg
@@ -1,6 +1,6 @@
diff --git a/lib/business_logic/separate_models/tui_chat_separate_view_model.dart b/lib/business_logic/separate_models/tui_chat_separate_view_model.dart
index 83f82f9..5df4e65 100644
--- a/lib/business_logic/separate_models/tui_chat_separate_view_model.dart
+++ b/lib/business_logic/separate_models/tui_chat_separate_view_model.dart
@@ -1188,10 +1188,11 @@ class TUIChatSeparateViewModel extends ChangeNotifier {
sendForwardMessage({
required List conversationList,
}) async {
+ final selectedMessages = List.from(_multiSelectedMessageList);
for (var conversation in conversationList) {
final convID = conversation.groupID ?? conversation.userID ?? "";
final convType = conversation.type;
- for (var message in _multiSelectedMessageList) {
+ for (var message in selectedMessages) {
final forwardMessageInfo =
await _messageService.createForwardMessage(msgID: message.msgID!);
final messageInfo = forwardMessageInfo!.messageInfo;
@@ -1227,13 +1228,13 @@ class TUIChatSeparateViewModel extends ChangeNotifier {
required List abstractList,
required BuildContext context,
}) async {
+ final List msgIDList = _multiSelectedMessageList
+ .map((e) => e.msgID ?? "")
+ .where((element) => element != "")
+ .toList();
for (var conversation in conversationList) {
final convID = conversation.groupID ?? conversation.userID ?? "";
final convType = conversation.type;
- final List msgIDList = _multiSelectedMessageList
- .map((e) => e.msgID ?? "")
- .where((element) => element != "")
- .toList();
final mergerMessageInfo = await _messageService.createMergerMessage(
msgIDList: msgIDList,
title: title,
diff --git a/lib/business_logic/view_models/tui_chat_global_model.dart b/lib/business_logic/view_models/tui_chat_global_model.dart
index 9518ebd..09971ff 100644
--- a/lib/business_logic/view_models/tui_chat_global_model.dart
+++ b/lib/business_logic/view_models/tui_chat_global_model.dart
@@ -197,7 +197,7 @@ class TUIChatGlobalModel extends ChangeNotifier implements TIMUIKitClass {
clearCurrentConversation() {
// Only keep the last 20 messages when existing a chat.
- _messageListMap[currentSelectedConv] = (_messageListMap[currentSelectedConv] ?? []).sublist(0, min(10, ((_messageListMap[currentSelectedConv] ?? []).length - 1)));
+ _messageListMap[currentSelectedConv] = (_messageListMap[currentSelectedConv] ?? []).sublist(0, max(0, min(10, ((_messageListMap[currentSelectedConv] ?? []).length - 1))));
if (_currentConversationList.isNotEmpty) {
_currentConversationList.removeLast();
}
diff --git a/lib/ui/widgets/az_list_view.dart b/lib/ui/widgets/az_list_view.dart
index 868a45a..47e0144 100644
--- a/lib/ui/widgets/az_list_view.dart
+++ b/lib/ui/widgets/az_list_view.dart
@@ -80,28 +80,27 @@ class _AZListViewContainerState extends TIMUIKitState {
return ChangeNotifierProvider.value(
value: serviceLocator(),
child: Consumer(
- builder: (context, tuiTheme, child) => Scrollbar(
- child: AzListView(
- physics: const BouncingScrollPhysics(
- parent: AlwaysScrollableScrollPhysics()),
- data: _list!,
- itemCount: _list!.length,
- itemBuilder: widget.itemBuilder,
- indexBarData: (!isDesktopScreen && widget.isShowIndexBar)
- ? SuspensionUtil.getTagIndexList(_list!)
- .where((element) => element != "@")
- .toList()
- : [],
- susItemBuilder: (BuildContext context, int index) {
- if (widget.susItemBuilder != null) {
- return widget.susItemBuilder!(context, index);
- }
- ISuspensionBeanImpl model = _list![index];
- if (model.getSuspensionTag() == "@") {
- return Container();
- }
- return getSusItem(context, model.getSuspensionTag());
- }))));
+ builder: (context, tuiTheme, child) => AzListView(
+ physics: const BouncingScrollPhysics(
+ parent: AlwaysScrollableScrollPhysics()),
+ data: _list!,
+ itemCount: _list!.length,
+ itemBuilder: widget.itemBuilder,
+ indexBarData: (!isDesktopScreen && widget.isShowIndexBar)
+ ? SuspensionUtil.getTagIndexList(_list!)
+ .where((element) => element != "@")
+ .toList()
+ : [],
+ susItemBuilder: (BuildContext context, int index) {
+ if (widget.susItemBuilder != null) {
+ return widget.susItemBuilder!(context, index);
+ }
+ ISuspensionBeanImpl model = _list![index];
+ if (model.getSuspensionTag() == "@") {
+ return Container();
+ }
+ return getSusItem(context, model.getSuspensionTag());
+ })));
}
}
diff --git a/pubspec.yaml b/pubspec.yaml
index be2f0c6..74012b1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: tencent_cloud_chat_uikit
description: A powerful chat UI component library and business logic for Tencent Cloud Chat, creating seamless in-app chat modules for delightful user experiences.
-version: 2.6.0+1
+version: 2.6.0+2
homepage: https://trtc.io/products/chat?utm_source=gfs&utm_medium=link&utm_campaign=%E6%B8%A0%E9%81%93&_channel_track_key=k6WgfCKn
repository: https://github.com/TencentCloud/chat-uikit-flutter
documentation: https://comm.qq.com/im/doc/flutter/en/TUIKit/readme.html