Gajim - 2017-10-15


  1. Zash https://github.com/xsf/xeps/commit/028f852c595e857410083697750cd0493d7698dc
  2. lovetox i get that for PEP it makes sense
  3. lovetox PEP is always about the account
  4. Zash PEP is pubsub on your own account jid. It specifies a minimum set of xep60 features, but you are allowed to do more than that.
  5. Zash 222 and 223 says "here's how you can do stuff if it has these extra pubsub features"
  6. lovetox ok, the question i asked myself last time is, what if a server doesnt have PEP, because when PEP is only a subset, does this mean you can configure a PubSub module to do exactly what PEP does?
  7. lovetox so do i have to only check for PEP beeing available, or could it be that only PubSub is available, but i can do the same things
  8. Zash Nothing says the host can't provide some sort of pubsub
  9. Zash In recent prosody, you can load mod_pubsub onto the host
  10. Zash You can also load proxy65 onto the host. Or http upload.
  11. lovetox i think i just remove the pubsub check
  12. lovetox gajim only needs PEP, so i just check for PEP
  13. Zash PEP is pubsub. Pubsub itself is *really* generic and can be used for anything.
  14. lovetox so is there even a full xep-0060 module out there?
  15. Zash With *all* features? No idea, but that's a lot of features.
  16. Zash Kinda like asking if there's an XMPP server that does *all* the XEPs
  17. Zash Doesn't nessesarily even make sense.
  18. lovetox so in reality this <feature var='http://jabber.org/protocol/pubsub'/> means nothing, i would have to check exactly for the features i need
  19. lovetox like #publish, #publish-options etc
  20. Zash That by itself probably means that you can do send <iq to=that><pubsub><something/></pubsub></iq> and get back "sorry, don't support that feature"
  21. Zash Didn't it have a list or table of all the features?
  22. Zash https://xmpp.org/extensions/xep-0060.html#features
  23. lovetox yeah lol
  24. Zash So, I suppose http://jabber.org/protocol/pubsub means it does at least all the unqualified MUSTs in '60
  25. Zash lovetox: I suppose it could be sensible to group all the pubsub related checks under if 'http://jabber.org/protocol/pubsub' in features: ...
  26. Zash Maybe
  27. Zash Buuuuuut does all PEP things advertise that?
  28. Zash Or is that implied by <identity category='pubsub' type='pep'/> ?
  29. Zash Probably a question for xsf@
  30. lovetox Zash thats exactly the thing that confused me
  31. lovetox because your new pep+ module does not
  32. lovetox so i started to think, ok there is PEP and PubSub two different things
  33. lovetox i have to check for both
  34. lovetox does not announce http://jabber.org/protocol/pubsub i mean
  35. Zash lovetox: Seems to be that pep+ does the right thing and pep might either be doing whatever everyone else was doing instead of what the xep says
  36. lovetox no i dont talk about where to query, even if i query on the account like you said
  37. lovetox the new pep+ does not announce http://jabber.org/protocol/pubsub
  38. Zash lovetox: compare https://xmpp.org/extensions/xep-0163.html#support
  39. Zash example 11
  40. Zash It's not there either
  41. Zash Nor in https://xmpp.org/extensions/attic/xep-0163-1.1.html#disco
  42. lovetox yeah, im not saying it is wrong, i just said it confused me, because the ejabbered module does add this
  43. lovetox in reality i dont care now, because if i see identity pep i know it can do the things i want
  44. lovetox only have to check for publish options additionally
  45. Zash right, and I'm trying to show why it (probably) is the way it is
  46. Link Mauve Woah, Gajim takes 15s to start on Asterix’s computer?! Here it takes three and I already find that incredibly long. :s
  47. bot Philipp Hörist pushed 2 commits to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>: *64d3bf63* <https://dev.gajim.org/gajim/gajim/commit/64d3bf63cf95fc42602bc43dbb984f8e7739b306> Discover PEP on the account jid see: https://xmpp.org/extensions/xep-0163.html#support *2e9de770* <https://dev.gajim.org/gajim/gajim/commit/2e9de7702f913cddf0571e1a2ed0094b49ceb425> Remove discovery of generic pubsub support We use PubSub only on our account jid, this use case is what PEP was made for. If PEP is discovered we know that certain PubSub features are supported, see: https://xmpp.org/extensions/xep-0163.html#defaults The current check for <feature var='http://jabber.org/protocol/pubsub'/> is pretty useless, as it just tells us that there is a PubSub implementation but not much about the features. Only `publish` and `subscribe` are MUST in XEP-0060 which is not enough for our needs. If there is ever need to discover a generic PubSub implementation that is not PEP we should check for all the PubSub features we need instead of only for <feature var='http://jabber.org/protocol/pubsub'/>
  48. lovetox maybe it has to do with the fact that he added like 20 accounts
  49. Link Mauve I have eight here.
  50. Link Mauve (Disabled I have more.)
  51. Link Mauve Imo improving the perceived load time would go a long way for some users.
  52. Zash Startup or all the login things?
  53. Link Mauve Just startup, from enter in the terminal to a window.
  54. lovetox hm im happy with the loading time to be honest
  55. lovetox even in my linux vm ./launch.py and it needs less then 2 seconds
  56. lovetox even in my linux vm ./launch.py and it needs less than 2 seconds
  57. Link Mauve Maybe your computer is fast.
  58. lovetox i think it has only to do with having a SSD or not
  59. Link Mauve Oh, Gajim does that much IO?
  60. lovetox hm i cant say i have no comparison
  61. lovetox many db querys and inserts
  62. lovetox but i dont know whats much for a sqlite db on a normal HD
  63. lovetox but once you have something like OMEMO
  64. lovetox you have for every message 4-5 db querys
  65. lovetox only for encryption, then you have the ones you have normally for messages in your client
  66. lovetox does not have to do with startup time though
  67. Link Mauve Why do you need db lookups before displaying the initial window?
  68. Link Mauve Should be a matter of loading a .ui file and displaying it.
  69. lovetox maybe we do, i never looked where we call show
  70. Zash Gajim doesn't respond to blocklist pushes? Patch: https://q.zash.se/182c630e9ddc.txt
  71. mdosch Traceback (most recent call last): File "/usr/lib/python3/dist-packages/gajim/groupchat_control.py", line 2401, in _on_message_textview_key_press_event list_nick.remove(self.nick) # Skip self ValueError: list.remove(x): x not in list
  72. mdosch gajim-default-nightly/unstable,unstable,unstable,now 20171015-1
  73. mdosch But gajim seems to work just fine
  74. lovetox Zash, thanks, i patch the blocking stuff, did this have a unwanted consequenz?
  75. lovetox does prosody do something differently if it doesnt get the result
  76. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>: *f22fa200* <https://dev.gajim.org/gajim/gajim/commit/f22fa200ea9eca5bf842ec0123ef0c1c34992387> Return IQ result on blocking push
  77. bot Philipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>: *2446c7e3* <https://dev.gajim.org/gajim/gajim/commit/2446c7e3ed969e0426e4dae446fffd27a983de9d> Refactor Blocking List Fixes #8762
  78. Zash lovetox: prosody doesn't care about the result, it's just discarded. It is however mandatory to reply to all IQ stanzas.
  79. lovetox yes, i just wondered if this could have caused problems :) thanks
  80. Nothing4You is there a way to prevent gajim from duplicating group chat history when restarting?
  81. Nothing4You in the chat history
  82. lovetox yeah dont kill gajim
  83. lovetox shut it down normally
  84. Nothing4You i did shut it down normally
  85. lovetox but yeah the behaviour is bad
  86. lovetox how many messages are duplicated?
  87. Nothing4You only the last one currently
  88. Nothing4You but there's only one "history" message showing up in the chat aswell
  89. Nothing4You preferrably i'd also have more than just the last message show there
  90. lovetox thats unavoidable that we get the last message again, and right now we have no deduplication for muc
  91. Nothing4You https://files.xmpp.msg.lol/72a5a25b-c40a-4cbb-a8b7-e035347a24e5/Screenshot%20from%202017-10-15%2019-18-54.png
  92. lovetox but i have it on my list
  93. Nothing4You do muc messages have an unique identifier allowing "easy" deduplication?
  94. lovetox i didnt look into it but i think yes, the message id should be unique
  95. lovetox but currently in gajim we dont save message ids, so thats also on my list, one thing depends on the next ^^
  96. Zash The id attribute of the <message>? Don't count on it.
  97. lovetox then we would have to rely on stuff like time and message text
  98. Nothing4You anyways, is there a way to restore my conversations settings if i have a backup of the filesystem structure?
  99. Nothing4You er
  100. Nothing4You that should not be here
  101. Zash Some implementations just pass on the id that whoever sent it set. Some override it. Both approaches have issues.
  102. Zash So https://xmpp.org/extensions/xep-0359.html was invented
  103. lovetox ah nice prosody uses this
  104. lovetox at least in trunk
  105. Zash It's probably MAM-MUC doing it
  106. Nothing4You btw gajim now has all windows merged for me in gnome
  107. Nothing4You so the roster is the same window group as the chat window
  108. lovetox yeah i found the prob
  109. Nothing4You just wanted to confirm it's fixed
  110. Nothing4You you already told me about window classes last time i reported it here
  111. Link Mauve lovetox, hmm, when you block someone, shouldn’t you show them as offline now? Same when you unblock them, imo you should send a presence probe to know their current presence.
  112. Link Mauve And maybe send them a presence of yours? Or is the server meant to do so?
  113. lovetox i have no idea
  114. lovetox When the user unblocks communications with a JID, the user's server MUST send the user's current presence information to the JID
  115. lovetox but there is nothing about sending us the information of the JID
  116. lovetox sp presence probe on unblocking seems necessary
  117. lovetox and showing as offline seems also good
  118. lovetox how do i do a presence probe?
  119. lovetox https://xmpp.org/extensions/xep-0318.html
  120. lovetox is this ok?
  121. lovetox Link Mauve, whats your opinion about blocking list used for muc
  122. Link Mauve Isn’t that how you do it?
  123. lovetox no we use privacy list for that
  124. Link Mauve Aside from a bug in some MUC implementation long ago, where it was kicking you if you did that, I don’t think there is any issue.
  125. lovetox there is a issue
  126. Link Mauve And if the server doesn’t support privacy lists?
  127. lovetox server blocks all xml if you block
  128. Link Mauve (Most shouldn’t nowadays, it’s been deprecated.)
  129. lovetox that means you dont even know if the one is in the channel
  130. lovetox but he can still read your messages
  131. Link Mauve Hmm, do you actually want to see them even?
  132. lovetox thats not the question
  133. lovetox you are on a information deficit if we do it like that, you join a channel look at the roster, say something
  134. lovetox and expect that only the people can read that are in the roster
  135. Link Mauve Hmm…
  136. lovetox but you forgot a month ago you blocked that one friedn
  137. Link Mauve Could you bring that to standards@?
  138. Link Mauve Sounds like a serious issue.
  139. lovetox wit privacy list, i block only outgoing presence and incoming message
  140. lovetox so i get his presence
  141. lovetox ok i will write it up
  142. Link Mauve Outgoing presence shouldn’t be affected though.
  143. lovetox a blocking list block is a full block
  144. lovetox everything is affected
  145. Link Mauve That sounds like an oversight.
  146. Link Mauve A blocking command should affect exactly what most users should want.
  147. Nothing4You what's standards@?
  148. Flow Nothing4You, https://mail.jabber.org/pipermail/standards/
  149. Nothing4You thanks
  150. lovetox i somehow cant believe this is an oversight
  151. lovetox i mean when the xep was proposed, someone on the list must have asked, what is with muc
  152. Link Mauve I don’t remember any such discussion.
  153. lovetox would be a nice spy tool
  154. lovetox just insert a muc jid into a users blocking list
  155. lovetox you can be in the channel, read everything, and he doesnt know you here
  156. Link Mauve Except that wouldn’t work, since the MUC needs your presence to know you are in it.
  157. lovetox the muc has my presence
  158. lovetox only because my mucjid is in the blocking list of one user in a muc
  159. lovetox does not mean the muc doesnt get my presences
  160. Holger > Aside from a bug in some MUC implementation long ago, where it was kicking you if you did that, I don't think there is any issue. I think the issue here is that the XEP doesn't address this case, by the way.
  161. Holger lovetox: > Also my server blocks all presence from the blocked user, so i dont even know he is in the channel. You'll receive the presence because it's from the blocked user's MUC JID, no?
  162. lovetox why i blocked the mucjid
  163. lovetox my server is not allowed to send it to me
  164. Holger Ah.
  165. lovetox say i block gajim@conference.gajim.org/Holger
  166. Holger Yes that part wasn't obvious to me from reading your message.
  167. Holger *email
  168. bot Philipp Hörist pushed 3 commits to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>: *29cf416d* <https://dev.gajim.org/gajim/gajim/commit/29cf416da4fb9b396c40728a0ac7d0da0eb37156> Send Presence probe on unblock *03e32668* <https://dev.gajim.org/gajim/gajim/commit/03e326688dda4ccf287b96098b38842b6c96f629> MUC: Hide block menu if privacy list is absent *ed764789* <https://dev.gajim.org/gajim/gajim/commit/ed764789f132c61bbab1cca1cbd4065649f97d2a> Show blocked contacts as offline
  169. lovetox so Link Mauve everything done, i think this works now as expected
  170. Link Mauve lovetox, why hide and not just disable, with a tooltip explaining why?
  171. Zash Blocking MUC jids is a bit awkward actually.
  172. lovetox do you want people asking you why on your server privacy lists is not installed?
  173. Nothing4You what's currently the situation on other features that the server doesn't support?
  174. Nothing4You hidden or grayed out?
  175. Link Mauve lovetox, these are deprecated, I’d expect they will vanish from servers over time.
  176. Link Mauve Nothing4You, the latter.
  177. Link Mauve Same for features the contact doesn’t support.
  178. lovetox so as we now determined, there is no real blocking in MUCs, the most you can get is a "ignore" like thing with privacy lists, which is depreacted, and phased out on most servers
  179. lovetox so i prefer users not asking why block is greyed out and why privacy lists dont work
  180. lovetox i think we should add a note to the xep that says, Dont implement this for MUC
  181. lovetox also no tooltips anymore on the new Gio.Menus
  182. lovetox in Gtk
  183. lovetox which makes me a bit sad
  184. Holger Not implementing this for MUC would also solve the issue Link Mauve mentioned (it's unclear whether/how the user's server should respond to an incoming groupchat message from a blocked JID).
  185. lovetox why is this unclear?
  186. lovetox the xep states no stanzas from the blocked jid are to be delivered
  187. Zash lovetox: doesn't it say that they should be bounced with an error?
  188. Holger Yes. "For message stanzas, the server SHOULD return an error, which SHOULD be <service-unavailable/>."
  189. lovetox yes
  190. Holger The MUC will kick you if you do that.
  191. lovetox ah interesting
  192. lovetox lol then it is really unusable
  193. Zash Prosody doesn't, but dealing with PMs is really awkward
  194. Holger Link Mauve even says it's a bug if you do that :-)
  195. Holger The thing I'd like to avoid is having the server track MUC joins.
  196. Holger But this is one of the things that can't be solved properly without doing that.
  197. Zash https://hg.prosody.im/0.10/file/0.10.0/plugins/mod_blocklist.lua#l274
  198. lovetox what would probably be expected is, that the MUC doesnt deliver my messages to the blocked jid, but for that the muc must know the blocklists of everybody
  199. Holger Zash: Are groupchat messages from a blocked JID also dropped when the recipient is offline?
  200. lovetox or we add jids that are on our block lists to the message
  201. Zash I would actually have preferred that you sent blocking commands to MUCs
  202. Zash Could help with autokicking people or magic.
  203. Holger Zash: Otherwise it's a presence leak (but ejabberd does the same).
  204. Zash Holger: All groupchats are always dropped
  205. Holger That's better then.
  206. Zash chat and normal get bounced unless it's a message to an existing resource
  207. Zash I sorta suspect that this may be a leak of the fact that you've blocked them.
  208. Zash Somehow
  209. Zash Not sure
  210. Holger Well you'd return an error for groupchats if the recipient was offline and didn't block you, right?
  211. lovetox is there really someone who implements blocking list in MUCs?
  212. Holger So yes. But meh.
  213. Zash lovetox: Not that I'm aware.
  214. debacle Gajim still supports privacy lists (XEP-0016), which is deprecated. Are there any plans to drop this feature? Just curious...