How to group the observable, and from each GroupedObservable to save in memory only the last emitted element? So that each group behaves the same as BehaviorSubject.
Something like that:
{user: 1, msg: "Anyone here?"}
{user: 2, msg: "Hi"}
{user: 2, msg: "How are you?"}
{user: 1, msg: "Hello"}
{user: 1, msg: "Good"}
Thus, in memory we will have only the last element for each user:
{user: 2, msg: "How are you?"}
{user: 1, msg: "Good"}
And when the subscriber subscribes, these two elements were released immediately (each in its own issue). Just like we had a BehaviorSubject for everyone user.
onCompleted () should never fire, as people can chat forever.
I do not know in advance what values usermay be.