Message delivery to server status

Hello

I am new to XMPP and I am trying to figure out things about protocol itself and openfire support.

Consider there is message sent from clientA to clientB.

As I understand we have confirmation that message delivered to clientB, and it’s good.

But what if clientB is offline? Then message is stored to the local storage, but no confirmation is sent.

What I am trying to understand - consider that I am sending message to server(to offline contact) and then(after some time) connection is broken.

After that I restore connection… And what should I do? Should I resend message? Or should I consider message has been delivered to server?

As I checked, there is no ACK is sent by the server.

And, as I googled there is no any XEP about server-side message acknolagements, except XEP-0198 which seem to be complete overkill and performance-destroyer(since it actually requires to duplicate network stream to persistent storage).

So, is there anything I miss in XMPP protocol, and/or openfire implementation?