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

Update trigger model to always drive a change event #1925

Merged
merged 1 commit into from
Dec 5, 2023

Conversation

brismithers
Copy link
Contributor

@brismithers brismithers commented Nov 30, 2023

Description

One Line Summary

Update trigger model to always drive a change event when changing the value. This allows IAMs to be re-evaluated even when setting a trigger to the same value.

Details

When calling OneSignal.getInAppMessages().addTrigger(...) the expectation is it will drive the evaluation of whether to display an IAM regardless of the trigger key/value. For v5 triggers are built on top of the model infrastructure, and evaluation is triggered when a model is changed. This means if a trigger key/value already exists, setting it to the same value would not drive IAM evaluation. This fix updates this specific case to drive IAM evaluation regardless of whether the value has changed.

Motivation

v5 add trigger functionality to be identical to previous SDK behaviors.

Scope

This fix is limited to when IAMs are evaluated, specifically through calling addTrigger when the trigger key already exists.

Testing

Manual testing

Ran the example app in an emulator, setting the same trigger key/value pair multiple times ensuring an IAM based on that trigger is displayed each time.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

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

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

This change is Reviewable

… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value.
@nan-li nan-li self-assigned this Nov 30, 2023
@brismithers brismithers merged commit 6865aad into user-model/main Dec 5, 2023
2 checks passed
@brismithers brismithers deleted the add-trigger-always-evaluates-iam branch December 5, 2023 15:20
@jennantilla jennantilla mentioned this pull request Dec 28, 2023
jinliu9508 pushed a commit that referenced this pull request Jan 31, 2024
… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value. (#1925)
jinliu9508 pushed a commit that referenced this pull request Jan 31, 2024
… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value. (#1925)
jinliu9508 pushed a commit that referenced this pull request Jan 31, 2024
… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value. (#1925)
jinliu9508 pushed a commit that referenced this pull request Jan 31, 2024
… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value. (#1925)
jinliu9508 pushed a commit that referenced this pull request Feb 6, 2024
… value. This allows IAMs to be re-evaluated even when setting a trigger to the same value. (#1925)
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