There's also quassel which solves the problem a bit like a bouncer but it's way more integrated, it just loads the scrollback on demand instead of just banging the latest 200 lines into my buffer when I connect. Solves the problem perfectly IMO and there's a really excellent android client.
It's still not server-side history, though - you can't join a channel and see what happened before you joined, or edit a message you've already sent. It's just a slightly cleaner implementation of an IRC bouncer.
Hmm no but that's usually a good thing. I've had some late night chats where I knew all the other people around and it would not be so cool if anyone else could just join and scroll back to it.
In fact this is the reason some irc networks blocked matrix bridges at first (they now have settings to disable this)
I'm not saying mainstream people should use IRC though. Matrix is better for that.