-QDataStream &operator<<(QDataStream &out, const Message &msg) {
- out << msg.msgId() << (quint32)msg.timestamp().toTime_t() << (quint32)msg.type() << (quint8)msg.flags()
- << msg.bufferInfo() << msg.sender().toUtf8() << msg.contents().toUtf8();
- return out;
+QDataStream &operator<<(QDataStream &out, const Message &msg)
+{
+ // We do not serialize the sender prefixes until we have a new protocol or client-features implemented
+ out << msg.msgId()
+ << (quint32) msg.timestamp().toTime_t()
+ << (quint32) msg.type()
+ << (quint8) msg.flags()
+ << msg.bufferInfo()
+ << msg.sender().toUtf8();
+
+ if (SignalProxy::current()->targetPeer()->features().testFlag(Quassel::Feature::SenderPrefixes))
+ out << msg.senderPrefixes().toUtf8();
+
+ out << msg.contents().toUtf8();
+ return out;