jdev - 2020-04-28


  1. gav has left

  2. aj has left

  3. Wojtek has left

  4. debacle has left

  5. alexis has left

  6. alexis has joined

  7. pulkomandy has left

  8. pulkomandy has joined

  9. alexis has left

  10. alexis has joined

  11. pulkomandy has left

  12. pulkomandy has joined

  13. pulkomandy has left

  14. pulkomandy has joined

  15. pulkomandy has left

  16. pulkomandy has joined

  17. pulkomandy has left

  18. pulkomandy has joined

  19. pulkomandy has left

  20. pulkomandy has joined

  21. pulkomandy has left

  22. pulkomandy has joined

  23. pulkomandy has left

  24. pulkomandy has joined

  25. pulkomandy has left

  26. pulkomandy has joined

  27. pulkomandy has left

  28. pulkomandy has joined

  29. DebXWoody has joined

  30. pulkomandy has left

  31. pulkomandy has joined

  32. tsk has left

  33. tsk has joined

  34. strar has left

  35. strar has joined

  36. jdev has joined

  37. jdev has left

  38. jdev has joined

  39. strar has left

  40. jdev has left

  41. jdev has joined

  42. jdev has left

  43. paul has joined

  44. adrien has left

  45. lovetox has joined

  46. rion has left

  47. rion has joined

  48. strar has joined

  49. kikuchiyo has joined

  50. adrien has joined

  51. lovetox

    they dont need to be closed

  52. lovetox

    they are restarted

  53. marc0s

    ah, that was the concept, "restart" https://xmpp.org/rfcs/rfc6120.html#streams-negotiation-restart I was probably falling asleep already

  54. marc0s

    thanks 🙂

  55. lovetox

    but this is mentioned again under https://tools.ietf.org/html/rfc6120#section-5.4.3.3

  56. lovetox

    explicitly client MUST not send </close>

  57. Meta Bergman has joined

  58. lovetox

    explicitly client MUST not send </stream>

  59. Marc has joined

  60. Alex has joined

  61. pulkomandy has left

  62. pulkomandy has joined

  63. pulkomandy has left

  64. pulkomandy has joined

  65. pulkomandy has left

  66. pulkomandy has joined

  67. pulkomandy has left

  68. debacle has joined

  69. wurstsalat has joined

  70. pulkomandy has joined

  71. pulkomandy has left

  72. pulkomandy has joined

  73. pulkomandy has left

  74. pulkomandy has joined

  75. pulkomandy has left

  76. lovetox has left

  77. asterix has joined

  78. goffi has joined

  79. pulkomandy has joined

  80. pulkomandy has left

  81. lovetox has joined

  82. pulkomandy has joined

  83. lovetox has left

  84. lovetox has joined

  85. pulkomandy has left

  86. pulkomandy has joined

  87. pulkomandy has left

  88. debacle has left

  89. pulkomandy has joined

  90. pulkomandy has left

  91. pulkomandy has joined

  92. asterix has left

  93. asterix has joined

  94. larma has left

  95. larma has joined

  96. pulkomandy has left

  97. pulkomandy has joined

  98. pulkomandy has left

  99. pulkomandy has joined

  100. pulkomandy has left

  101. pulkomandy has joined

  102. pulkomandy has left

  103. pulkomandy has joined

  104. pulkomandy has left

  105. pulkomandy has joined

  106. pulkomandy has left

  107. pulkomandy has joined

  108. sonny has left

  109. sonny has joined

  110. sonny has left

  111. sonny has joined

  112. pulkomandy has left

  113. pulkomandy has joined

  114. pulkomandy has left

  115. Zash

    How do other servers behave is there's some database error when adding archiving a message? (context: MAM)

  116. flow

    Zash: should be configurable and default to retry-panic

  117. flow

    question is, what the 'ignore' behavior should be? send once message (per day?) to the user stating that his messages are not archived?

  118. Ge0rG

    send a message error?

  119. flow

    question is, what the 'ignore' behavior should be? send one message (per day?) to the user stating that his messages are not archived?

  120. Ge0rG

    panic = kill the server?

  121. pulkomandy has joined

  122. Zash

    I didn't ask what they should do. I asked what they *do*.

  123. flow

    good question if the message type should be error, but probably the answer is yes

  124. flow

    as long as there is a <body/>, and not just some error code that is often not shown to the user

  125. flow

    Zash, I know. But I expect some (most?) devs don't know, as error code paths are often not well tested

  126. flow

    or even not well known to the devs

  127. flow

    hmm another nice settings to have would probably be retry-notify-admin-ignore

  128. Zash

    I know what Prosody does as I've written a bunch of that code. No idea what ejabberd or Openfire or others do.

  129. flow

    Holger, any idea about ejabberd?

  130. flow

    Guus, any idea about openfire?

  131. asterix has left

  132. jdev has joined

  133. Guus

    Unsure. Probably silently ignore after writing the error to the logfile

  134. asterix has joined

  135. Holger

    So it's about a DB error on writing the MAM message? Then it's the same for ejabberd.

  136. Zash

    And Prosody too, ignore and carry on trying to deliver the message.

  137. Zash

    and write something to the error log

  138. flow

    Holger, DB error is the DB returning an error and/or the DB connection lost?

  139. Holger

    Both (if re-establishing the connection fails).

  140. pulkomandy has left

  141. lovetox

    i find it weird that you want to inform a user if something database wise happens on the server

  142. lovetox

    why not send a message to the admin?

  143. lovetox

    User cant do anything about it, but informing the administrator

  144. flow

    well the users UX is degraded, doesn't strike me as the badest idea to inform him

  145. flow

    well the user's experience is degraded, doesn't strike me as the badest idea to inform him

  146. flow

    so that at least he knows that there is a reason his other clients do not show the same messages as he is used too

  147. lovetox

    A Adminstrator can also inform the users?

  148. flow

    note that I am talking about MAM archival not working, for whatever reason

  149. lovetox

    is this not his job if the service is degraded?

  150. flow

    lovetox, sure, that is why is also considered retry-notify-admin-ignore as setting

  151. Holger

    I would not send messages to users they can do nothing about other than notifying the admin.

  152. flow

    often database errors are simply returned to the requesting entity. for example, think if pubsub publish: if the item could not be persistet, then a service would probably return an IQ error

  153. Holger

    I think the options are "just notify the admin" vs. "bounce the message with an error".

  154. flow

    Holger, bounce the message to whom?

  155. pulkomandy has joined

  156. Holger

    The sender.

  157. flow

    but the message stil gets delivered?

  158. flow

    why should the sender care that the recipients MAM archive does not work?

  159. Zash

    I think this all depends on whether you want to have a store-and-forward system or not.

  160. jonas’

    bouncing an error to the sender if the message got delivered is going to be confusing

  161. Holger

    flow, well the question is whether MAM is considered critical or not.

  162. jonas’

    although, an excellent use-case of @type='continue'

  163. Zash

    I've assumed that delivery is the priority.

  164. jonas’

    but still, the sender can use that info even less

  165. pep.

    also careful with notifying the admin on a busy server. don't do that for every message :p

  166. flow

    Zash, the alternative to store-and-forward is potentially-store-and-forward?

  167. flow

    If so, I lean towards potentially-store-and-forward

  168. lovetox

    for all server errors, inform admin, admin can decide if he informs his users

  169. jonas’

    elitistly, I may say: logging as error should be enough. You should have monitoring which picks up on that.

  170. Holger

    jonas’, if a message is not delivered the sender does need an error message to be aware of the issue.

  171. jonas’

    but all those log monitoring stacks are insane

  172. jonas’

    Holger, 100% agree

  173. jonas’

    I’m reading backlog and replying ;)

  174. flow

    jonas’, true, but it's kinda right there to have your xmpp server notify the admin about issues ;)

  175. Zash

    Users (other devices) do get a hint that messages aren't stored, at least Prosody only adds the stanza-id if it successfully archived the message, which shows up in carbons.

  176. jonas’

    flow, sure

  177. jonas’

    mod_error_to_message which hooks into logging and rate-limitedly forwards error log messages to the admin?

  178. jonas’

    ideally rate-limited by type

  179. jonas’

    ideally rate-limited by message template

  180. jonas’

    "error: %s (and %d more instances)" | format("foo %s bar %d baz" | format(original_logging_arguments...), number_of_logentries_in_ratelimit_bucket)

  181. flow

    I see why service with thousands of users do not like the users to be automatically notified about a MAM outage, but I could imagine I would run my personal family service with such a setting enabled

  182. kikuchiyo has left

  183. flow

    I see why a service with thousands of users may not be keen on users to be automatically notified about a MAM outage, but I could imagine I would run my personal family service with such a setting enabled

  184. kikuchiyo has joined

  185. kikuchiyo has left

  186. jonas’

    do servers still assign a stanza-id on inbound messages if archiving fails?

  187. jonas’

    if not, a client could detect that passively and display an inline warning about that

  188. flow

    i'd assume that you can not assign an archive ID if your archive is unavaible

  189. jonas’

    it’s perfectly possible

  190. flow

    well unless you do the ejabberd thingy

  191. jonas’

    if you uuidgen all your IDs, you can do that before storing and only later realize that you did it

  192. jonas’

    I think '313 should specifically forbid that; it’ll cause pain once the archive service is restored

  193. flow

    it is still kind of odd that you assign an archive ID without being sure that this message will ever hit the archive

  194. Holger

    flow: But you're just adding a `<stanza-id/>` which you may well want to do independently of MAM, no?

  195. Holger

    flow: Didn't the XEP-0359 author consciously make this an independent XEP?

  196. jonas’

    uff, but then you’re in fun trouble

  197. jonas’

    because a client may have to do a full archive download because MAM will tell it that it doesn’t know that ID

  198. Zash

    maybe set the hostname as issuer of the id instead of the account?

  199. Holger

    ejabberd doesn't add a `<stanza-id/>` if the message wasn't archived, but I would've thought doing so would be perfectly fine. And I considered doing so in the past as some client dev(s) had some non-MAM related use case.

  200. flow

    Holger, true, but in this case the 'by' attribute of <stanza-id/> is typically known to be an address of an archive too

  201. jonas’

    cc @ MattJ

  202. flow

    but yes, there is nothing in xep359 which would prevent you from adding a stanza-id even if the archive is currentlyd own

  203. flow

    and I would not want it any other way

  204. Holger

    If that's not fine I don't see why 0359 would be a separate XEP at all. Given that 0313 hard-depends on it.

  205. jonas’

    Holger, there are other use-cases for stanza-id besides MAM, aren’t there?

  206. Holger

    So if clients need to know whether a message was archived we need a separate flag besides the <stanza-id/>.

  207. flow

    yeah, there is also the possibility that an alternative to MAM emerges that could also re-use xep359

  208. flow

    Holger, or, maybe better, a flat that the message was not archived

  209. flow

    Holger, or, maybe better, a flag that the message was not archived

  210. Holger

    Or both.

  211. flow

    is there an advantage in having both? seems unnecessary to me, compared to simply flag the unexpected/unusual case

  212. jonas’

    flow, both allows a client to passively detect the support for setting the flags on the server

  213. flow

    i mean, we could have a stream feature that this "i-will-archive-messages-unless-flaged"

  214. jonas’

    no flag present -> no support; one flag present -> support && clear statement; both flags present -> ????

  215. Holger

    The client can't deduce a message was archived from the absence of a wasn't-archived flag, no? Except we add another feature.

  216. Holger

    That.

  217. flow

    i mean, we could have a stream feature that says "i-will-archive-messages-unless-flaged"

  218. Holger

    Yes that would work as well.

  219. Martin has left

  220. Martin has joined

  221. pulkomandy has left

  222. pulkomandy has joined

  223. pulkomandy has left

  224. MattJ

    History: XEP-0313 originally had <archived id='...'/> and that certainly conveyed meaning that we have lost with the current protocol

  225. MattJ

    I have considered bringing it back (we really have to make the decision now)

  226. kikuchiyo has joined

  227. kikuchiyo has left

  228. pulkomandy has joined

  229. Kev

    I can't commit any brainpower to this today, but if the question is "do clients need to be told that a stanza was archived, and by whom", I think the answer is 'yes'.

  230. Zash

    What about the inverse?

  231. MattJ

    What's the inverse?

  232. Zash

    Do clients need to be told about failure to archive?

  233. Zash

    Kev, what does M-Link do if archiving fails?

  234. MattJ

    Part of the reason I was hesitant, is because with the IM-NG approach, I'm not sure there is much need for the additional signalling

  235. jonas’

    MattJ, signalling is useful in case of errors

  236. jonas’

    like the other day on yaxim

  237. asterix has left

  238. asterix has joined

  239. MattJ

    It's questionable what should happen in that case

  240. jonas’

    if a client knows that a stanza was, contrary to expectations, not archived, then you can avoid querying that stanza-id on next connect, leading to fun issues

  241. MattJ

    Should the stanza even be delivered? :)

  242. Ge0rG

    Great, let's re-add `<archived id='...'/>` into MAM and kill 0359.

  243. jonas’

    that’s a good question and should probably be configurable, but orthogonal, I think.

  244. MattJ

    Pre-MAM, failure to store an offline message would generate an error bounce

  245. jonas’

    if you ask me, the server should assign IDs and queue messages for archival and try it’s best to do it later

  246. MattJ

    MAM is basically per-device offline, and what we're saying is that partial delivery (i.e. only to currently online devices) counts as delivery, so it's ok

  247. Ge0rG

    what if the message was delivered to one of three clients, stored in offline store, but not MAM-archived?

  248. jonas’

    while havnig the message delivered with a flag indicating that it may not have been archived

  249. jonas’

    but that’s expensive to do, resource wise

  250. jdev has left

  251. Ge0rG

    jonas’: your suggestion would lead to an OOM crash with all the messages getting lost eventually

  252. asterix has left

  253. kikuchiyo has joined

  254. kikuchiyo has left

  255. asterix has joined

  256. Zash

    What if you can't archive the archiving failure notification?!!??!!!!?‽!!?

  257. asterix has left

  258. asterix has joined

  259. Ge0rG

    Zash: what if you generate an archiving failure notification for each archiving failure notification?

  260. Zash

    🤯️

  261. pulkomandy has left

  262. pulkomandy has joined

  263. debacle has joined

  264. pulkomandy has left

  265. pulkomandy has joined

  266. pulkomandy has left

  267. pulkomandy has joined

  268. asterix has left

  269. asterix has joined

  270. pulkomandy has left

  271. jdev has joined

  272. pulkomandy has joined

  273. asterix has left

  274. asterix has joined

  275. adrien has left

  276. adrien has joined

  277. asterix has left

  278. pulkomandy has left

  279. pulkomandy has joined

  280. asterix has joined

  281. pulkomandy has left

  282. Ge0rG has left

  283. pulkomandy has joined

  284. pulkomandy has left

  285. jdev has left

  286. jdev has joined

  287. jdev has left

  288. Ge0rG has joined

  289. pulkomandy has joined

  290. Ge0rG has left

  291. Ge0rG has joined

  292. pulkomandy has left

  293. pulkomandy has joined

  294. pulkomandy has left

  295. pulkomandy has joined

  296. lovetox has left

  297. lovetox has joined

  298. marc0s has left

  299. pulkomandy has left

  300. marc0s has joined

  301. pulkomandy has joined

  302. pulkomandy has left

  303. pulkomandy has joined

  304. lovetox has left

  305. pulkomandy has left

  306. pulkomandy has joined

  307. gav has joined

  308. pulkomandy has left

  309. gav has left

  310. pulkomandy has joined

  311. debacle has left

  312. pulkomandy has left

  313. lovetox has joined

  314. pulkomandy has joined

  315. pulkomandy has left

  316. pulkomandy has joined

  317. Zash has left

  318. Zash has joined

  319. pulkomandy has left

  320. pulkomandy has joined

  321. adrien has left

  322. jdev has joined

  323. kikuchiyo has joined

  324. kikuchiyo has left

  325. kikuchiyo has joined

  326. kikuchiyo has left

  327. kikuchiyo has joined

  328. kikuchiyo has left

  329. kikuchiyo has joined

  330. kikuchiyo has left

  331. kikuchiyo has joined

  332. kikuchiyo has left

  333. kikuchiyo has joined

  334. kikuchiyo has left

  335. kikuchiyo has joined

  336. kikuchiyo has left

  337. kikuchiyo has joined

  338. kikuchiyo has left

  339. kikuchiyo has joined

  340. kikuchiyo has left

  341. kikuchiyo has joined

  342. kikuchiyo has left

  343. kikuchiyo has joined

  344. kikuchiyo has left

  345. kikuchiyo has joined

  346. kikuchiyo has left

  347. kikuchiyo has joined

  348. kikuchiyo has left

  349. kikuchiyo has joined

  350. kikuchiyo has left

  351. kikuchiyo has joined

  352. kikuchiyo has left

  353. kikuchiyo has joined

  354. kikuchiyo has left

  355. kikuchiyo has joined

  356. kikuchiyo has left

  357. kikuchiyo has joined

  358. kikuchiyo has left

  359. kikuchiyo has joined

  360. kikuchiyo has left

  361. kikuchiyo has joined

  362. kikuchiyo has left

  363. kikuchiyo has joined

  364. kikuchiyo has left

  365. kikuchiyo has joined

  366. kikuchiyo has left

  367. kikuchiyo has joined

  368. kikuchiyo has left

  369. kikuchiyo has joined

  370. kikuchiyo has left

  371. kikuchiyo has joined

  372. kikuchiyo has left

  373. kikuchiyo has joined

  374. kikuchiyo has left

  375. kikuchiyo has joined

  376. kikuchiyo has left

  377. kikuchiyo has joined

  378. kikuchiyo has left

  379. kikuchiyo has joined

  380. kikuchiyo has left

  381. kikuchiyo has joined

  382. kikuchiyo has left

  383. kikuchiyo has joined

  384. kikuchiyo has left

  385. kikuchiyo has joined

  386. kikuchiyo has left

  387. kikuchiyo has joined

  388. kikuchiyo has left

  389. kikuchiyo has joined

  390. kikuchiyo has left

  391. kikuchiyo has joined

  392. kikuchiyo has left

  393. kikuchiyo has joined

  394. kikuchiyo has left

  395. kikuchiyo has joined

  396. kikuchiyo has left

  397. alexis has left

  398. kikuchiyo has joined

  399. kikuchiyo has left

  400. Wojtek has joined

  401. kikuchiyo has joined

  402. kikuchiyo has left

  403. kikuchiyo has joined

  404. kikuchiyo has left

  405. kikuchiyo has joined

  406. kikuchiyo has left

  407. kikuchiyo has joined

  408. kikuchiyo has left

  409. kikuchiyo has joined

  410. kikuchiyo has left

  411. kikuchiyo has joined

  412. kikuchiyo has left

  413. kikuchiyo has joined

  414. kikuchiyo has left

  415. debacle has joined

  416. kikuchiyo has joined

  417. kikuchiyo has left

  418. kikuchiyo has joined

  419. kikuchiyo has left

  420. kikuchiyo has joined

  421. kikuchiyo has left

  422. kikuchiyo has joined

  423. kikuchiyo has left

  424. kikuchiyo has joined

  425. kikuchiyo has left

  426. kikuchiyo has joined

  427. kikuchiyo has left

  428. adrien has joined

  429. pulkomandy has left

  430. kikuchiyo has joined

  431. kikuchiyo has left

  432. kikuchiyo has joined

  433. kikuchiyo has left

  434. pulkomandy has joined

  435. kikuchiyo has joined

  436. kikuchiyo has left

  437. jdev has left

  438. kikuchiyo has joined

  439. kikuchiyo has left

  440. kikuchiyo has joined

  441. kikuchiyo has left

  442. jdev has joined

  443. kikuchiyo has joined

  444. kikuchiyo has left

  445. kikuchiyo has joined

  446. kikuchiyo has left

  447. kikuchiyo has joined

  448. kikuchiyo has left

  449. kikuchiyo has joined

  450. kikuchiyo has left

  451. kikuchiyo has joined

  452. kikuchiyo has left

  453. kikuchiyo has joined

  454. kikuchiyo has left

  455. kikuchiyo has joined

  456. kikuchiyo has left

  457. kikuchiyo has joined

  458. kikuchiyo has left

  459. kikuchiyo has joined

  460. kikuchiyo has left

  461. kikuchiyo has joined

  462. kikuchiyo has left

  463. kikuchiyo has joined

  464. kikuchiyo has left

  465. lovetox has left

  466. kikuchiyo has joined

  467. kikuchiyo has left

  468. kikuchiyo has joined

  469. kikuchiyo has left

  470. kikuchiyo has joined

  471. kikuchiyo has left

  472. kikuchiyo has joined

  473. kikuchiyo has left

  474. kikuchiyo has joined

  475. kikuchiyo has left

  476. kikuchiyo has joined

  477. kikuchiyo has left

  478. kikuchiyo has joined

  479. kikuchiyo has left

  480. kikuchiyo has joined

  481. kikuchiyo has left

  482. kikuchiyo has joined

  483. kikuchiyo has left

  484. kikuchiyo has joined

  485. kikuchiyo has left

  486. kikuchiyo has joined

  487. kikuchiyo has left

  488. kikuchiyo has joined

  489. kikuchiyo has left

  490. kikuchiyo has joined

  491. kikuchiyo has left

  492. kikuchiyo has joined

  493. kikuchiyo has left

  494. kikuchiyo has joined

  495. kikuchiyo has left

  496. kikuchiyo has joined

  497. pulkomandy has left

  498. pulkomandy has joined

  499. pulkomandy has left

  500. pulkomandy has joined

  501. pulkomandy has left

  502. adrien has left

  503. adrien has joined

  504. pulkomandy has joined

  505. pulkomandy has left

  506. pulkomandy has joined

  507. pulkomandy has left

  508. pulkomandy has joined

  509. pulkomandy has left

  510. pulkomandy has joined

  511. pulkomandy has left

  512. pulkomandy has joined

  513. alexis has joined

  514. pulkomandy has left

  515. pulkomandy has joined

  516. pulkomandy has left

  517. sonny has left

  518. sonny has joined

  519. sonny has left

  520. sonny has joined

  521. pulkomandy has joined

  522. pulkomandy has left

  523. pulkomandy has joined

  524. jdev has left

  525. jdev has joined

  526. lovetox has joined

  527. pulkomandy has left

  528. pulkomandy has joined

  529. pulkomandy has left

  530. pulkomandy has joined

  531. adrien has left

  532. adrien has joined

  533. pulkomandy has left

  534. pulkomandy has joined

  535. DebXWoody has left

  536. DebXWoody has joined

  537. pulkomandy has left

  538. pulkomandy has joined

  539. DebXWoody has left

  540. DebXWoody has joined

  541. jdev has left

  542. DebXWoody has left

  543. pulkomandy has left

  544. alexis has left

  545. lovetox has left

  546. lovetox has joined

  547. adrien has left

  548. adrien has joined

  549. lovetox has left

  550. pulkomandy has joined

  551. pulkomandy has left

  552. lovetox has joined

  553. lovetox has left

  554. lovetox has joined

  555. lovetox has left

  556. lovetox has joined

  557. lovetox has left

  558. lovetox has joined

  559. lovetox has left

  560. lovetox has joined

  561. lovetox has left

  562. lovetox has joined

  563. lovetox has left

  564. lovetox has joined

  565. lovetox has left

  566. lovetox has joined

  567. lovetox has left

  568. lovetox has joined

  569. lovetox has left

  570. lovetox has joined

  571. pulkomandy has joined

  572. lovetox has left

  573. pulkomandy has left

  574. kikuchiyo has left

  575. lovetox has joined

  576. lovetox has left

  577. alexis has joined

  578. kikuchiyo has joined

  579. kikuchiyo has left

  580. pulkomandy has joined

  581. pulkomandy has left

  582. lovetox has joined

  583. lovetox has left

  584. asterix has left

  585. lovetox has joined

  586. lovetox has left

  587. lovetox has joined

  588. pulkomandy has joined

  589. pulkomandy has left

  590. pulkomandy has joined

  591. jdev has joined

  592. pulkomandy has left

  593. jdev has left

  594. jdev has joined

  595. kikuchiyo has joined

  596. asterix has joined

  597. lovetox has left

  598. jonas’ has left

  599. jonas’ has joined

  600. Marc has left

  601. asterix has left

  602. pulkomandy has joined

  603. jdev has left

  604. alexis has left

  605. wurstsalat has left

  606. wurstsalat has joined

  607. goffi has left

  608. asterix has joined

  609. alexis has joined

  610. alexis has left

  611. alexis has joined

  612. wurstsalat has left

  613. sonny has left

  614. sonny has joined

  615. SouL has left

  616. Wojtek has left

  617. paul has left