jdev - 2020-01-13

  1. aj has joined

  2. aj has left

  3. sonny has left

  4. debacle has left

  5. sonny has joined

  6. strar has left

  7. strar has joined

  8. sonny has left

  9. sonny has joined

  10. allie has left

  11. allie has joined

  12. paul has joined

  13. asterix has joined

  14. lovetox has joined

  15. lovetox has left

  16. asterix has left

  17. asterix has joined

  18. wurstsalat has joined

  19. asterix has left

  20. asterix has joined

  21. asterix has left

  22. asterix has joined

  23. asterix has left

  24. asterix has joined

  25. lovetox has joined

  26. asterix has left

  27. asterix has joined

  28. asterix has left

  29. asterix has joined

  30. sonny has left

  31. flow

    pep., looking for what in that disco#info?

  32. pep.

    if it's a conference or not

  33. flow


  34. pep.

    note that as I said this wouldn't happen if everybody was using <x/>

  35. sonny has joined

  36. goffi has joined

  37. sonny has left

  38. lovetox has left

  39. lovetox has joined

  40. Ge0rG

    pep.: it wasn't done because you can more easily cache disco#info of the domain, as opposed to the bare JID, and in sane setups, MUCs are hosted on a MUC domain, and nothing else is

  41. Ge0rG looks at https://github.com/igniterealtime/Smack/blob/master/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java#L313-L320

  42. flow

    Ge0rG, that doesn't say that "nothing else is". It just just says that if foo@bar.org returns muc as disco#info response, then bar.org must do so to. Just as the spec states it.

  43. pep.

    where does the spec actually say that?

  44. flow

    pep., https://xmpp.org/extensions/xep-0045.html#disco-service-features

  45. Ge0rG

    flow: it doesn't say you MUST NOT host a MUC on a non-MUC-Service

  46. Ge0rG

    and biboumi is the opposite case, where you have non-MUC entities hosted on a MUC service

  47. flow

    I doubt that you can do that

  48. pep.

    "MUC service's JID", is that defined anywhere else

  49. pep.

    "An entity often discovers a MUC service by sending a Service Discovery items ("disco#items") request to its own server.", so anything that appears in disco#items declaring itself as a MUC service (with the identity?) is a MUC Service?

  50. pep.

    flow, I think this is pretty workaround-able tbh, I'm sure Smacks could be a bit more loose than this in this regard :)

  51. pep.

    The idea of using chat@foo.bar also occured to me, it does look a lot better than chat@chat.foo.bar, or foo@chat.foo.bar

  52. Ge0rG

    I actually think that calling it `chat@foo.bar` is bad and it should be `foo@foo.bar` so that you can tab-complete it

  53. pep.

    Ge0rG, that's maybe a shortcoming of your client. (I'd like poezio to be a bit smarter in this regard)

  54. pep.

    s/a bit/a lot/

  55. pep.

    But the issue in poezio is that I don't currently have any way to show suggestions, and so it has to stay deterministic, so it's hard to come up with suggestions like this that change depending on $foo

  56. Ge0rG looks at the date of https://github.com/igniterealtime/Smack/pull/329/commits/6d96ae11c6bb251c92c3bb257997b9ceb08d3c9c , shrugs and moves on to important things

  57. sonny has joined

  58. flow

    pep., I think it is great to have chat@foo.bar, we do not need a subdomain for most services. For some it is sensible, for others may not. Subdomains is that makes XMPP service configuration more complicated as you probably need additional TLS certs. A good example which does not strictly have to be a subdomain is http upload.

  59. sonny has left

  60. flow

    But then again if you have chat@foo.bar, then please announce that in the disco#info response of foo.bar

  61. pep.


  62. pep.

    What if I also have users on foo.bar

  63. flow

    Then what?

  64. flow

    An XMPP address can provide multiple services

  65. flow

    There is nothing wrong with that

  66. pep.

    Do we have an identity that says "this is a user host"?

  67. pep.

    flow, what about "foo.bar" as my room?

  68. pep.

    Should I also advertize the muc service on the tld?

  69. flow


  70. flow

    And regarding the question 'why': The code in Smack is there for a reasons. I found many users over the years struggling with where to put which xmpp address. If entities announce the services they provide, then I can provide the library user with better error messages explaining what is likely gone wrong

  71. pep.

    Well the room itself announces that it's a MUC room

  72. flow

    pep., what if the room does not exist?

  73. flow

    It's: Hey the domainpart of the address you gave me, does not even provide MUC, vs. there is no MUC at this address

  74. pep.

    Then it does not exist.. like any other entity that doesn't exist

  75. flow

    or even, "there is nothing at this address"

  76. pep.

    yeah I'm fine with that tbh

  77. sonny has joined

  78. flow

    I am (obviously) not ;)

  79. pep.

    You can't find anything at this address and that's it

  80. pep.

    The user gives you garbage you're not going to deduce stuff from that garbage

  81. sonny has left

  82. Zash has left

  83. sonny has joined

  84. Ge0rG

    pep.: Speaking of which, if you try to enter a non-existing MUC, you won't get a disco#info on that MUC JID telling you that it's a MUC

  85. Kev

    From my reading of '45, a service hosting MUCs is a MUC service, and a MUC service has to have an identity that says so.

  86. pep.

    Ge0rG, hmm

  87. Kev

    (And feature)

  88. Zash has joined

  89. pep.

    Kev, does it say explicitely that the service hosting MUCs and the MUC (singular) have to be at different addresses

  90. lovetox

    thats why you disco a muc before you join

  91. pep.

    Ge0rG, though, arguably, there is an intent behind joining a MUC, either started by the user or you the client. So there are things you can assume.

  92. pep.

    If the disco returns "doesn't exist" (but something replies), then you can try to join anyway and see what error you get

  93. lovetox

    why would i need to care if it sometimes replies?

  94. pep.


  95. lovetox

    user wants to join an address, i do a disco info

  96. lovetox

    > (but something replies)

  97. lovetox

    you just said that

  98. pep.

    something* :)

  99. lovetox

    ah something :d

  100. Kev

    pep.: A service is a domain, rather than JID-with-localpart in this context (6120 talks about services rather than domains, I think pretty much exclusively)

  101. lovetox

    i dont get the problem, from a disco info i can see if its a muc

  102. lovetox

    and then join or dont

  103. Kev

    > lovetox > thats why you disco a muc before you join There's lots of cases that won't be a bad idea, but if you're working on constrained bandwidth, blocking a join on an extra round trip wouldn't be good.

  104. pep.

    Kev, you need to disco#info before joining nowadays with MAM

  105. lovetox

    snd what reason is there to disco the service ?

  106. Kev

    I don't believe that to be true - we implement MAM on MUCs in the server, and joining them without a disco works fine.

  107. pep.

    Or you just do MAM anyway, you also request legacy history, and then you do deduplication, but that's also quite a waste of bandwidth

  108. lovetox

    Kev you cant request MUC History after join

  109. Kev

    lovetox: That is certainly correct.

  110. pep.

    So if you talk about constrained bandwidth you certainly need that disco. If you talk about latency, I can see why you'd request both instead of doing the disco first

  111. lovetox

    yeah .. so the saved rountrip does not outweigh all the benefits you have from a disco info

  112. lovetox

    especially because you need the disco info anyway at some point

  113. Kev

    pep.: That's fair. In my world, constrained bandwidth also means (relatively) high latency.

  114. lovetox

    so you can just do it at the beginning

  115. lovetox

    doing MUC on contraint bandwith is going to be shitty anyway

  116. lovetox

    you basically join a chat, and you can not control in any way how many requests you get for stuff

  117. lovetox

    Gajim still instantly querys your disco info if you join a MUC

  118. lovetox

    so if you join the Gajim channel on contraint bandwith, prepare to serv 100 disco info requests

  119. Kev

    There are mechanisms you can use. Not least of which not deploying clients that flood new joiners.

  120. Kev

    But if you assume that working across constrained networks the servers are trying to help, it's not as desperately bad as all that.

  121. Kev

    That said, vanishing now.

  122. pulkomandy has left

  123. pulkomandy has joined

  124. allie has left

  125. allie has joined

  126. aj has joined

  127. pulkomandy has left

  128. pulkomandy has joined

  129. Alex has left

  130. Alex has joined

  131. pulkomandy has left

  132. pulkomandy has joined

  133. pulkomandy has left

  134. aj has left

  135. larma has left

  136. debacle has joined

  137. larma has joined

  138. pulkomandy has joined

  139. sonny has left

  140. Wojtek has joined

  141. debacle has left

  142. sonny has joined

  143. pulkomandy has left

  144. sonny has left

  145. debacle has joined

  146. skyfar has left

  147. lovetox has left

  148. sonny has joined

  149. Tao has joined

  150. lovetox has joined

  151. Tao has left

  152. sonny has left

  153. lovetox has left

  154. lovetox has joined

  155. pulkomandy has joined

  156. sonny has joined

  157. sonny has left

  158. lovetox has left

  159. Bartek has joined

  160. sonny has joined

  161. Bartek has left

  162. sonny has left

  163. lovetox has joined

  164. pulkomandy has left

  165. pulkomandy has joined

  166. Bartek has joined

  167. sonny has joined

  168. Bartek has left

  169. Bartek has joined

  170. sonny has left

  171. kol has joined

  172. sonny has joined

  173. Bartek has left

  174. Tao has joined

  175. sonny has left

  176. Tao has left

  177. Wojtek has left

  178. Wojtek has joined

  179. sonny has joined

  180. sonny has left

  181. sonny has joined

  182. pulkomandy has left

  183. pulkomandy has joined

  184. pulkomandy has left

  185. pulkomandy has joined

  186. pulkomandy has left

  187. pulkomandy has joined

  188. pulkomandy has left

  189. pulkomandy has joined

  190. sonny has left

  191. lovetox has left

  192. asterix has left

  193. asterix has joined

  194. Bartek has joined

  195. sonny has joined

  196. debacle has left

  197. asterix has left

  198. asterix has joined

  199. Bartek has left

  200. Bartek has joined

  201. Bartek has left

  202. sonny has left

  203. Bartek has joined

  204. sonny has joined

  205. paul has left

  206. asterix has left

  207. asterix has joined

  208. sonny has left

  209. Bartek has left

  210. paul has joined

  211. debacle has joined

  212. sonny has joined

  213. wurstsalat has left

  214. Bartek has joined

  215. asterix has left

  216. asterix has joined

  217. Bartek has left

  218. sonny has left

  219. wurstsalat has joined

  220. asterix has left

  221. asterix has joined

  222. sonny has joined

  223. Bartek has joined

  224. sonny has left

  225. sonny has joined

  226. Bartek has left

  227. Bartek has joined

  228. Bartek has left

  229. asterix has left

  230. asterix has joined

  231. sonny has left

  232. sonny has joined

  233. Wojtek has left

  234. lovetox has joined

  235. sonny has left

  236. kol has left

  237. sonny has joined

  238. asterix has left

  239. asterix has joined

  240. sonny has left

  241. sonny has joined

  242. sonny has left

  243. sonny has joined

  244. debacle has left

  245. sonny has left

  246. Bartek has joined

  247. asterix has left

  248. asterix has joined

  249. asterix has left

  250. asterix has joined

  251. Bartek has left

  252. Bartek has joined

  253. Bartek has left

  254. lovetox has left

  255. pulkomandy has left

  256. pulkomandy has joined

  257. sonny has joined

  258. sonny has left

  259. gav has left

  260. gav has joined

  261. sonny has joined

  262. rion has left

  263. rion has joined

  264. debacle has joined

  265. sonny has left

  266. sonny has joined

  267. sonny has left

  268. asterix has left

  269. asterix has joined

  270. asterix has left

  271. sonny has joined

  272. sonny has left

  273. sonny has joined

  274. sonny has left

  275. debacle has left