Skip to content

fix(notification): use conversation ids for bubbles - #6486

Open
SeniorZhai wants to merge 3 commits into
masterfrom
fix/notification-bubble-conversation-ids
Open

fix(notification): use conversation ids for bubbles#6486
SeniorZhai wants to merge 3 commits into
masterfrom
fix/notification-bubble-conversation-ids

Conversation

@SeniorZhai

Copy link
Copy Markdown
Member

No description provided.

@SeniorZhai SeniorZhai added the testing Now testing, but you can review label Jul 6, 2026
@SeniorZhai SeniorZhai removed the testing Now testing, but you can review label Jul 18, 2026
Copilot AI review requested due to automatic review settings July 27, 2026 06:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes bubble and notification identities conversation-scoped.

Changes:

  • Centralizes notification, summary, and bubble shortcut IDs.
  • Updates notification posting and cancellation call sites.
  • Adds unit tests for identifier stability.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
NotificationIds.kt Defines conversation-scoped identifiers and cancellation.
NotificationIdsTest.kt Tests identifier stability.
NotificationGenerator.kt Uses conversation IDs for notifications and bubbles.
ConversationViewModel.kt Cancels all conversation notification IDs.
SendService.kt Clears conversation notifications after reply/read.
DecryptMessage.kt Clears conversation notifications during message updates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


buildBubble(context, conversation, notificationBuilder, message, resource, person)
notificationManager.notify(message.messageId.hashCode(), notificationBuilder.build())
notificationManager.notify(conversationNotificationId(message.conversationId), notificationBuilder.build())
private const val SUMMARY_NOTIFICATION_ID_MASK = 0x40000000
private const val BUBBLE_SHORTCUT_ID_PREFIX = "Bubble-"

fun conversationNotificationId(conversationId: String): Int = conversationId.hashCode()
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.

3 participants