mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-06-27 20:57:31 +10:00
Added value to Message fourByteRoomContactKey which holds the first 4 bytes of the contacts pub key that posted the message to the room.
This commit is contained in:
@@ -209,13 +209,13 @@ class _RoomChatScreenState extends State<RoomChatScreen> {
|
||||
final message = messages[index];
|
||||
final contact = _resolveContactFrom4Bytes(
|
||||
connector,
|
||||
Uint8List.fromList(message.text.substring(0, 4.clamp(0, message.text.length)).codeUnits),
|
||||
message.fourByteRoomContactKey.isEmpty ? Uint8List.fromList([0, 0, 0, 0]) : message.fourByteRoomContactKey,
|
||||
);
|
||||
|
||||
final fourByteHex = message.fourByteRoomContactKey.map((b) => b.toRadixString(16).padLeft(2, '0')).join().toUpperCase();
|
||||
return _MessageBubble(
|
||||
message: message,
|
||||
senderName: contact.name,
|
||||
onTap: () => _openMessagePath(message),
|
||||
senderName: "${contact.name} [$fourByteHex]",
|
||||
onTap: () => _openMessagePath(message, contact),
|
||||
onLongPress: () => _showMessageActions(message),
|
||||
);
|
||||
},
|
||||
@@ -747,10 +747,11 @@ class _RoomChatScreenState extends State<RoomChatScreen> {
|
||||
}
|
||||
|
||||
|
||||
void _openMessagePath(Message message) {
|
||||
void _openMessagePath(Message message, Contact contact) {
|
||||
final connector = context.read<MeshCoreConnector>();
|
||||
final fourByteHex = message.fourByteRoomContactKey.map((b) => b.toRadixString(16).padLeft(2, '0')).join().toUpperCase();
|
||||
final senderName =
|
||||
message.isOutgoing ? (connector.selfName ?? 'Me') : widget.contact.name;
|
||||
message.isOutgoing ? (connector.selfName ?? 'Me') : "${contact.name} [$fourByteHex]";
|
||||
final pathMessage = ChannelMessage(
|
||||
senderKey: null,
|
||||
senderName: senderName,
|
||||
@@ -899,8 +900,6 @@ class _MessageBubble extends StatelessWidget {
|
||||
? colorScheme.onErrorContainer
|
||||
: (isOutgoing ? colorScheme.onPrimary : colorScheme.onSurface);
|
||||
final metaColor = textColor.withValues(alpha: 0.7);
|
||||
final bytes4 = Uint8List.fromList(message.text.substring(0, 4.clamp(0, message.text.length)).codeUnits);
|
||||
final hexString = bytes4.map((b) => b.toRadixString(16).padLeft(2, '0')).join().toUpperCase();
|
||||
final messageText = message.text.substring(4.clamp(0, message.text.length));
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||
@@ -954,7 +953,7 @@ class _MessageBubble extends StatelessWidget {
|
||||
if(!isOutgoing)
|
||||
|
||||
Text(
|
||||
"[$hexString] $messageText",
|
||||
messageText,
|
||||
style: TextStyle(
|
||||
color: textColor,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user