XSF Discussion - 2018-11-28


  1. Maranda

    I thought igniterealtime.org had IBR open

  2. jonas’

    the XMPP logo, what are the conditions for use?

  3. edhelas

    by the way for the upcoming XMPP newsletter, is it possible to add the release of Movim 0.14 ?

  4. Seve

    edhelas: yes

  5. edhelas

    https://nl.movim.eu/?node/pubsub.movim.eu/Movim/movim-0-14-scotty-anniversary-edition-J8qk3N

  6. edhelas

    :)

  7. edhelas

    0.14.1 will follow soon I think

  8. jonas’

    Seve, I’d like to append that Muclumbus now lives on the search.jabber.network domain and has seen some minor extensions, such as [software version and service type statistics](https://search.jabber.network/stats)

  9. Seve

    You got it, jonas’

  10. Ge0rG

    when is newsletter day again?

  11. jonas’

    Seve, I’d like to append that the [Public Chat Room search Muclumbus](https://search.jabber.network/) now lives on the search.jabber.network domain and has seen some minor extensions, such as [software version and service type statistics](https://search.jabber.network/stats)

  12. jonas’

    Ge0rG, 1st of month

  13. Ge0rG

    Damn, I wanted to write a yaxim 0.9.3 release announcement

  14. Seve

    Still in time :P

  15. Ge0rG

    Seve: but I don't have the time to write it.

  16. Ge0rG

    maybe tomorrow on the train, unless I take the automobile.

  17. moparisthebest

    jonas’: is there a way to search which domains are running which software listed on there

  18. jonas’

    moparisthebest, not from the webinterface

  19. jonas’

    the database has the information though

  20. moparisthebest

    Ah bummer, thanks

  21. jonas’

    moparisthebest, anything in particular you want to know?

  22. moparisthebest

    The echo services

  23. jonas’

    ah

  24. jonas’

    they’re echo.some.domain typically; I heard that some ejabberd versions had those enabled by default

  25. moparisthebest

    so I wrote https://github.com/moparisthebest/xmpp-echo-self and host it at echo.burtrum.org but didn't know anything else remotely similar existed

  26. moparisthebest

    was curious what they did and if I could maybe use them instead :)

  27. jonas’

    apparently, they’re open to the world ;-)

  28. jonas’

    but I wouldn’t rely on the service.

  29. moparisthebest

    well I meant in a 'something else had already been written' sense

  30. daniel

    Why aren't mam messages type=headline?

  31. Ge0rG

    Yes.

  32. Ge0rG

    I think this is due to most XEP authors not explicitly thinking about message type.

  33. Ge0rG

    And around a year ago, I came to the realization that type=headline would be the best for MAM with RFC6120 routing rules

  34. daniel

    Well I'm glad we talked about it

  35. MattJ

    PRs welcome :)

  36. daniel

    MattJ: to the xep?

  37. daniel

    I'm happy to do that

  38. MattJ

    Does it currently recommend a message type? or does it just not mention it?

  39. jonas’

    inb4 the examples are just type-less (i.e. normal)

  40. jonas’

    yupp

  41. daniel

    So we can change it without a ns bump?

  42. Zash

    How do you like having MAM results in MAM?

  43. daniel

    Lol

  44. Zash

    and carbons?

  45. daniel

    Yes that's the reason for making it headline

  46. MattJ

    One reason

  47. Ge0rG

    Can I have Carbons of MAM results please?

  48. daniel

    Mam + carbons are two reason 😊

  49. Ge0rG

    headline is not immune to Carbons.

  50. MattJ

    I'm curious if any clients check the message type though

  51. Ge0rG

    the actual reason I see is message re-routing when the receiving client disconnects

  52. Zash

    We almost need a type that's explicitly for non-message data

  53. Ge0rG

    Zash: except we can't.

  54. Zash

    XMPP 2.0!

  55. Zash

    Anyways, this ties into the Carbons / MAM rule of normal messages IFF they have <body>

  56. daniel

    but headlines are already ignored by mam and carbon, aren’t they?

  57. Zash

    daniel: What if I want MAM of pubsub events?

  58. daniel

    i think what we really need is a matrix like blockchain of messages

  59. Ge0rG

    0280 doesn't even mention headline.

  60. Zash

    It's not a chat system, it's a real time distributed graph database

  61. Ge0rG

    Is anybody using headline for anything?

  62. Zash

    Ge0rG: Notifications mostly

  63. jonas’

    pubsub is using headline I thin

  64. Zash

    I've got server notifications as headline

  65. Zash

    some are pubsub

  66. jonas’

    spammers use headline, too

  67. jonas’

    cf. https://developer.pidgin.im/ticket/17237

  68. jonas’

    see https://developer.pidgin.im/ticket/17237

  69. Ge0rG

    Zash: server notifications for you to read or for pubsub stuff?

  70. Zash

    Ge0rG: Stuff like s2s cert failures. Pubsub stuff include a RSS/Atom feed.

  71. Ge0rG

    is that a yes or no?

  72. Zash

    Ge0rG: I don't understand the question

  73. Zash

    I'm using headline messages for things. Poezio does a very good job with showing them.

  74. Ge0rG

    Zash: so your headline messages have a body.

  75. Zash

    Correct

  76. ralphm

    Pubsub doesn't require headline, but usually people choose that to make the notifications transient/volatile. E.g. prevent storage in MAM.

  77. ralphm

    Body elements in them are nice for having a fallback payload.

  78. ralphm

    So that clients can still display something

  79. daniel

    yeah i think that mid term you might want the pubsub notifications that generated automatically (like pep sending it on every login) to be headline. and 'proper' pubsub notifications to be type=normal and land in mam

  80. Zash

    There's a configuration option for that.

  81. Zash

    PubSub has everything!

  82. daniel

    Cool

  83. Ge0rG

    In theory, Carbons should be headline as well by that logic.

  84. MattJ

    Pubsub has everything, and MUC has everything else

  85. MattJ

    and it's still not enough

  86. ralphm

    That's why we're doing MIX, right?

  87. Ge0rG

    Because it combines the complexity of pubsub with the bad design of muc?

  88. ralphm

    I don't agree that a) pubsub is complex, b) MIX is badly designed. So, no.

  89. rion is eating popcorn and waiting when mix becomes draft standard

  90. moparisthebest

    that might end up being a LOT of popcorn

  91. ralphm

    Well, that might take a while, indeed. Multiple implementations might help. My team is working on this and I intend to relay some (more) feedback.

  92. Ge0rG

    ralphm: that would be awesome indeed. I'd like to be proven wrong.

  93. rion

    btw does anyone have a voice messages xep in mind? I know Conversation implements something, but I'd like to pass some metadata with the message like amplitude histogram for example.

  94. ralphm

    Oh, interesting. I'd suggest looking at the SIMS spec, and adding something analogous to thumbnails.

  95. ralphm

    https://xmpp.org/extensions/xep-0385.html

  96. rion

    I guess I have to implement xep-0385 for Psi-2.0 and propose a change to the xep afterwards :)

  97. rion

    let be so

  98. ralphm

    I don't think adding a histogram requires changing XEP-0385. That said, the specification should be worked out a bit better.

  99. rion

    "Table 2: Mandated encoding and in-line display support." -> Format/Container -> mpeg4 Hm I implemented my voice messages with Matroska..

  100. Ge0rG

    You can also add inline image thumbnails. There is https://xmpp.org/extensions/xep-0264.html and I think some other spec

  101. ralphm

    Yeah, the reference to that is missing, but the example shows that spec used for thumbnails.

  102. ralphm

    rion: the reason for this is extensive OS support in mobile

  103. rion

    I see

  104. ralphm

    Then again, this spec is a work in progress (please provide feedback) and it says "SHOULD".

  105. rion

    anyway I'll try to change that.

  106. lovetox

    what was the intention on putting the timezone in another tag

  107. lovetox

    https://xmpp.org/extensions/xep-0202.html#protocol

  108. lovetox

    to use this xep you need a dateTime profile parser

  109. lovetox

    if you have that parser you can handle all timezones already

  110. lovetox

    in the dateTime profile string

  111. lovetox

    why put it into another tag

  112. lovetox

    just so it gets harder to parse?

  113. lovetox

    additionally it adds confusen

  114. lovetox

    because first instinct of any sane person is that i dont end the utc timestamp with a Z

  115. lovetox

    because its in a <utc> tag

  116. lovetox

    it redundant

  117. lovetox

    but then the xep says it MUST be conform to the dateTime profile, and the dateTime profile says it is mandatory to have a timezone

  118. Zash

    I think there was a reason but I'm not sure I remember it well enough to describe it

  119. lovetox

    Then you end up with situations like <time xmlns='urn:xmpp:time'> <tzo>Z</tzo> <utc>2006-12-19T17:58:35Z</utc> </time>

  120. Zash

    Fun fact: Prosodys timestamp lib doesn't preserve the timezone from the timestamp.

  121. Zash

    Nor can it generate timestamps with anything but Z as timezone

  122. lovetox

    what do you mean with preserve

  123. lovetox

    what is the source?

  124. lovetox

    i hope you dont mean it alters the timestamp the users sends

  125. Zash

    I think the reason for the separate tags was something like the timestamp being just a timestamp and the timezone in it doesn't mean anything

  126. Zash

    Prosody doesn't touch urn:xmpp:time

  127. lovetox

    then what time does it not preserve, in what situation does prosody need to generate a timestamp with a timezone?

  128. Zash

    How do you search for previous discussions on this topic when every page like http://logs.xmpp.org/summit/2013-01-28/ has "show time in local time, rather than in UTC"

  129. lovetox

    the only reason i see for this is, so a client does not have to calculate UTC

  130. lovetox

    but then again he has to calculate local time instead

  131. lovetox

    ..

  132. lovetox

    you need all your datetime lib stuff to use this xep

  133. lovetox

    showing the utc+tz to the user seems useless

  134. lovetox

    so you have to calculate it to the localtime of the contact

  135. Zash

    lovetox: how about https://xmpp.org/extensions/inbox/peptzo.html

  136. lovetox

    thats most of the time the point, where you depend on a thirdparty lib, because datetime stuff is just crazy

  137. Zash

    if parsing the timestamp gives you an integer, then you want to offset separate

  138. daniel

    > lovetox: how about https://xmpp.org/extensions/inbox/peptzo.html Oh that's actually cool

  139. lovetox

    this is rightfully never advanced

  140. lovetox

    i dont see the use for this at all

  141. lovetox

    should i really subscribe to that, then i get it on each connect from all of my contacts

  142. daniel

    Because people ask me to display the time zone of a contact - which I get because you want to know if your buddy slash coworker is awake

  143. daniel

    But doing the IQ request you have to update that again and again

  144. lovetox

    and entity time does provide it since 10 years

  145. lovetox

    how often do you change timezones?

  146. lovetox

    that you need live updates on it the second it happens

  147. daniel

    You don't know. That's the point

  148. daniel

    You don't know how often you need to update it

  149. lovetox

    thats not a reason why i want constantly updates

  150. lovetox

    99% useless

  151. lovetox

    show the timezone in the details page, and do a query if someone access it

  152. lovetox

    does the job fine

  153. daniel

    I imagine a UI where it warns you a bit more prominently if the time zone a) diverges a lot from yours and b) it is night time at your contacts

  154. daniel

    Can only be a small icon

  155. daniel

    But I don't want to hide it in an extra page

  156. daniel

    Like turn the send button into a some sort of 😴 symbol

  157. daniel

    Something not intrusive

  158. lovetox

    i think there will be a point in the future where we have to cut back on these subscriptions

  159. daniel

    But I nice nudge not to annoy your international fiends

  160. SamWhited

    That is the feature I miss most about Google Talk; it had the little red phone icon when people were likely to be asleep.

  161. daniel

    > i think there will be a point in the future where we have to cut back on these subscriptions Yes. But that is independent of that

  162. SamWhited

    It was fantastic when traveling

  163. Zash

    Receiving the same updates over and over is a problem in itself that we'll probably want to fix at some point

  164. lovetox

    of course notification is always better than poll

  165. Zash

    Eg look at "pubsub since" and the like

  166. daniel

    Those omemo keys make more traffic than a little tzo

  167. daniel

    And yes that is something we at some point need to think about

  168. lovetox

    i also get a little, mood, activity, location, usernickname, useravatar

  169. Zash

    https://xmpp.org/extensions/xep-0312.html

  170. daniel

    But that doesn't excuse switching to poll

  171. Zash

    Not sure I like relative time tho

  172. lovetox

    but how do you want to tacle that

  173. lovetox

    it would mean clients have to store the state localy over restarts

  174. lovetox

    if the server only sends new stuff

  175. daniel

    I'm already doing that for a lot of things

  176. daniel

    Avatar, omemo device ids

  177. lovetox

    yes, although, for device ids only because of bad server implementations

  178. daniel

    Yes and the avater for the Same reason

  179. daniel

    But the point is that storing ain't no rocket science

  180. lovetox

    really? avatar has to be cached because otherwise it would be a waste

  181. lovetox

    its a different node we have to poll

  182. lovetox

    and we save that when we cache

  183. lovetox

    yes im not saying storing that info is bad, of course its not hard

  184. lovetox

    but then we would need some switch, that says, give me from all of my clients the current state

  185. lovetox

    when im losing this store

  186. lovetox

    *contacts not clients

  187. daniel

    Yeah I might revitalize the tzo pep xeo

  188. daniel

    *xep

  189. daniel

    I mean as you've guess from my elaborate explanation I have the UI all worked out

  190. daniel

    Just the poll problem bothered me

  191. Zash

    I don't have any state: <presence><{caps}c .../></p> I have cached state from 1h ago: <presence><{caps}c .../><ago xmlns='urn:xmpp:ago:0' secs='86400'/></p>

  192. Zash

    But as I said, I don't like relative times like that

  193. Zash

    Not that exact timestamps are perfect either

  194. Zash

    Something that identifies the last id of every pubsub event you've seen wouldn't really work either

  195. Zash

    However, MattJs magic device tracking might save us?

  196. MattJ

    As always

  197. ralphm

    One thing I like about Slack is when you do an @channel it says how many people in how many timezones will get a notification. Are you sure?

  198. Zash

    Does it? Haven't noticed

  199. edhelas

    Can someone enlighten me on this comment? https://github.com/movim/movim/issues/711#issuecomment-418456713

  200. edhelas

    To me it seems that the XMPP MUC services are filtering content of presences, is my assumption right?

  201. Zash

    MUC should filter out MUC-related namespaces that it didn't add itself. Caps and stuff should not be touched.

  202. Link Mauve

    rion, oh, I missed this table in SIMS, mandating AAC and H.264 in XMPP sets a very nasty precedent wrt patents.

  203. Link Mauve

    It means you can’t support that without paying the MPEG-LA.

  204. Link Mauve

    I’d like XMPP to stay possible to implement without having to pay anything.

  205. rion

    and I'm fighting all the evening to write aac from Qt. no luck.. :(

  206. Link Mauve

    Opus is definitely superior, both in quality of compression and because it doesn’t require you to be subject to patents.

  207. Link Mauve

    I’d recommend using this codec.

  208. rion

    opus works for me. but still in mp4 container?

  209. Link Mauve

    Ogg is generally used for it.

  210. rion

    good. I like opus. I use it for audio calls in Psi.

  211. Link Mauve

    Yeah, it’s the current best codec for voice.

  212. rion

    so if it will be used for audio messages. then I need less binaries =)

  213. rion

    So I guess opus has to be mentioned in 385

  214. Link Mauve

    rion, do you implement the various WebRTC mandatory specifications for audio calls? I’m currently working on Jingle in another client and I’d like to do interoperability tests.

  215. Link Mauve

    rion, yes, you can start a discussion on standards@ maybe.

  216. rion

    Link Mauve: it's jingle in Psi.

  217. Link Mauve

    Having a codec which is patent-encumbered in most parts of the world in a XEP is a very bad idea.

  218. Link Mauve

    rion, I know, but do you also implement e.g. XEP-0339, XEP-0338, XEP-0294, etc.?

  219. Link Mauve

    XEP-0320 is also pretty important.

  220. rion

    I'd like to. I do my bests but my spare time is quite limited :(

  221. Link Mauve

    Ok.

  222. Link Mauve

    Do you support ICE btw?

  223. rion

    yes

  224. Link Mauve

    Nice.

  225. rion

    Audio calls in Psi was initially implemented by Justin Kerneges. I did just a few changes to ICE and rewrote media library to be compatible with gstreamer-1.0. That was many years ago. So many new audio calls related xeps are not supported.

  226. Link Mauve

    Ok, makes sense.

  227. Link Mauve

    I’ve had to learn a bunch of that recently for this project, so if you ever come around to implement them you can ask me anything you don’t understand.

  228. rion

    Link Mauve: thanks