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

[Fix] notification click event not firing if it opens a new tab #1132

Merged
merged 5 commits into from
Nov 14, 2023

Conversation

jkasten2
Copy link
Member

@jkasten2 jkasten2 commented Nov 14, 2023

Description

1 Line Summary

Fix notification click event not firing if it opens a new tab.

Details

The internal fireStoredNotificationClicks() function was not called to fire any pending click events when OneSignal.Notifications.addEventListener('click', function() {}) is called.

Validation

Tests

Tested on Chrome 119 on Window 11, testing both "focus" and "navigate" options for notification open behavior.

  • Click behavior set on dashboard "Origin: Take actions on a previous tab open to same domain"
  • Click behavior set on dashboard "Exact: (default) Opens a new window"

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

Tested click Behavior Exact:
image

Tested click behavior Focus:
image

Info

Checklist

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

Related Tickets



This change is Reviewable

Fix issue where
OneSignal.Notifications.addEventListener('click', function() {}) would
not fire when a notification was clicked that opens a new page.

Fixed by calling fireStoredNotificationClicks when a click listener is
added which checks the indexDb for any notification clicks that were
not processed for a specific URL.
Copy link
Contributor

@rgomezp rgomezp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just 1 nit and fix linting errors. Other than that, looks good.

const stub = test.stub(
EventHelper,
'fireStoredNotificationClicks',
null,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an optional argument. And I don't believe this function returns anything

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah good catch, removed the null.

@jkasten2 jkasten2 force-pushed the fix/notification_click_event_firing branch from 2a4587c to 901f308 Compare November 14, 2023 20:56
Base automatically changed from dev/fix_low_rate_limit to main November 14, 2023 20:59
@jkasten2 jkasten2 merged commit c473c62 into main Nov 14, 2023
2 checks passed
@jkasten2 jkasten2 deleted the fix/notification_click_event_firing branch November 14, 2023 21:00
@jkasten2 jkasten2 mentioned this pull request Nov 14, 2023
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.

3 participants