Skip to content

[Messaging] Change notification to allow same id - #1910

Merged
a-maurice merged 1 commit into
mainfrom
am-messaging_callback
Aug 13, 2026
Merged

[Messaging] Change notification to allow same id#1910
a-maurice merged 1 commit into
mainfrom
am-messaging_callback

Conversation

@a-maurice

Copy link
Copy Markdown
Contributor

Description

Provide details of the change, and generalize the change in the PR title above.

To better align with how the underlying Android and iOS SDKs work, pass along the registration notification even if it is the same one that was sent earlier.


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

@a-maurice a-maurice added the skip-release-notes Skip release notes check label Aug 13, 2026

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request removes the early return check in NotifyListenerOnRegistrationReceived that prevented notifying the listener if the incoming registration ID matched the previous one. The reviewer suggested an optimization to avoid redundant string assignments when the registration ID remains unchanged, while still proceeding with the notification.

Comment thread messaging/src/common.cc
Comment on lines 175 to 177
if (!g_prev_registration_received)
g_prev_registration_received = new std::string;
*g_prev_registration_received = installationId;

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.

medium

Since we want to allow sending the registration notification even if it is the same as the previous one, we can still optimize the string assignment. If g_prev_registration_received already contains the same installationId, we can skip the redundant string copy/assignment while still proceeding to notify the listener.

  if (!g_prev_registration_received) {
    g_prev_registration_received = new std::string(installationId);
  } else if (*g_prev_registration_received != installationId) {
    *g_prev_registration_received = installationId;
  }

@a-maurice
a-maurice requested a review from AustinBenoit August 13, 2026 19:04
@a-maurice
a-maurice merged commit 33ab7a4 into main Aug 13, 2026
39 of 55 checks passed
@a-maurice
a-maurice deleted the am-messaging_callback branch August 13, 2026 20:28
@github-actions github-actions Bot added the tests: in-progress This PR's integration tests are in progress. label Aug 13, 2026
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

Integration test with FLAKINESS (succeeded after retry)

Requested by @a-maurice on commit 33ab7a4
Last updated: Thu Aug 13 15:20 PDT 2026
View integration test log & download artifacts

Failures Configs
database [TEST] [FLAKINESS] [iOS] [macos] [1/2 ios_device: ios_target]
(1 failed tests)  CRASH/TIMEOUT
functions [TEST] [FLAKINESS] [iOS] [macos] [1/2 ios_device: ios_target]
(1 failed tests)  CRASH/TIMEOUT

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions Bot added the tests: succeeded This PR's integration tests succeeded. label Aug 13, 2026
@firebase-workflow-trigger firebase-workflow-trigger Bot removed the tests: in-progress This PR's integration tests are in progress. label Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-release-notes Skip release notes check tests: succeeded This PR's integration tests succeeded.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants