jdev - 2019-09-02

  1. pep. re https://mail.jabber.org/pipermail/standards/2019-August/036367.html, do I really want to send directed presences to anybody who initiates an OMEMO discussion with me?
  2. pep. That means anybody can freely request my presence
  3. pep. And I guess subscribing to PEP would be the same to some extent?
  4. tom has left
  5. lksjdflksjdf has left
  6. bhaveshsgupta has joined
  7. aj has joined
  8. bhaveshsgupta has left
  9. tom has joined
  10. bhaveshsgupta has joined
  11. tom has left
  12. bhaveshsgupta has left
  13. bhaveshsgupta has joined
  14. bhaveshsgupta has left
  15. Ge0rG has left
  16. Ge0rG has joined
  17. bhaveshsgupta has joined
  18. tom has joined
  19. bhaveshsgupta has left
  20. bhaveshsgupta has joined
  21. wurstsalat has joined
  22. moparisthebest has left
  23. moparisthebest has joined
  24. bhaveshsgupta has left
  25. Daniel Zash: omemo dates back to a time when multiple items in a node wasn't a thing
  26. Daniel And changing the access model is a later, backward compatible change. Using just one node is not
  27. Daniel I also find the multiple nodes thing to be ugly but 🤷‍♂️
  28. Daniel tom: some servers also allow you to set the access model server side
  29. tom has left
  30. bhaveshsgupta has joined
  31. bhaveshsgupta has left
  32. bhaveshsgupta has joined
  33. Alex has joined
  34. bhaveshsgupta has left
  35. bhaveshsgupta has joined
  36. bhaveshsgupta has left
  37. bhaveshsgupta has joined
  38. marc0s has left
  39. marc0s has joined
  40. bhaveshsgupta has left
  41. bhaveshsgupta has joined
  42. bhaveshsgupta has left
  43. bhaveshsgupta has joined
  44. bhaveshsgupta has left
  45. bhaveshsgupta has joined
  46. bhaveshsgupta has left
  47. larma has left
  48. bhaveshsgupta has joined
  49. larma has joined
  50. bhaveshsgupta has left
  51. bhaveshsgupta has joined
  52. bhaveshsgupta has left
  53. bhaveshsgupta has joined
  54. pep. Daniel: no opinion on my question above?
  55. Daniel pep., on the subscribe / not subscribe?
  56. Daniel no not really. it is a tough question. i don’t have a good answer
  57. pep. I think I'll be subscribing to PEP manually when I get a message from a non-contact, and unsubscribe when either the user closes the tab, or I disconnect, or if I get a PEP notification and I don't have any tab for them anymore
  58. Daniel > if I get a PEP notification and I don't have any tab for them anymore + not having mutual presence sub
  59. pep. That opens me to less things I guess? Sending directed presence automatically seems a bit meh privacy-wise? (Or am I missing something)
  60. pep. Yee
  61. pep. Yess
  62. pep. Yes
  63. pep. (I'm not drunk, honest)
  64. Daniel i follow that logic privacey wise. seems like a lot of hassle
  65. Daniel plus unclear what happens if Conversations still has a tab open
  66. Daniel can i subscribe full jid?
  67. pep. Well that means anybody can get a directed presence from me if they send me some kind of omemo attempt
  68. Zash You specify the JID to subscribe
  69. Daniel pep., well in both cases i would first sub/send presence when you want to respond
  70. pep. Why?
  71. pep. I would refuse it. I don't want everybody in my contacts
  72. Zash pep-sub
  73. Zash I assume
  74. Daniel yes
  75. Zash pep-subscription and directed presence
  76. pep. Ah
  77. Daniel *or
  78. pep. Yes
  79. pep. Or yes
  80. Daniel so either way it will be a) a little less harmfull privacey wise b) more of a just-in-time / just-if-needed approach
  81. pep. Ah I see what you mean
  82. pep. When you want to respond and not when you revive it
  83. pep. Receive*
  84. Daniel yes
  85. bhaveshsgupta has left
  86. Zash User signals intent, so seems fine.
  87. pep. Also directed presence then? Or do you think it's not useful? (Because there's no associated behaviour yet)
  88. Daniel i mean the manually pep-sub / pep-unsub is really annoying because later on you will also want to pep-sub to muc participants
  89. Daniel and then when a notification comes in you have to check for tab open, mutual presence and if you are in a muc with that person
  90. Zash That will be fragile
  91. Daniel and if not pep-unsub
  92. pep. Yeah that sounds annoying
  93. Daniel yes that will be super fragile
  94. Daniel that's why i haven’t done it yet either
  95. Daniel that's why i kinda like the simplicity of the directed presence suggestion you had
  96. Daniel but i also totally see the downsides of that
  97. Daniel plus if you go the pep-sub route? do you unsub before logoff? do you resub on every login?
  98. pep. I probably would
  99. Daniel since you can’t really know if you have succesfully subbed in a previous session you will probably have to resub on login anyway
  100. Daniel so that's a lot of traffic
  101. Daniel however you want to spin it it's going to be supper annoying
  102. pep. Hmm, I'm probably not a good example with my ratio of opened public channels vs private ones
  103. bhaveshsgupta has joined
  104. pep. I think in any case we could make it so that PEP with access_model=open is sent if there is a directed presence. Independently of whether we use it for omemo
  105. pep. Then maybe someday it'll get better deployment wise
  106. Daniel > I think in any case we could make it so that PEP with access_model=open is sent if there is a directed presence. Independently of whether we use it for omemo Yes as I said on list this probably won't hurt. And then some people can do that until we have something better
  107. pep. That would require a change in the xep right?
  108. pep. A new disco thing?
  109. Daniel Maybe we can also be a bit smarter about how we detect new devices. For example when I receive an omemo message from someone with an unknown device id (because they are using it to carbon copy to one of their other devices) I'll try to trigger a device list query again
  110. Daniel Little things like that
  111. pep. Right
  112. Ge0rG Little undocumented things? Even the part about adding all your other device IDs into a message because of implied 0280 isn't really documented.
  113. Daniel little undocumented things? you mean xmpp?
  114. Ge0rG No, that's the huge undocumented elephant in the room thing.
  115. Daniel also not true. from the omemo xep: > for each intended recipient device, i.e. both own devices as well as devices associated with the contact
  116. pep. Ge0rG: we all know the omemo xep could be better. There's an effort to document that on the wiki already iirc
  117. pep. (Looking for it)
  118. pep. Where was that page again..
  119. Daniel under tech pages
  120. Ge0rG We should have a wiki category for Errata or somesuch, and link to it from https://xmpp.org/extensions/
  121. pep. Daniel: thanks
  122. pep. Ge0rG: agreed
  123. Ge0rG luckily, you don't have to be on iteam to create wiki categories
  124. pep. Then go ahead :p
  125. pep. Also don't forget to submit your changes to xsf/xmpp.org
  126. pep. Or xeps
  127. Ge0rG Also somebody should move the 2020 events from "Recent" into "Upcoming"
  128. pep. Somebody should
  129. Daniel i'll do that
  130. Daniel also gsoc is over, right?
  131. pep. Yeah, final evaluation is over almost
  132. Ge0rG Hey, I already did that for https://wiki.xmpp.org/web/index.php?title=Category:Interop more or less.
  133. pep. There's also the remarks page
  134. Ge0rG Daniel: please also add https://wiki.xmpp.org/web/Board_and_Council_Elections_2019
  135. pep. https://wiki.xmpp.org/web/XEP_and_RFC_Remarks
  136. pep. We could link to that
  137. pep. Oh that's a thing already
  138. Ge0rG pep.: wait, is that like a Category page but manually maintained?
  139. bhaveshsgupta has left
  140. pep. Dunno
  141. pep. Maybe it's just a page
  142. bhaveshsgupta has joined
  143. pep. We could make it a category yeah
  144. Ge0rG pep.: it's a page that contains a list of other pages.
  145. Ge0rG Yes please
  146. pep. "Errata"
  147. pep. Never done that, and I'm on the phone right now (biggest hurdle)
  148. Ge0rG Category:Errata is good, I think. "Remarks" are slightly more than Errata, but I think it captures the meaing rather well
  149. Ge0rG pep.: it's actually super-easy, just add the category tag at the bottom of each page, like this: https://wiki.xmpp.org/web/index.php?title=Interop_2010&curid=408&diff=11425&oldid=2346
  150. Ge0rG pep.: if you can schedule the time to do it in the next days, that would be great.
  151. Syndace has left
  152. pep. I like how you give work to others :p
  153. Ge0rG pep.: finally, move the https://wiki.xmpp.org/web/XEP_and_RFC_Remarks page into https://wiki.xmpp.org/web/index.php?title=Category:Errata
  154. Syndace has joined
  155. Ge0rG pep.: "I'm on the phone right now" is a temporary state, and I read that "I'd like to do it, but"
  156. Ge0rG pep.: also you said at FrOSCon that you have some free time for this kind of things ;)
  157. pep. That I'm using fully, don't worry about mr
  158. pep. That I'm using fully, don't worry about me
  159. pep. Not that I don't want to do it, but not right now, also I don't like being told things, so you'll have to be more subtle next time :p
  160. pep. Your nerdsniping skills could be improved!
  161. Ge0rG pep.: oh, sorry! It would be really great if somebody volunteered to refactor that page into a wiki category... 😇
  162. jonas’ pep., regarding errata, I’d be interested in having a consistent naming scheme for that so that I can detect existing pages during xeps builds and add links from XEP -> Errata pages
  163. jonas’ there’s an issue for that in the xeps repo
  164. pep. Seems I'm the goto person now. Ge0rG you can take example on jonas’
  165. pep. You can't really guarantee what users will do with page names
  166. pep. But we can definitely restrict what the build will use
  167. jonas’ pep., yes, the build needs a URL-template where only the XEP number is a variable.
  168. jonas’ it’ll still be fun & tricky to do because we can’t (hopefully) do that in XSLT
  169. pep. My xslt skills are almost nonexistent anyway
  170. Zash jonas’ is that a challenge?
  171. Zash Isn't xslt turing-complete?
  172. jonas’ Zash, it is, but it cannot request external resources in XSLT 1.0
  173. Zash Mmmmm, must be some wiki index that can be fetched and used somehow
  174. lksjdflksjdf has joined
  175. lksjdflksjdf has left
  176. bhaveshsgupta has left
  177. Ge0rG jonas’: would it be insane to have a category for each XEP, and to link to that?
  178. lksjdflksjdf has joined
  179. jonas’ Ge0rG, yes, I think so
  180. jonas’ a page per XEP should do
  181. jonas’ do you have a concrete example where that isn’t sufficient? could we do a redirect to a category in that case?
  182. Zash has left
  183. jonas’ do you have a concrete example where that isn’t sufficient? could we do a redirect to a category in those cases?
  184. Zash has joined
  185. Ge0rG jonas’: it would give us auto-linking of all pages related to a given XEP
  186. jonas’ Ge0rG, wait, a category per XEP for all XEP-related stuff, or a category per XEP for all errata?
  187. jonas’ Ge0rG, wait, a category per XEP for all XEP-related stuff, or a category per XEP for all errata for that XEP?
  188. jonas’ a category per XEP for all XEP-related stuff (including a single page which is used for errata) makes sense to me
  189. Ge0rG jonas’: a category per XEP and a link from the XEP to that category?
  190. bhaveshsgupta has joined
  191. bhaveshsgupta has left
  192. bhaveshsgupta has joined
  193. pep. I think it's fine if a page doesn't exist on the wiki
  194. pep. Just link to it, and people can create it when necessary
  195. Daniel Zash, does proxy65 have a timeout? between connecting and activation?
  196. Zash NAFAIK
  197. Zash Is this a XEP question or a Prosody question?
  198. Daniel prosody. the xep doesn’t say anything in that regard
  199. Zash I'd have to look at the code but I don't remember any timeout in the module itself.
  200. Zash There are however socket timeouts that kick in if you're idle for some time and I don't think it has any keepalive logic.
  201. Zash Also this is not the prosody support room
  202. Daniel it's a prelude to a broader question that concerns jdev
  203. Daniel because ejabberd has one and it's causing problems in the way i use proxy65 with jingle
  204. Zash I imagine that the receiving end could have troubles if they don't say anything for ~14 minutes
  205. Daniel yeah 14 min is probably fine
  206. Zash But that's after activatino
  207. Zash Large files and poor connections (mobile?) could probably reach that
  208. Daniel so the way i use jingle is that i connect to my own candidates before i send the offer. (because there are chances that i can’t reach my own proxy because firewall/missconfiguration and i can’t retroactively kill one of my candidates
  209. Zash But you're talking about a timeout between the inital connection(s) and the activation?
  210. Daniel so if remote takes it's time to answer my offer, connect to the proxy as well / go through the dance; there might be more time passed than timeout before i can send proxy activate
  211. Daniel Zash, that's the one
  212. Daniel but maybe i'm just not understanding jingle
  213. Zash I thought you could add/change/remove anything at any time, but then I haven't done much Jingle dev either.
  214. Ge0rG Are there still MUC implementations that don't set status=110 on your reflected join presence?
  215. bhaveshsgupta has left
  216. chinaocean has joined
  217. chinaocean I send xml message to openfire by spark to regieste an account
  218. chinaocean but Openfire report the error :
  219. chinaocean <field type="jid-single" label="The Jabber ID for the account to be added" var="accountjid"> <required /> </field>
  220. Zash Maybe you could pastebin the full stanzas you sent and received?
  221. chinaocean in fact , i have trasfered the JID parameter
  222. chinaocean <iq id="TQqV7UxKTUq+rBftv6naLA" from="admin@domain" type="set" to="domain" xmlns="jabber:client"> <command node="http://jabber.org/protocol/admin#add-user" xmlns="http://jabber.org/protocol/commands"> <x type="submit" xmlns="jabber❌data"> <field var="FORM_TYPE" type="hidden"> <value>http://jabber.org/protocol/admin</value> </field> <field var="accountjid" type="jid-single"> <value>hahaha@domain</value> </field> <field var="password" type="text-private"> <value>123456</value> </field> <field var="password-verify" type="text-private"> <value>123456</value> </field> </x> </command> </iq>
  223. chinaocean the stanza i received
  224. chinaocean <iq type="result" id="TQqV7UxKTUq+rBftv6naLA" from="domain" to="admin@domain/aiygy5xatq" xmlns="jabber:client"> <command xmlns="http://jabber.org/protocol/commands" sessionid="RArCgzJpZBzDIse" node="http://jabber.org/protocol/admin#add-user" status="executing"> <x xmlns="jabber❌data" type="form"> <title>Adding a user</title> <instructions>Fill out this form to add a user.</instructions> <field type="hidden" var="FORM_TYPE"> <value>http://jabber.org/protocol/admin</value> </field> <field type="jid-single" label="The Jabber ID for the account to be added" var="accountjid"> <required /> </field> <field type="text-private" label="The password for this account" var="password" /> <field type="text-private" label="Retype password" var="password-verify" /> <field type="text-single" label="Email address" var="email" /> <field type="text-single" label="Given name" var="given_name" /> <field type="text-single" label="Family name" var="surname" /> </x> <actions execute="complete"> <complete /> </actions> </command> </iq>
  225. Zash Is that really how ad-hoc command flow goes?
  226. Zash https://xmpp.org/extensions/xep-0050.html#execute
  227. chinaocean i dont know what is the promlem
  228. Zash Not starting with this step? https://xmpp.org/extensions/xep-0050.html#example-8
  229. Zash Rougly, for simple commands it goes something like 1. Execute command 2. Receive dataform 3. Submit dataform with values 4. Get result (or another form)
  230. chinaocean https://xmpp.org/extensions/xep-0050.html#example-8
  231. chinaocean it is OK
  232. chinaocean <iq to="admin@domain/Spark" id="isxaf-87" type="result"> <query xmlns="jabber:iq:private"> <scratchpad xmlns="scratchpad:tasks"> <tasks showAll="true"/> </scratchpad> </query> </iq>
  233. chinaocean i received this message
  234. Zash That looks unrelated
  235. chinaocean ??
  236. chinaocean what shall i do ?
  237. Zash I don't know, I can't help you with that
  238. chinaocean thks!
  239. chinaocean <iq to="admin@domain/Spark" from="responder@domain" id="exec1" type="error"> <error type="cancel"> <item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq>
  240. chinaocean it return like this
  241. Zash If that's in reply to a command then I would guess that you forgot the session id
  242. Zash Is there no library functions for dealing with ad-hoc commands?
  243. chinaocean MatriX
  244. Zash I've never used that, so I can't answer that question
  245. aj has left
  246. chinaocean you remind me: sessionid
  247. chinaocean i send a guid , the result is like this
  248. chinaocean <error code="400" type="modify"> <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /> </error>
  249. Zash The server includes it in the initial response
  250. chinaocean openfire didnot repost the JID error
  251. chinaocean how to get the sessionid?
  252. Zash https://xmpp.org/extensions/xep-0050.html#desc-command
  253. Zash It was in the first response you sent earlier
  254. Zash Save it and use it in the next request
  255. chinaocean i know.
  256. chinaocean i create an unique id as a seesion id
  257. chinaocean and i will received a stanza like this
  258. chinaocean <iq type="error" id="add-user_00001" from="domain" to="admin@domain/7154tif52" xmlns="jabber:client"> <command xmlns="http://jabber.org/protocol/commands" node="http://jabber.org/protocol/admin#add-user" sessionid="6ff594373fd6437aa8ac3439ebe83ae5"> <x xmlns="jabber❌data" type="submit"> <field var="FORM_TYPE" type="hidden"> <value>http://jabber.org/protocol/admin</value> </field> <field var="accountjid" type="jid-single"> <value>hahaha@domain</value> </field> <field var="password" type="text-private"> <value>123456</value> </field> <field var="password-verify" type="text-private"> <value>123456</value> </field> </x> </command> <error code="400" type="modify"> <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /> </error> </iq>
  259. bhaveshsgupta has joined
  260. aj has joined
  261. bhaveshsgupta has left
  262. bhaveshsgupta has joined
  263. chinaocean has left
  264. bhaveshsgupta has left
  265. bhaveshsgupta has joined
  266. Zash has left
  267. bhaveshsgupta has left
  268. bhaveshsgupta has joined
  269. bhaveshsgupta has left
  270. bhaveshsgupta has joined
  271. bhaveshsgupta has left
  272. Zash has joined
  273. bhaveshsgupta has joined
  274. moparisthebest has left
  275. moparisthebest has joined
  276. lovetox has joined
  277. Ge0rG Should a client send 0184 receipts for all messages retrieved from MAM? :>
  278. Zash Ugh
  279. Zash Should the server save 184 recepits?
  280. lovetox yes Ge0rG
  281. lovetox yes Zash
  282. Ge0rG Zash: yes
  283. Ge0rG Zash: also message errors.
  284. lovetox Ge0rG, you can wait the catchup and see if another client of yours already sent a 0184 receip
  285. lovetox then you should not send another one
  286. lovetox as receipts should be account based not resource based
  287. Zash If receipts are account based then the server should send them
  288. lovetox Server cant know if client received a message
  289. Zash and then they change meaning to "saved into recipients archive"
  290. lovetox receipt means a client successfully processed a message, in my opinion
  291. lovetox and not "its in some archive"
  292. lovetox though probably debateable
  293. Ge0rG I agree with lovetox on that.
  294. Ge0rG Otherwise I'd have suggested that before.
  295. Ge0rG But there is real value in "this message arrived at a client", because it means the account isn't abandoned
  296. Ge0rG I also need a mechanism to delay notifications for MAMed messages.
  297. lovetox amazing how much more things you have to think about in a client if you implement this rather easy "get me these messages from the archive" XEP :9
  298. Zash Has 333 been fixed to not duplicate parts of 184 and chat states?
  299. Zash ... yet?
  300. lovetox nope
  301. lovetox but also nobody is forced to implement these parts :9
  302. lovetox but also nobody is forced to implement these parts :)
  303. bhaveshsgupta has left
  304. Zash Nobody is forced to implement 333 at all
  305. bhaveshsgupta has joined
  306. Ge0rG Sigh. Databases are hard. I want to switch android notifications from live-generated and appended-to, to database based. I'm looking for something like "unread incoming messages", but that conveniently leaves out delivery errors, because those get aggregated into the "outgoing transmitted but failed" messages
  307. Ge0rG I wonder if an SQLite index on (from_or_to, delivery_status) will even work efficiently for such a query. After all, from_or_to can take both possible values here.
  308. gav has left
  309. bhaveshsgupta has left
  310. bhaveshsgupta has joined
  311. wurstsalat has left
  312. wurstsalat has joined
  313. bhaveshsgupta has left
  314. bhaveshsgupta has joined
  315. bhaveshsgupta has left
  316. bhaveshsgupta has joined
  317. bhaveshsgupta has left
  318. bhaveshsgupta has joined
  319. wurstsalat has left
  320. wurstsalat has joined
  321. rion has left
  322. rion has joined
  323. wurstsalat has left
  324. wurstsalat has joined
  325. bhaveshsgupta has left
  326. bhaveshsgupta has joined
  327. wurstsalat has left
  328. wurstsalat has joined
  329. bhaveshsgupta has left
  330. bhaveshsgupta has joined
  331. wurstsalat has left
  332. wurstsalat has joined
  333. lovetox has left
  334. Zash has left
  335. bhaveshsgupta has left
  336. bhaveshsgupta has joined
  337. bhaveshsgupta has left
  338. bhaveshsgupta has joined