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.
Description
One Line Summary
This PR fixes an issue where addTag will set an empty string, deleting existing keys, if a number is set as the value. Previously this value was of type 'string', and it will now booleans and numbers by casting the value to a string before sending the request to the OneSignal sever.
Details
Motivation
Reports of crashes due to sending unix timestamps as integers, when added as a value to the addTag method.
On the current major release / latest update, if passing in a unix timestamp as the value argument to the addTags method, you will see an empty string is sent as the value when making a change. This would delete a data tag per other SDK logic that determines an empty value to be the same as a "remove" request.
Scope
OPTIONAL - Other
The changes to the RTCOneSignalEventEmitter, are to determine whether the type is an NSNumber or not. The changes made to index.ts were for intellisense (allowing the boolean and number types to be used without an error thrown by the IDE) and to set the value to a string in case the value was a boolean (which would default to 1 or 0 otherwise).
Testing
Manual testing
I have tested this on both Android and iOS devices:
Affected code checklist
Checklist
Overview
Testing
Final pass
This change is