Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[User Model] [Fix] Erroring on User property updates before push subscription create #1061

Conversation

jkasten2
Copy link
Member

@jkasten2 jkasten2 commented Jul 26, 2023

Description

1 Line Summary

Fixes an error where any User property update before a push subscribed is crated causes the SDK to throw.

Details

Validation

Tests

  • Added new automated test
  • Manually tested by calling OneSignal.User.addTag("key", "value"); then accepting notifications, ensuring the User create call included the tags.

Info

Checklist

  • All the automated tests pass or I explained why that is not possible
  • I have personally tested this on my machine or explained why that is not possible
  • I have included test coverage for these changes or explained why they are not needed

Programming Checklist
Interfaces:

  • Don't use default export
  • New interfaces are in model files

Functions:

  • Don't use default export
  • All function signatures have return types
  • Helpers should not access any data but rather be given the data to operate on.

Typescript:

  • No Typescript warnings
  • Avoid silencing null/undefined warnings with the exclamation point

Other:

  • Iteration: refrain from using elem of array syntax. Prefer forEach or use map
  • Avoid using global OneSignal accessor for context if possible. Instead, we can pass it to function/constructor so that we don't call OneSignal.context

Screenshots

Info

Checklist

  • I have included screenshots/recordings of the intended results or explained why they are not needed

Related Tickets



This change is Reviewable

Removed throwing when we don't have a onesignal_id since this isn't
considered an error, as we will simply apply this property to the User
when it is created.

Longer term it might be a better
architecture to move the onesignal_id check that exists in
UserPropertyRequests up the stack.
Improved readability of ExecutorResult by making new descriptive classes
instead of requiring two booleans.
@jkasten2 jkasten2 changed the title [User Model] [Fix] Fix erroring on User property updates before push subscription create [User Model] [Fix] Erroring on User property updates before push subscription create Jul 27, 2023
Base automatically changed from user-model/rm-python2 to user-model/v1 July 27, 2023 21:52
src/core/executors/ExecutorResult.ts Outdated Show resolved Hide resolved
src/core/requestService/IdentityRequests.ts Outdated Show resolved Hide resolved
src/core/requestService/SubscriptionRequests.ts Outdated Show resolved Hide resolved
src/core/requestService/UserPropertyRequests.ts Outdated Show resolved Hide resolved
@jkasten2 jkasten2 requested a review from rgomezp July 27, 2023 22:02
@jkasten2 jkasten2 requested review from rgomezp and removed request for rgomezp July 28, 2023 00:13
@jkasten2 jkasten2 merged commit 9ccac06 into user-model/v1 Jul 28, 2023
2 checks passed
@jkasten2 jkasten2 deleted the user-model/fix-user-property-updates-before-subscription-create branch July 28, 2023 18:38
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.

2 participants