если ты хочешь во фреймы попадать, то scheduler
в чем суть) как аниимируется появление сообщений, как тока сообщение появляется в ленте я определяю его высоту и сразу делаю transform: translatyY(height) всей ленты соообщениий, и потом transition ставлю на translatyY(0px)
Проблема в том когда мы наяриваем анимация не успевает отыграть) Как вариант это брать в буфер сообщеня и высоту двух ии более сообщений отправленных за единицу времении складывать ноо это еще боолее упорото