Gajim - 2016-12-21


  1. pvgoran Hello. http://hg.gajim.org/gajim stopped working for me recently. Source code was migrated to git, right?
  2. SaltyBones hm...since when does gajim support mam?
  3. SaltyBones pvgoran, yes
  4. SaltyBones https://dev.gajim.org/users/sign_in
  5. mathieui SaltyBones, a while ago?
  6. SaltyBones mathieui, do I have to turn it on somewhere?
  7. pvgoran Well, gajim.org continues to reference http://hg.gajim.org/gajim and http://trac.gajim.org/browser/ . It took me some time to find out https://dev.gajim.org .
  8. mathieui SaltyBones, I don’t think so
  9. SaltyBones mathieui, Is there some way to check if it's working?
  10. linus SaltyBones: look in the archive window
  11. linus Unfortunately it only shows there and not in the conversation window
  12. SaltyBones hm..the message I am looking for isn't in there either
  13. SaltyBones I have "Synchronize logs with server" ticked in the account config...
  14. SaltyBones Wait...when is "a while ago"?
  15. SaltyBones Because this is the 16.5 that ships with ubuntu..
  16. SaltyBones pvgoran, yeah, it's a total mess right now.
  17. pvgoran SaltyBones, ok, I get it. Transition issues.
  18. SaltyBones yes, very much
  19. SaltyBones I think asterix is mostly trying to get issues and commits properly transitioned right now
  20. arune SaltyBones: mam works, but only for 1-to-1 chats
  21. arune Not muc
  22. arune And mam messages appears only in the history manager not in the chat window
  23. arune SaltyBones: but mam is not that new on gajim so it's definitely in 0.16.5
  24. johannes so I've tried the last version of Gajim on OSX and got those errors before an immediate crash of python forcing the program to close
  25. johannes https://paste.gajim.org/view/741051fd
  26. johannes A UI was opened though, however did not make it to the front
  27. johannes also, this patching was required before anything would start at all https://paste.gajim.org/view/b69e67c9
  28. johannes last as in HEAD of the dev git
  29. lovetox thanks johannes, i would like to work on a version for mac
  30. lovetox did you report that gajim 0.16.6 does take up 100% of your cpu
  31. lovetox after a while?
  32. lovetox the issue you see with the default branch is actually present on any system, its not mac dependend
  33. lovetox but it seems to happen more often on mac, and leads to a crash which it doesnt on windows and linux
  34. boyska ehi, I worked some more on allowing security degradation; I'm not totally sure that the workflow I'm using is correct, quite the contrary
  35. boyska (context: plugin installer SSL, CA pinning, etc)
  36. boyska I have some minor question regarding what should be degraded and what should not; and some major issue about how UI code should interact with "hard stuff"
  37. boyska about the first: I don't think that protocol support should ever be degraded; I am currently enforcing only TLS1.2 to be accepted, and I think that's fine, I don't see any reasonable case in which the maintainer will not be able to have a server supporting TLS1.2
  38. boyska ... but I'd like to have feedback on this
  39. boyska the big question is about UI-core code, though; what's the style to make the code fetching data work fine with the rest of the code? What I implemented so far kinda works, but clearly has some glitches, probably related to an incorrect handling of parallelism/eventloop/whatever
  40. lovetox the change to only work with TLS1.2 is alright
  41. lovetox i dont see a problem with it, also gajim server has TLS1.2
  42. lovetox i dont really get what you mean by your ui code interacting issue
  43. lovetox maybe i could have a look at the code
  44. lovetox if by parallelism you mean threads if you want to update UI from another thread that you created
  45. lovetox you should call the UIupdate code with gobject.idle_add
  46. lovetox i think this is pretty good handled in the plugin i never had a problem in that way with it
  47. lovetox boyska
  48. boyska lovetox, I just do not want to lock the UI while downloading
  49. boyska and I'm afraid this is what is doing (but testing is not that easy)
  50. lovetox show me your code and i can have a look
  51. lovetox boyska
  52. boyska https://dev.gajim.org/boyska/gajim-plugins/commits/https-pinning
  53. boyska lovetox
  54. SaltyBones Https pinning? What does gajim use https?
  55. SaltyBones Is that certificate pinning?
  56. boyska SaltyBones, we're talking about plugin installer
  57. boyska see https://dev.gajim.org/gajim/gajim-plugins/merge_requests/6
  58. SaltyBones Can t right now. On my phone. ;)
  59. lovetox boyska
  60. lovetox when does it lock?
  61. boyska hey lovetox
  62. lovetox it works for me
  63. boyska I don't know if it locks, because typically an http request is fast
  64. lovetox so set a wrong url
  65. lovetox hm no that would also be fast
  66. boyska this is still fast (to fail)
  67. lovetox :D
  68. lovetox hm add a timeout and then request the url
  69. boyska time.sleep(10) might be better? but it depends on the kind of event loop, some event loops are smart and understand you're basically fooling them
  70. boyska a timeout for downloading should be high, because a plugin could be "big" (or, not trivially small)
  71. lovetox so disable your network card
  72. boyska this is still fast
  73. lovetox this would time out or?
  74. lovetox i dont think python is aware if you have internet
  75. boyska the point is: is my function locking the UI, or is it not?
  76. boyska your system is; if you don't have a valid route for your nameserver, you can't resolve names
  77. lovetox hm k one moment i look at it
  78. boyska I could write a busy loop [sth like for i in xrange(1000): time.sleep(i)] and see if it locks
  79. boyska but a code review from someone that knows how the ui should be coded would be better
  80. boyska I'd like explicit message passing to happen between the plugin code and the httpsfetcher part, but idk how to do that properly in gajim/gtk
  81. lovetox gtk threading is something not many people have expertise on, i dont, but what my current knowledge about it is and with which i had no problems is:
  82. lovetox if you start a new thread, you call any method that is a method on the gtk main loop, with gobject.idle_add
  83. lovetox that doesnt block the gtkmainloop
  84. lovetox the method will be executed when the gtk main loop has time for it
  85. lovetox the download process does not lock, the server is not that fast, if i click it needs 1-2 seconds until everything is downloaded, if it really would block you couldnt move the window or do anything else
  86. lovetox thats not the case
  87. johannes lovetox: the mac stuff sounds good. Also good to know that the spinning cpu issue is less of a mac-only thing
  88. lovetox em no you misunderstood
  89. lovetox the cpu thing is not a issue on windows or linux in generel
  90. lovetox i meant your pastebin error
  91. lovetox cpu thing can be caused by many things not related to gajim
  92. lovetox i would be very interested if it happens on another mac
  93. lovetox also you could profile gajim with cProfile
  94. jsk Tox is gay
  95. lovetox until that happens with the cpu
  96. jsk Tox is very gay
  97. lovetox and we would maybe see if there is something in gajim that runs unusually often
  98. johannes so it's a happy tool. good for it i guess m|
  99. johannes i see. the cpu issue can be isolated to gajim. it can be seen using the activity monitor
  100. lovetox no yeah i didnt intend to say its not gajim
  101. lovetox but for example we on ubuntu was a report about gajim taking much cpu that was tracked down to a faulty network driver
  102. lovetox as i said first step would be to reproduce this on another mac
  103. johannes it would be quite useful to be able to have a proper test harness for gajim so that it can be used with the mac slaves of e.g. travis and reproducible tests...
  104. lovetox and also i would run gajim with cProfile
  105. johannes how do should it be run with cprofile?
  106. lovetox for example
  107. lovetox python -m cProfile -s ncalls gajim.py
  108. jsk Linus fuk off
  109. linus What did I do?
  110. lovetox weird people in this world
  111. Martin Weird XMPP bots in the world.
  112. linus Is it a not?
  113. linus Not*
  114. linus Bot**
  115. linus Stupid autocorrect
  116. lovetox johannes, or use python -m cProfile -s cumtime gajim.py
  117. Martin Maybe a carbon-water-based one, but still a bot :~)
  118. lovetox its probably a better statistic
  119. lovetox it tells you the time which is spent in each function
  120. boyska lovetox, knowing that I did it right is cool
  121. boyska especially since I was not knowing what I was doing :D