def notify_reaction_update(user_profile: UserProfile, message: Message, reaction: Reaction, op: str) -> None:
    user_dict = {'user_id': user_profile.id, 'email': user_profile.email, 'full_name': user_profile.full_name}
    event: Dict[(str, Any)] = {'type': 'reaction', 'op': op, 'user_id': user_profile.id, 'user': user_dict, 'message_id': message.id, 'emoji_name': reaction.emoji_name, 'emoji_code': reaction.emoji_code, 'reaction_type': reaction.reaction_type}
    update_to_dict_cache([message])
    ums = UserMessage.objects.filter(message=message.id)
    send_event(user_profile.realm, event, [um.user_profile_id for um in ums])
def notify_reaction_update(user_profile: UserProfile, message: Message, reaction: Reaction, op: str) -> None:
    user_dict = {'user_id': user_profile.id, 'email': user_profile.email, 'full_name': user_profile.full_name}
    event: Dict[(str, Any)] = {'type': 'reaction', 'op': op, 'user_id': user_profile.id, 'user': user_dict, 'message_id': message.id, 'emoji_name': reaction.emoji_name, 'emoji_code': reaction.emoji_code, 'reaction_type': reaction.reaction_type}
    update_to_dict_cache([message])
    ums = UserMessage.objects.filter(message=message.id)
    send_event(user_profile.realm, event, [um.user_profile_id for um in ums])