Gajim - 2017-12-29

  1. yuyuyak I have a question about more info on plugins
  2. yuyuyak I have a simple plugin for echoing incoming messages to festival speech synthesizer, in the same manner as the pidgin festival plugin. I've been using it for a year or so and it suits my needs perfectly
  3. yuyuyak I'd like to submit it and I understand the submission instructions at
  4. yuyuyak But for public consumption I believe features/improvements are necessary
  5. yuyuyak I'm stuck on implementing these features
  6. yuyuyak 1. I'd like to put a button on the bottom of the chat window (with the other buttons) to enable/disable festival
  7. yuyuyak 2. I'd like to allow configuration of the plugin, for one thing to display/not display that button. Another, possibly more important configuration item would be the location festival uses for it's temporary audio file (like a pid). On my Funtoo linux that is /tmp/audiofile_xxxxx, with xxxxx being some arbitrary number. I have no way of knowing if that location is the same throughout the linux universe, so if a user could change that if necessary it would make the plugin usable for everyone.
  8. yuyuyak If someone could direct me to good instances of button creation and configuration I would be grateful.
  9. baitisj Hi there Gajim
  10. baitisj I "fixed" a bug in python-nbxmpp that resulted when the library was passed an invalid file handle which would cause huge problems with the file queue
  11. baitisj this has been plauging me for at least a year
  12. baitisj going to try to "fix" for the GTK file handle notification queue too
  13. baitisj Seems I can't fix the GlibIdleQueue.
  14. Asterix yuyuyak: Am I right to think your plugin is for 0.16 branch? So submition has to be in gajim_0.16 branch. Don't hesitate to port it to py3 / gtk3 for master branch. In any case, you can look at the code of other plugins as example. Tictactoe or white board plugins have buttons. Many plugins has config window. For the temp files, you have a function in python itself (in os module iirc) to get temp folder. And can your plugin work under Windows ? Don't hesitate to submit a merge request!
  15. Asterix baitisj: when a wrong file handler can be passed to the lib ? Don't hesitate to open a merge request to discuss that
  16. Asterix baitisj: and you don't need special access to gitlab to submit a MR
  17. yuyuyak thanks Asterix. I have looked at other plugins but not tictactoe, I'll give it a shot.
  18. Asterix yuyuyak: don't hesitate to open a merge request, or show us your code so we can help you
  19. yuyuyak it's actually a os call function that looks for that file, so external to python
  20. yuyuyak I will do that. also, any suggestions for setting up config options?
  21. Asterix Yes copy code in an existing plugin
  22. yuyuyak ok, haven't searched for that as extensively, so I'll stumble through that. Thanks again
  23. Asterix Thanks for sharing your work
  24. rom1dep shouldn't gajim check for the room not already being joined/in the bookmark when the user clicks on a link like xmpp:theroom@conference.demoserver.tld?join ? (and just jump to it directly when this room is already known)
  25. rom1dep Right now I'm offered a modal window to join as it's the first time, with the nick to use, whether to bookmark/autojoin or not…, which is useless, if the room is already open in some tab
  26. rom1dep Asterix: also, abot ctrl+tab jumping to the priority tabs, it doesn't seem to cycle through chats with backlog but no highlight, is that intentional?
  27. bullgard4 [Debian testing] '~$ aptitude why gir1.2-geoclue-2.0' gibt aus: "i gajim Empfiehlt gir1.2-geoclue-2.0'. <-- Why does Gajim 1.0.0~alpha2-1 Recommend the installation of a library with geoclue-Informationen?
  28. bot mt created an issue in _gajim_ <>: #8824: <Gajm menu entry missing on Ubuntu 17.10>
  29. bot mt modified an issue in _gajim_ <>: #8824: <Gajm menu entry missing on Ubuntu 17.10>
  30. lovetox bullgard4, because you can share your location with gajim
  31. lovetox baitisj, you can now fork on
  32. lovetox please submit your patch as a MR
  33. lovetox thanks for the work
  34. bot Philipp Hörist modified an issue in _gajim_ <>: #8824: <Gajm menu entry missing on Ubuntu 17.10>
  35. int lovetox, apollo13 i just had to go back to 8ea39cff - yesterday's problem persists. and i ve double and triple checked dns
  36. lovetox hm i can test from my mac today
  37. int lovetox, would be nice.. :) even if it was a dns problem, gajim should allow to start anyway and not just disappear.
  38. lovetox it crashes?
  39. int lovetox, yes.. it just closes but even with -v there are no critical error messages
  40. lovetox Oo weird, i will check that
  41. int lovetox, i can give you a debug output if you tell me how to increase verbosity
  42. lovetox you could give me an account on your server to test
  43. int lovetox, of course
  44. debacle Gajim 1.0.0 alpha2 has a nice window to see available server features (PEP, HTTP upload, etc.). Is there something similar in Gajim 0.16.8?
  45. lovetox no
  46. debacle Yet another reason for me to get rid of the old version :~) Thanks!
  47. zak Is there a roadmap for 1.0 final?
  48. lovetox no
  49. frainz hi, is there a way to mute mucs?
  50. mdosch frainz, what do you mean? usually you only get a notification when your nick is mentioned
  51. frainz can i change this preference roomwise?
  52. lovetox what gajim version are you using?
  53. frainz 0.16.9
  54. bot Philipp Hörist created an issue in _gajim_ <>: #8825: <Gio.Resolver() can not handle multiple querys on MacOS>
  55. bullgard4 lovetox, Ok. - Thank you.
  56. zak Great... You come home, update Gajim to alpha... Be happy... Run Gajim. Error appears, nothing is clickable, error dialog does not disappear. 🙁
  57. zak Something in, photo = vcard['PHOTO']['BINVAL'] ... string indices must be integers
  58. zak Is this already known and maybe solvable with a quick workaround?
  59. lovetox probably yes if you give me a full traceback
  60. zak I have it on my pc, but cannot send it with Gajim. Typing with Conversations now...
  61. zak Wait...
  62. lovetox just paste it here
  63. lovetox
  64. zak PC != Handy
  65. zak Ah, ok
  66. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <>: *361ad92b* <> Remove unused code
  67. zak PHP Error was encountered
  68. zak Look here:
  69. lovetox and this crashes your gajim?
  70. zak Not really, but the UI is unresponsive.
  71. lovetox there is somewhere a modal exception dialog
  72. zak Messages seem to be received, but I cannot click anything.
  73. zak Yes, with that message in it.
  74. lovetox and you cant close it?
  75. zak If I click 'Close', the button gets pressed, but then nothing happens, the dialog stays open with the button pressed.
  76. lovetox maybe there are many dialogs :)
  77. lovetox press fast
  78. lovetox are you on linux?
  79. zak Yes
  80. lovetox can you put print statement where i tell you, then we can solve this fast
  81. zak It doesn't look like several dialogs.
  82. zak Of course.
  83. lovetox
  84. lovetox around line 478
  85. lovetox try: photo = vcard['PHOTO']['BINVAL'] except (KeyError, AttributeError):
  86. lovetox try: print(vcard) photo = vcard['PHOTO']['BINVAL'] except (KeyError, AttributeError):
  87. lovetox like that
  88. lovetox then start
  89. lovetox and save console output
  90. zak Well... now the error is gone :-P
  91. lovetox hm let the print statement there
  92. lovetox its not gone
  93. lovetox some of your contacts be it in gropuchat or roster
  94. zak Let me paste the full console output... sec...
  95. lovetox has some invalid avatar
  96. lovetox no zak
  97. zak not here of course
  98. lovetox i dont need it if you have no error
  99. lovetox of course that print statement prints all vcards
  100. zak there is something else, don't know if that is important
  101. zak
  102. lovetox hm clean up your plugin folder
  103. lovetox and download the correct plugins for 0.98
  104. lovetox or use debian unstable repo for plugins
  105. lovetox and install pillow :)
  106. zak whats pillow?
  107. lovetox then you can see conversations avatars
  108. lovetox a image lib
  109. zak here ? ~/.local/share/gajim/plugins
  110. zak remove completely?
  111. lovetox yes
  112. lovetox teh contents
  113. lovetox not the plugin folder
  114. zak ok, see you soon (I hope)...
  115. baitisj Asterix, I emailed a patch to lovetox because I wasn't able to clone the python-nbxmpp repository successfully (I'll try to figure out the merge request in a bit here
  116. lovetox baitisj, i made it so you can clone know
  117. baitisj oh, lovetox granted me fork permissions
  118. baitisj Hi :-)
  119. lovetox hi =)
  120. baitisj lovetox, I tried unsuccessfully to figure out who was sending invalid file handles to the library
  121. baitisj I do get e.g. 12/28/2017 21:45:33 (W) gajim.c.resolver Could not resolve host: No DNS record of the requested type for ''
  122. lovetox yeah then your server doesnt use that srv record
  123. lovetox no problem
  124. baitisj that's about the only error I see in the log before I end up seeing the invalid file handle condition
  125. zak I'm back, the output is now shorter. I created another paste:
  126. lovetox baitisj, weird i run gajim on mac, linux, windows, and have never a invalid file
  127. baitisj I'm wondering if it's not related to the invalid srv record then
  128. lovetox no it is not
  129. lovetox we all have that
  130. lovetox very few servers support that
  131. baitisj in that case I wont chase it :-)
  132. lovetox on what system are you?
  133. lovetox thanks zak, i know now how to solve the problem :)
  134. baitisj I'm running FreeBSD, but I also noticed this in Windows
  135. zak me? Debian stable
  136. lovetox but why is your nbxmpp using the select queue
  137. lovetox and not the glib one
  138. zak And I still have the problem to type my pgp-passphrase several times on startup :(
  139. baitisj lovetox, I forced it to use select queue because the glib queue also presumably suffers from the same invalid file handle issue
  140. lovetox it seems you run on an old python-gnupg version
  141. lovetox zak
  142. zak python-gnupg 0.3.9-1 and python-axolotl 0.1.35-3
  143. zak ok, axolotl 0.1.35-3 seems to be sufficient, just needed the python3 version
  144. baitisj so lovetox: the manifestation of this invalid file handle was the following message in the error log: ```nbxmpp.transports_nb calling send on empty buffer and queue``` Once I switched to select queue and added my code to verify the file handles and dispose of invalid ones, the message has magically disappeared and the performance of gajim is increased tremendously
  145. lovetox yeah, still only a workaround for the issue that for some reason there are a lot if invalid file handles
  146. baitisj lovetox, do you receive the "send on empty buffer" warning on your machines?
  147. lovetox no
  148. baitisj interesting.
  149. lovetox either way, its good to handle them correctly if there are any for whatever reason
  150. baitisj I can say this has made gajim unusuable here until my fix, which I'm pushing right now.
  151. bot Jeffrey Baitis proposed a new merge request for _python-nbxmpp/master_ <>: Fixes the case where SelectIdleQueue is passed an invalid file handle resulting in atrocious performance.
  152. zak I see the Gajim main window has a min-width now to make all 4 menu entries visible? It would be nice to make it narrower nevertheless.
  153. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <>: *b8fd8c8a* <> Catch exception when parsing avatars If the VCard contains a <PHOTO/> tag this is parsed as {'PHOTO': ''} this throws: TypeError: string indices must be integers
  154. lovetox should be fixed zak
  155. lovetox main window cannot be smaller then the menubar
  156. zak Thanks!
  157. zak Really? Is this a GTK3 limitation?
  158. lovetox if you want to make something smaller then it is, you need a scrolled window
  159. lovetox and i dont think you can put menus into a scrolled window
  160. zak Well, before GTK3 there was just a small arrow and you could navigate all menu entries.
  161. lovetox but you can configure gajim so that you dont need the roster
  162. lovetox either you use One Window Mode
  163. zak Isn't the roster the contact's-list?
  164. lovetox and hide the roster completely
  165. lovetox if you want to start a new chat, ctrl + n
  166. zak Yes... that would be GTK3-style UX... remember yet another key-combination to do something.
  167. zak I really would like to see my roster and see who is online and who is offline.
  168. lovetox then look at it
  169. lovetox no need to see it all the time
  170. zak I want to have it visible all the time.
  171. lovetox i guess when using facebook you dont say that
  172. zak I never used facebook.
  173. lovetox it becomes useless with a certain amount of contacts
  174. lovetox its shows you maybe 30 contacts
  175. lovetox if you have 200 thats useless
  176. zak And I never understood why the gtk3 titlebar needed to be twice as high.
  177. zak But I am getting off topic
  178. zak Nevermind that. I really appreciate your work with Gajim lovetox!
  179. lovetox thanks
  180. baitisj Getting a fair bit of : (gajim:87738): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x81a73fa80 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? Object has been deleted. Segmentation fault
  181. bot Jeffrey Baitis closed a merge request for _python-nbxmpp/master_ <>: Fixes the case where SelectIdleQueue is passed an invalid file handle resulting in atrocious performance.
  182. lovetox the gtk warning is normal
  183. lovetox seg fault not
  184. bot Jeffrey Baitis proposed a new merge request for _python-nbxmpp/master_ <>: Detect invalid file handles when passed to SelectIdleQueue
  185. baitisj I'll see if I can't get a backtrace here and figure out what's going on
  186. lovetox baitisj, you dont need to close a MR only because you want to update it
  187. lovetox the MR is always a mirror of your fork
  188. lovetox if you change your fork, so does the MR
  189. lovetox opening and closing does nothing
  190. baitisj lovetox, sorry. thanks for the clarification.
  191. baitisj I was under the impression that a merge request would include a specific set of patches
  192. lovetox no it includes a timestamp
  193. lovetox from that time you open it mirrors
  194. lovetox all commits from that timestamp on in your fork
  195. baitisj Wow, I didn't realize it would be a proactive request. I figured it would only be retroactive up UNTIL the time of the MR creation
  196. lovetox no that was bullshit
  197. lovetox a merge request mirrors all differences between the two repos
  198. lovetox no timeframe
  199. lovetox if you keep commiting to your fork, the differences grow and will be displayed
  200. baitisj That's definitely more convenient for working locally.
  201. lovetox anyone here :)?
  202. lovetox in groupchat the roster is per default hidden
  203. lovetox do you often show it to look at it, and do you keep it shown then?
  204. lovetox or is it often just to see if someone is in the room but then hide the roster again
  205. doczkal lovetox: ?
  206. lovetox im talking to you doczkal
  207. lovetox :)
  208. lovetox im thinking about making the groupchat roster a real overlay over the textview
  209. lovetox but then it certainly is not expected to stay longer shown, because it would overlay the text in the chatwindow
  210. lovetox but there is really no reason to keep it shown longer then it takes to execute a action like starting a private conversations for example
  211. lovetox but i guess someone would want it shown the whole time im sure
  212. doczkal I'm not sure if I can follow you. Might be because I'm on conversation for the time being.
  213. lovetox groupchat roster, a real overlay over the chat, not in its own box
  214. doczkal Can you send me a picture? 🙂
  215. lovetox its not about how it looks, if i do that the roster overlays the text of the message window, so you cant read part of the text
  216. lovetox thats not bad if the roster is only used for quick action and then hidden again
  217. lovetox the question is, is there a need to display the roster over a longer timeframe
  218. rom1dep apparently, I get a bunch of errors upon reconnect because of biboumi's MAM: gajim.c.message_archiving Malformed MAM query result received: <iq xmlns="jabber:client" […]
  219. lovetox yes this is a bug in biboumi that was fixed 1 or 2 days ago
  220. lovetox so server is probably not updated yet
  221. lovetox rom1dep, whats your opinion on the roster topic :)
  222. rom1dep lovetox: I was almost sleeping until a message caught my attention and I had to go for downgrading ejabberd, I'm sorry I missed that discussion
  223. rom1dep lovetox: I think I get the gist of your proposal, I like to have the groupchat roster as it is currently
  224. rom1dep in its own box, with a quick and obvious way to show/hide it
  225. rom1dep on small mucs (e.g. family MUC) I like to keep an eye on it, so I want it always shown there. On large MUCs it's not to important so I would have it closed by default, or overlay
  226. lovetox i think i will do a demo :D but i see there is need to have it open for a longer time
  227. lovetox so i will account for that
  228. rom1dep yup, I'll check your demo out for sure, curious to see how it would look nonetheless
  229. lovetox the reason im thinking about this is not to make it look better, but because the current gtk widget i use creates problems
  230. lovetox and i want to get away from it
  231. rom1dep what kind of problems does such a simple widget make?
  232. lovetox the one where you have the handle and can make one side bigger then the other
  233. lovetox did you not encounter the text jumping bug?
  234. lovetox also it throws the gtk warnings
  235. rom1dep oh you mean that Gtk chokes its vertical constraints due to this container having a variable width?
  236. doczkal Hmm, I'd like to add that I'm on i3 (Arch or Gentoo) and my buddy list is always visible
  237. rom1dep lovetox: maybe it's time for PyQt5? :)
  238. lovetox rom1dep, yes, its a bit of a complicated widget
  239. lovetox im sure qt has also it fair share of difficult scenarios :)
  240. rom1dep but if I understand correctly, this is a bad bug
  241. rom1dep resizeable containers isn't some crazy futuristic holographic UX design
  242. lovetox im not so happy with the gtk textview
  243. lovetox it does not fair well with resizes
  244. lovetox but on the other hand, im probably not a very experienced gtk dev
  245. rom1dep what do the maintainers think about it?
  246. rom1dep is there a bug report somewhere?
  247. lovetox i do bug reports often, there are a view about this Gtk.Paned Widget
  248. lovetox but its time consuming
  249. lovetox i have to recreate the bugs with minimal examples
  250. lovetox but i can show you one
  251. rom1dep I'm done for the day, I may give it a shot after tomorrow
  252. rom1dep it'd be so nice to have actual Gtk devs using gajim
  253. rom1dep or maybe not, maybe the UI and paradigms would end-up following the next fad, just like everything is being shuffled around every now and then in Gnome :)
  254. lovetox
  255. lovetox rom^1
  256. lovetox rom1dep,
  257. rom1dep this one bites me often. That's bad.
  258. baitisj rom1dep: I'm with you regarding pyqt5. Gtk is a bug. 😉