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
Open questions, should the social provider guarantee the natural/obvious things for ordering of events:
1 * onMessage and onClientState, and onUserProfile events only happen after the login promise returns.
2 * onMessage and onUserProfile events only happen after a onClientState event with clientId having its state set to ONLINE*, and before onClientState event happens setting the state of OFFLINE.
3 * onClientState with the same clientId as login returned happens if/when the social provider is disconnected? Or Should we introduce a new onDisconnected event?
The text was updated successfully, but these errors were encountered:
I'm inclined not to add more guarantees. For the second one, why would it be the case that you can't receive the user's profile while they're offline? It's actually quite common to get a roster without the user actually being online.
The server could also queue messages to be sent after the user has already gone offline.
For the first one, why only register handlers for events after the login fulfill gets called?
if a user sets their state of offline, but write you a message, you should get the message. Potentially, you want the same thing for onUserProfile. So we agreed to clarify that (2) is not guaranteed!
But bad things happen with no guarantees:
no way to know when social provider is disconnected to e.g. change UI state to logged out so that user doesn't think messages they are sending will ever go anywhere. (fixed by 3)
with (3) but no guarantees, use can get logged out before the login promise returns.
without (1) any intermediate data structures made upon return of the promise may not be ready. I don't feel very strongly about this if we document it, but I do have a preference for the guarantee as I don't see any use-case for it not being there, and it's more natural to get messages from a service you are connected to than one you are not connected to (Right now, I can't think of any other network/social interface that does not guarantee this).
Open questions, should the social provider guarantee the natural/obvious things for ordering of events:
1 *
onMessage
andonClientState
, andonUserProfile
events only happen after the login promise returns.2 *
onMessage
andonUserProfile
events only happen after aonClientState
event withclientId
having its state set toONLINE*
, and beforeonClientState
event happens setting the state ofOFFLINE
.3 *
onClientState
with the sameclientId
as login returned happens if/when the social provider is disconnected? Or Should we introduce a newonDisconnected
event?The text was updated successfully, but these errors were encountered: