diff --git a/apps/roster/src/protocol/roster_message.erl b/apps/roster/src/protocol/roster_message.erl index 5bbe02aa576e4d5c482f596adcfd3f44ad3536ba..a069508438a2cbd2cb5c2c54980d0111df6809e5 100644 --- a/apps/roster/src/protocol/roster_message.erl +++ b/apps/roster/src/protocol/roster_message.erl @@ -37,8 +37,11 @@ info(#'Message'{msg_id = MsgID, files = Descs, status = Status, feed_id = F, to {Err, false} -> {reply, {bert, Err}, Req, State} end; -info(#'Message'{type = T} = M, Req, #cx{state=[]}=State)-> - info(M#'Message'{type = T}, Req, State#cx{state=ack}); +info(#'Message'{status = update, files = Descs0} = M, Req, #cx{state=[]}=State)-> + Descs = lists:keydelete(<<"ack">>, #'Desc'.mime, Descs0), + info(M#'Message'{files = Descs}, Req, State#cx{state=ack}); +info(#'Message'{} = M, Req, #cx{state=[]}=State)-> + info(M, Req, State#cx{state=ack}); info(#'Message'{feed_id = #muc{name = To}, to = []} = RequestData, Req, State) when To /= []-> info(RequestData#'Message'{to = To}, Req, #cx{state=ack}=State); info(#'Message'{status = [], id = [], feed_id = F, from=From0, to = To,