Skip to content
  • Jonathon Jongsma's avatar
    Handle the case where a user's id changes in a chatroom · 500093ef
    Jonathon Jongsma authored
    Telepathy-glib has a enum value for the MembersChanged signal to signify that a
    user's ID has changed.  Previously, empathy was simply interpreting this as if a
    user with the old name had left the chat and a different user with the new name
    had entered the chat.  This change handles this case more gracefully by updating
    the contact's id (and name) when this change reason is present
    
    One thing that does not yet work with this patch is if you are engaged in a
    private chat with a person and they change their nick in the middle of the chat.
    Then the EmpathyContact* that you are chatting with is no longer the
    EmpathyContact* representing the remote user, so messages won't be delivered
    properly.  When we detect that a user has been 'renamed', we probably need to
    somehow go through all of the private chats with that person and swap out the
    old (invalid) EmpathyContact* and replace it with the new one so that the chat
    can continue without interruption.
    500093ef