diff --git a/apps/roster/src/roster.erl b/apps/roster/src/roster.erl index a4ef16b3c5737b2ab2041e36b354145312124d49..68dd998668f9c3afc5d7f548c03248132e2d2aba 100644 --- a/apps/roster/src/roster.erl +++ b/apps/roster/src/roster.erl @@ -766,14 +766,14 @@ unread_msg(#writer{cache = #'Message'{id = MaxReadId}, count = Count}, PhoneId = if is_binary(UID) -> UID; true -> - {ok, PhoneId0} = kvs:get('Member', UID), + {ok, #'Member'{phone_id = PhoneId0}} = kvs:get('Member', UID), PhoneId0 end, InnerFilterFun = fun(Msg = #'Message'{files = [#'Desc'{mime = Mime}], seenby = Targets}, UId) when Mime == ?CONTENT_TYPE_VIDEOCALL; Mime == ?CONTENT_TYPE_AUDIOCALL -> case msg_filter(Msg, UId) of - 1 -> bool_to_int(lists:member(PhoneId, Targets)); + 1 -> bool_to_int(Targets == [] orelse lists:member(PhoneId, Targets)); 0 -> 0 end; (Msg, UId) -> msg_filter(Msg, UId)