1. XEP-xxxx: HTTP File Upload allows you to share files in conferences and
with offline contacts. Requires an additional component on your server.
http://xmpp.org/extensions/inbox/http-upload.html
2. That is not true: "Offline messages: if you send a message to a contact
who is currently offline, they’ll see your message then they log in."
From: https://communicationfreedom.wordpress.com/jabberxmpp/
It's more, take look:
* XEP-0280: Message Carbons which automatically syncs the messages you send
to your desktop client and thus allows you to switch seamlessly from your
mobile client to your desktop client and back within one conversation.
* XEP-0313: Message Archive Management synchronize message history with the
server. Catch up with messages that were sent while Conversations was
offline.