Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
• We recently discovered an issue where if an app sends two notifications that have their own unique buttons, both notifications will display whatever the more recent notifications buttons were supposed to be.
• For example, if an app sends a notification with "Like" as the button title, and then later on it sends another notification with "Dislike" as the title, BOTH notifications will now show "Dislike" as the button title.
• This was caused by the fact that the SDK uses a single UNNotificationCategory ID called
__dynamic__to register notification actions, meaning the most recently received notification defines the buttons.• Fixes the issue by now registering unique
UNNotificationCategory's to each specific notification.• To prevent the steady buildup of registered categories over time, we define a limit (
MAX_CATEGORIES_SIZE, which is currently 128) and delete/de-register any previousUNNotificationCategory's than the 128 most recent.• Adds a test to make sure that the SDK is correctly registering, deleting, and associating categories with notifications
This change is