In a chat room, what are all the mechanics around being listed as "in the room" or not?
The various states of being "in a room"
I know of at least three states that a chat user can be in:
Never having been in the room before.
The user's avatar is in the box on the right in full colour.
The user's avatar is in the box on the right greyed out.
I suspect there are a couple more, but they may be the same as 3. above:
A user can be @pinged to the room, and when they navigate there, they have to "join this room" to get in.
A user once posted in a room, then used the "leave" button, and hasn't been back recently.
I understand that users can "join this room" by clicking that button.
What other ways are users "joined" to a room?
from navigating to the room?
from interacting with something particular in the room?
from posting a message?
from being @pinged
from being @@superpinged?
from someone manually adding you some other way?
For instance, I've noticed that I get automatically joined (the flying avatar animation) when I click "reply" to a message (not send it, just open a window to reply), but not when I "Star" a message. What other things join users?
I understand that users can "leave" a room by clicking that button.
What really happens when you "leave" a room, as in, which state of "not in the room" is the user in after that?
Which type of "leaving the room" is indicated by the animation of their avatar flying away?
What other ways do users leave a room (all types of "in the room")?
from a certain amount of time passing without interaction? If so, how much time, and what actions count as interaction for this purpose?
from someone manually removing you?
What are the functional differences among the various states of being in a room? An exhaustive list, if possible.
For example, if a user has been in the room before but isn't currently among the greyed-out avatars, do they get a notification from a @ping?