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.


  61. pep.


  62. pep.


  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.


  71. pep.

    I would refuse it. I don't want everybody in my contacts

  72. Zash


  73. Zash

    I assume

  74. Daniel


  75. Zash

    pep-subscription and directed presence

  76. pep.


  77. Daniel


  78. pep.


  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.


  84. Daniel


  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.


  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.


  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.


  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.


  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


  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


  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


  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


  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


  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


  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


  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


  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