Skip to content

feat: Jump to Message for Conversation Attachments#3087

Open
DeveloperBlue wants to merge 9 commits into
BlueBubblesApp:developmentfrom
DeveloperBlue:developerblue/jump-to-message
Open

feat: Jump to Message for Conversation Attachments#3087
DeveloperBlue wants to merge 9 commits into
BlueBubblesApp:developmentfrom
DeveloperBlue:developerblue/jump-to-message

Conversation

@DeveloperBlue

@DeveloperBlue DeveloperBlue commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

This PR adds the ability to jump to messages for attachments under the conversation details pages.

It uses the existing jumpToMessage function found in MessagesService.
It is only shown for attachments opened from the conversation details pages.

  • MediaGalleryCard, ConversationFullscreenHolder, and ImageDisplay now have a showJumpToMessage prop.
  • Photos and Videos only 1
  • iOS: Adds a pill button with the sender's details, similar to iMessage
    Material: Adds a "See in chat" overlay button, similar to Google Messages
    Samsung: The attachment header is now tappable to trigger jumpToMessage

qemu-system-x86_64_3mzpjNObrd.mp4

iOS and Material UI
iOS Material

Links, Locations, and Other Files Not Included

1 The other types of attachments (Links, Locations, and Other Files) all directly open their attachments externally. There are currently no places to add the jumpToMessage UI. This is the only blocker.

One solution would be a long-press context menu, similar to the "Attachment Popups" feature showcased in #2895,. This is out of scope for this PR.

Developer Notes

The current jumpToMessage method loads all the messages from the current cursor to the target message contiguously. If the target message is far away (hundreds or even thousands of messages away), this could potentially take up to minutes to load all the messages in between.
The conversation view depends on these loaded messages being contiguous, so I was not able to just load a specific window around the target message.

Aside from that, the feature works fine. If we wanted to address this, the ideal fix would be that the Messages service gets refactored to handle loading non-contiguous messages. Less ideally, there is also the way the search feature loads specific isolated message windows. This has it's own share of issues and limitations (#2269) .

Additional Fixes:

  • The Fullscreen Viewer now redacts leaking contact information on the Material theme

Tested on an android mobile emulator and a physical android tablet

@zlshames

Copy link
Copy Markdown
Member

The Fullscreen Viewer does not redact contact information when using the Material theme

Any reason not to resolve this before the PR gets merged?

@DeveloperBlue

Copy link
Copy Markdown
Contributor Author

Good point, resolved 👍

@DeveloperBlue

DeveloperBlue commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Also related: would you like me to submit the Samsung parity issues in this PR too, or just do one separate followup PR?

  • Missing "Save" and "Share" buttons
  • A place for the jumpToMessage button
  • One more redacted mode fix for Samsung conversation headers leaking phone numbers

They're a little mixed on scope but pretty minor changes. Not sure if this adds bloat to the PR for your review. Otherwise, good to go on my end.

edit: Added UI for Samsung variant

# Conflicts:
#	lib/app/layouts/fullscreen_media/fullscreen_image.dart
@zlshames

Copy link
Copy Markdown
Member

yeah, if you can, i'd like to get the feature implemented for all skins and all without leaking the name when redacted mode is enabled

@DeveloperBlue

DeveloperBlue commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Added the missing media viewer buttons and fixed the redacted mode leaks for conversations with this PR 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants