The user status should be the same across clients (or browser windows).
Right now whenever user logs into the KolabChat app or API or even opens a chat window his status is set to "online". Internally every client has his own user-reference-ID in Phoenix.Presence "format", so the same user can have many different statuses at a time. I'm not yet sure how to do this, but we should have one status at a time for each user. So, for example if user changes the status in Roundcube, his status will change in e.g. mobile client.
So, two things here:
- Remember the user status in database and don't reset it on logon nor any other operation, except system/set-status.
- Make sure there's always only one status at a time possible.
@seigo, any take on this?