Ticket #3242 (closed defect: invalid)

Opened 18 months ago

Last modified 11 months ago

Transport contacts doesn't show their status message until Gajim is restarted

Reported by: m_gol Owned by: asterix
Priority: normal Milestone:
Component: chat Version: svn
Severity: normal Keywords:
Cc: OS: All

Description

I use Gadu-Gadu transport at jabbim.pl. When sb from gg, but outside my roster, writes to me and I add them to my roster (by right-click and "Add to roster" option), I cannot see their status message. Moreover, Gadu-Gadu transport icon of this contact looks like unauthorized (although it is - I cannot ask for an authorisation and can't also send it). Only after restarting Gajim icon changes to an appropriate one and I can see a status message.

Here is the code I got when: 1) I got a message: "so I write :)" 2) I sent a message: "ok, thx" 3) I added this person to my roster.

Red means the recieved code, blue - the sent code (as it's shown in Gajim XML console):

Red:

<message from='_GG_NUMBER_@gg.jabbim.pl/GG' to='_MY_ACCOUNT_@jabbim.pl' type='chat'>
<body>so I write :)</body>
</message>

Blue:

<message to="_GG_NUMBER_@gg.jabbim.pl" type="chat" id="45">
<body>ok, thx</body>
<active xmlns="http://jabber.org/protocol/chatstates" />
<x xmlns="jabber:x:event">
<composing />
</x>
</message>

<iq type="set" id="46">
<query xmlns="jabber:iq:roster">
<item jid="_GG_NUMBER_@gg.jabbim.pl" name="_GG_USER_NAME_" />
</query>
</iq>

Red:

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='push' type='set'>
<query xmlns='jabber:iq:roster'>
<item subscription='none' name='_GG_USER_NAME_' jid='_GG_NUMBER_@gg.jabbim.pl'/>
</query>
</iq>

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='46' type='result'/>

Blue:

<presence to="_GG_NUMBER_@gg.jabbim.pl" type="subscribe" id="47">
<nick xmlns="http://jabber.org/protocol/nick">_MY_ACCOUNT_</nick>
<x xmlns="vcard-temp:x:update">
<photo>a047be2f3a20215e69c5c5ccf540dc06130eb6eb</photo>
</x>
<c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org/caps" ext="ftrans xhtml" ver="0.11.1" />
</presence>

Red:

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='push' type='set'>
<query xmlns='jabber:iq:roster'>
<item ask='subscribe' subscription='none' name='_GG_USER_NAME_' jid='_GG_NUMBER_@gg.jabbim.pl'/>
</query>
</iq>

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='push' type='set'>
<query xmlns='jabber:iq:roster'>
<item subscription='to' name='_GG_USER_NAME_' jid='_GG_NUMBER_@gg.jabbim.pl'/>
</query>
</iq>

<presence from='_GG_NUMBER_@gg.jabbim.pl' to='_MY_ACCOUNT_@jabbim.pl/Gajim' type='subscribed'/>

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='push' type='set'>
<query xmlns='jabber:iq:roster'>
<item subscription='to' name='_GG_USER_NAME_' jid='_GG_NUMBER_@gg.jabbim.pl'/>
</query>
</iq>

<presence from='_GG_NUMBER_@gg.jabbim.pl' to='_MY_ACCOUNT_@jabbim.pl/Gajim' type='subscribe'/>

Blue:

<presence to="_GG_NUMBER_@gg.jabbim.pl" type="subscribe" id="48" />

<presence to="_GG_NUMBER_@gg.jabbim.pl" type="subscribed" id="49">
<x xmlns="vcard-temp:x:update">
<photo>a047be2f3a20215e69c5c5ccf540dc06130eb6eb</photo>
</x>
<c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org/caps" ext="ftrans xhtml" ver="0.11.1" />
</presence>

Red:

<iq from='_MY_ACCOUNT_@jabbim.pl/Gajim' to='_MY_ACCOUNT_@jabbim.pl/Gajim' id='push' type='set'>
<query xmlns='jabber:iq:roster'>
<item subscription='both' name='_GG_USER_NAME_' jid='_GG_NUMBER_@gg.jabbim.pl'/>
</query>
</iq>

Attachments

Change History

Changed 15 months ago by anonymous

  • severity changed from normal to major

Changed 14 months ago by asterix

I've tested with 2 jabber accounts (I dont have a GG account) with SVN version. XML is about the same, and behaviour is correct.

for one of your problem (status message) it's not Gajim's fault. As you can see in XML, Gajim don't get it, so we can't show it!

For status icon, here that work. Could you test with 0.11.2 or better, with SVN version (or daily tarball)?

Changed 14 months ago by m_gol

  • version changed from 0.11.1 to 0.11.2
  • os changed from All to Windows
  • severity changed from major to normal

I've just tried it with 0.11.2 and it behaves in the same way. When a GG user is added to roster it is automatically authorized, but an icon of this contacts seems like unauthorized. Only after restart this icon behaves properly.

I think it's not a problem of much severity, I don't often add new people to roster and when I do it, I can restart Gajim and everything's ok. But it would be nice to know why it behaves so.

Changed 12 months ago by m_gol

There is another issue connected with that (or, at least, I suppose so). When you add a new contact to roster, before it gets authorisation, this contact is put at the bottom of the list. But if you restart Gajim, it goes to the place it should lay according to the alphabet.

GG contacts behave similar to that (they also go to the bottom of the roster), but they also appear not to be seen that they sent an authorisation - only after restart their icon changes to an appropriate one.

Changed 12 months ago by m_gol

  • version changed from 0.11.2 to svn
  • os changed from Windows to All

Changed 11 months ago by asterix

Once again I can't reproduce: When I adda contact it goes at the end of the list: normal, list is sorted by status, but when I get auth, the contact goes where it has to be.

Changed 11 months ago by m_gol

I can it reproduce all the time. I get auth immediately, because GG doesn't support that so transport does it without any user-interaction. But an icon of the person is not-authorised and it changes only after restart. Moreover, contact goes to the end of the list - even not-authorised Jabber contacts doesn't behave in this way - and it changes only after Gajim restart, again.

Do You need some output of something?

Changed 11 months ago by asterix

Do you sort contacts by status? Could you create a gg account for me to test? website is in polish.

Changed 11 months ago by m_gol

Yes, by status.

Changed 11 months ago by asterix

  • status changed from new to closed
  • resolution set to invalid

ok I figured out why: we just don't get a presence from the contact, so we don't know his status. This is required in the XEP (example 37). So it's a bug in the transport.

Add/Change #3242 (Transport contacts doesn't show their status message until Gajim is restarted)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.