maybe i am old, but the messenger service is the "one more username" to remember. i would drop messenger services before i drop email. messenger services tend to be linked to email accounts anyway - so im sure low friction solutions could be developed.
The point is to isolate sync communication from async to preserve the simulation of live conversation as an option online.
the issue is compounded because the person who sent the message may not be available when i see the message. Messenger was developed for people to talk at the same time. Honestly, it seems like product overreach for it to accommodate any async communication.Async communication is a very important form of communication and should be managed appropriately and not shoe-horned into live chat UI's.
IMO async should always be threaded. If I would be changing my messaging behavior based on whether or not someone is online (which is sort of necessary to avoid confusion) - I would rather optimize that behavior change with two different (UI) systems than trying to use one chat box and one log for it all.
If someone is not in the room anymore, you cant talk to them. Full stop. Leaving the room is a signal that needs to be respected. It is one of the few powers individuals have in an actual conversation. Getting rid of simulated "rooms" online was a step backwards. Even if it happened during a simultaneous step forward for mailboxes.