Skip to content

Add reversible conversation linking - #232

Draft
Starscreen2 wants to merge 1 commit into
OpenBubbles:rustpushfrom
Starscreen2:codex/link-conversations
Draft

Add reversible conversation linking#232
Starscreen2 wants to merge 1 commit into
OpenBubbles:rustpushfrom
Starscreen2:codex/link-conversations

Conversation

@Starscreen2

Copy link
Copy Markdown

Summary

Adds a reversible “Link Conversation” option for duplicate one-to-one conversations.

Problem

The same contact can appear as multiple persistent conversations when the underlying iMessage conversations use different identifiers or handles. Although both conversations resolve to the same contact, OpenBubbles displays them as separate chat rows.

Changes

  • Add “Link Conversation” to one-to-one conversation details.
  • Let the user select another conversation to link.
  • Display messages from linked conversations in one chronological history.
  • Hide secondary linked conversations from the conversation list.
  • Reflect the latest message and unread state on the visible primary conversation.
  • Add “Unlink Conversations” to restore the original separate chats.
  • Store only the link relationship; no chat or message records are moved, rewritten, or deleted.
  • Prevent duplicate list entries with the same chat GUID.

Behavior

Outgoing messages continue using the visible primary conversation. Linking and unlinking are local, reversible presentation changes and do not modify the underlying sync data.

Validation

  • Targeted Flutter 3.24 analysis passes with no issues.
  • Successfully built an ARM64 alpha debug APK.
  • Verified that the APK contains the Flutter and OpenBubbles Rust native libraries.

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.

1 participant