Skip to content

Commit d288854

Browse files
committed
fix: prevented duplicate data return on ionic 2 terminate and no network
1 parent 7e3aadf commit d288854

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/branch.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,21 @@ Branch.prototype.disableGlobalListenersWarnings = function () {
3737

3838
Branch.prototype.initSession = function (deepLinkDataListener) {
3939
// private method to filter out +clicked_branch_link = false in deep link callback
40+
var previous = ''
4041
var deepLinkDataParser = function (deepLinkData) {
4142
var isBranchLink = '+clicked_branch_link'
4243
var isNonBranchLink = '+non_branch_link'
44+
// TODO: figure out why iOS SDK passes data twice on Ionic 2 terminated and no network connection
45+
var isNewData = JSON.stringify(deepLinkData) !== previous
46+
var isBranchLinkClick = deepLinkData.hasOwnProperty(isBranchLink) && deepLinkData[isBranchLink] === true
47+
var isNonBranchLinkClick = deepLinkData.hasOwnProperty(isNonBranchLink)
4348

44-
// +clicked_branch_link' = true || +non_branch_link
45-
if ((deepLinkData.hasOwnProperty(isBranchLink) && deepLinkData[isBranchLink] === true) || (deepLinkData.hasOwnProperty(isNonBranchLink))) {
49+
// is +clicked_branch_link' = true || +non_branch_link
50+
if (isNewData && (isBranchLinkClick || isNonBranchLinkClick)) {
4651
// to Branch.initSession(function(data) {})
4752
deepLinkDataListener(deepLinkData)
4853
}
54+
previous = JSON.stringify(deepLinkData)
4955
}
5056

5157
if (!disableGlobalListenersWarnings && !deepLinkDataListener && !window.DeepLinkHandler) {

0 commit comments

Comments
 (0)