Gajim - 2017-10-02

  1. andrey.g 15 rejoins during 19 minutes. Oh yeah.
  2. timvde Hi. We've been using Gajim in our organisation for a while now, but there are some annoyances we've hit. I wanted to have a look at the code to contribute some patches, but I got stuck just running current master locally. `pip install .` appears to install the wrong gi? I'm getting this error when launching gajim, which looks like Python 2 instead of 3...
  3. timvde I'm on Arch Linux, FWIW, and I created a virtualenv with Python 3.6
  4. mathieui timvde, try python install maybe?
  5. mathieui ( even explicitely refuses installing with python2)
  6. timvde mathieui: That seems to have improved the situation :)
  7. timvde Now how do I actually run gajim? I was trying to immediately run the file in my virtualenv, but that still doesn't seem to work
  8. mathieui timvde, and you may need to create your venv with --system-site-packages because gi packages aren’t in pip, they may have to be system-wide
  9. timvde Ah, let's start again
  10. mathieui if you run inside the venv you ought to have a "gajim" in your path that’s from the local install
  11. timvde `which gajim` points to /usr/bin/gajim
  12. timvde Hmm, no AUR package called python3-gi, that's a bummer
  13. mathieui tanager, gobject-introspection ?
  14. mathieui (sorry)
  15. timvde All right, just running and not pip install seems to work
  16. timvde It didn't like launching gajim from git next to my existing install, though :P
  17. mathieui heh, probably some dbus wizardry interfering
  18. mathieui (also if you use zsh you have to run "rehash" to have the right result to "which" even in the venv)
  19. mathieui you need python-gobject and gobject-introspection, obviously
  20. timvde Ah, I'm using zsh indeed. Now I just used the full path, that also works :P
  21. timvde Now let's look into the code, thank you for your help :)
  22. lovetox hm maybe it was pip2?
  23. lovetox it works for me with pip
  24. lovetox also if you run from source, there is no need to install gajim
  25. lovetox you can just do ./
  26. lovetox if you have the dependencys installed
  27. lovetox also i guess you run 0.16.x in your company
  28. lovetox this is a lot different to the master branch
  29. lovetox 0.16.x is python2
  30. lovetox and is in the "gajim_0.16" branch
  31. lovetox you could also tell us the annoyances, maybe there is already a solution
  32. Link Mauve timvde, why are you not using my gajim-git package, from AUR?
  33. Link Mauve It helpfully avoids having to do anything with venv, or putting stuff manually in your system.
  34. timvde lovetox: mainly that the combo mam/muc doesn't work, and that Gajim doesn't show mentions when playing history
  35. timvde And I suppose that at some point master will get stable, it's nothing *big*, so we can wait ;)
  36. timvde Just making sure that at some point this gets fixed
  37. lovetox timvde, if you use gajim inside a company i guess you use your own company server
  38. lovetox you can configure that the server servs a very big amount of history messages on join
  39. lovetox which could be a workaround until mam muc is done
  40. timvde lovetox: That's what we already do :)
  41. timvde that's why I say "small annoyances"
  42. timvde Not "big problems"
  43. lovetox ah ok good :)
  44. lovetox getting mentions to work should not be too hard
  45. timvde indeed, sounds like a few lines patch at most
  46. timvde Got busy today, but I should have some time tomorrow evening
  47. timvde (It's not a company, by the way, it's a FOSS-minded student association)
  48. lovetox lets call it a group of people working on something :
  49. timvde Sounds accurate :)
  50. lovetox i can take a look and give you hints where the parts are that need modification
  51. timvde lovetox: I'll ask if I can't find it, no worries :)
  52. timvde thanks for your help
  53. lovetox its in i can tell you that much, and you should find the parts when you search for "highlight"
  54. lovetox =)
  55. timvde Ah, great, thanks :)
  56. lovetox the code that highlights messages is in "print_conversation()"
  57. lovetox but we need it also in "print_old_conversation()"
  58. cippaciong Yesteday I upgraded gajim-git from aur and now the omemo plugin is not loaded anymore, is not even listed in the plugin list
  59. cippaciong HttpUpload and Url Image Preview seem to load correctly but I installed them manually in my home, I didn't use the aur package like the omemo-plugin
  60. cippaciong Should I move its file from /usr/share to /usr/lib?
  61. debacle cippaciong‎: if AUR is similar to Debian, I assume it is because of Python 2 vs Python 3
  62. cippaciong debacle, aur stands for arch user repository so no, nothing to do with debian :)
  63. debacle cippaciong‎: You got me wrong: I mean "similar in the sense how the packages work" :~)
  64. debacle the installed packages are located in paths that are different for Python 2 and 3
  65. debacle while the stuff in your home is accessible to both
  66. pep. debacle, -git or -$VCS packages on aur usually mean master
  67. cippaciong Link Mauve, any idea?
  68. Link Mauve cippaciong, which of the three gajim-plugin-omemo* are you using?
  69. cippaciong gajim-plugin-omemo-gtk3
  70. Link Mauve Yes, you need to put them to the current plugins directory.
  71. Link Mauve /usr/lib/python3.6/site-packages/gajim/plugins
  72. Link Mauve /usr/lib/python3.6/site-packages/gajim/plugins/
  73. cippaciong I did that, but it's not working apparently
  74. Link Mauve Hmm…
  75. cippaciong gajim-plugin-omemo-gtk3 /usr/lib/python3.6/site-packages/gajim/plugins/omemo/
  76. cippaciong This is taken from pacman -Ql
  77. cippaciong This is taken from pacman -Ql
  78. Link Mauve That looks fine.
  79. pep. Link Mauve, maybe you could add the package in gajim-git's optdepends btw
  80. Link Mauve cippaciong, try debugging the scan_dir_for_plugins() function from plugins/
  81. Link Mauve pep., good idea!
  82. Link Mauve Any other plugin I should add as an optdepends?
  83. Link Mauve Nvm, it’s the only packaged one.
  84. pep. What's the http upload plugin for? aur/gajim-plugin-httpupload
  85. pep. Do you need it for gajim to do that?
  86. Link Mauve A version for the obsolete stable release.
  87. pep. k
  88. pep. 0280: "NOTICE: This document is currently within Last Call or under consideration by the XMPP Council for advancement to the next stage in the XSF standards process. The Last Call ends on 2017-03-28. Please send your feedback to the discussion list." Is this just a case of pages not being updated?
  89. pep. oops
  90. pep. wrong channel
  91. cippaciong >cippaciong, try debugging the scan_dir_for_plugins() function from plugins/ Link Mauve :note: currently it only searches for plugin classes in '\*.py' files present in given direcotory `path` (no recursion here)
  92. Link Mauve pep., yes, editors should have brought it back to experimental long ago.
  93. Link Mauve cippaciong, sounds like your issue then.
  94. Link Mauve Maybe open an issue, so that lovetox or Asterix will look into it.
  95. Asterix what's this file?
  96. pep. Asterix, like it when you discover files in your own project ? :P
  97. Asterix yes ...
  98. Asterix I think Darlan did that IIRC
  99. Link Mauve Asterix, a metadata file for software installers, IIRC.
  100. Asterix and is it supposed to be fully translated?
  101. Link Mauve It would be great for it to be.
  102. Asterix name and summary seems to be
  103. Asterix but not the rest
  104. Asterix (if I look at .appdata.xml)
  105. Link Mauve Indeed. :/
  106. lovetox cippaciong, Link Mauve, plugins should always go into .local/share/gajim/plugins/
  107. lovetox thats when the user installs them on his own
  108. Link Mauve lovetox, in this case, the plugin is installed system-wide, for all users of the system.
  109. lovetox if you are a package maintainer Link Mauve, you can put it into site-package/gajim/data/plugins
  110. lovetox Link Mauve, thats maybe the case, but thats right now where you have to put it
  111. Link Mauve lovetox, oh, /data.
  112. Link Mauve cippaciong, ^
  113. lovetox also .local is in your home dir or?
  114. lovetox why would it be installed for all users?
  115. Link Mauve Yes, ~/.local is in your home directory.
  116. lovetox yeah thats what i meant then ^^
  117. lovetox these little things matter on linux ~/
  118. cippaciong lovetox, packages cannot be installed in user's home directories
  119. Link Mauve The concept of a system package is to install something for all users of the system, that’s the most efficient way to share disk resources between users, and to avoid having each of them install stuff by themselves.
  120. Link Mauve lovetox, yeah, exactly like %APPDATA%\ on windows. :p
  121. lovetox you can install into site-package/gajim/data but be warned
  122. lovetox plugins found there get automatically activated
  123. cippaciong Link Mauve, what about the plugin directory in the gajim-git package? Are we supposed to have plugins and data/plugins or should we merge everything into data/plugins?
  124. lovetox site-package/gajim/data/plugins
  125. Link Mauve lovetox, that’s the point AFAIK.
  126. lovetox it is when you want to ship a package with plugins yes
  127. cippaciong >plugins found there get automatically activated Even better \o/
  128. Link Mauve cippaciong, gajim-git only installs stuff as Gajim does, if anything isn’t right that should be up to Gajim to fix it.
  129. lovetox thats why it exists
  130. cippaciong Link Mauve, right, makes sense
  131. lovetox cippaciong, the plugins dir in the gajim git root dir
  132. lovetox is just for example plugins
  133. lovetox it is not installed and should not
  134. cippaciong Is it? I think it's installed actually
  135. lovetox no it is not
  136. cippaciong The directory itself I mean
  137. lovetox what do you mean with the directory itself
  138. lovetox git can not hold empty folders last i remeber
  139. lovetox so you have to add in your package process the plugins folder in data your self
  140. cippaciong I mean that /usr/lib/python3.6/site-packages/gajim/plugins/ exists and is not empty on my system
  141. pep. lovetox, it doesn't indeed, but you can add a hidden file in there just to keep it, that's usually what people do :/
  142. lovetox stop
  143. pep. Bt I guess the packager can also create it
  144. pep. But I guess the packager can also create it
  145. lovetox thats a third plugins dir with the plugins python code
  146. Link Mauve There is no point in creating an empty directory, plugin packages should simply put their stuff in there.
  147. lovetox i know its a bit confusing right now ^^
  148. lovetox 1. plugin dir in root git folder holds exmaple plugins ignore it
  149. lovetox 2. gajim/plugins holds python code to manage plugins
  150. lovetox 3. gajim/data/plugins should hold real plugins
  151. lovetox 4. ~/.local/share/gajim/plugins, thats where the plugin installer installs plugins
  152. cippaciong 👍
  153. cippaciong omemo is working now
  154. cippaciong thanks lovetox Link Mauve
  155. lovetox i probably should add this to the readme :)
  156. lovetox i away see you later
  157. cippaciong lovetox, if I may suggest a small UI improvement (imho) it would be to move the emoji icon on the right side of window or to move the entive button bar above the text bar. The way it is now the text is coverd by the emoji list
  158. lovetox yeah, i know not optimal, maybe i move it to the right side of the input box
  159. lovetox ah left side
  160. cippaciong Thanks :)
  161. lovetox andrey.g, on which server do you have the policy violation problems?
  162. andrey.g I guess it is ejabberd.
  163. lovetox i just heard from holger, that the limit of unacked stanzas is 1000
  164. andrey.g Pretty large.
  165. lovetox which makes me thing that gajim maybe counts the stanzas wrong
  166. lovetox so that it reports a incorrect number to the server, and the queue grows
  167. lovetox because i dont think gajim doesnt send an ack fro 1000 messages
  168. lovetox to test this and see whats really wrong, is again a full days work :/
  169. andrey.g Uh.
  170. lovetox really it would be great to have 2 more people on the gajim team :)
  171. andrey.g Yeah, it is always a good thing.
  172. lovetox andrey.g, you could start gajim with -l nbxmpp.smacks=DEBUG and see if that turns errors up
  173. andrey.g I'm running Gajim per default with -v, but it is not easy to get the relevant infos. With only smacks I don't see anything except of multiple: 10/02/2017 23:38:06 (W) nbxmpp.transports_nb calling send on empty buffer and queue
  174. andrey.g I've added -l nbxmpp.client_nb=DEBUG but no changes. Strange.
  175. andrey.g I can use "-l" multiple times?
  176. lovetox no just do, nbxmpp.client_nb=nbmxpp.smacks=DEBUG
  177. lovetox hm so no smacks errors
  178. lovetox hm maybe
  179. lovetox .nbxmpp
  180. lovetox do a point in front