XSF Discussion - 2018-12-03

  1. lskdjf has joined

  2. frainz has left

  3. l has joined

  4. Zash has left

  5. rainslide has joined

  6. frainz has left

  7. rainslide has left

  8. genofire has left

  9. frainz has left

  10. frainz has left

  11. frainz has joined

  12. frainz has left

  13. frainz has joined

  14. frainz has left

  15. UsL has left

  16. UsL has joined

  17. frainz has left

  18. genofire has left

  19. Zash has left

  20. lskdjf has left

  21. rainslide has joined

  22. waqas has left

  23. efrit has joined

  24. vanitasvitae has left

  25. rainslide has left

  26. sonny has left

  27. SamWhited has left

  28. efrit has left

  29. efrit has joined

  30. efrit has left

  31. efrit has joined

  32. vanitasvitae has left

  33. vanitasvitae has joined

  34. marc has left

  35. marc has joined

  36. Marc Laporte has left

  37. Marc Laporte has joined

  38. marc has left

  39. marc has joined

  40. Marc Laporte has left

  41. marc has left

  42. marc has joined

  43. marc has left

  44. marc has joined

  45. marc has left

  46. marc has joined

  47. marc has left

  48. marc has joined

  49. blabla has joined

  50. efrit has left

  51. efrit has joined

  52. waqas has joined

  53. efrit has left

  54. Yagiza has joined

  55. vanitasvitae has left

  56. Nekit has joined

  57. moparisthebest has left

  58. igoose has left

  59. igoose has joined

  60. dos has left

  61. moparisthebest has joined

  62. lorddavidiii has joined

  63. Tobias has joined

  64. mimi89999 has left

  65. mimi89999 has joined

  66. Nekit has left

  67. Nekit has joined

  68. moparisthebest has left

  69. moparisthebest has joined

  70. Str4tocaster has joined

  71. Str4tocaster has left

  72. Str4tocaster has joined

  73. marc has left

  74. marc has joined

  75. marc has left

  76. marc has joined

  77. Str4tocaster has left

  78. Str4tocaster has joined

  79. Str4tocaster has left

  80. Str4tocaster has joined

  81. waqas has left

  82. Str4tocaster has left

  83. 404.city has joined

  84. Str4tocaster has joined

  85. 404.city has left

  86. Str4tocaster has left

  87. Str4tocaster has joined

  88. Str4tocaster has left

  89. Str4tocaster has joined

  90. Str4tocaster has left

  91. Str4tocaster has joined

  92. goffi has joined

  93. alacer has joined

  94. alacer has left

  95. alacer has joined

  96. Str4tocaster has left

  97. Str4tocaster has joined

  98. Str4tocaster has left

  99. Str4tocaster has joined

  100. Str4tocaster has left

  101. Str4tocaster has joined

  102. alacer has left

  103. Str4tocaster has left

  104. Str4tocaster has joined

  105. andy has joined

  106. Str4tocaster has left

  107. Str4tocaster has joined

  108. lorddavidiii has left

  109. Str4tocaster has left

  110. Str4tocaster has joined

  111. Str4tocaster has left

  112. Str4tocaster has joined

  113. lorddavidiii has joined

  114. Str4tocaster has left

  115. Str4tocaster has joined

  116. Str4tocaster has left

  117. Str4tocaster has joined

  118. Str4tocaster has left

  119. frainz has left

  120. Str4tocaster has joined

  121. Str4tocaster has left

  122. Str4tocaster has joined

  123. frainz has left

  124. Str4tocaster has left

  125. Str4tocaster has joined

  126. UsL has joined

  127. UsL has joined

  128. Str4tocaster has left

  129. ralphm has left

  130. Str4tocaster has joined

  131. krauq has left

  132. frainz has left

  133. Str4tocaster has left

  134. Str4tocaster has joined

  135. Str4tocaster has left

  136. Str4tocaster has joined

  137. frainz has left

  138. Str4tocaster has left

  139. Str4tocaster has joined

  140. Andrew Nenakhov has left

  141. Str4tocaster has left

  142. rion has joined

  143. Str4tocaster has joined

  144. Str4tocaster has left

  145. Str4tocaster has joined

  146. Neustradamus has left

  147. Str4tocaster has left

  148. Str4tocaster has joined

  149. frainz has left

  150. moparisthebest has joined

  151. Str4tocaster has left

  152. remko has joined

  153. remko has left

  154. remko has joined

  155. moparisthebest has joined

  156. Str4tocaster has joined

  157. Str4tocaster has left

  158. frainz has left

  159. Str4tocaster has joined

  160. Andrew Nenakhov has joined

  161. Str4tocaster has left

  162. frainz has left

  163. Str4tocaster has joined

  164. Str4tocaster has left

  165. frainz has left

  166. frainz has left

  167. valo has left

  168. valo has joined

  169. Str4tocaster has joined

  170. Str4tocaster has left

  171. Str4tocaster has joined

  172. Str4tocaster has left

  173. frainz has left

  174. frainz has left

  175. moparisthebest has left

  176. moparisthebest has joined

  177. vaulor has joined

  178. intosi has joined

  179. frainz has left

  180. igoose has left

  181. igoose has joined

  182. Str4tocaster has joined

  183. Str4tocaster has left

  184. frainz has left

  185. Str4tocaster has joined

  186. frainz has left

  187. Zash has joined

  188. frainz has left

  189. Guus has left

  190. Str4tocaster has left

  191. frainz has left

  192. Str4tocaster has joined

  193. Str4tocaster has left

  194. Str4tocaster has joined

  195. Str4tocaster has left

  196. pep. has joined

  197. Str4tocaster has joined

  198. Str4tocaster has left

  199. Str4tocaster has joined

  200. Str4tocaster has left

  201. frainz has left

  202. tux has joined

  203. tux has joined

  204. Str4tocaster has joined

  205. frainz has left

  206. Str4tocaster has left

  207. frainz has left

  208. Str4tocaster has joined

  209. Str4tocaster has left

  210. moparisthebest has joined

  211. Str4tocaster has joined

  212. moparisthebest has joined

  213. frainz has left

  214. Str4tocaster has left

  215. Str4tocaster has joined

  216. frainz has left

  217. Str4tocaster has left

  218. Str4tocaster has joined

  219. intosi has left

  220. intosi has joined

  221. tux has joined

  222. rion has left

  223. Str4tocaster has left

  224. Zash has left

  225. Str4tocaster has joined

  226. frainz has left

  227. Str4tocaster has left

  228. Str4tocaster has joined

  229. Str4tocaster has left

  230. Str4tocaster has joined

  231. Steve Kille has left

  232. Steve Kille has joined

  233. Str4tocaster has left

  234. Str4tocaster has joined

  235. Zash has left

  236. Str4tocaster has left

  237. frainz has left

  238. Str4tocaster has joined

  239. Str4tocaster has left

  240. Str4tocaster has joined

  241. Str4tocaster has left

  242. rion has joined

  243. frainz has left

  244. frainz has left

  245. frainz has left

  246. Steve Kille has left

  247. frainz has left

  248. rion has left

  249. frainz has left

  250. Guus has left

  251. Guus has left

  252. Guus has left

  253. Guus has left

  254. genofire has left

  255. Str4tocaster has joined

  256. Str4tocaster has left

  257. Str4tocaster has joined

  258. Str4tocaster has left

  259. Str4tocaster has joined

  260. Str4tocaster has left

  261. moparisthebest has joined

  262. Str4tocaster has joined

  263. moparisthebest has joined

  264. Str4tocaster has left

  265. Str4tocaster has joined

  266. Str4tocaster has left

  267. Str4tocaster has joined

  268. Syndace has left

  269. vanitasvitae has joined

  270. rion has joined

  271. Str4tocaster has left

  272. Str4tocaster has joined

  273. genofire has left

  274. Str4tocaster has left

  275. Str4tocaster has joined

  276. Str4tocaster has left

  277. Str4tocaster has joined

  278. genofire has left

  279. genofire has left

  280. vaulor has joined

  281. Str4tocaster has left

  282. Str4tocaster has joined

  283. Holger has left

  284. Str4tocaster has left

  285. vanitasvitae has left

  286. vanitasvitae has joined

  287. Str4tocaster has joined

  288. genofire has left

  289. Str4tocaster has left

  290. Str4tocaster has joined

  291. Str4tocaster has left

  292. Str4tocaster has joined

  293. Str4tocaster has left

  294. Str4tocaster has joined

  295. genofire has left

  296. Str4tocaster has left

  297. Str4tocaster has joined

  298. Str4tocaster has left

  299. Str4tocaster has joined

  300. genofire has left

  301. genofire has left

  302. vanitasvitae has left

  303. vanitasvitae has joined

  304. genofire has left

  305. Str4tocaster has left

  306. Str4tocaster has joined

  307. vanitasvitae has left

  308. vanitasvitae has joined

  309. Str4tocaster has left

  310. Str4tocaster has joined

  311. vanitasvitae has left

  312. vanitasvitae has joined

  313. genofire has left

  314. Str4tocaster has left

  315. Str4tocaster has joined

  316. Str4tocaster has left

  317. Str4tocaster has joined

  318. Str4tocaster has left

  319. Str4tocaster has joined

  320. genofire has left

  321. Str4tocaster has left

  322. genofire has left

  323. Str4tocaster has joined

  324. Syndace has joined

  325. pep. has joined

  326. Str4tocaster has left

  327. jonas’


  328. Str4tocaster has joined

  329. frainz has left

  330. lovetox_ has joined

  331. lovetox_ has left

  332. Str4tocaster has left

  333. Str4tocaster has joined

  334. Str4tocaster has left

  335. Str4tocaster has joined

  336. Seve


  337. Holger has left

  338. Nekit has left

  339. Nekit has joined

  340. Zash

    pong (DUP!)

  341. lovetox has left

  342. lovetox has joined

  343. Ge0rG

    reminds me of the hundreds of Receipts in MUC history.

  344. Ge0rG

    Some clients don't just send Receipts as type=groupchat into a MUC, they also do so on each MUC history sync.

  345. Str4tocaster has left

  346. Str4tocaster has joined

  347. Str4tocaster has left

  348. Str4tocaster has joined

  349. Str4tocaster has left

  350. Str4tocaster has joined

  351. tux has joined

  352. Str4tocaster has left

  353. krauq has left

  354. Str4tocaster has joined

  355. krauq has joined

  356. Str4tocaster has left

  357. Str4tocaster has joined

  358. Str4tocaster has left

  359. Str4tocaster has joined

  360. Str4tocaster has left

  361. Str4tocaster has joined

  362. Str4tocaster has left

  363. Str4tocaster has joined

  364. Str4tocaster has left

  365. Str4tocaster has joined

  366. Str4tocaster has left

  367. Str4tocaster has joined

  368. Str4tocaster has left

  369. Str4tocaster has joined

  370. Str4tocaster has left

  371. Str4tocaster has joined

  372. Str4tocaster has left

  373. Str4tocaster has joined

  374. Str4tocaster has left

  375. Str4tocaster has joined

  376. Zash has left

  377. Str4tocaster has left

  378. Str4tocaster has joined

  379. Str4tocaster has left

  380. Str4tocaster has joined

  381. Str4tocaster has left

  382. Str4tocaster has joined

  383. moparisthebest has joined

  384. moparisthebest has joined

  385. Str4tocaster has left

  386. Str4tocaster has joined

  387. Str4tocaster has left

  388. pep. has joined

  389. labdsf has left

  390. labdsf has joined

  391. vaulor has left

  392. vaulor has joined

  393. frainz has left

  394. vinx55 has joined

  395. Seve has left

  396. frainz has left

  397. lumi has joined

  398. frainz has left

  399. Alex has joined

  400. andy has left

  401. frainz has left

  402. frainz has left

  403. vinx55 has left

  404. frainz has left

  405. Holger has left

  406. frainz has left

  407. vinx55 has joined

  408. frainz has left

  409. vinx55 has left

  410. frainz has left

  411. Zash has left

  412. mimi89999 has left

  413. blabla has joined

  414. Seve has joined

  415. frainz has left

  416. blabla has joined

  417. frainz has left

  418. Guus has left

  419. genofire has left

  420. genofire has left

  421. frainz has left

  422. andy has joined

  423. mimi89999 has joined

  424. Guus has left

  425. Guus has joined

  426. daniel has left

  427. Seve has joined

  428. vanitasvitae has left

  429. vanitasvitae has joined

  430. frainz has left

  431. moparisthebest has joined

  432. Guus has left

  433. moparisthebest has joined

  434. Marc Laporte has joined

  435. blabla has joined

  436. frainz has left

  437. frainz has left

  438. vanitasvitae has left

  439. vanitasvitae has joined

  440. vanitasvitae has left

  441. vanitasvitae has joined

  442. winfried has joined

  443. winfried has joined

  444. jjrh has left

  445. blabla has joined

  446. genofire has left

  447. frainz has left

  448. Zash has left

  449. genofire has left

  450. genofire has left

  451. frainz has left

  452. marc has left

  453. marc has joined

  454. ralphm

    Steve Kille: did we drop the ability to provide channel info / config during channel creation, with the Big Split™?

  455. Marc Laporte has left

  456. frainz has left

  457. Zash has left

  458. moparisthebest has left

  459. blabla has joined

  460. Zash has left

  461. frainz has left

  462. frainz has left

  463. Zash has joined

  464. Steve Kille

    ralphm: it did

  465. Steve Kille

    Core (XEP-0369) has a minimal "create channel".

  466. Steve Kille

    The fancy stuff went into MIX-ADMIN (XEP-0406).

  467. Steve Kille

    Is there a problem wiith doing two ops?

  468. gnauck has joined

  469. Kev

    I don't think so, particularly, as long as we're careful to default to be maximally closed and open things up via config.

  470. APach has left

  471. rainslide has joined

  472. frainz has left

  473. APach has joined

  474. frainz has left

  475. rainslide has left

  476. ralphm

    Steve Kille: not nessarily, but you now have to do three requests to create the channel, set the name, description, and then potentially set ownership.

  477. ralphm

    necessarily even

  478. Steve Kille

    Modularity is good

  479. MattJ

    That can't be held as a general truth

  480. ralphm

    And the prose around channel creation says that it “MAY be created with default parameters”, but there is no other way (anymore).

  481. ralphm

    It would be good to explain how to do this by mentioning the info and config topics there (in MIX-CORE), and pointing to the MIX-ADMIN for changing them.

  482. Steve Kille

    I've made a note to sort edits here to clarify things. Unless people are very keen to see a jumbo op

  483. Kev

    Creation and configuration being distinct steps seems to make sense to me. You have to support them as distinct steps, so only doing so seems simpler.

  484. Steve Kille

    my preference too

  485. MattJ

    MUC has a hack to make them not distinct steps (locking)

  486. Kev

    Indeed. I think it's cleaner to avoid the hack.

  487. MattJ

    Agreed. An atomic create+configure is quite sensible in my mind :)

  488. Kev

    Or, at least, that particular hack - if we were going to do it as a single op, hopefully we'd do better.

  489. Kev

    atomic create-and-configure is ok if you have to have create-and-configure. It's not clear to me that we need it for MIX, if we default to closed, hidden channels.

  490. ralphm

    I agree that create+configure makes a lot of sense to. Makes creating a channel less complex for clients (no need to keep state during the creation), and allows for rejecting the creation based on certain configuration or info.

  491. ralphm


  492. ralphm

    Unfortunately, because we have also split up form namespaces, you'd now have to either pass in two forms, or use Clark's Notation. :-(

  493. ralphm

    There's also a latency aspect to the multiple steps, especially in mobile settings with low-bandwidth/speed networks.

  494. Guus has left

  495. Tobias has left

  496. Andrew Nenakhov has joined

  497. frainz has left

  498. Tobias has joined

  499. efrit has joined

  500. alexde has joined

  501. alexde has left

  502. alexde has joined

  503. Zash has left

  504. gnauck has left

  505. marc has left

  506. marc has joined

  507. rainslide has joined

  508. gnauck has joined

  509. frainz has left

  510. Alex has left

  511. gnauck has left

  512. Kev

    I don't think latency is actually true, there's no more roundtrips, only more stanzas.

  513. Ge0rG

    Isn't it two RTTs vs one?

  514. daniel has left

  515. daniel has joined

  516. Ge0rG

    Unless you can configure the MIX before receiving the creation response

  517. MattJ

    I assume Kev means you could optimistically pipeline the config

  518. Kev


  519. rainslide has left

  520. MattJ

    which is not a thing most XMPP libraries will let you do

  521. Kev

    Really? :o

  522. MattJ

    You have a counterexample? I assume Swiften will, or you wouldn't have suggested it :)

  523. Kev

    Anyway. create+configure does have advantages if we get the failure rules right.

  524. Kev

    Swiften will let you send any stanzas you want.

  525. Zash has left

  526. MattJ

    Sure, but can you tell it to send two stanzas "together"?

  527. MattJ

    Oh, you probably didn't mean that

  528. Zash has left

  529. Zash has left

  530. Kev

    Together? No, but you can issue the send in the same call, which means they've got every chance of going out in the same write if they fit, and certainly aren't roundtripped.

  531. MattJ


  532. vaulor has left

  533. vanitasvitae has left

  534. Kev

    Create+configure does mean you can avoid the client logic of create, configure, catch the configure failure, destroy the room.

  535. MattJ


  536. MattJ

    It's so attractive that I've been pondering over a spec for create+configure in MUC

  537. Kev

    Well, things are a bit worse with MUC to start with. I think if we get the closed-by-default right for MIX, it's /less/ necessary.

  538. Ge0rG

    I've understood the intent, but don't you need the room JID from the create response as a parameter in the configure request? I'm a bit rusty on the MIX protocol details...

  539. andy has left

  540. lumi has joined

  541. Andrew Nenakhov has joined

  542. Ge0rG

    What's the right incantation to receive the last 50 messages from MAM for a given contact JID?

  543. Zash has left

  544. Andrew Nenakhov has left

  545. Andrew Nenakhov has joined

  546. Andrew Nenakhov has left

  547. Andrew Nenakhov has joined

  548. l has joined

  549. l has joined

  550. Andrew Nenakhov has left

  551. Andrew Nenakhov has joined

  552. blabla has joined

  553. Andrew Nenakhov has left

  554. Andrew Nenakhov has joined

  555. Andrew Nenakhov has left

  556. Andrew Nenakhov has joined

  557. Andrew Nenakhov has left

  558. Andrew Nenakhov has joined

  559. Andrew Nenakhov has left

  560. Andrew Nenakhov has joined

  561. Andrew Nenakhov has left

  562. Andrew Nenakhov has joined

  563. Andrew Nenakhov has left

  564. Andrew Nenakhov has joined

  565. SamWhited has left

  566. SamWhited has left

  567. krauq has joined

  568. igoose has joined

  569. l has joined

  570. l has joined

  571. MattJ

    Ge0rG, filter with=contact-jid and in the RSM put an empty <before/> element as in https://xmpp.org/extensions/xep-0059.html#last

  572. MattJ

    and <max>50</max> of course

  573. 404.city has joined

  574. Ge0rG

    MattJ: thanks!

  575. Andrew Nenakhov has left

  576. Andrew Nenakhov has joined

  577. rion has left

  578. lnj has joined

  579. mimi89999 has left

  580. mimi89999 has joined

  581. Ge0rG

    MattJ: judging from the number of inquiries, this should be added to 0313

  582. frainz has left

  583. blabla has joined

  584. rainslide has joined

  585. marc has left

  586. marc has joined

  587. efrit has left

  588. Yagiza has left

  589. rainslide has left

  590. ralphm

    Kev: for ad hoc channels you can't pipeline

  591. Kev

    Well whose fault is that? Blame the authors :p

  592. Kev

    So, yeah, create-with-configuration is probably sensible.

  593. blabla has joined

  594. l has joined

  595. ralphm

    Looking at the use cases I have, I would only have ad hoc channels. If you look at e.g. Whatsapp, you'd never know the equivalent of the localpart of the channel JID. For Slack, the channel name (#general) can change over time, so there too, the localpart of the JID would not be something you expose to users. It would probably go in the 'Name' info field.

  596. ralphm

    Kev: Now the question is, how do we put create-with-configuration back in? Would we indeed pass in two forms?

  597. Yagiza has joined

  598. Kev

    I think that's a question I don't have cycles for in the next few minutes, I'm afraid. The addressing/external identifier thing is interesting. We could in principle work entirely with addressing being distinct, and need a lookup, but then that's compexity and no-one likes complexity (until it's a feature they need).

  599. jjrh has left

  600. ralphm

    I can imagine that for more traditional cases you'd still want named (non-ad hoc) channels, but I'm not sure. It is mostly a vanity address.

  601. ralphm

    A short name like xsf@mix.xmpp.org is nicer to communicate than 725c9f1d-c653-4715-988c-764e23cd304c@mix.xmpp.org.

  602. ralphm

    (outside of the protocol itself)

  603. Kev

    You need external identifiers.

  604. Kev

    So you need to be able to say "Channel #xsf on server muc.xmpp.org" in one form or another.

  605. ralphm

    Yeah, and if that happens to match the channel JID, that's a nice bonus

  606. ralphm

    Problem is one generally doesn't expect JIDs to change and the systems where you possibly can rename channels (like Slack) are mostly closed ecosystems where you don't have to expose the address.

  607. ralphm

    Of course References could play a role within XMPP, not so much outside.

  608. Kev

    Within XMPP you could say #xsf but have the reference point to aoud.rugadr.gucdant.,udn@muc.xmpp.org, yes.

  609. jjrh has left

  610. blabla has joined

  611. vaulor has joined

  612. Andrew Nenakhov has left

  613. Andrew Nenakhov has joined

  614. ThibG has left

  615. ThibG has joined

  616. Andrew Nenakhov has left

  617. Andrew Nenakhov has joined

  618. Andrew Nenakhov has left

  619. Andrew Nenakhov has joined

  620. Andrew Nenakhov has left

  621. Andrew Nenakhov has joined

  622. jonas’ has left

  623. Ge0rG

    is there a central mapping of XMPP errors to human-readable strings? Properly i18nized? With context for the different places where an XMPP error can happen?

  624. Zash

    There is https://xmpp.org/rfcs/rfc6120.html#stanzas-error-conditions

  625. Zash

    No i18n I'm afraid

  626. ralphm

    Ge0rG: it is also likely you don't really want that

  627. Ge0rG

    ralphm: because I don't want to present understandable error messages to the user?

  628. ralphm

    No, because you generally want your app to understand the error in context and then present something meaningful to a user, if needed. This is almost never want is (mapped from) the error condition itself.

  629. ralphm

    Like `item-not-found` can mean a world of different things depending on the context.

  630. blabla has left

  631. blabla has joined

  632. Ge0rG

    Right. So what I want is a map of (situation, error, language) -> human readable string

  633. Ge0rG

    and I'm pretty sure this is interoperable between clients.

  634. jonas’

    yupp, and when you end up in a situation where there is no such mapping entry, you want to show the unlocalized, original error condition so that at least nerds can debug it

  635. Ge0rG

    "XMPPError: not-allowed - cancel" is just not helpful to a normal person.

  636. ralphm

    jonas’: not at all

  637. Zash

    Ge0rG: "ej tillåten" or "verboten" wouldn't be that much better

  638. waqas has joined

  639. jonas’


  640. Ge0rG

    Zash: it would be.

  641. jonas’

    not really

  642. Ge0rG

    at least it would be in the user's language.

  643. jonas’

    and then the user comes into the support room of their client and asks what it means and nobody knows what "ej tillåten" means

  644. jonas’

    and you can’t even tell android folks to run the client with LANG=C

  645. frainz has left

  646. Ge0rG

    jonas’: okay, so I show the translation plus the original XML then :P

  647. Zash

    But *what* wasn't allowed/found?

  648. lovetox

    cant you just add a text node to the error?

  649. lovetox

    if i recall ejabbered does that for many error stanzas

  650. Zash

    That makes it someone elses problem

  651. Ge0rG

    prosody doesn't. But then you need to maintain a map of (situation, error, language) -> human readable string in the server!

  652. Zash

    Prosody does, sometimes

  653. rion has left

  654. jonas’

    the server might know better than the client what went wrong though

  655. Ge0rG

    Zash: hi there, someone else!

  656. jonas’

    although not in all cases

  657. jonas’

    e.g. PEP

  658. jonas’

    where the server doesn’t know what’s going on either

  659. ralphm

    Localization that way is hard. Now the entities taking to you need to know the language

  660. jonas’

    ralphm, no

  661. jonas’

    you can send multiple languages in <error/>

  662. Zash

    Sometimes there are multiple different causes for the same error (type, condition)

  663. jonas’

    and even if you want to avoid that, you can use the xml:lang on the incoming stanza (which is always present)

  664. Ge0rG

    ...or they need to stuff all languages into the error.

  665. Ge0rG

    > use the xml:lang on the incoming stanza (which is always present) is it?

  666. jonas’

    Ge0rG, yes

  667. jonas’

    it is required on the <stream:stream/>, and transfers from that to the stanzas on routing

  668. lovetox

    i think for most errors it makes totally sense for the server to add a text

  669. lovetox

    and this works fine

  670. jonas’

    For initial stream headers, the initiating entity SHOULD include the 'xml:lang' attribute.

  671. jonas’

    well, SHOULD

  672. Ge0rG


  673. lovetox

    not-authorized can mean many things, only the server can give a more descriptive error text

  674. ralphm

    I'd still not want to present this to an end user

  675. lovetox

    why not?

  676. lovetox

    it makes no sense to display a generic error message (from the client) that can never hit the point whats wrong

  677. jonas’

    ralphm, in the case of a forbidden MUC join for example, there can be many reasons: - Only members are allowed in this room (and you are not one) - Only folks from this server are allowed in this room - You need a password to enter this room ...

  678. ralphm

    Because you don't control what the other party is putting in there, and the same issue might yields different messages

  679. lovetox

    if i upload a file via httpupload, there are mutliple confitions that maybe prevent me from uploading but all have the same error

  680. lovetox


  681. jonas’

    and the client cannot distinguish which of those reasons it is, just by looking at forbidden

  682. lovetox

    it doesnt help the user at all if i show a generic text, NOT AUTHORIZED

  683. lovetox

    ejabbered provides the real error in the text translated

  684. ralphm

    jonas’: this is why there's the ability to have application specific error condition elements

  685. lovetox

    there is no better thing really

  686. jonas’

    and thus it’s good if the server supplies this. and the client can show this in addition to its own explanation: "Failed to join group chat. $servermessage"

  687. jonas’

    ralphm, they’re underused though

  688. jonas’

    ralphm, but point taken

  689. ralphm


  690. Holger

    ralphm: The logic is, in theory the other party might provide a bad/misleading error message so better not ever show any of them?

  691. Zash

    Let's just not have errors

  692. Zash

    Let's always succeed! \o/

  693. ralphm

    Holger: support wise yes

  694. Holger

    ralphm: Not my experience.

  695. lovetox

    why ralphm support wise this is gold

  696. Zash

    I think it's sensible to have some way to show the underlying error condition

  697. lovetox

    i can go to the server admin and tell him the exact error message

  698. ralphm

    Most of the time these messages are not actionably by a user

  699. lovetox

    not i got a "not-authorized"

  700. Zash

    It can be behind a long-press or somesuch

  701. ralphm

    That is a great idea

  702. Holger

    ralphm: We added tons of descriptive error messages to ejabberd over the past few months and that helps a *lot* support-wise in practice. If the clients don't hide them.

  703. Zash

    "Something went wrong [show details]"

  704. lovetox

    the point that this trys to solve is, there are 100 different reasons for a error happening, but only 10 types of errors

  705. Holger


  706. ralphm

    Holger: Commendable, but I disagree, unless like what Zash described

  707. Zash

    To some extent, can't you guesstimate the actionability of the error based on the error type?

  708. Zash

    wait/cancel/auth etc

  709. Holger

    Zash's suggestion sounds like a compromise between my point and the one I don't get :-)

  710. Holger

    Zash: Sure, sometimes.

  711. Zash

    What do the great gods of UX say about this?

  712. Nekit has left

  713. Nekit has joined

  714. Holger

    How's the error condition received by the remote party is less likely to be incorrect/misleading than a descriptive error text?

  715. ralphm

    Zash: our UX people usually go with "Oops, something went wrong", unless the app has a better explanation.

  716. Steve Kille has left

  717. Steve Kille has left

  718. MattJ

    For a web app and a server-side error that can be done

  719. ralphm

    Holger: because your error message might be something that doesn't make any sense to a user

  720. Holger

    It's not about making sense to a user but helping support.

  721. ralphm

    And this is where we disagree

  722. Holger

    The trade-offs may well be different for closed systems where you basically just need a timestamp and then check the server logs.

  723. Holger

    Well I'm no good at helping users who report "something went wrong" messages but okay.

  724. MattJ

    I think each point in this conversation depends on exactly what kind of error it is

  725. Nekit has left

  726. Nekit has joined

  727. Holger

    But it's usually an all-or-nothing decision for client developers, I'd assume.

  728. Zash

    MattJ: error.type = cancel | modify | auth | wait ?

  729. MattJ

    Either it's actionable by the user, by the service admin, by the client developer, or possibly even the server developer. Otherwise a temporary technical problem.

  730. dos has left

  731. MattJ

    Zash, exactly (if those categories map cleanly)

  732. dos has left

  733. Zash

    MattJ: Hopefully they'll map to whether the user should wait or give up or do something

  734. MattJ

    Well "wait" is clear enough that it's a temporary issue that can be fixed by retrying, indeed

  735. MattJ

    The others are more vague

  736. MattJ

    and all this of course depends on entities setting the type correctly :)

  737. Zash

    "Something went wrong, {wait:try again later; auth:you're not allowed to do that, Dave; cancel: sorry, that won't work."

  738. Zash

    MattJ: Don't forget that it depends on XEPs not mandating weird error conditions for things

  739. Steve Kille has joined

  740. lovetox

    see best example is "wait"

  741. lovetox

    httpupload server mod says you reached your quota

  742. lovetox

    you have to wait one day

  743. lovetox

    this can be in a error text

  744. Andrew Nenakhov has joined

  745. lovetox

    "A temporary problem" doesnt help the user at all

  746. MattJ

    Yes, agreed

  747. MattJ

    I'm a big fan of <text>, and strongly disagree with the spec when it says it shouldn't be displayed to the user

  748. MattJ

    In the past that may have been sensible, but I try to choose sensible error texts whenever possible

  749. Ge0rG

    The errors I run into don't have error texts at all.

  750. lovetox

    the best is the forbidden error in combination with MUCs

  751. lovetox

    Gajim just had its own text for that, it always displayed "You are banned from that room"

  752. lovetox


  753. MattJ

    The not-acceptable one? Yeah, if Prosody doesn't send a <text> with that, it should

  754. MattJ

    It's been on my todo to investigate for a while

  755. vaulor has left

  756. Yagiza has left

  757. Ge0rG

    Also no text when you send a message to a MUC you are not in, or when you try to add yourself to your roster.

  758. Zash

    Ge0rG: Have you tried sending a presence probe to yourself;

  759. Zash

    Ge0rG: Have you tried sending a presence probe to yourself?

  760. Ge0rG

    Zash: no

  761. 404.city has left

  762. lskdjf has joined

  763. l has joined

  764. Yagiza has joined

  765. marc has left

  766. marc has joined

  767. igoose has left

  768. igoose has joined

  769. ThibG has left

  770. ThibG has joined

  771. rion has left

  772. vanitasvitae has left

  773. vanitasvitae has joined

  774. frainz has left

  775. Maranda has left

  776. frainz has left

  777. marc has left

  778. marc has joined

  779. !xsf_martin has joined

  780. genofire has left

  781. frainz has left

  782. frainz has joined

  783. marc_ has joined

  784. !xsf_martin has left

  785. ralphm has left

  786. lskdjf has joined

  787. l has joined

  788. marc_ has joined

  789. andrey.g has joined

  790. marc_ has joined

  791. frainz has left

  792. alexde has left

  793. tux has joined

  794. l has joined

  795. frainz has left

  796. tux has left

  797. tux has joined

  798. andrey.g has joined

  799. Zash has left

  800. Alex has left

  801. frainz has left

  802. pep. has left

  803. blabla has left

  804. Yagiza has left

  805. l has joined

  806. !xsf_martin has joined

  807. Alex has left

  808. tux has left

  809. tux has joined

  810. rion has left

  811. tux has joined

  812. Steve Kille has left

  813. Neustradamus has left

  814. Neustradamus has left

  815. lnj has left

  816. Steve Kille has left

  817. daniel has left

  818. Guus has joined

  819. frainz has left

  820. Marc Laporte has joined

  821. frainz has left

  822. lorddavidiii has left

  823. goffi has joined

  824. igoose has left

  825. igoose has joined

  826. ThibG has left

  827. ThibG has joined

  828. dos has left

  829. jjrh has left

  830. alexde has joined

  831. moparisthebest has left

  832. lumi has left

  833. lnj has left

  834. Marc Laporte has left

  835. ThibG has left

  836. ThibG has joined

  837. remko has left

  838. remko has left

  839. Guus has left

  840. lnj has left

  841. rion has left

  842. ThibG has left

  843. ThibG has joined

  844. blabla has joined

  845. tux has joined

  846. !xsf_martin has joined

  847. Tobias has joined

  848. gnauck has joined

  849. Alex has joined

  850. marc has left

  851. marc has joined

  852. tux has joined

  853. Alex

    Memberbot is ready for you guys again ;-)

  854. Syndace has left

  855. frainz has left

  856. rion has left

  857. Seve has left

  858. marc_ has left

  859. jjrh has left

  860. Marc Laporte has joined

  861. edhelas


  862. jjrh has left

  863. jjrh has left

  864. frainz has left

  865. UsL has left

  866. UsL has joined

  867. frainz has left

  868. l has joined

  869. alexde has left

  870. frainz has left

  871. rainslide has joined

  872. MattJ has joined

  873. rainslide has left

  874. waqas has left

  875. waqas has joined