Gajim - 2016-04-10


  1. SouL Is there a way to modify how conference tabs are displayed? With a dropdown or something? When you are in a lot of conferences is hard to switch between them.
  2. Link Mauve SouL, you can put the tabs on the left instead of on the top, somewhere in the ACE.
  3. euan I'm back, running on UCS-4
  4. euan I had to rebuilt pygobject, pygtk and pycairo
  5. euan so it definetely breaks stuff
  6. mpan As I said: /usr/local … :>
  7. euan So, if I were to install to /usr/local/ I'd have to make a seperate build of all those dependencies too
  8. euan And I suspect there is more
  9. SouL Link Mauve, how so? :)
  10. euan this sucks, there's no clean way of fixing this
  11. Link Mauve SouL, go in the ACE, look for top and put it to left.
  12. euan why isn't ucs-4 the default in python 2.7?
  13. euan even in 2.7.11 ucs-2 is default
  14. euan looks like I may have to live without Twemoji, which is a shame because Conversations emoticons are all Unicode, so emoticons won't work either direction
  15. Link Mauve euan, nobody here knows, just ask the Python people instead.
  16. Link Mauve euan, or use the default branch, which runs on python3.
  17. euan Yes, I'm just having a rant, sorry. Very disaapointed, so close to having perfect XMPP bliss, yet so far.
  18. SouL Link Mauve, ACE? (How can I change Gajim's language?)
  19. euan I suppose if I could get font emoticons to work, haven't installed that font you recommended yet
  20. euan what was it called again
  21. euan lost my chat history
  22. Link Mauve SouL, Edit > Preferences > Advanced > Advanced Configuration Edition.
  23. Link Mauve (And launch it with LANG=<the lang you want>, like LANG=en_GB.UTF-8 if you have that locale generated.)
  24. Link Mauve euan, Symbola.
  25. mpan euan: well… rebuilding all dependencies is a clean solution. The lucky thing is that glibc is by default compiled with UTF-32, so no non-python packages should require a rebuild (until Slack people have changed the defaults)
  26. Link Mauve euan, you need Python to handle the astral plane anyway.
  27. Link Mauve So either python3, branch default, or rebuild your python2 world.
  28. euan the problem is knowing which packages need to be rebuilt
  29. euan I'm even thinking about switching distros. But I love everything else about Slackware
  30. euan tried everything else out already
  31. euan I'd probably be an Arch user, if I was only concerned about my own machines
  32. euan but I ned ot live in the world I support
  33. euan need to^
  34. euan and Arch is a no go for a corporate roll-out
  35. euan moving targets are no good to support mass installations
  36. mpan euan: on my Arch there are 4 python packages that have .so in them: python2-cairo, python2-gobject2, python2-cryptography, python2-cffi
  37. euan I'm getting Traceback when opening Gajim from terminal, but it works
  38. euan so maybe I need to rebuild more packages
  39. euan File "/usr/lib64/python2.7/site-packages/dbus/__init__.py", line 81, in <module> import dbus.exceptions as exceptions AttributeError: 'module' object has no attribute 'exceptions'
  40. SouL Link Mauve, (I'm on Windows, using Gajim to install it for a friend... Yes... I know)
  41. euan I guess maybe py-dbus
  42. SouL Link Mauve, Sorry for disturbing bot the "tabs_position" is "type text"
  43. SouL I have to write "left" or what? Sorry xD
  44. Link Mauve SouL, yes.
  45. euan @mpan: OK, that quite a low amount, sounds promising
  46. mpan python2-dbus is not listed in my dependencies, but this may be dependent on what you have configured. Still 1 more package is not that bad
  47. euan Slackware base has a lot of packages (includes development files), so not everything I need or use
  48. euan but it's great for building, all deps are already there
  49. euan it may be many more yet, not tested other software
  50. euan what about py-cups?
  51. SouL Link Mauve, it worked... Thank you very mmuch <3
  52. Link Mauve You’re welcome. :)
  53. mpan pycups isn’t installed on my machine at all
  54. euan OK, cleared all Tracebacks
  55. euan now to test some emoticons
  56. euan 0⃣
  57. euan 😀
  58. euan YEEEHAAAA!!!!
  59. euan it's working
  60. euan Thanks Link Mauve, you nailed it!
  61. Link Mauve :)
  62. euan so it's decision time now, what do I do: (1) maintain my own python packages (5 and counting), (2) live witout emoticons, or (3) switch distros for my next rollout version
  63. euan I'm about to build a new rollout, the cuurent one deosn't support Broadweel or Skylake HD graphics
  64. euan so it's getting hard to purchase laptops
  65. euan I was going to go with Slackware 14.2, but I notice they still build python without ucs-4
  66. mpan The easiest option would be to ask them to enable UTF-16.
  67. mpan *UTF-32
  68. mpan If this attempt doesn’t fail, the problem is solved.
  69. euan well, it may be too late, it's already RC1
  70. euan but they are still changing things
  71. euan I will ask
  72. mpan Then better do it ast :P
  73. euan but I doubt they will change, it must be a decission they already made
  74. mpan It’s quite possible no one made any decision. They might have just overlooked the issue completly.
  75. euan sounds like very feew things actually need the ucs-4 astral plane
  76. euan well, I linked that forum post about it
  77. euan but it never was concluded be a developer
  78. euan http://www.linuxquestions.org/questions/slackware-14/%5Brequest%5D-python-with-unicode4-support-4175473344/
  79. euan Link Mauve‎: what you recommend OTF or TTF?
  80. Link Mauve Dunno.
  81. euan i went with TTF, as I usually do
  82. euan just thought you might have some insight of font formats
  83. euan mpan: can you please post those emoticons again
  84. euan the ones that I couldn't see before
  85. mpan 6:💱👭, 7:👁🗯, 8:🏺🏑
  86. euan nope
  87. euan still can't see them
  88. euan
  89. euan that was supposed to be a skier
  90. mpan I’ve received 10000 as a roman numeral
  91. mpan <http://unicode.org/cldr/utility/character.jsp?a=2182> ←- this one
  92. euan yes, that was it , a skier
  93. mpan Skier? A person who skiis?
  94. euan yes, see on the link you posted
  95. mpan https://upload.wikimedia.org/wikipedia/commons/0/03/Skier-carving-a-turn.jpg
  96. mpan I don’t anything related to skiing on my link >_>
  97. euan the one wher you said "this one"
  98. euan do you have symbola installed
  99. euan I guess symbola font have the extra glyph
  100. euan the roman numerals are a fail-over to another script
  101. euan latin will show a skier with the symbola installewd
  102. euan what is the unicode number of the one you posted with 6: before it
  103. euan i can see it here: http://graphemica.com/%F0%9F%92%B1
  104. euan but not in Gajim
  105. euan so my Firefox has access to fonts Gajim doesn't?
  106. euan 🍰
  107. euan anyways, Twemoji works
  108. mpan What does Gajim show?
  109. euan for what
  110. euan for thone I posted: a slice of cake
  111. euan for the one I posted^
  112. euan anyways, Twemoji is compatable with Converstaions, whci I use on Android
  113. euan and I'm sure anything alese modern uses unicode based emoticon packs (image representations)
  114. euan emoticons on Android are icon images i guess, I'm curious what is used in my SMS app
  115. euan Yes, it's the same emoticons in my SMS app
  116. euan not sure if it's stock Android or SONY's SMS app
  117. euan searching for the string "PyUnicodeUCS2" in /usr/lib64/python2.7/site-packages reveals there are a few more packages to rebuild
  118. euan I tired, going to bed. But made good progress tonight. Big thanks again to Link Mauve and mpan !!!
  119. Link Mauve Good night. \o_
  120. euan 💤
  121. euan sorry, couldn't resist using my new shiny emotes
  122. mpan gn :]
  123. euan night
  124. bullgard4 OMEMO plugin descrption: "You need to install python-axolotl via pip to run this plugin." Does "pip" stand for Path Independent Protocol, or what?
  125. kalkin Pip is Python package manager
  126. kalkin It also might be called python-pip2 in your system
  127. kalkin Its important that you use pip2 because of the Python 2/3 shisma
  128. bullgard4 kalkin, on my Debian system there is no package python-pip2 available from the repositories. Can ou help me along?
  129. kalkin May be its called just pip
  130. kalkin Its just called python-pip
  131. kalkin Without 2
  132. bullgard4 kalkin, Yes indeed: The package »python-pip« is available.
  133. Marzanna bullgard4, debian has python-axolotl package in its repository
  134. bullgard4 Marzanna, Yes, I have found that out in the mean time too. - Thank you.
  135. bullgard4 Marzanna, The OMEMO description says that I need to install python-axolotl via pip to run the OMEMO plugin. But in Debian unstable the package python-axolotl does not depend on python-pip. Rather, it depends (among others) on the packages python, python-axolotl-curve25519, python-crypto, and python-protobuf. So, is the OMEMO description wrong for Debian unstable?
  136. vorner It's likely wrong. It doesn't really care how the python-axolotl gets to your system, but the pip method works for any distro.
  137. bullgard4 vorner, I see. - Tahnk you.
  138. kalkin The omemo description will work out in any system having pip2 installed, but you should always prefer OS packages
  139. kalkin is the author of the mention description
  140. bullgard4 kalkin, ok. - Thank you.
  141. bullgard4 kalkin, The installation of OMEMO in Debian unstable went smoothly. An installation of the python-pip package was not necessary.
  142. b_b hop
  143. b_b got a question about history window
  144. b_b i'm reading this issue :
  145. b_b https://trac.gajim.org/ticket/3939
  146. b_b in comment 7 asterix say :
  147. b_b searching has nothing to do with date format, each line has an id, and we select the line from the ID. so I see no reason for it to fail.
  148. b_b but it seem that clicking on a history search result doesn't act if no there is no timestamp in config
  149. b_b so i got the same behavior as described in the issue
  150. b_b any one know if it's "normal" or should be considered as a bug
  151. b_b the commit that fix the issue play with timestamp config value
  152. b_b so it seems that click on search result couldn't work without timestamp...
  153. Marzanna Does anyone experience troubles sending/receiving files using Gajim?
  154. Link Mauve Marzanna, there’s been a few fixes some days ago.
  155. Link Mauve Mainly with JingleFT and XTLS encryption.
  156. Link Mauve Try to upgrade to the latest gajim_0.16 hg branch.
  157. Link Mauve (No need to compile anything, just run it in place with ./launch.sh)
  158. Marzanna Link Mauve, thanks. I'll try.
  159. SouL Does Gajim ask for all sent messages from a conference?
  160. Link Mauve SouL, it asks since the last one it saw.
  161. Marzanna Link Mauve, it segfaults :(
  162. Link Mauve oO
  163. Link Mauve Like, a real segfault, not just a Python traceback? :o
  164. Marzanna Link Mauve, Segmentation fault (core dumped)
  165. Link Mauve Wow.
  166. Link Mauve That on the gajim_0.16 branch?
  167. Marzanna Link Mauve, yes.
  168. Marzanna from mercurial
  169. Link Mauve Marzanna, try to add these two lines around the beginning of src/gajim.py (after the license for example): import faulthandler faulthandler.enable()
  170. Marzanna Link Mauve, now it starts without segfault
  171. Link Mauve Err, it shouldn’t change anything wrt that, just print you where it did segfault. :(
  172. SouL I have a conference configured with "Maximum Number of History Messages Returned by Room" : 200 and I wonder if I'll get all the messages
  173. Link Mauve SouL, if the client asks for that many, sure.
  174. SouL And Gajim asks for that many, then? xD
  175. Marzanna Link Mauve, looks like it crashes only then "highlight misspelled words" isn't checked.
  176. Link Mauve It asks for as many there were since it last was in this room.
  177. Link Mauve Marzanna, interesting.
  178. SouL Link Mauve, I don't understand. If there were 400 messages, what will I get? The last 200 messages or the last 400 messages?
  179. Marzanna Link Mauve, here is an output http://pastebin.com/PJHNxu3h
  180. Link Mauve SouL, if you left the room yesterday, and 60 messages have been posted since then, Gajim would ask only for those.
  181. Link Mauve If people sent 2000 messages during the night, it would ask for those but only receive the last 200, or the last 400.
  182. SouL Link Mauve, that's pretty clear now. Thank you very much :3
  183. Link Mauve tmolitor, isn’t your last change related to Marzanna’s issue?
  184. Link Mauve SouL, of course, MAM changes that, in that your client could then look up in the past, but I don’t think Gajim implements that.
  185. SouL I'm still using Prosody 0.9 so I can't enjoy MAM, but thank you ;)
  186. Link Mauve You can, just not stored on disk. :p
  187. LordVan hi
  188. LordVan anyone having problems with gajim randomly refetching all the MAM history from server ?
  189. LordVan ie it is fine one day then another day it decides to refetch
  190. Marzanna Link Mauve, i've just tried on another system. everything works. No segfault.
  191. Link Mauve Weird.
  192. tmolitor Link Mauve, could be, but the segfault is in get_scaled_pixbuf(), I didn't change that function...but maybe the pixbuf is somehow broken...
  193. Marzanna And seems that file transfer doesn't work with the latest version :/
  194. Link Mauve Marzanna, which error do you get, also post the XML log (anonymised if you prefer), Actions > Advanced > Show XML Console.
  195. tmolitor Link Mauve, Marzanna , I'll create a quick and dirty patch...could you test that?
  196. tmolitor https://xmpp-upload.datenknoten.me/-br3Vey7Wu4NBfiBX37qzQ3WxpA/3nOUZZTNsMygW/gajim.patch
  197. tmolitor just apply the patch and tell me if the segfault is still happening?
  198. Marzanna Link Mauve, http://pastebin.com/MKjjypmu xml output I get. I cancel file transfer because it hangs at 0.
  199. Link Mauve Marzanna, oh, the fingerprint is wrong.
  200. Link Mauve It shouldn’t be b'something' but just something.
  201. Marzanna Link Mauve, what does it mean? How can I fix it?
  202. Link Mauve Marzanna, line 11 in your paste is wrong, and I’m looking at it.
  203. Link Mauve I’m not a Gajim developer though, so I don’t know my way around much. :x
  204. LordVan noone else having the problem with gajim re-fetching history every now and then?
  205. Link Mauve Marzanna, please try this patch: diff -r 8a1a607ca026 src/common/jingle_content.py --- a/src/common/jingle_content.py Sat Apr 02 15:29:26 2016 +0100 +++ b/src/common/jingle_content.py Sun Apr 10 14:43:00 2016 +0100 @@ -228,7 +228,7 @@ # Old py-OpenSSL is missing get_signature_algorithm digest_algo = "sha256" security.addChild('fingerprint').addData(cert.digest( - digest_algo)) + digest_algo).decode('utf-8')) for m in ('x509', ): # supported authentication methods method = nbxmpp.simplexml.Node(tag='method') method.setAttr('name', m)
  206. Link Mauve LordVan, sorry, I’m not a Gajim user.
  207. Link Mauve Marzanna, you’ll probably have to apply it on both ends.
  208. Marzanna tmolitor, I applied your patch. Looks like problem is fixed now.
  209. Marzanna Link Mauve, unfortunately, your patch doesn't seem to work :/
  210. Link Mauve Marzanna, could you give me the nex XML log?
  211. Link Mauve new*
  212. Marzanna Link Mauve, here is a new one http://pastebin.com/rwJYd2u4
  213. LordVan grrr now gajim won'T load the whole roster ..
  214. Link Mauve Marzanna, ok, so this solved the fingerprint issue, but then I don’t know how to debug it further. :(
  215. Link Mauve You should probably wait for Asterix.
  216. Link Mauve Sorry.
  217. Marzanna Link Mauve, anyway.Thanks for your help!
  218. bullgard4 'man gajim-remote' writes: "DESCRIPTION: gajim-remote is a script to control and communicate with a running instance of gajim(1) by D-Bus. " I can imagine why it is advantageous to control a running instance of gajim. But please tell me why it could be advantageous to communicate with a running instance of gajim. I think I can look at Gajim's output in the Gajim window.
  219. vorner bullgard4, You can use it in a script to do something. I have global bindings to change the status and to bring the next unread message to the front.
  220. bullgard4 vorner, Yes, I see. - Thank you.
  221. tmolitor Marzanna, Link Mauve: okay....then this issue comes from not encoding the image but feeding it directly into the pixbuf...for me this also causes image distortion from time to time...
  222. tmolitor Link Mauve: I'm reverting this change now...
  223. Link Mauve tmolitor, you shouldn’t, you should investigate why it does that.
  224. Link Mauve From what I can see from your code, you are assuming it will always be RGB.
  225. Link Mauve Images can also be RGBA, or YUV, or many other encodings.
  226. tmolitor yes...I do, because I use this im = Image.open(BytesIO(file_data)).convert("RGB")
  227. Link Mauve Interpreting RGBA8888 data as RGB888 would totally be the cause of some distortion, but I don’t see any way for it to cause a segfault.
  228. Link Mauve tmolitor, ugh, that’s a bad way to do it.
  229. Link Mauve At least it should go into the other direction, so you don’t lose the alpha channel.
  230. tmolitor Link Mauve, read the code, it is converted to RGB...and well, pixbuf ONLY accepts rgb input this way...so it is not bad ;)
  231. tmolitor I tried to do this with alpha channel, but it didn't work...
  232. Link Mauve Do you have an example that didn’t work?
  233. tmolitor of course...use RGBA instead of RGB in the convert
  234. Link Mauve You need the stride and number of channels to match, too.
  235. tmolitor and then use this: return GdkPixbuf.Pixbuf.new_from_data(arr, GdkPixbuf.Colorspace.RGBA, True, 8, width, height, width * 4)
  236. tmolitor see http://stackoverflow.com/a/8892894/3528174
  237. tmolitor and https://developer.gnome.org/gdk-pixbuf/unstable/gdk-pixbuf-Image-Data-in-Memory.html#gdk-pixbuf-new-from-bytes
  238. Link Mauve A colleague wrote this, you should read it: http://ppaalanen.blogspot.co.uk/2016/02/a-programmers-view-on-digital-images.html
  239. Link Mauve “bits per sample” means 32 here, not 8.
  240. tmolitor sorry, added an A where none should be...this is the correct rgba line:
  241. Link Mauve 8 would be grayscale or paletted.
  242. tmolitor return GdkPixbuf.Pixbuf.new_from_data(arr, GdkPixbuf.Colorspace.RGB, True, 8, width, height, width * 4)
  243. tmolitor see this: https://developer.gnome.org/gdk-pixbuf/unstable/gdk-pixbuf-Image-Data-in-Memory.html#gdk-pixbuf-new-from-bytes
  244. Link Mauve tmolitor, then you have two errors, this should be RGBA if you have an alpha channel.
  245. Link Mauve Yes, I just read this section.
  246. tmolitor "Creates a new GdkPixbuf out of in-memory readonly image data. Currently only RGB images with 8 bits per sample are supported. This is the GBytes variant of gdk_pixbuf_new_from_data()."
  247. tmolitor no, for the alpha channel there is the "True" parameter
  248. Link Mauve Err, that’s bad.
  249. Link Mauve How does it even work?
  250. tmolitor Link Mauve, how shouldn't it? I suspect "per sample" really means "per sample of one channel"...
  251. tmolitor 8 bits can never be equally distributed among 3 colour channels ;)
  252. Link Mauve It can, RGB332 is a supported format on most GPUs.
  253. Link Mauve Ah, equally.
  254. tmolitor the rgba case however never worked for me...the rgb case worked most of the time (and sometimes it caused image distortions)...
  255. Link Mauve Doesn’t stop people from even using RGB565. :p
  256. tmolitor Link Mauve, right :D
  257. Link Mauve Could you find such an image producing distortion, and make it a testcase?
  258. tmolitor no, every image I've seen so far sometimes caused distortion...
  259. Link Mauve If so, it might be an issue with how you convert it with Pillow.
  260. tmolitor and the images I used where real world profile avatars, so I'm not sharing this ones ;)
  261. tmolitor it might be an issue of the internal handling of the pixbuf as well...
  262. Link Mauve You can use mine if you want.
  263. Link Mauve It’s a proper SVG with alpha.
  264. tmolitor we are feeding it with raw data, that is a low level interface into the C code (this is why it segfaulted)...
  265. tmolitor not using this low level variant is a much safer way in my opinion...yes, it encodes and decodes the image unneccessarily, but I changed the code so that this is only done if the image cannot be loaded using the pixbufloader directly...
  266. Link Mauve Not everyone has a super-computer as their chat machine, and Gajim is already slow enough as it is.
  267. Link Mauve Encoding a PNG is slow.
  268. tmolitor Link Mauve, that's why it is only done once if the pixbufloader fails...
  269. tmolitor and: the encoding and the decoding is both done in pure C wrapped in python code...
  270. tmolitor gdk and pillow are written in C
  271. tmolitor so it is not as slow as using python only code ;)
  272. Link Mauve PNG encoding is always slow, and you can do without so…
  273. tmolitor and: avatar images are cached and only converted this way the first time they are seen...
  274. Link Mauve Just find and fix your bug, instead of adding terrible workarounds.
  275. bot RSS: Feeds for Gajim • Changeset [16012:8771cde1c8d2]: Feeding the RGB data directly into the pixbuf sometimes causes image … Feeding the RGB data directly into the pixbuf sometimes causes image distortions or segfaults, this fixes it https://trac.gajim.org/changeset/8771cde1c8d23ff18b7a71717f6245190b4f08e2
  276. tmolitor Link Mauve, I don't have the time to find this silly bug that lies in pillow or in gdk...it is annoying, yes...but it is in no way worth several hours or days if you can have a safe workaround....
  277. Link Mauve tmolitor, could you please stop contributing awful patches to Gajim?
  278. Link Mauve Is a few minutes of debugging worth getting thousand of people’s time to encode pointless PNGs?
  279. Link Mauve using*
  280. tmolitor by the way, why is your avatar only available as svg? the xep clearly states that it should be in png format and only *additional* formats are allowed...
  281. tmolitor well, let asterix decide what he wants to go into gajim and what not, ok?
  282. tmolitor so: @asterix: look at my last commit and this discussion: do you want me to revert my changes or not?
  283. b_b hey
  284. Link Mauve tmolitor, the XEP only tells which formats clients should support, and there is no way to put more than one image in a vCard.
  285. b_b anyone got a clue about my "problem" with histoy window ?
  286. tmolitor Link Mauve, I know, you're right. I can see your avatar, so gajim uses the PNG version.
  287. Link Mauve There is no PNG version of it in my vCard.
  288. tmolitor Link Mauve, by the way, gajim encodes the avatar images to png files (and saves them to disk) at several locations in the code...is that "bad", too?
  289. Link Mauve I think so, yeah.
  290. tmolitor then it is not XEP conform...i MUST contain a png version (alongside other formats if wanted)...
  291. Link Mauve The main usecase that breaks is when the user wants to see the original one.
  292. Link Mauve Where do you see that MUST?
  293. Link Mauve Not in 153 at least.
  294. tmolitor wait a moment...
  295. tmolitor the pep one says a must....the vcard one I dont recall correctly...let me see...
  296. tmolitor The image content type [6] SHOULD be image/gif, image/jpeg, or image/png; support for the "image/png" content type is REQUIRED, support for the "image/gif" and "image/jpeg" content types is RECOMMENDED, and support for any other content type is OPTIONAL.
  297. tmolitor support for the "image/png" content type is REQUIRED
  298. tmolitor point 4.6 Image restrictions
  299. tmolitor http://www.xmpp.org/extensions/xep-0153.html#bizrules-image
  300. Link Mauve Yes, as a client you are REQUIRED to support PNG files in a vCard.
  301. Link Mauve Read section 5 now.
  302. tmolitor http://stackoverflow.com/questions/24062779/how-to-correctly-covert-3d-array-into-continguous-rgb-bytes/24070152#24070152
  303. tmolitor this is the gdk bug...
  304. tmolitor but I *won't* write the image data to disk to avoid a few CPU cycles neccessary to decode a 64x64 pixel PNG file...
  305. bot RSS: Feeds for Gajim • Changeset [16013:5f199c517a62]: [Link Mauve] correctly send certificate fingerprint when sending a file. [Link Mauve] correctly send certificate fingerprint when sending a file. https://trac.gajim.org/changeset/5f199c517a62fe7d610bdd7a133b7ba99b65b3d6
  306. bot RSS: Feeds for Gajim • Ticket #8090 (MAM message duplication) closed fixed: If you talk about [65d9193e5b68], yes that could indeed fix the issue. I begin to imagine what happens: You connect, request all messages since last MAM message you got. You reconnect, and ask MAM messages since the last you got (and the last you got is when you first connected. All messages that were exchanged while you were connected are re-requested […] https://trac.gajim.org/ticket/8090#comment:3