jdev - 2021-11-28

  1. atomicwatch has left

  2. PapaTutuWawa has left

  3. spectrum has left

  4. serge90 has left

  5. serge90 has joined

  6. mac has joined

  7. thomaslewis has joined

  8. spectrum has joined

  9. thomaslewis has left

  10. paul has left

  11. SouL has left

  12. pasdesushi has left

  13. thomaslewis has joined

  14. emus has left

  15. debacle has left

  16. thomaslewis has left

  17. thomaslewis has joined

  18. moparisthebest has left

  19. moparisthebest has joined

  20. thomaslewis has left

  21. mac has left

  22. mac has joined

  23. Kev has left

  24. Kev has joined

  25. moparisthebest has left

  26. moparisthebest has joined

  27. thomaslewis has joined

  28. thomaslewis has left

  29. thomaslewis has joined

  30. thomaslewis has left

  31. sonny has left

  32. sonny has joined

  33. thomaslewis has joined

  34. thomaslewis has left

  35. thomaslewis has joined

  36. Apollo has left

  37. larma has joined

  38. Neustradamus has left

  39. Neustradamus has joined

  40. SouL has joined

  41. sonny has left

  42. sonny has joined

  43. Vaulor has left

  44. Vaulor has joined

  45. Yagizа has joined

  46. paul has joined

  47. pulkomandy has left

  48. pulkomandy has joined

  49. antranigv has left

  50. antranigv has joined

  51. pulkomandy has left

  52. pulkomandy has joined

  53. antranigv has left

  54. jgart has left

  55. tsk has joined

  56. wurstsalat has left

  57. antranigv has joined

  58. atomicwatch has joined

  59. pulkomandy has left

  60. pulkomandy has joined

  61. pulkomandy has left

  62. pulkomandy has joined

  63. raghavgururajan has joined

  64. tsk has left

  65. jubalh has joined

  66. dezant has left

  67. rafasaurus has left

  68. emus has joined

  69. rafasaurus has joined

  70. xecks has joined

  71. nephele has joined

  72. Kev has left

  73. Kev has joined

  74. Alex has left

  75. Alex has joined

  76. debacle has joined

  77. goffi has joined

  78. msavoritias has joined

  79. pasdesushi has joined

  80. pasdesushi has left

  81. pasdesushi has joined

  82. Martin has left

  83. Martin has joined

  84. wurstsalat has joined

  85. marc0s has left

  86. marc0s has joined

  87. debacle has left

  88. debacle has joined

  89. Syndace has left

  90. Syndace has joined

  91. antranigv has left

  92. antranigv has joined

  93. antranigv has left

  94. tsk has joined

  95. marc has joined

  96. marc0s has left

  97. marc0s has joined

  98. Martin


  99. mac has left

  100. bung has left

  101. Martin just answered a "new" mail from juser and realized later that it was from december 2020.

  102. Martin

    Is the date setting on the sending site wrong or did juser take almost one year to deliver that message?

  103. Martin


  104. antranigv has joined

  105. jubalh has left

  106. antranigv has left

  107. Maranda has left

  108. Maranda has joined

  109. debacle has left

  110. jubalh has joined

  111. tsk has left

  112. marmistrz has joined

  113. mac has joined

  114. Apollo has joined

  115. Kev has left

  116. Kev has joined

  117. marc has left

  118. marc has joined

  119. kikuchiyo has left

  120. kikuchiyo has joined

  121. Apollo has left

  122. mac has left

  123. xecks has left

  124. 9lakes has left

  125. PapaTutuWawa has joined

  126. sonny has left

  127. sonny has joined

  128. nephele has left

  129. xecks has joined

  130. raghavgururajan has left

  131. mac has joined

  132. defanor

    FWIW, "Received" headers usually contain timestamps, so you may be able to track when it went where, according to the servers adding those headers, and compare to user-set "Date".

  133. defanor

    I happened to receive a reply to a message from April just yesterday, maybe it's the delayed message delivery day.

  134. Zash

    Perhaps it was triggered by the configuration change mentioned in https://mail.jabber.org/pipermail/council/2021-November/004520.html

  135. Martin

    > Received: from NAM12-DM6-obe.outbound.protection.outlook.com > (mail-dm6nam12olkn2074.outbound.protection.outlook.com []) > by atlas.jabber.org (Postfix) with ESMTPS id BBAF089D > for <juser@jabber.org>; Tue, 29 Dec 2020 19:15:31 +0000 (UTC)

  136. jubalh has left

  137. nephele has joined

  138. jubalh has joined

  139. mac has left

  140. Maranda has left

  141. Maranda has joined

  142. mac has joined

  143. jgart has joined

  144. sonny has left

  145. Maranda has left

  146. sonny has joined

  147. Kev has left

  148. goffi has left

  149. goffi has joined

  150. Kev has joined

  151. raghavgururajan has joined

  152. marmistrz has left

  153. lovetox

    i find it really ugly

  154. lovetox

    that resource binding is done via IQ

  155. Zash


  156. lovetox

    why though, i mean there was probably a history or story behind this

  157. Zash

    Welcome to the sensible camp! Let's give angry stares to those who think everything in session startup should be iq stanzas 😉

  158. Zash

    lovetox, behold this horror: https://xmpp.org/extensions/xep-0078.html

  159. Zash

    I remember doing that with telnet 900 years ago

  160. lovetox

    but it makes no sense, reading the rfc, its only nonzas all the way, and then suddenly they start with stanzas BEFORE WE HAVE A JID :D

  161. Zash

    I think "nonzas" were invented at the time of IETF standardization

  162. lovetox

    title is enough for me, to not read that

  163. Zash

    Scroll down to https://xmpp.org/extensions/xep-0078.html#example-3 and cry

  164. Zash

    Tho it was easier to type that into telnet than doing SCRAM in your head 😉

  165. Zash

    or even PLAIN

  166. mac has left

  167. Zash

    lovetox, do you have a moment to talk about our lord and savior, https://xmpp.org/extensions/xep-0386.html ? ;)

  168. Zash

    and https://xmpp.org/extensions/xep-0388.html

  169. nephele has left

  170. Zash

    and https://xmpp.org/extensions/xep-0389.html

  171. Zash

    the holy trinity of XMPP 2.0 connection establishing

  172. lovetox

    yes, im interested in that, is there some working support in prosody for that?

  173. Zash

    I had a prototype / WIP somewhere

  174. Zash

    Hopefully there'll be more time to work on that after Prosody 0.12 gets out the door.

  175. jubalh has left

  176. lovetox

    also something very ugly

  177. lovetox

    every stanza has a type attribute with a value

  178. lovetox

    except presence, it can just be absent

  179. Zash

    message too

  180. Zash

    only iq is strict

  181. jubalh has joined

  182. lovetox

    no with message its just an optimization

  183. lovetox

    you can leave it out but that means "normal"

  184. lovetox

    for presence there is no default

  185. Zash

    Only having to send `<presence/>` to go online is nice tho.

  186. lovetox

    makes writing stanza handlers fun, now you need to add code for the single case, where you want to match on the absence of an attribute

  187. lovetox

    Zash, no problem with that, just assign a default like with message

  188. lovetox

    presence type=normal

  189. lovetox

    or something

  190. Zash

    how about 'available' to mirror 'unavailable' ?

  191. Zash

    and then hide that in abstractions so it serializes out to None or whathaveyou

  192. jonas’

    enums! :)

  193. lovetox

    actually i do that, with show

  194. jonas’

    and that broke everything?

  195. Zash


  196. lovetox

    no works quite well

  197. lovetox

    i simply have a added, Show.AVAILABLE

  198. lovetox

    but yeah this is the next ugly thing with presence

  199. lovetox

    you commnicate your state with show

  200. lovetox

    but not if you are available

  201. lovetox

    then its absent

  202. lovetox

    now you need everytime to check 2 things, actually type must be absent AND show must be absent

  203. lovetox

    and no problem with optimizations on the stream with default values etc

  204. lovetox

    but to have nothing, puts library developers in the situation to add stuff thats not in the standard to make things sane

  205. Zash

    Abstractions gonna abstract

  206. lovetox

    i really just wonder, that rfc was written over some weeks or months whatever, some inital idea and it was like Presence: Ok most things can be absent, we dont need defaults, just the absence is enough IQ: Nothing is allowed to be absent Message: Lets allow something to be absent, but we define a default

  207. Zash

    The initial RFCs were written years after Jabber was already a thing

  208. lovetox

    ok so this was like some thing that needed to be backwards compatible from the start

  209. lovetox


  210. Zash

    Jabber was launched in 1999, the IETF standardization happened around 2002-2005 I think (I wasn't involved in any of this back then)

  211. Zash

    Historical Reasons, yes 🙂

  212. Apollo has joined

  213. lovetox

    i found something debatable

  214. lovetox

    prosody answers a bind request with

  215. lovetox

    <iq type='result' id='myid'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>lovetox@jabber.fr/test</jid></bind></iq>

  216. lovetox

    no from on the jid would mean this iq is from the user account

  217. lovetox

    no from on the stanza would mean this iq is from the user account

  218. Zash

    I've found it safest for my own sanity to not think of those as actual iq stanzas

  219. lovetox

    should it not be instead from the server? so from=jabber.fr

  220. Zash

    Instead, pretend that's a nonza that just happens to be called <iq xmlns="jabber:client">

  221. Zash

    to and from are only allowed on real stanzas

  222. Zash

    before you've bound a resource, those don't even make sense

  223. Zash

    Prosody even treats it as a nonza

  224. Apollo has left

  225. lovetox

    rfc does also not include a from in its example for bind

  226. junaid has left

  227. Zash

    Oh, there it is

  228. Zash


  229. marc0s has left

  230. marc0s has joined

  231. jgart has left

  232. 9lakes has joined

  233. Yagizа has left

  234. Yagizа has joined

  235. sonny has left

  236. sonny has joined

  237. me9 has joined

  238. dezant has joined

  239. Yagizа has left

  240. Yagizа has joined

  241. sonny has left

  242. sonny has joined

  243. Yagizа has left

  244. Yagizа has joined

  245. sonny has left

  246. sonny has joined

  247. jubalh has left

  248. serge90 has left

  249. serge90 has joined

  250. nephele has joined

  251. jgart has joined

  252. marmistrz has joined

  253. Kev has left

  254. Kev has joined

  255. Yagizа has left

  256. Kev has left

  257. Kev has joined

  258. jubalh has joined

  259. lovetox

    it gets more funny if you consider error cases while binding

  260. lovetox

    in iq errors the original query is not mandatory included

  261. lovetox

    then you dont even have the bind namespace

  262. lovetox

    but i guess the iq stanza id ..

  263. jonas’

    also there can be no other stanza in flight at that point

  264. lovetox

    i hate to break the promise to the application that every iq has a from address

  265. jonas’

    then don't

  266. lovetox

    only because of this one case ...

  267. jonas’

    treat it as a nonza

  268. lovetox

    thats hard

  269. lovetox

    then i need to make an exception at the parser level

  270. antranigv has joined

  271. lovetox

    but i guess i could do this

  272. lovetox

    so it does not end up as a type IQ

  273. Zash

    in prosody nothing is a stanza until after resource binding

  274. Zash

    tho that's handled above the parser, nearer the routing

  275. Kev has left

  276. lovetox

    right now the parser translates parsed elements based on tag and namespace to respective classes

  277. lovetox

    and later i dispatch depending on the type

  278. Kev has joined

  279. pulkomandy has left

  280. pulkomandy has joined

  281. lovetox

    jonas’, i dont know how much you have typed your lib, but such things are not just a problem because you have to create some exception in your code somewhere

  282. lovetox

    its your IQ object now returns on get_from() suddenly None or JID

  283. jonas’

    lovetox, I register the stream-level elements dynamically

  284. jonas’

    that's why it's not a problem

  285. lovetox

    which is incredibly ugly for applications

  286. lovetox

    becuse they now get lots of typing errors, if they dont always check for None

  287. jonas’

    and from gets rewritten early in the code which knows about stanzas

  288. jonas’

    to be consistent

  289. lovetox

    ok i will try to make it into a weird iq nonza :D

  290. lovetox

    lets see how that works out

  291. Yagizа has joined

  292. Kev has left

  293. jubalh has left

  294. Kev has joined

  295. Kev has left

  296. Kev has joined

  297. Kev has left

  298. Kev has joined

  299. jgart has left

  300. antranigv has left

  301. Kev has left

  302. debacle has joined

  303. Kev has joined

  304. Kev has left

  305. Yagizа has left

  306. Kev has joined

  307. Kev has left

  308. Kev has joined

  309. Maranda has joined

  310. jubalh has joined

  311. Kev has left

  312. Kev has joined

  313. goffi has left

  314. goffi has joined

  315. Kev has left

  316. Kev has joined

  317. Yagizа has joined

  318. Maranda has left

  319. Zash

    okay, I made an https://modules.prosody.im/mod_bind2.html to go with https://modules.prosody.im/mod_sasl2.html

  320. Zash

    ... consisting to 80% of TODOs 🙂

  321. Kev has left

  322. Kev has joined

  323. Yagizа has left

  324. Kev has left

  325. Kev has joined

  326. Kev has left

  327. Kev has joined

  328. Kev has left

  329. Kev has joined

  330. Kev has left

  331. Maranda has joined

  332. Kev has joined

  333. sonny has left

  334. sonny has joined

  335. sonny has left

  336. sonny has joined

  337. Kev has left

  338. Kev has joined

  339. sonny has left

  340. sonny has joined

  341. sonny has left

  342. sonny has joined

  343. Kev has left

  344. Kev has joined

  345. moparisthebest has left

  346. nephele has left

  347. nephele has joined

  348. moparisthebest has joined

  349. Kev has left

  350. Kev has joined

  351. nephele has left

  352. Kev has left

  353. Kev has joined

  354. marmistrz has left

  355. Kev has left

  356. Kev has joined

  357. msavoritias has left

  358. Mx2 has left

  359. Mx2 has joined

  360. Kev has left

  361. Kev has joined

  362. Kev has left

  363. Kev has joined

  364. mac has joined

  365. Kev has left

  366. Kev has joined

  367. moparisthebest has left

  368. emus has left

  369. emus has joined

  370. moparisthebest has joined

  371. Kev has left

  372. Kev has joined

  373. goffi has left

  374. emus has left

  375. goffi has joined

  376. emus has joined

  377. Alex has left

  378. Alex has joined

  379. Kev has left

  380. Kev has joined

  381. pulkomandy has left

  382. pulkomandy has joined

  383. me9 has left

  384. drops has left

  385. drops has joined

  386. thomaslewis

    Does it at least function semi-properly?

  387. Zash

    thomaslewis, you tell me!

  388. thomaslewis

    ejabberd here, so...

  389. thomaslewis needs to get back to writing IdleRPG for XMPP at some point...

  390. goffi has left

  391. Alex has left

  392. Kev has left

  393. SouL has left

  394. Kev has joined

  395. wurstsalat has left

  396. jubalh has left

  397. thomaslewis has left

  398. thomaslewis has joined

  399. raghavgururajan has left

  400. atomicwatch has left

  401. Kev has left

  402. Kev has joined

  403. pasdesushi has left

  404. jgart has joined

  405. Kev has left

  406. Kev has joined

  407. marc0s has left

  408. marc0s has joined

  409. debacle has left

  410. emus has left

  411. Kev has left

  412. Kev has joined

  413. Kev has left

  414. Kev has joined