From 566c2d583830478ed30cb6bbbc599ceb34e9ba87 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 4 Jun 2026 14:48:33 -0400 Subject: [PATCH] Always scroll to the top of the conversation header when in message request state. --- .../securesms/conversation/v2/ConversationFragment.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index 68e3ec65fd..6d3c882540 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -3241,7 +3241,13 @@ class ConversationFragment : val startPosition = meta.getStartPosition() Log.d(TAG, "Scrolling to start position $startPosition") - if (meta.shouldScrollToFirstUnread()) { + if (!meta.messageRequestData.isMessageRequestAccepted) { + // Always scroll to the top to show header in MR state + layoutManager.scrollToPositionTopAligned(meta.threadSize, toolbarOffset) { + animationsAllowed = true + markReadHelper.stopIgnoringViewReveals(MarkReadHelper.getLatestTimestamp(adapter, layoutManager).orNull()) + } + } else if (meta.shouldScrollToFirstUnread()) { // Land the divider just below the toolbar. layoutManager.scrollToPositionTopAligned(startPosition, toolbarOffset) { animationsAllowed = true