Gajim - 2019-10-22


  1. tom saltybones, Hacking is for criminals!
  2. Eduard Isnt
  3. Eduard There are real hackers and fucking script kiddies making damage that the media name "hackers".
  4. saltybones I didn't come up with that name. ;)
  5. lovetox_ Thanks SaltyBones
  6. lovetox_ i added it to the start hacking page
  7. debacle saltybones (or SaltyBones?) I suggest to not use pygobject and css-parser from pip (second last step), but install the distro versions, i.e. add them in the first step (sudo apt install ...).
  8. saltybones debacle: hm ok why? I think installing things with pip in a virtualenv is the standard for Python projects...
  9. debacle saltybones, but you install a lot of stuff from the distro in step one, not using pip :-) The versions installed by apt are the distro version, i.e. if you hack on Gajim, you can be (more or less) sure, that it will work with the distro. If you install by pip, you get "better" versions, but they might be different from the distro one.
  10. saltybones debacle: Well, I installed what I had to. ;)
  11. saltybones And yes, this might give you newer versions but we're also working on newer versions of gajim. :)
  12. saltybones I agree though that testing with both versions is necessary
  13. debacle yes, and you want to hack on nbxmpp and gajim, not on the dependencies :-)
  14. saltybones meaning?
  15. saltybones Anyway, both work. This is the standard approach for Python and in my experience it causes less problems than system packages.
  16. saltybones What I would be more interested in is how people actually develop?
  17. saltybones vim? emacs? pycharm? what kind of workflows
  18. saltybones I don't really know how to for example debug something...
  19. saltybones I can use the ipython shell to run something and with pycharm exploring the code is okay
  20. saltybones but debugging...no clue
  21. lovetox_ debacle the difference here is, the package he listed with apt, are in stable available
  22. lovetox_ the packages that he install with pip are not
  23. lovetox_ so this approach still allows you to develop on Gajim with only installing dependencys from stable
  24. lovetox_ and all others are in a virtualenv and dont clash with system
  25. lovetox_ so this allows hacking without adapting source lists and install packages from testing
  26. debacle saltybones Emacs ftw
  27. debacle lovetox_ I see. The packages are new dependencies, right? css-parser and pygobject?
  28. lovetox_ css-parser yes, pygobject no, but the version in stable is not good enough
  29. debacle pygobject == python3-gi, right?
  30. debacle lovetox_ Not changing the sources.list on a stable system is a good idea, indeed! :-)
  31. saltybones debacle: see I told you it causes fewer problems in general! xD
  32. saltybones I can never think of why, though. :p
  33. debacle saltybones I used pdb3 these days. It has the same commands as gdb, which makes it easy to use: b p s r etc.
  34. debacle if one is used to gdb :-)
  35. saltybones debacle: and how do you hook it into gajim? could you maybe write a few lines on that for the wiki?
  36. saltybones otherwise I can also try to figure it out and do that
  37. debacle I didn't use it with Gajim, but with an XMPP server component I wrote
  38. debacle I just called: pdb3 myprogram.py --options foo bar
  39. debacle IIRC
  40. saltybones debacle: for prosody?
  41. debacle for any XMPP server, but in my case it was prosody
  42. saltybones ok, I have no clue how server components work or that you could use them with different ones
  43. saltybones what does it do? :)
  44. debacle saltybones this becomes pretty much OT for Gajim MUC, I answer in private!
  45. lovetox_ saltybones with python its easy, first you have to find a problem, then you can just put "breakpoint()" somewhere in the code
  46. lovetox_ and if your application reaches that point it jumps into the debuger and you can step through each line next
  47. wurstsalat maybe we should document that with a step by step guide
  48. wurstsalat just for one example
  49. wurstsalat lovetox_, I'd be interested too :) did not use this for debugging yet
  50. saltybones I ll try later and write it down.
  51. SaltyBones lovetox, so what do I need to set up for this breakpoint() magic to work?
  52. Link Mauve SaltyBones, nothing, as long as your Python is recent enough (IIRC 3.7) it will automatically drop you into a pdb shell.
  53. SaltyBones Link Mauve, thanks....guess I have to upgrade
  54. wurstsalat SaltyBones: the venv you setup ist perfectly suitable for that case :)
  55. SaltyBones wurstsalat, but i still have to install the new python globally right?
  56. wurstsalat Just in your venv I think
  57. bennypr0fane Hi, I can't exchange encrypted messages - can't find how to trust my/my contacts fingerprints
  58. bennypr0fane https://upload.blabber.im/0d90eed84881919c/8f9493af9d466f57.png
  59. bennypr0fane there isn't a dialogue for doing that anywhere
  60. bennypr0fane https://upload.blabber.im/62c868964acc9ebf/0e390a83dff1c58c.png
  61. bennypr0fane https://upload.blabber.im/ce262a8840ae9586/b1b3faad30aa152f.png
  62. bennypr0fane just this list of fingerprints, but I can't seem to do anything here...
  63. bennypr0fane Btw, I *can* see messages sent to and from my mobile device, I just can't send from Gajim
  64. wurstsalat bennypr0fane: click on the shield icon and set the fingerprints you trust to trusted
  65. wurstsalat Right now they are in 'undecided' state
  66. SaltyBones I mean this is definitely prettier...but the old button saying "Trusted" was more obvious.
  67. bennypr0fane saltybones, I agree. I totally didn't realize I could click those shield icons
  68. bennypr0fane wurstsalat, thanks. I mean, I might have realized it on my own, but I also think others won't realize (right away) these are buttons
  69. bennypr0fane anywho, works now, thanks!
  70. wurstsalat bennypr0fane: feedback is always welcome!
  71. SaltyBones wurstsalat, does that mean he should create an issue or are you saying thank you for the feedback he just gave? :D
  72. wurstsalat I'm saying thank you. This is not the first time someone mentiones this, and there are multiple "redesign" proposals on the issue tracker already
  73. SaltyBones hm...if I have more changes to the ubuntu instructions..you can edit the wiki, right?
  74. wurstsalat SaltyBones: yes, I'll happily add stuff for you :)
  75. SaltyBones can you add ipython to the pip installed dependencies
  76. wurstsalat just "ipython" ?
  77. SaltyBones yep
  78. wurstsalat added ;)
  79. SaltyBones and then I think if we prefer that we should tell people to use python3.7
  80. SaltyBones so just add a remark that it can be done but it requires "sudo apt install python3.7 python3.7-dev"
  81. SaltyBones and then the virtualenv line is `python3 -m virtualenv -p python3.7 venv`
  82. SaltyBones hm...i should probably verify this
  83. SaltyBones but the cat is sitting on me and i need the other computer :D
  84. S.Husky I'd say push the cat off, but that might get you killed either immediately or in your sleep
  85. S.Husky Depending on the mood of your moggy
  86. wurstsalat SaltyBones, won't installing python3.7 mess with your python install?
  87. SaltyBones never had problems with it
  88. SaltyBones that's all i can say, though :)
  89. SaltyBones wurstsalat, https://dev.gajim.org/SaltyBones/gajim/wikis/Ubuntu-Development-Enviroment
  90. SaltyBones updated with new instructions all tested on clean VMs
  91. SaltyBones and some basic debugging hints https://dev.gajim.org/SaltyBones/gajim/wikis/First-steps-in-debugging
  92. SaltyBones wurstsalat, crap...hold on
  93. SaltyBones I think I want to add what you have to do to get plug-ins.
  94. SaltyBones But I don't remember what that was? Do you have to manually get the zip from the nightly build server or something?
  95. SaltyBones Do you remember when I said using gajim master was a hassle and you asked why? ;D
  96. wurstsalat SaltyBones, that's documented here: https://dev.gajim.org/gajim/gajim-plugins/blob/master/README.md
  97. wurstsalat SaltyBones, that depends on your OS, arch gives me all the new stuff directly
  98. SaltyBones but setting up arch is a hassle for different reasons ;)
  99. SaltyBones wurstsalat, hm...so it says symlink to the gajim plugin path but what is that?
  100. wurstsalat manjaro helps
  101. wurstsalat the gajim plugin path is where you git cloned/download extracted the plugins
  102. SaltyBones Symlink: ln -s /path/to/gajim-plugins-repository/* ~/.local/share/gajim/plugins/ <- is this correct?
  103. SaltyBones won't this get me into trouble if I have a regular installation of gajim as well?
  104. SaltyBones regular as in, non-master
  105. wurstsalat hm yeah I think that's a valid point
  106. wurstsalat *but* you can have a git repo where you just change the branch when needed ;)
  107. wurstsalat symlink that and you're good to go
  108. SaltyBones and there's already a bit of a mess in ~/.local/share/gajim now because it holds profiles from different versions
  109. SaltyBones nono, this is solvable...i did it last time
  110. SaltyBones just gotta find out how
  111. SaltyBones there is some argument to the launcher that will move everything to a different directorys
  112. wurstsalat -s for separate?
  113. SaltyBones -c ../confdira-o
  114. SaltyBones or whatever directory you want...
  115. SaltyBones so I'll add that to the instructions and how to install plug-ins as well
  116. SaltyBones because I couldn't even try out the omemo problem earlier...
  117. wurstsalat SaltyBones, thanks for writing this up! I'll wait until you're done editing
  118. SaltyBones wurstsalat, hm..is the plugin manager in master broken?
  119. SaltyBones I can go to the available tab and check a plugin but there is no button for installing them
  120. SaltyBones ^ or lovetox