XMPP Council - 2025-06-17


  1. Daniel

    I think my agenda got auto moderated on the list

  2. Daniel

    Good Morning Council Members, the next XMPP Council Meeting will take place on, Tuesday, June 17 2025 at 15:30 UTC in xmpp:council@muc.xmpp.org?join The Agenda is as follows: 1) Roll call 2) Agenda Bashing 3) Editors update - UPDATED: XEP-0384 (OMEMO Encryption) https://xmpp.org/extensions/xep-0384.html - UPDATED: XEP-0388 (Extensible SASL Profile) https://xmpp.org/extensions/xep-0388.html - UPDATED: XEP-0485 (PubSub Server Information) https://xmpp.org/extensions/xep-0485.html - UPDATED: XEP-0498 (Pubsub File Sharing) https://xmpp.org/extensions/xep-0498.html - Proposed XMPP Extension: Data Policy https://xmpp.org/extensions/inbox/data_policy.html - Proposed XMPP Extension: Data Forms File Input Element https://xmpp.org/extensions/inbox/data-form-file-element.html 4) Items for voting a) XEP-0388: Fix failure example sequence https://github.com/xsf/xeps/pull/1411 b) XEP-0080: Add "regioncode" element https://github.com/xsf/xeps/pull/1442 c) Proposed XMPP Extension: Data Policy https://xmpp.org/extensions/inbox/data_policy.html d) Proposed XMPP Extension: Data Forms File Input Element https://xmpp.org/extensions/inbox/data-form-file-element.html 5) Pending votes none See the spreadsheet of doom: https://docs.google.com/spreadsheets/d/1oAHUqBdlkobDcmfQ-YRMfZHGQLMWEdOFuEUN2hdgHzs 6) Date of Next 7) AOB 8) Close

  3. Kev

    I didn't notice discussion of 4b on list, but from the peanut gallery I'd like to note that adding new elements in existing namespaces into existing 'schemas' (in the loose sense) isn't guaranteed to be backwards compatible, as there are definitely systems out there that ensure that received protocol is correct against the spec. It's clear the change couldn't be made if '80 was Final, but it's only Stable so it comes down to whether this change could be 'avoided if at all possible' (the requirement for Stable).

  4. singpolyma

    You mean some implementations may fail if encountering anbelment they don't know about? That seems like a bug in such implementations

  5. Kev

    If the spec says (as 80 does) "These are the elements that are allowed", then a system that validates its inputs is definitely not buggy.

  6. Kev

    Note that I'm not arguing because of M-Link behaviour here. Validating inputs is a real thing that real deployments want/need.

  7. Kev

    (Indeed, I think this change to '80 wouldn't impact M-Link or Swift)

  8. larma

    > If the spec says (as 80 does) "These are the elements that are allowed", then a system that validates its inputs is definitely not buggy. It says "the location information itself is provided as the XML character data of the following child elements", it doesn't say "other child elements must not exist"

  9. larma

    One could argue that implementations of the current version are allowed to assume that the new element does not contain location information. I tend to believe that no harm is done if they wrongly assume so.

  10. Kev

    > It says "the location information itself is provided as the XML character data of the following child elements", it doesn't say "other child elements must not exist" Indeed. Other child elements in different namespaces would be consistent with the XMPP Way. But not additional elements in the same namespace.

  11. goffi

    Oh we have the agenda here now, cool.

  12. goffi

    Kev, 4b discussion didn't happened on list, just on xsf@ and on the issue tracker (because author where pinged). As it not mandatory elements, I though that authors + council was enough.

  13. goffi

    Kev, 4b discussion didn't happened on list, just on xsf@ and on the issue tracker (because author where pinged). As it not mandatory elements, I thought that authors + council was enough.

  14. goffi

    Let see the discussion in during council meeting. If it doesn't pass, I can make it a new XEP with separated namespace.

  15. goffi

    Daniel, BTW, I've also made a PR for registry, I'm not sure if you have seen it: https://github.com/xsf/registrar/pull/49

  16. daniel

    it’s time

  17. daniel

    1) Roll call

  18. larma

    👋

  19. goffi

    here

  20. daniel

    singpolyma, dan.caseley you around too?

  21. daniel

    2) Agenda bashing

  22. daniel

    nothing to bash I assume

  23. daniel

    3) Editors update

  24. daniel

    I finally had some time to go through open PRs. Note there are also a bunch that are still awaiting author approval (and/or marked as draft by the author)

  25. daniel

    - UPDATED: XEP-0384 (OMEMO Encryption) https://xmpp.org/extensions/xep-0384.html - UPDATED: XEP-0388 (Extensible SASL Profile) https://xmpp.org/extensions/xep-0388.html - UPDATED: XEP-0485 (PubSub Server Information) https://xmpp.org/extensions/xep-0485.html - UPDATED: XEP-0498 (Pubsub File Sharing) https://xmpp.org/extensions/xep-0498.html - Proposed XMPP Extension: Data Policy https://xmpp.org/extensions/inbox/data_policy.html - Proposed XMPP Extension: Data Forms File Input Element https://xmpp.org/extensions/inbox/data-form-file-element.html

  26. daniel

    4) Items for voting

  27. daniel

    a) XEP-0388: Fix failure example sequence https://github.com/xsf/xeps/pull/1411

  28. goffi

    I'm wating to see where the discussion on the issue goes. So I'll be on list.

  29. larma

    IMO it's rather the schema that's wrong. We tend to not care about ordering, so sequence feels wrong

  30. goffi

    We do care for ordering in some XEPs (like Order-By)

  31. Kev

    From the peanut gallery, using sequence where we don't mean sequence is a longstanding issue in more places than this, I believe.

  32. Kev

    (And I'd agree it's the schema rather than text at fault. Also the change breaks the comma placement to be wrong :))

  33. daniel

    yes I agree schema is wrong and since schemas are non normative ( :-) ) we can just fix the schema

  34. daniel

    so officially I guess that means i’m -1

  35. daniel

    .oO(is it an editoral fix to fix the schema?)

  36. larma

    I would say it's editorial, especially if it's just about fixing the wrong sequence ;)

  37. daniel

    do you have a vote for us larma?

  38. Kev

    (I'd say if it's a fix, it's not editorial)

  39. larma

    -1 as well.

  40. larma

    Kev: but schema is non normative, so it's a non-normative fix

  41. daniel

    a.a) should daniel just fix the schema?

  42. daniel

    +1

  43. larma

    +1

  44. goffi

    I guess I'm +1 too then.

  45. daniel

    b) XEP-0080: Add "regioncode" element https://github.com/xsf/xeps/pull/1442

  46. daniel

    given the previous discussion i'm a bit torn

  47. larma

    I personally am +1 on this one, even after the discussion

  48. goffi

    +1 obviously (I'm the author), but I'm not sure if it's legal regarding discussion. I can make it a separated XEP if necessary.

  49. daniel

    I have certainly written consumer facing APIs that do very strict validation and complain about unknown elements (mostly so we notice typos etcs instead of just ignoring them)

  50. daniel

    so I kinda get where Kev is coming from

  51. daniel

    however we should also be pragmatic

  52. daniel

    and the original authors also seem to be on board

  53. singpolyma

    oh hi

  54. singpolyma

    I'm bad at clocks today it seems, sorry

  55. daniel

    so I guess +1

  56. larma

    We also don't have a rule that a namespace can't be extended from another XEP, so you should never assume to have full knowledge on a namespace.

  57. singpolyma

    +1 on fix the schema, +0 on the example change

  58. singpolyma

    +1 on regioncode

  59. daniel

    c) Proposed XMPP Extension: Data Policy https://xmpp.org/extensions/inbox/data_policy.html

  60. larma

    I'm all in for allowing strictness for attribute values when they're enum, but beyond that, it's limiting extensibility too much IMO.

  61. goffi

    +1 (I'm the author)

  62. larma

    c) +1

  63. daniel

    I feel like this should not use data forms

  64. daniel

    (and not be in disco)

  65. singpolyma

    for this one, using FORM_TYPE to "bind" to a given identity seems definitely wrong to me

  66. goffi

    daniel, singpolyma: what do you suggest as alternative?

  67. singpolyma

    since FORM_TYPE is about standardizing fields that exist. a different field or some other strategy could be used for the desired "binding" (which doesn't even seem necessary tbh)

  68. larma

    I think both the use of disco and data forms is totally acceptable in experimental state

  69. daniel

    data forms is a protocol in a protocol and there should be a strong reason to use it (as opposed to relatively type safe xml)

  70. larma

    If we discover during experiments that we shouldn't use any of the two, we can still do that later.

  71. singpolyma

    I don't object to disco or forms per se, though there's that notion out there that unlimited numbers of extension forms shouldn't be used

  72. goffi

    data form is what is used with disco extension. It's not a new use of it.

  73. daniel

    plus i think using a dedicated syntax would give us cleaner ways to fix the gateway type situation

  74. larma

    Meaning: I don't like data forms either and can see how disco is sub-optimal, but this is good enough for experiments

  75. singpolyma

    I guess that brings us back to the age old "what is experimental for" question

  76. goffi

    With author hat, not that I'm open to change, I just want to know which good alternative you suggest, PEP?

  77. daniel

    goffi, yes but either in cases where caching is highly desired (MUC, http upload size) or in cases where i know think they might have been a mistake as well: contact addresses

  78. goffi

    note that I'm open to change*

  79. daniel

    i don’t think it needs the notification mechanism of PEP. just do a custom syntax?

  80. singpolyma

    standardized ad hoc command ;)

  81. goffi

    It can be interesting to be notified of policy change

  82. goffi

    ToS can change, backup policy can change, etc.

  83. singpolyma

    maybe it can, but I guess what do we expect apps will actually do. or rather, what is your app doing right now?

  84. daniel

    plus i think the forcing anyone who wants disco#info to also retrieve policy is an anti feature. if it has to be disco do a node maybe

  85. goffi

    singpolyma: I'm planning to show a badge indicating with color + score how good a data policy is each time we write to a gateway + a detailed data policy on click.

  86. goffi

    This can be a node indeed, I was actually thinking about that earlier today.

  87. daniel

    btw I’m not necessarily saying -1. you can have your number as a stable base to work on that. but personally I don’t like that it uses disco

  88. singpolyma

    sounds like no current implementations and lots of possible areas to explore (disco, node, pubsub, custom) so I'm at most +0 but I guess I won't block it probably

  89. goffi

    Maybe a discussion on standard could be useful here?

  90. singpolyma

    I like the idea generally

  91. Kev

    (As a side note, I think it'd be handy sometimes to have a "Council's note" associated with Experimental XEPs, where concerns like this can be noted alongside the spec, so expectations (like 'I would block this going to Stable') can be set)

  92. daniel

    oh to be clear putting policy in a machine readable format on XMPP is great

  93. daniel

    but making it a custom format would be more machine readable imho

  94. daniel

    +0

  95. goffi

    I propose that I ask on standard@ for community feedback on where to put the data.

  96. goffi

    and how

  97. daniel

    larma, is this a +1 from your side?

  98. singpolyma

    I think once you've got an implementation it'll be more clear what is needed also in terms of caching/notification etc

  99. goffi

    As long as data is publicly and easily accessible, I'm alright with most solutions.

  100. daniel

    ok let’s move on for now. we are approaching our time limit

  101. daniel

    d) Proposed XMPP Extension: Data Forms File Input Element https://xmpp.org/extensions/inbox/data-form-file-element.html

  102. daniel

    on list. hadn’t had the time to read it yet

  103. goffi

    +1 (I'm author here too)

  104. singpolyma

    I read it more fully this morning. I'm against using 0446 for things vs just re-using jingle namespace as other xeps do. Also it specifies the field as (implicitly) text-single but then has a multiple boolean inside? Also it doesn't really specify how/what to submit with the form. It says to include a 0446 element for some reason, but not what the actual form value should be, etc

  105. singpolyma

    I do like the idea of an <accept mime="..." /> element as a data forms extension

  106. goffi

    XEP-0446 is what is used with XEP-0447 and use the elements from jingle FT

  107. goffi

    It's basically the same thing as for IM file transfer.

  108. singpolyma

    I mean I'm famously not a fan of 0447 for exactly this reason

  109. goffi

    Regarding `text-single`, it's the fallback, it's what is used for other data form fields extensions.

  110. daniel

    i mean we might soon reach a point where we have more 447 implementations than jingle ft implementations

  111. singpolyma

    why is it only a fallback though? if it were text-multiple for example and we specify that the URI goes in the <value> then the "fallback" would actually work

  112. larma

    +1 on d) (and c as well if that was not clear enough)

  113. singpolyma

    Do we have more than one 447 implementation in productio?

  114. goffi

    there are 6 declared (and I still haven't done DOAP for Libervia which implements it too).

  115. daniel

    > (and c as well if that was not clear enough it wasn't :-) thank you

  116. daniel

    ok I want to wrap this up. do you have a vote singpolyma ? i mean with me and dan.caseley on list we won’t have a decision until next week anyway

  117. singpolyma

    as is and with no implementation +0

  118. daniel

    5) Pending votes

  119. daniel

    none

  120. daniel

    6) Date of next

  121. daniel

    +1 wfm

  122. goffi

    +1w wfm

  123. singpolyma

    +1w wfm

  124. daniel

    7) AOB

  125. goffi

    daniel: have you seen my PR for registry?

  126. daniel

    goffi, i have. i need to figure out how registry works

  127. goffi

    to add `gateway/activitypub`?

  128. goffi

    cool, thanks.

  129. goffi

    no other AOB from me.

  130. daniel

    ok. assuming no other AOB

  131. daniel

    8) Close

  132. daniel

    thank you all. see you next week

  133. goffi

    Thanks daniel, thanks all.

  134. daniel

    glad that we actually had things on the agenda today :-)

    👌 1
  135. goffi

    :)

  136. goffi

    I've restarted work on Galeway Relayed Encryption BTW, but I'll wait to add wasm directly, so it will take time as I want to test implementation first to see what is needed.