Hello,
First thank you for such great effort,
I wanted to point out that for the logic of Displaying "Yesterday" I strong believe is wrong.
e.g. I'm using it in a news app, showing if I publish something at 23:59:00 then I start reading it at let's say 00:00:10 it shows "Yesterday" rather than 1 minute ago, I'd limit showing yesterday to more than X hours, I'd say this would be 24 hours, so from 1 - 23 hours I'd still show x hours ago, then after that I starting writing yesterday.