Gajim - 2019-08-31

  1. rom1dep I have about 500 entries in my roster, that makes gajim's main window/roster and "Start New Conversation" appear and behave (filtering) quite slow. Long list of contacts in general (like this muc's) scroll painfully too, is that a shared observation?
  2. asterix lovetox: that's not what I mean. Here is a scenario:
  3. lovetox asterix, of course it has to be persistent
  4. lovetox people also want to know what messages were read after they reopen a conversation
  5. asterix For thr displayed i receive, yes, not the one i send
  6. lovetox so please save the marker to the database, but this seems not relevant for your problem
  7. lovetox is it about you want to cancel active notifications?
  8. asterix Yes, when y other resource read messages
  9. lovetox im confused why you often talk about "last received message", you have to be prepared to get display markers for all messages not only the last
  10. lovetox if you send 10 messages
  11. rom1dep where is the bookmarks conf stored?
  12. lovetox it could be that a client reads one message after a time and sends you in a timespan of 10 minutes for every message on marker
  13. rom1dep I can't GUI it anymore
  14. rom1dep maybe I can sqlite it
  15. lovetox rom1dep, account -> advanced
  16. asterix Exactly in this case. I don't want to remove notif if the marker is not for the lasr message
  17. lovetox asterix, so what i would do is, when a message is received, call remove_events( from message_id = x )
  18. lovetox asterix you want to remove all messages before that marker
  19. rom1dep lovetox: what I mean by "I can't GUI it anymore" is that dbus menu thingy which has been broken for ages
  20. lovetox but for that you probably have to store the message id first in the events object
  21. rom1dep since bookmarks were split by account, I can't ctrl+b
  22. asterix Yes, of course,I'll store that.
  23. rom1dep but maybe doing that from the backend wouldn't be helpful, because at some point there must be a trigger to send the server command, bound by a GUI event
  24. lovetox ok so you dont need a chatcontrol or? all current active events are in the events objects
  25. asterix Then i can get the last event ? They are ordered?
  26. lovetox yes they are ordered
  27. asterix Ok that sounds good. I'll continue then
  28. lovetox thats how i did it when i tried to implement this 2 years ago
  29. lovetox worked ok
  30. lovetox and you have to call, draw_after_removed_events (not the exact method name)
  31. lovetox after removing the events
  32. asterix Yes I saw that
  33. asterix If a control is opened
  34. lovetox yes
  35. lovetox and deal with the possibility that a marker arrives with an id we dont know
  36. lovetox rom1dep, see no menus in gajim?
  37. lovetox then you are out of luck, bookmarks are not stored on disk
  38. rom1dep lovetox: all menus are fine, except the "Accounts" one :)
  39. lovetox but why do you need it?
  40. rom1dep I believe I have one or more bookmarks set with a nick in biboumi mucs
  41. lovetox biboumi does not respect bookmark nicks
  42. lovetox you have only one nick on irc
  43. lovetox not one nick per muc
  44. lovetox if you want to change it, you have to connect to a biboumi irc channel, and use /nick xxx
  45. rom1dep I know that, but I have this IRC room which I constantly join with a wrong nick and that creates a mess
  46. lovetox are you on latest master?
  47. rom1dep yes
  48. lovetox then issue the command in that muc
  49. rom1dep done it before, that only seem to change it temporarily
  50. rom1dep got bitten just now again by posting under a stolen nick
  51. lovetox how many irc channels are you joined?
  52. rom1dep I'd like to review he bookmarks list to check whether this stolen nick isn't written in there, somewhere
  53. rom1dep a half dozen on this IRC server
  54. lovetox that makes not much sense to me, you can only have one nick on irc, are you saying you seeing yourself as different nicks on the same irc server?
  55. lovetox rom1dep, yeah the bookmark list would be the most easy thing to solve that
  56. rom1dep no, it may be that upon reconnect/rejoin a client picks whichever nick is stored for that bookmark, globally changing my IRC nick when that happens
  57. lovetox but sadly you have no access to it
  58. lovetox rom1dep, but thats what i said, biboumi does not respect the nick you use to join
  59. lovetox only if biboumi is not connected to the irc server
  60. rom1dep I'd like to clear the nick field of all the biboumi rooms, if eventually it's not empty already (which I found to be a compelling reason for this issue to occur)
  61. lovetox it takes the nick from your join
  62. lovetox you can open the xml console
  63. rom1dep yes, may be that I reconnected
  64. lovetox typ /nick xx into some channel
  65. rom1dep I can't XML console either :)
  66. lovetox ok .. yeah not sure how to help then
  67. rom1dep still under Accounts
  68. lovetox maybe switch to a different window manager for a minute?
  69. lovetox one that does display the menu
  70. rom1dep yeah. Or revive this psi-plus checkout
  71. rom1dep it's not gajim's fault
  72. lovetox and you should probably report that menu issue to some project, because this menu will not go away
  73. lovetox but good point, advanced feature could be if you change a nick, i check if its on a irc transport
  74. lovetox and change it on all bookmarks of that transport
  75. rom1dep doesn't seem to be anything of interest in my bookmarks :(
  76. bot Sebastiaan Lokhorst closed an issue in _gajim_ < >: #9246: < Create Formula for Brew to install Gajim on Mac >
  77. bot Sebastiaan Lokhorst modified an issue in _gajim_ < >: #9713: < Create a standalone macOS .app using PyInstaller >
  78. bot André pushed 2 commits to branch _refs/heads/master_ of _gajim_ < >:
  79. lovetox hannibal, we use gsettings to determine if the system is in dark mode or not
  80. lovetox is this still going to work?
  81. hannibal How can I change the system setting, for testing?
  82. lovetox i guess on your OS?
  83. lovetox does it support dark mode?
  84. lovetox otherwise in some gtk gsettings config file, or with the gnome tweaker app
  85. Zash Which setting?
  86. lovetox dark mode
  87. Zash Do you know what the gsettings key is?
  88. hannibal I changed to dark mode with gnome-tweaks. Gajim behaves as before removing dconf args from flatpak
  89. lovetox hannibal, and now set gajim to light mode in preferences
  90. hannibal This does not work, as it didn't work before
  91. lovetox of course this did work
  92. hannibal I tried
  93. lovetox maybe not on flatpak,
  94. lovetox but its supposed to work
  95. lovetox you can check what prefer_dark() in does
  96. lovetox we use gsettings also in other places
  97. lovetox its definitly a problem if we cant access the settings the system has
  98. hannibal I couldn't find references to Gio.Settings in the code
  99. lovetox Because tis Gtk.Settings
  100. lovetox so what do the calls to these methods do?
  101. lovetox return some default?
  102. Zash Hm, can't find any dark mode setting, neither with the `csettings` cli or in gnome-tweaks
  103. lovetox Zash the key is gtk-application-prefer-dark-theme
  104. Zash ... but then I'm running i3 in an xfce session
  105. lovetox hannibal,
  106. lovetox If your application is not yet available as a flatpak, and you want to provide one, you don’t have to do anything in particular. Things will just work.
  107. lovetox from the article you linked
  108. lovetox seems like they make these settings available someway else
  109. lovetox and we dont need a migration because we never used gsettings to store values
  110. lovetox only request
  111. lovetox so everything should be fine
  112. hannibal Okay
  113. plebeian Does anyone know how to change the language for the Gajim client? I do not want it to be the same as my system because the translation is absolute horseshit
  114. lovetox hm maybe start gajim with LANG=en
  115. lovetox or LANGUAGE=en
  116. lovetox if that not helps you can rename in local/share/locale
  117. plebeian Neither LANG=en, LANGUAGE=en or LANG=en_EN works to change the language for me
  118. asterix and LC_ALL?
  119. plebeian No success
  120. lovetox then delete
  121. lovetox in your language folder
  122. plebeian Language folder?
  123. lovetox just search your system for
  124. asterix /usr/share/locale/??/LC_MESSAGES/
  125. asterix probably
  126. plebeian yeah I got it, thanks worked fine
  127. asterix lovetox: events don't seems to be ordered. We check for event.time when we want to get first one:
  128. lovetox its a list
  129. asterix yeah in case we search events in several accounts or several JIDs we have to do that, but in my case for a given account / jid, we have a list so it's ordered
  130. lovetox its always ordered in python
  131. asterix yes, but when we merge several lists, it's no more ordered by time
  132. asterix but in my case it will be, so it's fine
  133. porrier Hello! I get a certificate_verify_failed when uploading an image. I am using version 1.0.1. Where should I look for to solve this problem?
  134. lovetox prorrier on your server
  135. lovetox rom1dep, about slownes with many contacts
  136. lovetox if i join #python on
  137. lovetox this channel has about 2000 members
  138. lovetox i dont see any slowness in the roster, especially not while scrolling
  139. lovetox start chat dialog should probably only a bit slower on loading
  140. lovetox but when its loaded it should be fast when filtering for example
  141. lovetox the roster itself is probably slow, its very old code i dont know how efficient it is
  142. lovetox just tested start chat with 1000 contacts, filtering is as fast as with 20 contacts
  143. lovetox i dont see any difference
  144. lovetox raising the dialog needs a full second though
  145. porrier I can't find anything regarding this certificate_verify_failed failure in the apache logs.
  146. lovetox because the verification is not done on the server
  147. lovetox you should test your certificate with openssl
  148. lovetox or ask in the server support channel how to check if its valid
  149. porrier $ openssl s_client -connect -showcerts CONNECTED(00000003) depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 verify error:num=20:unable to get local issuer certificate
  150. porrier Now what does that mean?
  151. porrier I have no problems to establish a ssl-connection with the browser.
  152. rom1dep lovetox: maybe a Gtk theme thingy?
  153. rom1dep scrollbars are transparent overlays there
  154. rom1dep
  155. rom1dep seems equally laggy with either of those
  156. rom1dep when in gajim's main window, pressing keys takes a solid 2s before my keystrokes turn into the filterbox and the roster gets filtered
  157. lovetox porrier, please ask in server support
  158. rom1dep
  159. rom1dep lovetox: ↑ not sure how that's useful
  160. rom1dep lovetox: ↑ not sure how much that's useful
  161. lovetox rom1dep, lets talk about a single thing at once please
  162. lovetox so groupchat roster do you expierience lag in #python?
  163. rom1dep I experience groupchat roster lag here even, with 116 nicks
  164. lovetox yeah ok, that has nothing to do with the roster
  165. lovetox seems your whole gajim is maybe under stress
  166. rom1dep interestingly, scrolling in "start new conversation" is much smoother than here
  167. rom1dep (after it shows up, which in its own takes couple secs)
  168. lovetox does gajim consume more cpu than normal?
  169. rom1dep gajim's process isn't showing up much
  170. rom1dep CPU at about 1.4, and it's run under the profiler
  171. rom1dep but if I scroll that pane, it maxes out a core
  172. lovetox weird stuff, dont think the problem lies with Gajim to be honest, did you have tis problem always or only lately?
  173. rom1dep I think it's never been great, but it may have gotten slightly worse lately (since round avatars or so, so not so recent)
  174. lovetox in the gtk example app you showed a screenshot before
  175. lovetox there is an example called "List Box"
  176. rom1dep I'll navigate this pstat file and see what I can find, that this get_font takes 500ms on its own is scary
  177. lovetox try it, it has i think 600 entry in it
  178. rom1dep scrolling there is fast
  179. rom1dep does take 2/3 secs to show, though
  180. lovetox rom1dep, i would not try and find the problem on the main roster
  181. lovetox because i know it can be indeed very slow with many contacts
  182. lovetox but start chat in groupchat roster should never be slow
  183. lovetox do you have some sort option activated on the main roster?
  184. rom1dep I also disabled plugins like clickable nicks and clienticons
  185. rom1dep not that I am aware of
  186. lovetox any styling on the roster via theme manager?
  187. rom1dep
  188. rom1dep
  189. lovetox with what app did you make those profile?
  190. rom1dep pycharm's profiler
  191. lovetox maybe use pythons cprofile options
  192. lovetox make a new account
  193. lovetox activiate only that
  194. lovetox join on single muc like #python
  195. lovetox start scrolling around
  196. rom1dep is there a Gtk cache or something?
  197. lovetox we should see then what the method is that is so slow
  198. lovetox Gtk has many caches, dont know to what you are refering to
  199. porrier lovetox: The servercert is ok. Tested with
  200. porrier The failure remains.
  201. lovetox no its not ok
  202. lovetox as your openssl reports
  203. lovetox hm i just tried myself
  204. lovetox and seems to be ok now
  205. lovetox or does your openssl still report that error?
  206. lovetox then its a problem with your local cert store
  207. rom1dep lovetox:
  208. rom1dep lovetox: what I did there, was to start gajim with the account having a roster of 400, and scroll up and down and up and down… for a while in the roster/main window
  209. lovetox please dont test the main roster
  210. lovetox its a complex thing and many things can hide the real cause
  211. rom1dep typing that from psi, it's incredible how much smoother if feels
  212. lovetox just join #python and scroll there
  213. rom1dep ok, so I'll join a large muc and scroll similarly in that muc's nicks list
  214. lovetox yeah please
  215. lovetox but it seems even from that profile its a problem with css styling
  216. porrier If I do openssl s_client -connect -showcerts directly on the server there is no error. Doing it from my workstation at home I get that error. I'm in contact with the letsencrypt forum. Thanks!
  217. lovetox porrier, that just means you dont have the root cert of letencrypt on your machiune
  218. lovetox but you should configure your server in a way that he sends the whole cert chain
  219. lovetox not only the cert for your server
  220. lovetox than you dont run into this problem
  221. lovetox rom1dep, try -l gajim.gtk.css=DEBUG
  222. lovetox and see if it prints stuff while scrolling the roster
  223. rom1dep lovetox: not printing anything
  224. lovetox hm try the following
  225. lovetox search for get_value()
  226. lovetox add a return on the top
  227. rom1dep lovetox: is much faster.
  228. rom1dep got a profile for it, hold on
  229. rom1dep
  230. lovetox try adding a return also in get_font()
  231. lovetox but dont need a profile for that
  232. lovetox and do it without profiling, because that slows also down
  233. lovetox and tell me if its smooth enough now
  234. lovetox seems for some reason the css lib is really slow on your machine
  235. lovetox and we dont cache that we did not find a value
  236. rom1dep lovetox: it's totally fine and fast enough with these two returns
  237. lovetox hm ok, yeah this is not optimal from a Gajim standpoint, we dont cache that there is no css value, so on every request we iterate over the whole css file, and it seems the lib performance is not good enough for that
  238. rom1dep for the record, that's a fedora box
  239. bot Philipp Hörist created an issue in _gajim_ < >: #9820: < Improve CSS caching >
  240. lovetox rom1dep, k keep those returns for now i try if i can fix this soon
  241. porrier The server presents the fullchain.pem. Adding SSLCertificateChainFile /etc/letsencrypt/live/ and changing SSLCertificateFile to /etc/letsencrypt/live/ makes no difference. Must be an apache thing or a problem my local OpenSSL 1.1.1
  242. rom1dep lovetox: I don't know why that should be a slow path only for me, is there generally a native path for this lib? a libpython compile option?
  243. rom1dep lovetox:
  244. rom1dep if you give me yours I'll diff it
  245. lovetox rom1dep, im not sure how this would help, this is a external lib
  246. lovetox let me look how its called
  247. lovetox python3-cssutils
  248. lovetox
  249. lovetox there is a speed test
  250. lovetox try it and report what it says
  251. rom1dep aha, sorry, I was confused, I misread the path that my goto source took me to
  252. lovetox 4.67972534 for 100 iterations for me
  253. rom1dep >>> print(t.timeit(200)) 13.706663508026395
  254. lovetox 9.277540251
  255. lovetox with 200
  256. lovetox funny this lib is just slower on your machine, or is it maybe just a slow machine?
  257. rom1dep 8.068707503029145 for 100
  258. rom1dep it's a laptop
  259. rom1dep not a beefy machine
  260. rom1dep but not a weak one
  261. lovetox yeah .. i add the caching then this is not a problem anymore
  262. rom1dep Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
  263. lovetox EmleyMoor, ^ this issue is probably what makes everything slow for you
  264. rom1dep replaced system-wide cssutils by another one from pip install --user
  265. rom1dep found strikingly similar results
  266. lovetox i dont think its the lib, i just didnt account for slower cpus
  267. rom1dep t.timeit(200) 13.823666661977768
  268. porrier lovetox: Let me say one more thing. I have no problems uploading an image with conversations on the smartphone.
  269. rom1dep do you develop on a desktop?
  270. lovetox yeah and i have a xeop 1230
  271. lovetox porrier, it has nothing to do with the clinet
  272. lovetox cert validation can be different on every machine
  273. lovetox it depends on what certs you have in your local cert store
  274. rom1dep
  275. rom1dep eh, look t.timeit(200) 9.41576788702514
  276. rom1dep when I'm plugged to a power chord
  277. rom1dep the universe is back in order, time for groceries
  278. lovetox haha because it goes into energy saving mode :D
  279. porrier lovetox: The letsencrypt people say "Then that author of gajim should be able to create a log with a detailed error message."
  280. wkk Hi guys! Is there a way to change background color of the chat window? I'm currently using Gajim 1.0.1
  281. hannibal lovetox: there is a pending MR to replace cssutils with css-parser (!394) this might improve the speed
  282. lovetox porrier so start gajim in debug modus
  283. lovetox and show us what it logs
  284. lovetox wkk, no not with gajim settings
  285. bot Philipp Hörist pushed 2 commits to branch _refs/heads/master_ of _gajim_ < >:
  286. bot Philipp Hörist closed an issue in _gajim_ < >: #9305: < Display a more proper description when a MUC service returns a <gone /> error reporting the room was moved during a join >
  287. bot Philipp Hörist updated a merge request for _gajim/master_ < >: Replace css-utils with css-parser
  288. bot Philipp Hörist updated a merge request for _gajim/master_ < >: Replace css-utils with css-parser
  289. bot Philipp Hörist closed an issue in _gajim_ < >: #9642: < Switch from cssutils to css-parser >
  290. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ < >: *afbfb63a* < > Replace css-utils with css-parser The latter is a maintained fork that runs natively on python2/python3 (without using the fragile 2to3), fixes deprecations, and has a passing testsuite.
  291. bot Philipp Hörist merged a merge request for _gajim/master_ < >: Replace css-utils with css-parser
  292. porrier lovetox: I startet gajim -ws. Here's the output when I try to upload an image.
  293. lovetox ws?
  294. lovetox these are no valid command line options
  295. lovetox next time use -h to see the available options
  296. lovetox for debug modes you have to start with -v
  297. porrier How do I start in debug modus?
  298. lovetox -v
  299. porrier lovetox: Here's the debug output
  300. porrier 31.08.2019 22:18:41 (I) nbxmpp.transports_nb read_timeout called, state == CONNECTED
  301. lovetox yeah you dont have the necessary certificates installed on your machine
  302. lovetox is this windows or linux?
  303. porrier LinuxMint
  304. lovetox and openssl does also fail?
  305. porrier hm, I can call it on the console
  306. porrier terminal
  307. porrier andreas@workstation:~$ openssl OpenSSL> version OpenSSL 1.1.1 11 Sep 2018 (Library: OpenSSL 1.1.1b 26 Feb 2019) OpenSSL>
  308. lovetox obviously i meant openssl s_client -connect
  309. lovetox not starting the openssl command line app
  310. EmleyMoor lovetox, anything for me to try yet?
  311. lovetox no
  312. lovetox i will fix this soon then i tell you
  313. porrier lovetox: yes ofcourse, then I get Verify return code: 20 (unable to get local issuer certificate)
  314. lovetox ok porrier so if you ask somewhere else for support tell them that
  315. lovetox it means you dont have letsencrypt root cert on your machine
  316. porrier ok, I'll check that out tommorow. Thank you!
  317. bot Philipp Hörist closed an issue in _gajim_ < >: #9820: < Improve CSS caching >
  318. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ < >: *21438499* < > CSSConfig: Cache missing values Iterating over the css data causes performance issues on older machines Fixes #9820
  319. lovetox EmleyMoor, now you can try ^