You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is possible to initialise the client library in a way that means the clientId is not known in the constructor; instead, it only becomes known when either an authURL/authCallback supplies a TokenDetails that indicates the clientId or at a later time after connection (via the clientId returned in the ConnectionDetails).
This means that it is possible that push activation occurs before the clientId is known, and the local device registration therefore does not include the clientId.
It looks like there are two issues:
https://docs.ably.io/client-lib-development-guide/features/#RSA7b2 is not implemented: this means that late initialisation of a clientId is deferred until a connection is established, whereas it should be set if auth details - TokenDetails or TokenRequest - contain a clientId;
in Auth.setClientId(), any LocalDevice does not have its clientId updated, and there is no subsequent registration update.
The text was updated successfully, but these errors were encountered:
paddybyers
changed the title
Push: possible race-condition in initialisation sequence
Push: late-initialised clientId not updated in LocalDevice
Jun 26, 2019
It is possible to initialise the client library in a way that means the
clientId
is not known in the constructor; instead, it only becomes known when either anauthURL
/authCallback
supplies aTokenDetails
that indicates theclientId
or at a later time after connection (via theclientId
returned in theConnectionDetails
).This means that it is possible that push activation occurs before the
clientId
is known, and the local device registration therefore does not include theclientId
.It looks like there are two issues:
https://docs.ably.io/client-lib-development-guide/features/#RSA7b2 is not implemented: this means that late initialisation of a
clientId
is deferred until a connection is established, whereas it should be set if auth details -TokenDetails
orTokenRequest
- contain aclientId
;in
Auth.setClientId()
, anyLocalDevice
does not have itsclientId
updated, and there is no subsequent registration update.The text was updated successfully, but these errors were encountered: