OneSignal-Android-SDK icon indicating copy to clipboard operation
OneSignal-Android-SDK copied to clipboard

[Bug]: Too much tags on user block the operation queue

Open ACHP opened this issue 8 months ago • 1 comments

What happened?

Context:

react-native-onesignal : 5.2.9 -> OneSignal-Android-SDK: 5.1.29 We're using oneSginal/Segment integrations

Description:

We noticed that we have some users that have more than 10 (our plan limit) tags. When these users logs, the LoginUserOperation failed because already have too much tags

The problem is that any following operation seems to stack up but are never executed. Even when we call "logout()", and log in with another user, the login is not executed If we close the app and reopen, we can see that the first login operation is retried and fails again.

When we open the OneSignal shared preference we can see that operation are stacked.

So there are 2 bugs I think:

  • OneSignal/Segment integration should not adds more than the allowed number of tags. (A ticket have already been opened)

  • When that happens, the operation should probably not be persisted if the user connect with another account. And we should probably be able to "intercept" this error from our application to remove the user tags or do something about it. WDYT ? Ideally it should not even be considered as a login failure if tags cannot be set/updated.

I don't know if all of that makes sense

Steps to reproduce?

1. Have a user that have more tag than permitted
2. Try to log using android sdk with this user (using `login(externalId)`)
3. -> the login operation should fails
4. Connect with another user, new user don't receive it's notification neither (because it is simply not connected)

What did you expect to happen?

When login with a user, even if the user have more than 10 tags, it should be able to log Or we should be able to log with another user Or we should be able programmatically catch the error to do something about it

OneSignal Android SDK version

5.1.29

Android version

12

Specific Android models


Relevant log output

Image


OneSginal shared prefs

[
  {"name": "transfer-subscription", "appId": "95c2225c---------", "subscriptionId": "5490------------------------", "onesignalId": "local-0ba0------------------------", "id": "12ba1e------------------------"},
  {"name": "login-user", "appId": "95c2225c---------", "onesignalId": "local--------------", "externalId": "ML7----------", "id": "4759db7f-----------"},
  {"name": "set-property", "appId": "95c2225c---------", "onesignalId": "local--------------", "property": "language", "value": "fr-FR", "id": "1aa66b4d-------"},
  {"name": "track-session-start", "appId": "95c2225c---------", "onesignalId": "local--------------", "id": "1179d873-------"},
  {"name": "track-session-start", "appId": "95c2225c---------", "onesignalId": "local--------------", "id": "0540ebca-------"},
  {"name": "transfer-subscription", "appId": "95c2225c---------", "subscriptionId": "5490eabe--------------", "onesignalId": "local-5456ca91------------", "id": "cb8642b1-------"},
  {"name": "login-user", "appId": "95c2225c---------", "onesignalId": "local------------", "externalId": "jYl--------------", "id": "fa6ee630-------"},
  {"name": "set-property", "appId": "95c2225c---------", "onesignalId": "local------------", "property": "language", "value": "fr-FR", "id": "83df3ae1-------"},
  {"name": "track-session-start", "appId": "95c2225c---------", "onesignalId": "local------------", "id": "997e9471-------"}
]

Code of Conduct

  • [x] I agree to follow this project's Code of Conduct

ACHP avatar Apr 04 '25 10:04 ACHP

I stumbled upon that issue that seems related, but not the same: https://github.com/OneSignal/OneSignal-Android-SDK/issues/2143

ACHP avatar Apr 23 '25 13:04 ACHP