From b0c06930fbd10e46c7bac41d6bb878c8f38e5f2e Mon Sep 17 00:00:00 2001 From: SL Date: Wed, 19 Jun 2024 14:39:46 +0800 Subject: [PATCH] fix: Update send & recv message No fromChannel information added --- CHANGELOG.md | 4 +++- lib/manager/connect_manager.dart | 14 ++++++++++++++ lib/manager/message_manager.dart | 7 ++++++- pubspec.yaml | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c582ca..370c805 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,4 +87,6 @@ ### 1.4.3 * fix: Modifying messages sent by oneself will increase the issue of unread quantity ### 1.4.4 - * fix: Update parsing channel member extension data \ No newline at end of file + * fix: Update parsing channel member extension data + ### 1.4.5 + * fix: Update send & recv message No fromChannel information added \ No newline at end of file diff --git a/lib/manager/connect_manager.dart b/lib/manager/connect_manager.dart index d2b2a6d..0d2e56c 100644 --- a/lib/manager/connect_manager.dart +++ b/lib/manager/connect_manager.dart @@ -9,6 +9,8 @@ import 'package:uuid/uuid.dart'; import 'package:wukongimfluttersdk/db/const.dart'; import 'package:wukongimfluttersdk/db/wk_db_helper.dart'; +import 'package:wukongimfluttersdk/entity/channel.dart'; +import 'package:wukongimfluttersdk/entity/channel_member.dart'; import 'package:wukongimfluttersdk/entity/msg.dart'; import 'package:wukongimfluttersdk/proto/write_read.dart'; import 'package:wukongimfluttersdk/wkim.dart'; @@ -454,6 +456,18 @@ class WKConnectionManager { msg.isDeleted = _isDeletedMsg(contentJson); msg.messageContent = WKIM.shared.messageManager .getMessageModel(msg.contentType, contentJson); + WKChannel? fromChannel = await WKIM.shared.channelManager + .getChannel(msg.fromUID, WKChannelType.personal); + if (fromChannel != null) { + msg.setFrom(fromChannel); + } + if (msg.channelType == WKChannelType.group) { + WKChannelMember? memberChannel = await WKIM.shared.channelMemberManager + .getMember(msg.channelID, WKChannelType.group, msg.fromUID); + if (memberChannel != null) { + msg.setMemberOfFrom(memberChannel); + } + } WKIM.shared.messageManager.parsingMsg(msg); if (msg.isDeleted == 0 && !msg.header.noPersist && diff --git a/lib/manager/message_manager.dart b/lib/manager/message_manager.dart index 2562836..928d75a 100644 --- a/lib/manager/message_manager.dart +++ b/lib/manager/message_manager.dart @@ -580,8 +580,13 @@ class WKMessageManager { int tempOrderSeq = await MessageDB.shared .queryMaxOrderSeq(wkMsg.channelID, wkMsg.channelType); wkMsg.orderSeq = tempOrderSeq + 1; - wkMsg.content = _getSendPayload(wkMsg); + wkMsg.setChannelInfo(channel); + WKChannel? from = await WKIM.shared.channelManager + .getChannel(wkMsg.fromUID, WKChannelType.personal); + if (from == null) { + wkMsg.setFrom(from!); + } int row = await saveMsg(wkMsg); wkMsg.clientSeq = row; WKIM.shared.messageManager.setOnMsgInserted(wkMsg); diff --git a/pubspec.yaml b/pubspec.yaml index 593d32c..91ffd66 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ description: wukong IM flutter sdk # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.4.4 +version: 1.4.5 homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK environment: