Gajim - 2016-08-20

  1. linus ♥ nested callbacks
  2. linus lovetox, I think it's good to merge now
  3. bot RSS: Feeds for Gajim Plugins • Changeset [901:90e748ab1c84]: Add b[] • Changeset [902:748cc7c1cb4e]: Fix httpupload for GTK3 Not perfect yet,[] • Changeset [903:b6ea6f5bd[…] • Changeset [904:885261472f0d]: httpupload: Improve error handling - An error during the upload n[…]
  4. lovetox linus, great it works for me
  5. lovetox but i get the message in the log: GTK-Message: GtkDialog mapped without a transient parent. This is discouraged.
  6. linus Right
  7. linus that should be an easy fix
  8. hermann in the account details for a XMPP accout I can check the option that the should be a auto-reconnect when the connection is lost. This is check in my settings but it doesn't work. I still have to manually re-connect (after waiting 10min or so). Any ideas? thanks
  9. linus Or not super easy...
  10. lovetox hm hermann my account always reconnects instantly
  11. lovetox how are you disconnected?
  12. lovetox because of no reception
  13. hermann pc is put in standby and when it wakes up it doesn't re-connect
  14. lovetox i think this is a known bug
  15. hermann Ok, I'll check the bugs. Thx
  16. Link Mauve hermann, do you have network-manager enabled? Check it is checked in Help > Features > Network-manager.
  17. hermann yes, it's enabled
  18. hermann not sure if I have gnome network-manager or Pyhon - dbus (I'm on Linux Mint 17)
  19. hermann I have python-qt4-dbus
  20. lovetox hermann
  21. lovetox go to the ACE
  22. lovetox is "listen_to_network_manager" activated for all accounts
  23. hermann ACE is what?
  24. lovetox preference -> advanced -> editor
  25. hermann yes it is.
  26. hermann activated
  27. hermann I found this script
  28. lovetox hm it should work without any extras
  29. hermann but it just stops my pc from going into standby. Maybe it's too old has to be customized for my Mint 17
  30. hermann ok
  31. zak Hi. Does anybody know an acceptable XMPP client for the Windows Phone? (*ouch* No, please do not hit me...)
  32. Link Mauve zak, the other day I wrote a XEP to cover your issue, fyi:
  33. Link Mauve About your question though, no idea, maybe a web client?
  34. zak Hi Link. Ah, I was just wondering how that link should answer my question ;)
  35. zak web client? well... that should maybe work, but it would certainly be ugly
  36. zak The XEP does indeed sound promising. But with all the XEPs it depends on the acceptance and engagement of the developers.
  37. Link Mauve Sure.
  38. Link Mauve This one is super easy to implement though.
  39. zak There are so many (good!) XEPs out there with only prototype status and minor version numbers
  40. Link Mauve The status doesn’t really matter.
  41. zak As far as I see it Pidgin enforces the way everything in Jabber is working in the real world. (unfortunately!) just because it is the most used jabber client on the desktop.
  42. zak And because there is nothing developed there, no new technology/XEP can really spread.
  43. zak I recently had a discussion with someone using Pidgin, and the opinion was "Well it works, doesn't it" meaning, no reason to change anything.
  44. zak (from the users perspective)
  45. Link Mauve It’s funny, I’m just in the process of sending them two patches. :p
  46. zak for what?
  47. zak Message Carbon Support?
  48. zak OMEMO support?
  49. zak Stream Management?
  50. Link Mauve URI handling on Linux.
  51. zak well at least something
  52. Link Mauve First one already has a patch AFAIK.
  53. zak Now I am curios how long it will take until it is accepted and integrated into the code.
  54. Link Mauve First I have to test it. :)
  55. zak okay, good :)
  56. zak Message Carbons ticket is this:
  57. zak "Last modified 6 months ago"
  58. zak To really change something Jabber needs either a) motivated and good developers to implement this stuff in Pidgin b) some really really good killer feature which makes users switch from Pidgin to something else.
  59. linus Or more publicity for some client other than pidgin
  60. linus I mean, what is it that makes pidgin so popular?
  61. zak In the past it used to be the multi-protocol support feature I guess.
  62. linus It isn't GNOME's messaging application (was it once? It's empathy now, right?)
  63. zak And now most people just "know" Pidgin and used it in the past and why switch to something different.
  64. zak yes
  65. zak I wonder what the status of Empathy is.
  66. zak Cool, there is even a OMEMO-ticket for Empathy:
  67. zak Still status NEW of course...
  68. zak message carbons the same: not implemented, last modified 2015-10-28
  69. zak all the greatest XEPs are useless, if they are not implemented and used.
  70. zak I think a good approach would be to define some standard functionality set for XMPP servers and clients and promote these. Liki for example "Jabber Phoenix 1" means, the jabber server supports feature PEP, Stream Management, Message Carbons, ... And then Server admins could add a nice logo on their page and advertise, that their server is compliant to feature set "Jabber Phoenix 1" (name just made up by me)
  71. zak The same should be done for jabber clients
  72. Link Mauve zak, the latest one was
  73. Link Mauve Next proposed one will be:
  74. zak It sounds much better to tell someone "Hey please get a Phoenix1 jabber client" than "Your client doesn't support Stream Management"
  75. zak That sounds good, now the marketing team should work on this :)
  76. Link Mauve Which marketing team?
  77. zak yes, exactly
  78. zak that's what I mean. The XEP doesn't mean anything, if nobody cares about it. I have never even heard about the 2012 compliance suite.
  79. zak On clients and servers application pages it should read "Update: We are now xxx compliant"
  80. zak and if the statuses of the XEPs would get something like a "final" mark at some point, it wouldn't irritate developers. If I would start an XMPP client and I would think about implementing a certain XEP with draft status, I would think, well it looks like it might change in the future, I rather wait until it is finished.
  81. Link Mauve Btw, something you could help with would be to list what those two clients you consider not good actually don’t support, here for example:
  82. Link Mauve zak, that’s a terrible way to think, I doubt anyone would do that.
  83. zak not implementing something because it is a draft status?
  84. Link Mauve Final only means that there won’t be any fix possible.
  85. Link Mauve Yes, for example you wouldn’t be able to talk here since MUC is only a draft standard. :)
  86. zak yeah, ok maybe "final" is not the correct term
  87. Link Mauve Experimental is the status you think about, wrt “it might change in big ways before becoming a Draft Standard”.
  88. zak okay, than a developer can be sure, that he doesn't have to redo his implementation because the draft changes?
  89. zak Than this is a misunderstanding on my side. I hope other developers understand it better than
  90. zak then
  91. zak The table looks good by the way
  92. Link Mauve zak, explains in detail what each status means.
  93. zak ok, thanks for the link. then I withdraw this point
  94. zak [comparison table] but nevertheless, even if the table would be complete it wouldn't change anything.
  95. zak Ahh... even Psi is listed there. It was my favorite client before it was abandoned.
  96. Link Mauve zak, maybe, but it’s still a good resource to give to people as objective facts.
  97. zak btw: jabberd doesn't support Push Notifications, is that possible?
  98. Link Mauve You can report them a feature request.
  99. zak Maybe I will. I wasn't sure if it maybe does support it. I don't find a list of supported features.
  100. Link Mauve zak, you wanted to see how long it will take, here it is:
  101. zak Does this mean the pull request has been approved and integrated into the pidgin code?
  102. zak The status is "Open"
  103. Link Mauve No, that means I just submitted it, you can start counting now.
  104. zak :-) okay I will
  105. Link Mauve I also submitted before.
  106. zak It seems these are rather minor changes, so they should be integrated with less hassle.
  107. zak I guess I have to start programming at some point again. If I only had the time.
  108. Link Mauve Yes, they are minor changes, with great implications for usability.
  109. zak I wish you luck that they get approved quickly. Have you approved a pull request for Pidgin before?
  110. Link Mauve I’m not a Pidgin developer.
  111. Link Mauve This is actually my first contribution.
  112. Link Mauve Actually I’m not even an user, so…
  113. zak I don't use Pidgin anymore either.
  114. Link Mauve I never tried it.
  115. zak I remember the days when it was called "Gaim"
  116. zak That was a long time ago
  117. lovetox zak
  118. lovetox i commited the changes for the "omemo not supported" message to the repo
  119. lovetox maybe you could test it
  120. lovetox
  121. zak Hi lovetox. Thanks. I saw the commit before. I need to get some development version to test it right? Or can I wait for the next release?
  122. zak I don't have time at the moment but will try that later.
  123. lovetox hm no just clone the repo and replace your the folder where the plugin is
  124. lovetox or just download it as zip and replace the files
  125. lovetox it will not delete your database or keys or anything, they are stored somewhere else
  126. Link Mauve lovetox, just checked your commit, it’s a bad idea to remove the body in case no client would use it, due to MAM.
  127. Link Mauve Also, you should implement as well. :)
  128. zak brand new :)
  129. lovetox there is no problem with MAM, cause i use the store hint
  130. lovetox also i read that and i cant implement it with omemo
  131. Link Mauve I mean, if a client not supporting OMEMO retrieves the archive, it will see nothing instead of encrypted messages it can’t decrypt.
  132. Link Mauve lovetox, oh, why?
  133. Link Mauve It was my goal to make it usable with this one as well.
  134. lovetox maybe i understood it wrong, but lets first clear the MAM thing
  135. lovetox if a client not supporting OMEMO retrives an archive, it should see nothing
  136. Link Mauve No, it should see that some messages were exchanges, which it can’t decode.
  137. lovetox why would you let them see a message?
  138. lovetox i find that only useful if 2 resources are online at the same time
  139. Link Mauve Because it’s very bad usability-wise to retrieve messages and having the archive return stanzas which your client then ignores.
  140. lovetox i already see the people who come then and tell me how they can get rid of the message, cause they write encrypted with conversations to theire friends, and using pidgin on theire deskotp
  141. Link Mauve With EME, they will be able to configure their Pidgin to not display any encrypted message if they wish so!
  142. lovetox brings me to the next question
  143. lovetox why a new namespace? every encryption has its own
  144. lovetox pgp, omemo
  145. lovetox you can already determine what encryption is used
  146. lovetox whithout a additional namespace for an additional xep
  147. Link Mauve If I use a client that hasn’t been updated since 2012, it can’t know that urn:xmpp:omemo:0 is an encryption method.
  148. Link Mauve Nor urn:xmpp:openpgp:0 for example.
  149. Link Mauve Or any newer extension that would be added next year.
  150. zak Doesn't the client then have to be updated to recognize EME?
  151. Link Mauve zak, yes, if it doesn’t it will use the body instead.
  152. Link Mauve But EME is better for usability, since it allows a client to know whether a particular message was encrypted or not, without having to know about ever encryption scheme existing.
  153. Link Mauve But EME is better for usability, since it allows a client to know whether a particular message was encrypted or not, without having to know about every encryption scheme existing.
  154. zak There just appeared an "Ab"-Icon after your message.
  155. zak What does it mean?
  156. lovetox he corrected his message
  157. Link Mauve Ab?
  158. zak Ah, okay.
  159. lovetox if you hover over it
  160. Link Mauve Yes, I made a typo.
  161. lovetox you can see the original
  162. lovetox if you are on gajim
  163. zak Ah, I missed the tooltip.
  164. lovetox on gajim you can correct with
  165. lovetox crtl + arrow up
  166. zak Great to know. Thanks.
  167. lovetox ok i see it Link Mauve, but i still am not amazed in sending with any message a body, even if all resources support the encryption
  168. lovetox you will just annoy yourself
  169. lovetox with carbon copies that all say the same thing
  170. lovetox but maybe not, maybe its a good idea
  171. Link Mauve lovetox, mark them as non-carbonable maybe?
  172. lovetox i dont really know :)
  173. Link Mauve Hmm, no, that would be a bad idea.
  174. Link Mauve Get your other client to implement EME and to ignore messages you send that couldn’t be decrypted.
  175. Link Mauve That’s imo the way forward.
  176. lovetox yeah, the problem here is that we all talk about one specific client
  177. lovetox who never will implement anything anymore :D
  178. Link Mauve I’m pretty sure that’s not true.
  179. lovetox but yeah maybe i should try that with the body, and see what people say
  180. Link Mauve And if you are talking about Pidgin, it doesn’t support Carbons in the first place so you don’t have this issue.
  181. lovetox ahah :D
  182. lovetox great
  183. zak yes we got that earlier :(
  184. zak As for the implementation, I am unsure myself on how to do this. I think this and the implications should be discussed further.
  185. lovetox ah another thing i wanted to ask
  186. Link Mauve I did my first contribution to it just a few hours ago. ^^
  187. zak contribution to what?
  188. lovetox because omemo uses the encryption tag for the encrypted message
  189. Link Mauve zak, Pidgin.
  190. lovetox but that wouldnt be a problem with eme or?
  191. Link Mauve lovetox, that’s not a problem no, you can have as many payloads as you want in a message.
  192. lovetox and whats the difference between xmlns
  193. lovetox and namespace
  194. Link Mauve urn:xmpp:eme:0 is the current EME namespace.
  195. lovetox <encryption xmlns='urn:xmpp:eme:0' name='OpenPGP for XMPP' namespace='urn:xmpp:openpgp:0'/>
  196. lovetox so are there two namespaces now in the tag?
  197. Link Mauve xmlns is the namespace of the tag, namespace is the attribute identifying the encryption mechanism used.
  198. Link Mauve Maybe I should rename the attribute “mechanism” or something?
  199. lovetox so if i currently check a tag for the omemo namespace, i would have to change that to eme
  200. lovetox and then get the attributes of that
  201. Link Mauve No, you do both in different contexts.
  202. Link Mauve EME is only useful if you are a client which doesn’t understand the OMEMO namespace, here.
  203. Link Mauve It should be implemented in Gajim core, and could for example propose to install your plugin to decrypt future OMEMO messages.
  204. lovetox no i menat
  205. lovetox how you did write this, its a deviation from the omemo xep
  206. lovetox in the omemo xep a tag looks like this
  207. lovetox <encrypted xmlns='urn:xmpp:omemo:0'>
  208. lovetox so the tag namespace is omemo
  209. lovetox other clients will check for that
  210. lovetox thats why i ask if the a xmpp function that will search for a namespace in a tag
  211. lovetox will find it
  212. lovetox if its a attribute
  213. lovetox and not the tag namesapce
  214. Link Mauve Ah of course, in XML elements are distinct by name and namespace.
  215. Link Mauve <encrypted xmlns="a"/> and <encrypted xmlns="b"/> are totally different elements, despite having the same tag name.
  216. lovetox yes i know that, but if i have a function getTag(namespace=omemo)
  217. lovetox will it search for the xlmns and the namespace
  218. lovetox or only for the xlmns
  219. Link Mauve I don’t understand the question.
  220. Link Mauve The namespace of an element is defined by its closer xmlns, either in this one, or in its parent, etc.
  221. Link Mauve There is also the case of prefixes, like <a:name xmlns:a="test"/> being equal to <name xmlns="test"/>.
  222. Link Mauve This form is not used much on XMPP though.
  223. lovetox what i mean is
  224. lovetox gajim works with nbxmpp
  225. lovetox the Node has a methode
  226. lovetox getTag, and you can specify a namespace
  227. lovetox i think the namespace to specify here would then be eme
  228. lovetox and not omemo
  229. Link Mauve Yes.
  230. lovetox because its not anymore the tag namespace
  231. lovetox yeah but that would break every application who searches now for a tag namespace of omemo
  232. lovetox like in the omemo xep written down
  233. Link Mauve Huh?
  234. lovetox thats omemo <encrypted xmlns='urn:xmpp:omemo:0'>
  235. Link Mauve No other application is searching for an OMEMO tag in the eme namespace, is it?
  236. lovetox <encryption xmlns='urn:xmpp:eme:0'
  237. lovetox there is no omemo namespace anymore
  238. lovetox because you replaced it with eme
  239. Link Mauve Both of those have different (name, namespace) tuples, so it won’t cause any issue.
  240. Link Mauve Ah, you didn’t understand how my XEP works.
  241. lovetox no i dont understand how the xmpp frameworks filter namespaces out of xeps
  242. lovetox ah tags
  243. Link Mauve Every message you send will be of the form <message><encrypted xmlns='urn:xmpp:omemo:0'>stuff here…</encrypted><body>This is for legacy clients not implementing either OMEMO or EME</body><encryption xmlns='urn:xmpp:eme:0' type='omemo'/></message>.
  244. lovetox ahhhhh
  245. Link Mauve Err, namespace instead of type.
  246. lovetox a second tag
  247. lovetox now i get it
  248. lovetox ooook
  249. lovetox so i have two encrypted tags in my message, ok that works of course
  250. Link Mauve The goal is just to inform compatible clients that this is an encrypted message, not how to read it or anything.
  251. Link Mauve Was example 2 not clear enough about that?
  252. Link Mauve Do you think I should explicit things further?
  253. Link Mauve Please comment on standards@ about anything you found unclear while reading it.
  254. lovetox you only show pgp which has its own tag
  255. lovetox and otr, which uses only the body
  256. Link Mauve That’s because OMEMO isn’t published yet.
  257. Link Mauve I’d have included it otherwise.
  258. lovetox yeah now in hindsight is logical but for me (not so long into xmpp) it looked like you wanted me to add the eme to the already existing encryption tag for omemo
  259. Link Mauve No, different namespaces are totally independent things.
  260. Link Mauve But please post about that on standards@.
  261. lovetox how do i get there
  262. Link Mauve It’s a mailing list, see
  263. lovetox ok thanks
  264. lovetox Link Mauve, im feeling dumb, how do i write to a mailing list, obviously with email, but how do get the threads into my mailing client
  265. lovetox thunderbird for example
  266. Link Mauve lovetox, hmm, I used to use gmane for that, but it’s down currently. :/
  267. lovetox or do i have to just use the exact topic title
  268. Link Mauve You have to answer to the Message-Id.
  269. lovetox kk i will search
  270. Link Mauve So to in this case.
  271. Link Mauve I don’t know how to do that with Thunderbird, I’ve never used it.
  272. Link Mauve zak, my first pull request has already been merged. :p
  273. Link Mauve Second one has only been approved, but the reviewer wanted more reviews.
  274. Link Mauve So I don’t believe you the project is dead. :p
  275. lovetox pidgin is written in c?
  276. Link Mauve Yes.
  277. lovetox Link Mauve, i added the eme encrypted tag
  278. lovetox i will sleep on sending the body always
  279. Link Mauve Note that EME is still a ProtoXEP, it might change before it gets accepted as Experimental.
  280. Link Mauve But thanks!
  281. Link Mauve I will add support for it to poezio. :)
  282. Link Mauve And that will make two implementations, so the extension will be able to become Draft Standard soon!
  283. lovetox note that its not implemented in gajim itself, the omemo plugin just adds the tag to omemo messages
  284. Link Mauve zak, yes, that’s fine.
  285. Link Mauve Err, lovetox*
  286. Link Mauve Sorry.
  287. Link Mauve lovetox, you should enable Stream Management. :p
  288. lovetox no sorry i just have to restart gajim so often to develope
  289. lovetox :D
  290. Link Mauve Ah, fine then. :D
  291. Link Mauve It’d be fun to implement some kind of session dump that could be resumed on restart, for example to upgrade while keeping all of your windows and your connection exactly as they are!
  292. lovetox Link Mauve
  293. lovetox i have a question to MAM
  294. lovetox maybe you know
  295. lovetox when i receive a message
  296. lovetox the message contains the archive tag, with the MAM ID the message was archived
  297. lovetox would you use on the next restart then this last received MAM ID to request all messages after that?
  298. lovetox or just from the last ID you received with your last MAM Request
  299. Link Mauve I’ve never worked with MAM, sorry.
  300. Link Mauve You should probably ask at instead.