diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 958f9b674..37ac57efd 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -992,7 +992,18 @@ class Message extends StatelessWidget { left: (ownMessage ? 0 : Avatar.defaultSize) + 12.0, right: ownMessage ? 0 : 12.0, ), - child: MessageReactions(event, timeline), + // #Pangea + // child: MessageReactions(event, timeline), + child: MessageReactions( + event, + timeline, + key: MatrixState.pAnyState + .layerLinkAndKey( + 'message_reactions_${event.eventId}', + ) + .key, + ), + // Pangea# ), ), if (displayReadMarker) diff --git a/lib/pangea/toolbar/widgets/message_selection_positioner.dart b/lib/pangea/toolbar/widgets/message_selection_positioner.dart index 7f9a24d4f..7c96c271e 100644 --- a/lib/pangea/toolbar/widgets/message_selection_positioner.dart +++ b/lib/pangea/toolbar/widgets/message_selection_positioner.dart @@ -151,7 +151,12 @@ class MessageSelectionPositionerState extends State return reactionsEvents.where((e) => !e.redacted).isNotEmpty; } - double get reactionsHeight => hasReactions ? 28.0 : 0.0; + double get reactionsHeight { + if (_reactionsRenderBox != null) { + return _reactionsRenderBox!.size.height + 4.0; + } + return hasReactions ? 28.0 : 0.0; + } bool get ownMessage => widget.event.senderId == widget.event.room.client.userID; @@ -202,6 +207,14 @@ class MessageSelectionPositionerState extends State null, ); + RenderBox? get _reactionsRenderBox => _runWithLogging( + () => MatrixState.pAnyState.getRenderBox( + 'message_reactions_${widget.event.eventId}', + ), + "Error getting reactions render box", + null, + ); + Size? get _overlayMessageSize => _overlayMessageRenderBox?.size; Offset? get overlayMessageOffset { diff --git a/lib/pangea/toolbar/widgets/overlay_center_content.dart b/lib/pangea/toolbar/widgets/overlay_center_content.dart index ba088c97b..e408e25ef 100644 --- a/lib/pangea/toolbar/widgets/overlay_center_content.dart +++ b/lib/pangea/toolbar/widgets/overlay_center_content.dart @@ -55,7 +55,9 @@ class OverlayCenterContent extends StatelessWidget { ignoring: !isTransitionAnimation && readingAssistanceMode != ReadingAssistanceMode.practiceMode, child: Container( - constraints: BoxConstraints(maxWidth: overlayController.maxWidth), + constraints: const BoxConstraints( + maxWidth: FluffyThemes.maxTimelineWidth, + ), child: Material( type: MaterialType.transparency, child: Column(