-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Bug: pbjs.refreshUserIds() Fails to Execute Callback in identityLinkIdSystem, Blocking Submodule ID Refresh and Triggering Error #12243
Comments
I cannot reproduce this part:
The issue as I see it is slightly different - the second call to However it should not affect other ID modules (and from my testing it doesn't) - if identityLink never comes back with an ID, the promise(s) never resolve, but
I am not sure about why identityLink behaves the way that it does. @mamatic ? |
I'm also unable to reproduce your issue @yagovelazquezfreestar. Not being able to refresh should not affect other id modules. The logging of the _lr_retry_request cookie is used for internal analytics to monitor system health. This cookie should not be cleared, only updated. The getEnvelopeFromStorage function retrieves our identity envelope from storage, where it was saved by ATS.js. |
@danielsao @dgirardi Thanks for the fast response. You're right, it was how I was running the userRefresh function that was causing the disruptive issue. The other problem still stands though because although #12246 will handle the rejection of the promise, it won't fix - a) We should see a message written saying that the request returned an empty id. b) The reason why is failing in the first place. So I did post this other pull request here addressing it. Do you think it's reasonable? Other than that, @danielsao I'm not seeing any Ats function on the window in our pages, does that means that there is something wrong in our implementation? Please, refer to our implementation above |
Does that mean that when this Prebid.js/modules/identityLinkIdSystem.js Lines 130 to 135 in 1f428f4
if that's the case, the module should signal it as in #12249 - as it is currently it remains stuck waiting for an ID that'll never come. |
hmmm #12249 was merged @danielsao . Are you okay with that? |
Type of issue
Bug
Description
This bug happens when calling the method
pbjs.refreshUserIds()
and is related to theidentityLinkIdSystem
module.When attempting to getEnvelope, if a setRetryCookie has already been set, the userId callback that signals the submodule completion is not executed. This disrupts the process, preventing all subsequent submodules from refreshing their IDs. It will also throw the error you see in the screenshot. That's the main issue.
Thats the function I'm talking about:
But, I also see that when trying to
getEnvelopeFromStorage
it tries to get from this cookie or local storage, but there isn't a part in this module that sets this cookie or local storage envelope. Am I missing something here?let rawEnvelope = storage.getCookie(liverampEnvelopeName) || storage.getDataFromLocalStorage(liverampEnvelopeName);
This is my identityLinkConfig inside
pbjs.getConfig().userSync.userIds
Steps to reproduce
_lr_retry_request
cookies to be set as trueExpected results
_lr_retry_request
should be cleared after the ajax request?Actual results
The text was updated successfully, but these errors were encountered: