Skip to content

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

@ACHP

Description

@ACHP

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions