Gajim - 2013-11-15


  1. bot RSS: Feeds for Gajim • session.py.vc.diff attached to Ticket #7560 https://trac.gajim.org/attachment/ticket/7560/session.py.vc.diff • Ticket #7560 (Broken unread message counter) updated I think problem in [d8f3e9e535f3]. Patch attached,review needed. https://trac.gajim.org/ticket/7560#comment:1
  2. dicson Darlan, About Colorized occupants roster. This requires a long list of colors
  3. Darlan Why do you think so? If users would want to ad/remove colors, they can use ACE or a dialog such of Psi/General/Options/Groupchat. This is not important for 0.16 release, I think.
  4. dicson gajim set color after first message. no message - no color
  5. Darlan I do not understand what is the problem?
  6. dicson no problem
  7. Ge0rG hey folks, where is the url obtained from for the https://trac-plugins.gajim.org/browser/clients_icons/clients_icons.py#L14 lookup?
  8. Darlan In caps stanza. dicson, how can user request caps stanza?
  9. Ge0rG Darlan: reusing the url in caps stanzas between apps might be useful for improving the caching behavior. yaxim is reusing SMACK's node id.
  10. mrDoctorWho caps published in presence
  11. Darlan Then, how can user request presence stanza?
  12. mrDoctorWho no how
  13. Darlan Ge0rG, is there a website for SMACK?
  14. mrDoctorWho no way
  15. Darlan So how can I examine what string a client is publishing?
  16. Ge0rG Darlan: http://www.igniterealtime.org/projects/smack is the official one; the exact version I use is on github
  17. Ge0rG Darlan: feel free to flood georg@op-co.de/yaxim with requests
  18. Ge0rG you can also query ♥@ツ.op-co.de/♨ for bonus fun.
  19. Darlan Ge0rG, as you wrote, Yaxim is publishing SMACK's URL: <c hash='sha-1' ver='ih6Hz6YBD8bnYCKQn0Sj+lnjFMg=' node='http://www.igniterealtime.org/projects/smack' xmlns='http://jabber.org/protocol/caps'/>
  20. Ge0rG Darlan: I would be surprised if it did otherwise.
  21. Darlan We can add it, but, I think, it would be better for Yaxim to use its own URL.
  22. Ge0rG Darlan: technically, I could change the URL, but that would prevent co-caching of caps entries with other SMACK applications
  23. Darlan Can you do this? http://www.igniterealtime.org/projects/smack?yax.im
  24. dicson pidgin and adium sends libpurple in caps
  25. Ge0rG Darlan: why not use the <identity><name> attribute instead?
  26. Darlan I do not care, do whatever would work.
  27. Flow IMHO using xep115 node as base to determinet he client is wrong, xep30 disco#info identties should be used for that
  28. Darlan I do wonder why Adium does not sends its own caps.
  29. Flow after all, that's what identities are for
  30. Ge0rG Darlan: that code is not working as of now ;)
  31. dicson Darlan, libpurple send. for adium and pidgin
  32. Darlan But since Adium is intended only for MacOS and has its own bundle, I expect them to modify it.
  33. dicson Darlan, do not forget pidgin,poezio, Yaxim ...
  34. Ge0rG "yaxim" please. its all lowercase :)
  35. Darlan Does Poezio use libpurple, too?
  36. dicson no
  37. dicson but it sends a non-unique caps
  38. dicson sleekxmpp.com
  39. Ge0rG http://xmpp.org/extensions/xep-0115.html#protocol is not 100% clear here. you could interpret "software application" as the xmpp library used, or not.
  40. Flow well if you considering caching of the entity caps ver strings, that it's ideally interpreted as the library used. because many clients may share the same xmpp library and have therefore the same xep115 node string
  41. Ge0rG Flow: that is only true if they also share the same set of caps, and some of the caps are runtime-configurable
  42. Flow that is correct, but at least if give the canche to re-use the cache
  43. Ge0rG is asking on jdev@
  44. Ge0rG at least on jdev muc ;)
  45. Flow but there are also another reason to use xep30 identities: there may be clients with xep30 but *without* xep115 support. canches are higher that you determien a client by using xep30
  46. Ge0rG not sure if anybody is using the identity field at all ;)
  47. dicson if i have 500 contact in roster when I need send 500 disco at startup. nice.especially at mopbile clients
  48. Ge0rG dicson: in the current discussion, it is rather a matter of 2 or 6 disco.
  49. dicson :-)
  50. dicson 500*2 or 500*6?
  51. Ge0rG Darlan: 2. not 500*2.
  52. Ge0rG eh, s/Darlan/dicson/
  53. dicson patch welcome. I do not know a way for asking clients info for all contacts in roster in one(2 or 6) disco
  54. Ge0rG dicson: how many client implementations are in your roster?
  55. dicson 7 at moment
  56. Ge0rG dicson: and this is what entity caps caches are for; so you do 7 queries this time, and 0 next time
  57. dicson patch welcome. or new plugin welcome
  58. dicson I remove my work with no regrets if you write better.
  59. dicson no problem
  60. Ge0rG dicson: heh. I'm glad if I can fix all the horrible problems in my own xmpp client
  61. dicson :-)
  62. Darlan dicson, error message transient for roster instead of disco: The service is not browsable This service does not contain any items to browse. Try with ♥@ツ.op-co.de/♨
  63. Ge0rG I'm not sure why, but my app is returning feature-not-implemented
  64. dicson Darlan, ok. can repro.will fix
  65. Maranda Ge0rG, maybe SMACK is?
  66. Maranda (was it using it?)
  67. Ge0rG Maranda: maybe; yes.
  68. Ge0rG dicson, Darlan: can you please re-try disco#info on ♥@ツ.op-co.de/♨
  69. Maranda thinks sometimes Gajim acked stanza count is a bit off regarding XEP-198
  70. Maranda *is tinkering*
  71. dicson <error type='cancel' code='501'>
  72. Maranda _ver ♥@ツ.op-co.de/♨
  73. bot Maranda: yaxim 0.8.6b-71-g49c1596+ // Android
  74. Darlan Ge0rG <!-- Out Fri 15 Nov 2013 06:23:12 PM IST --> <iq to="♥@ツ.op-co.de/♨" type="get" id="0000"> <query xmlns="http://jabber.org/protocol/disco#info" /> </iq> <!-- In Fri 15 Nov 2013 06:23:12 PM IST --> <iq id='0000' type='result' to='USERNAME@gajim.org/Gajim' from='♥@ツ.op-co.de/♨'> <query xmlns='http://jabber.org/protocol/disco#info'> <identity type='phone' name='yaxim' category='client'/> <feature var='urn:xmpp:carbons:2'/> <feature var='http://jabber.org/protocol/disco#items'/> <feature var='urn:xmpp:receipts'/> <feature var='http://jabber.org/protocol/caps'/> <feature var='urn:xmpp:ping'/> <feature var='http://jabber.org/protocol/disco#info'/> <feature var='jabber:iq:version'/> </query> </iq>
  75. dicson Darlan, fixed
  76. Darlan Thanks :-)
  77. Ge0rG ok, disco#info works, but disco#items is broken in yaxim. fixing.
  78. dicson install yaxim
  79. dicson SASL failed.
  80. Darlan https://trac.gajim.org/wiki/DiscoIconTheme#NaughtyServices :-P
  81. Maranda peeks
  82. Ge0rG aah, repaired!
  83. Ge0rG <iq type='get' to='♥@ツ.op-co.de/♨'><query xmlns='http://jabber.org/protocol/disco#items'/></iq>
  84. Ge0rG <iq id='' type='result' from='♥@ツ.op-co.de/♨'><query xmlns='http://jabber.org/protocol/disco#items'/></iq>
  85. Ge0rG dicson: only PLAIN and DIGEST-MD5 in smack :/
  86. Maranda Ge0rG, does it do starttls?
  87. Ge0rG Maranda: yes, required by default
  88. Maranda thinks either dicson's server isn't presenting a mechanisms it can use, or SMACKS DIGEST-MD5 could be broken like OpenFire's.
  89. bot RSS: Feeds for Gajim • Changeset [15165:1fed98a5b2e4]: set transient_for for 'This service does not contain any items to browse.' set transient_for for 'This service does not contain any items to browse.' https://trac.gajim.org/changeset/1fed98a5b2e4082e7194e2f544ca779a1bf6c687 • DiscoIconTheme edited Add Naughty Services (diff) https://trac.gajim.org/wiki/DiscoIconTheme?version=12
  90. dicson Maranda, jabbim.com
  91. Ge0rG Maranda: or maybe dicson mistyped their password?
  92. dicson will try again
  93. Maranda Ge0rG that too.
  94. Maranda :O
  95. Ge0rG dicson: http://duenndns.de/yaxim/yaxim-gl-2013-11-15.apk fixed disco#items
  96. dicson hehe. work fine
  97. Ge0rG the list is empty, but hey.
  98. Ge0rG what should a mobile client offer anyway?
  99. Maranda Hmm does Gajim supports resumption xep-198 wise?
  100. Maranda needs a client to test that bit.
  101. Ge0rG Maranda: yaxim does.
  102. Maranda :O
  103. Ge0rG http://duenndns.de/yaxim/yaxim-gl-2013-11-15.apk ;)
  104. Ge0rG I think we are all only implementing the urn:xmpp:sm:2 spec.
  105. Maranda Hmm apk package, not sure I remember how to install arbitrary packages.
  106. Ge0rG Maranda: android will complain about off-market source, and ask you to go to prefs IIRC.
  107. Maranda Ge0rG, I formerly had namespaced :3, but since you're all so lazy :P
  108. Maranda Ge0rG, I formerly had namespaced sm:3, but since you're all so lazy :P
  109. Maranda I had to fake it back to sm:2
  110. Ge0rG Maranda: I faked it because of prosody.
  111. Maranda iirc prosody had sm:3 also but it had to backdraw as well.
  112. Maranda waits bluejabb to load and join so he can copy the url.
  113. Maranda is downloading.
  114. Ge0rG Maranda: http://yax.im/apk for the lazy ones
  115. Maranda it's ok found out how to disable the security thing.
  116. bot RSS: Feeds for Gajim • Changeset [15166:a94ea3cb2223]: [Darlan] Update Hebrew translation [Darlan] Update Hebrew translation https://trac.gajim.org/changeset/a94ea3cb222308c101482ed9e181c99a013ab392
  117. Darlan Thank you.
  118. Maranda Ge0rG, it doesn't attempt to resume.
  119. Maranda just enables acks that I can see.
  120. Maranda either that or I dunno how to trigger resumption.
  121. Ge0rG Maranda: it doesn't if you quit. you need to have a connection interrruption (e.g. wifi -> 3g)
  122. Maranda hmm let me see.
  123. Maranda Nov 15 16:52:14 c2s2fafb50 debug Client sent opening <stream:stream> to lightwitch.org Nov 15 16:52:14 c2s2fafb50 debug Sent reply <stream:stream> to client Nov 15 16:52:15 c2s2fafb50 debug Received[c2s]: <resume h='33' previd='37911e03-5fd9-4a15-a158-772e8a6a30ca' xmlns='urn:xmpp:sm:2'> Nov 15 16:52:15 c2s2fafb50 debug Session is being resumed... Nov 15 16:52:15 c2s2fafb50 debug Closed the old session's connection... Nov 15 16:52:15 c2s37ef8d0 debug Received[c2s]: <a h='33' xmlns='urn:xmpp:sm:2'>
  124. Maranda \o/
  125. Maranda shiny
  126. Ge0rG so, does gajim do stream resumption? what else would 0198 be good for?
  127. Maranda Ge0rG, I'm not sure it does.
  128. Maranda Stanza Acking
  129. Ge0rG which is almost worthless if you can't resume
  130. Maranda Ge0rG, hm not really it could be very useful server side.
  131. Maranda at user level dunno since I don't expect end users to debug their own network issues.
  132. Ge0rG Maranda: end users complain if your message gets lost
  133. Ge0rG IMHO, a lost message is the signle worst thing that can happen to an IM client
  134. Maranda Ge0rG, stanza acking helps with that too.
  135. Maranda brb
  136. Ge0rG Maranda: stanza acking helps you to know which messages you lost; not with resending them
  137. Maranda Ge0rG, that doesn't prevent the server to resend 'em.
  138. Ge0rG Maranda: sure it does. the server will only generate errors to the other side
  139. Ge0rG btw, we all need to upgrade from urn:xmpp:sm:2 to urn:xmpp:sm:3
  140. Maranda Ge0rG, not really the fact it's beyond the (current) xep it doesn't mean it can't be done. possibly with a different extension using stanza acks.
  141. Ge0rG Maranda: dream on. it took four years for 0198 to take off - if you consider one server and three clients as taking off.
  142. Maranda also the doc doesn't also say what an entity can or can't do when they take responsibility of the stanzas.
  143. Maranda also the doc doesn't say what an entity can or can't do when they take responsibility of the stanzas.
  144. Ge0rG Maranda: right. it might just responsibly throw it out of the window. but usually, processing it is the way to go
  145. Maranda <<is the responsibility of the sender (e.g., to resend it or generate an error if it is never affirmed as handled by the server).>>
  146. Maranda coughs.
  147. Maranda a server could really decide to resend the stanza until it's acked by the other end.
  148. Ge0rG Maranda: I suppose resending is meant in the context of stream resumption
  149. Maranda honestly the doc doesn't specify or defines a context If I read it right.
  150. Maranda anyhow brb.
  151. grtschl hello
  152. grtschl i have a problem with the gajim roster list. all my contacts removed. in other clients but still all contacts are available
  153. grtschl In verbose mode to gajim also pulls all contacts, but the roster list is empty
  154. Have you checked if you accidentally turned off roster in the View menu?
  155. grtschl yes
  156. OK
  157. dicson no errors in terminal?
  158. grtschl no errors
  159. dicson Ctrl+O - and no clients in roster?
  160. grtschl no
  161. grtschl i had already deleted the entire account and re-added
  162. Maranda hmm
  163. Maranda Asterix:
  164. grtschl the funny thing is that the second account but displays a list ....
  165. Maranda Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nbxmpp/idlequeue.py", line 534, in _process_events return IdleQueue._process_events(self, fd, flags) File "/usr/lib/python2.7/dist-packages/nbxmpp/idlequeue.py", line 395, in _process_events obj.pollin() File "/usr/lib/python2.7/dist-packages/nbxmpp/transports_nb.py", line 426, in pollin self._do_receive() File "/usr/lib/python2.7/dist-packages/nbxmpp/transports_nb.py", line 612, in _do_receive self._on_receive(received) File "/usr/lib/python2.7/dist-packages/nbxmpp/transports_nb.py", line 626, in _on_receive self.on_receive(data) File "/usr/lib/python2.7/dist-packages/nbxmpp/dispatcher_nb.py", line 488, in dispatch handler['func'](session, stanza) File "/usr/lib/python2.7/dist-packages/nbxmpp/smacks.py", line 98, in check_ack h = int(stanza.getAttr('h')) TypeError: int() argument must be a string or a number, not 'NoneType'
  166. Maranda Happened during stream resumption.
  167. dicson grtschl, no idea. maybe broken roster in local db?
  168. Maranda tries to replicate it.
  169. grtschl i recovert a 2 day old backup and not changed the bug
  170. Maranda Hm yeah always happen on resumption.
  171. Asterix Maranda: hmm it seems there is no h attribute somewhere Gajim waits one ...
  172. Asterix Maranda: you have XML logs?
  173. Maranda hmmm let me pick it up.
  174. Maranda re-replicates.
  175. Maranda Asterix, maybe it's my fault let me see if I can fix it.
  176. Asterix Maranda: in any case Gajim should not crash and fails the resumption
  177. Maranda Asterix.. well Metronome is not setting the h attr on the resumed element, and it MUST.
  178. Maranda didn't notice it.
  179. Asterix ok, I'll still not at not crashing
  180. Maranda retests.
  181. Maranda <!-- Out ven 15 nov 2013 20:55:40 CET --> <?xml version='1.0'?> <stream:stream xmlns="jabber:client" to="lightwitch.org" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="it" > <!-- In ven 15 nov 2013 20:55:40 CET --> <?xml version='1.0'?> <stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='lightwitch.org' id='aac891c9-d5e4-4ece-b7fe-7e19c5497d5f' xml:lang='en' xmlns='jabber:client'> <stream:features> <sm xmlns='urn:xmpp:sm:2'> <optional/> </sm> <c hash='sha-1' ver='P9PJszr3/Ggzh4twC5j/sbMCktM=' node='http://lightwitch.org/metronome' xmlns='http://jabber.org/protocol/caps'/> <ver xmlns='urn:xmpp:features:rosterver'/> <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> <required/> </bind> <session xmlns='urn:ietf:params:xml:ns:xmpp-session'> <optional/> </session> </stream:features> <!-- Out ven 15 nov 2013 20:55:40 CET --> <resume xmlns="urn:xmpp:sm:2" h="28" previd="84dadcb5-e104-4f9d-8128-278e6dfe49f3" /> <!-- In ven 15 nov 2013 20:55:40 CET --> <resumed h='16' previd='84dadcb5-e104-4f9d-8128-278e6dfe49f3' xmlns='urn:xmpp:sm:2'/>
  182. Maranda Asterix, okay sorted :)
  183. Asterix great
  184. Ge0rG Maranda: I think the server does not need to send h with sm:2
  185. Maranda but sm:2 is just a fake... I really implement sm:3 it's just that no one does yet.
  186. Asterix the problem with those versions is that for example in Gajim when we switch to a new version, the old one is no more supported
  187. Ge0rG Asterix: same problem everywhere
  188. Ge0rG Maranda: you cant expect an sm:2 server to send sm:3 required elements ;)
  189. Asterix if it's a c2c feature, that breaks compatibility with other clients
  190. Maranda Ge0rG, there isn't much difference apparently.
  191. Maranda I didn't see any compat issue upto now.
  192. Maranda usually clients just ignore attrs they don't need and just don't parse 'em.
  193. Maranda The issue comes when I switch the namespace (obviously) though
  194. Maranda As it's what event dispatchers use mostly.
  195. Ge0rG I'll be looking into making yaxim accept both :2 and :3. what about the same in gajim? or do we need to request changing back the xep?
  196. Asterix we could maybe do the same, but I haven't looked at the differences
  197. Ge0rG Asterix: everybody implements :3 and writes :2 on the label
  198. Asterix in Gajim we expect :2
  199. Asterix currently
  200. Ge0rG Asterix: I am 99% sure you implemented :3 and just have :2 written in the namespace
  201. Asterix maybe
  202. Asterix I didn't implemented it myself
  203. Ge0rG I did in yaxim, and I labeled it :2 because prosody does so