[Bug 51527] New: Messages from iChat are silently ignored

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jun 28 19:03:04 CEST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=51527

             Bug #: 51527
           Summary: Messages from iChat are silently ignored
    Classification: Unclassified
           Product: Telepathy
           Version: git master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: medium
         Component: salut
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: will.thompson at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org


Messages from iChat are completely ignored by Salut. I suspect this is because
they have no from='' attribute. In the following log, 'wjt at queeg' is using
Salut, and 'wjt at bael' is using iChat.

First I send a message from Salut to iChat, and it comes out at the other end
just fine:

(telepathy-salut:31900): wocky-DEBUG: _write_node_tree: Serializing tree:
* message xmlns='jabber:client' from='wjt at queeg' to='wjt at bael' type='chat'
    * body
        "Here is a message from Salut to iChat"
    * html xmlns='http://jabber.org/protocol/xhtml-im'
        * body xmlns='http://www.w3.org/1999/xhtml'
            "Here is a message from Salut to iChat"
(telepathy-salut:31900): wocky-DEBUG: Writing xml: <message from="wjt at queeg"
to="wjt at bael" type="chat"><body>Here is a message from Salut to
iChat</body><html xmlns="http://jabber.org/protocol/xhtml-im"><body
xmlns="http://www.w3.org/1999/xhtml">Here is a message from Salut to
iChat</body></html></message>

I start typing in iChat, and no notification appears:

(telepathy-salut:31900): wocky-DEBUG: Parsing chunk: <message
to="wjt at queeg"><body> </body>
<html xmlns="http://jabber.org/protocol/xhtml-im"><body
xmlns="http://www.w3.org/1999/xhtml" 
style="background-color:#fc86ca;color:#000000;"> </body></html><x
xmlns="jabber:x:event"><composing/><id></id>
</x>
<composing xmlns="http://jabber.org/protocol/chatstates"/></message>

(telepathy-salut:31900): wocky-DEBUG: _end_element_ns: Received stanza
* message xmlns='jabber:client' to='wjt at queeg'
    "

"
    * body
        " "
    * html xmlns='http://jabber.org/protocol/xhtml-im'
        * body xmlns='http://www.w3.org/1999/xhtml'
style='background-color:#fc86ca;color:#000000;'
            " "
    * x xmlns='jabber:x:event'
        "
"
        * composing
        * id
    * composing xmlns='http://jabber.org/protocol/chatstates'
(telepathy-salut:31900): wocky-DEBUG: handle_stanza: wocky-c2s-porter.c:1023:
Stanza not handled

And then I hit enter in iChat. The message doesn't show up in Empathy:

(telepathy-salut:31900): wocky-DEBUG: Parsing chunk: <message to="wjt at queeg"
type="chat"><body>Here is a message from iChat to Salut</body>
<html xmlns="http://jabber.org/protocol/xhtml-im"><body
xmlns="http://www.w3.org/1999/xhtml" 
style="background-color:#fc86ca;color:#000000;"><span style="font-family:
'Helvetica';font-size: 12px;">Here is a message from iChat to
Salut</span></body></html><x xmlns="jabber:x:event"><composing/></x>
</message>

(telepathy-salut:31900): wocky-DEBUG: _end_element_ns: Received stanza
* message xmlns='jabber:client' to='wjt at queeg' type='chat'
    "

"
    * body
        "Here is a message from iChat to Salut"
    * html xmlns='http://jabber.org/protocol/xhtml-im'
        * body xmlns='http://www.w3.org/1999/xhtml'
style='background-color:#fc86ca;color:#000000;'
            * span style='font-family: 'Helvetica';font-size: 12px;'
                "Here is a message from iChat to Salut"
    * x xmlns='jabber:x:event'
        * composing
(telepathy-salut:31900): wocky-DEBUG: handle_stanza: wocky-c2s-porter.c:1023:
Stanza not handled

Salut-to-Salut works. The main difference I see is that iChat does not include
from='' in the <message/>. WockyMetaPorter does this:

  if (handler->contact != NULL)
    {
      gchar *jid = wocky_contact_dup_jid (handler->contact);

      id = wocky_porter_register_handler_from_by_stanza (porter,
          handler->type, handler->sub_type, jid,
          handler->priority, porter_handler_cb, handler,
          handler->stanza);

      g_free (jid);
    }
  else
    {
      id = wocky_porter_register_handler_from_anyone_by_stanza (porter,
          handler->type, handler->sub_type,
          handler->priority, porter_handler_cb, handler,
          handler->stanza);
    }

I guess that, really, we know that any stanzas coming in are from the contact
we think they are, so perhaps the MetaPorter should always use from_anyone()
and then forcibly replace from=''?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list