https://irccloud.com has all these, done really well.
Offline message history you get also by running a server somewhere and just having an irssi in a screen/tmux.
Still my favorite protocol and I have some channels that I consider to be my favorite social network for about 10-15 years already.
Having to pay for basic features that competitors like slack/discord have is exactly why the slack community for something is often much bigger these days. Even the larger communities like #node.js are really just 10 regulars.
For example, Elm's slack is vibrant. Elm's IRC channel is dead. This is the reality for most communities I've been joining these days.
And on top of that, the behavior of irccloud from the standpoint of everyone else is identical to that of a bouncer like ZNC. It's yet another hack around the fact that clients don't exist in IRC unless they're online.
About the only thing IRC has going for it is decentralization, and that's not very valuable in the market it seems.
Seriously. IRC has had 30 years to get with the times. It's stagnated and been lapped by its competitors, and the efforts to improve it didn't properly start until Slack and friends simultaneously re-cooked and ate everyone's lunch and dinner.