Acknowledge publish frames

It's important to distinguish between message_ids assigned by the
client and message_ids assigned by the server, which are entirely
disjoint.