-
daniel
Reminder that we will have a council meeting in a little over an hour
-
moparisthebest
\o/
-
daniel
I sent out an agenda just now. I realize that most of you won't be ready to vote when I sent out the agenda 40 mins before the meeting. But with a lot on our plate I think it's important to get the voting period started
-
singpolyma
looks great
-
moparisthebest
Thanks for that, I think h) https://github.com/xsf/xeps/pull/1365 actually makes a normative change that we technically shouldn't make without a version bump no?
-
moparisthebest
If that MUST was a SHOULD I think it'd be ok...
-
dwd
moparisthebest, I'm not entirely sure it *is* a normative change, but in any case it doesn't require a version bump since the wire protocol remains unchanged, surely? Other parts of the spec, such as 10.1.3's final paragraph, imply that the destroy element was always intended to be present. MUST vs SHOULD is your call; I don't think it affects whether a version bump is needed though.
-
singpolyma
I probably agree if the change is happening because that's not being done in practise then maybe SHOULD is appropriate
-
Zash
Can a thing following the previous version talk to a thing following the new version?
-
singpolyma
I don't see why not
-
moparisthebest
But a new thing can't be written expecting a MUST if it might not happen
-
singpolyma
right. I think I agree SHOULD is more appropriate
-
moparisthebest
At least old openfire didn't do this because Guus' PR links to that change π
-
moparisthebest
And we all know how long old openfire's stay online and not updated... π
-
Kev
If you implement new 45, you're entitled to misbehave against a server implementing the old version. That seems bad.
-
dwd
Well, you could say MUST include <destroy/> and include a note saying this wasn't always the case. But interestingly, this does appear to be the only casse previously where a MUC could remove you from a room without telling you why, as far as I can tell. Anyway, from a technical standpoitn a MUST is possible, I think. Politically, though, it might be undesirable.
-
dwd
Either way, if you introduce a version bump that would be... counterproductive, I feel.
-
moparisthebest
oh yea there is no way we should introduce a version bump for this... or ever for MUC if it's remotely possible to avoid :D I was just saying that *technically* we should unless it's changed to SHOULD, so I vote to do that instead
-
daniel
Itβs time
-
daniel
1) roll call
-
Kev
I think that version bump would be bad. I'm inclined to say 'SHOULD' with a note is the safest.
π 1 -
moparisthebest
hello!
-
singpolyma
π
-
daniel
larma, dan.caseley you around?
-
larma
π
-
dan.caseley
π
-
dan.caseley
Sorry, was reading back
-
daniel
2) Agenda bashing
-
daniel
nothing to bash I assume
-
daniel
3) Editors update
-
daniel
- UPDATED: XEP-0054 (vcard-temp) https://xmpp.org/extensions/xep-0054.html - UPDATED: XEP-0386 (Bind 2) https://xmpp.org/extensions/xep-0386.html - UPDATED: XEP-0478 (Stream Limits Advertisement) https://xmpp.org/extensions/xep-0478.html - Proposed XMPP Extension: Jingle Audio/Video Conferences https://xmpp.org/extensions/inbox/av_conferences.html
-
daniel
4) Items for voting
-
daniel
a) Proposed XMPP Extension: Jingle Audio/Video Conferences https://xmpp.org/extensions/inbox/av_conferences.html
-
daniel
on list
-
singpolyma
-1
-
larma
+1, but there will be feedback on list
-
daniel
singpolyma, why?
-
singpolyma
it is incompatible with what's needed for most SFUs, adds unnecessary overhead, and really the whole XEP seems mostly un-needed anyway
-
moparisthebest
I'm on-list, naively I don't see why it needs to MITM anything and can't just pass bytes like TURN
-
singpolyma
my main objection is the doing one call per stream instead of a multi-stream call
-
singpolyma
we already have protocol for multi-stream calls and this is what other applications and SFUs use
-
singpolyma
there is an SFU (livekit) which does two calls, one for in and one for out, but I've never seen one with one call per stream
-
daniel
I assume you dan.caseley are on list too?
-
dan.caseley
+0. I don't hate it, but don't have the depth on SFUs and conferences to raise real insights.
-
singpolyma
moparisthebest: it can't naively forward like TURN because every endpoint will get a different set of streams with different keys. it needs special handling to do e2ee with an SFU
-
larma
moparisthebest, most SFU implementations are actually passing bytes as is after SRTP-decrypting and e2ee is possible via them. DTLS-SRTP (which we typically use for encryption) is not suitable for multi-party, so it needs to be terminated somewhere if we want to send the same stream to multiple parties
-
singpolyma
larma said it better
-
daniel
b) XEP-0045: Additional Ban List specifications https://github.com/xsf/xeps/pull/1359
-
dwd
singpolyma, Is the multi-call nature needed to identify the participant, as per XEP-0298?
-
singpolyma
+1
-
larma
singpolyma, I have used at least one SFU with the same structure as proposed in the XEP
-
daniel
+1
-
moparisthebest
+1
-
larma
+1 on b)
-
dan.caseley
+1
-
singpolyma
larma: interesting. which one?
-
larma
singpolyma, probably the same one goffi used in his prototype that formed the basis for this XEP
-
daniel
c) XEP-0045: Remove references to using resourceparts when banning users https://github.com/xsf/xeps/pull/1360
-
singpolyma
+1
-
dan.caseley
+1
-
moparisthebest
+1
-
daniel
+1
-
larma
+1
-
daniel
d) XEP-0045: Improved wording of status code purpose https://github.com/xsf/xeps/pull/1361
-
larma
+1
-
moparisthebest
+1
-
singpolyma
+1
-
dan.caseley
+1
-
daniel
+1
-
daniel
e) XEP-0045: Improve 'Service Removes Non-Member' example https://github.com/xsf/xeps/pull/1362
-
larma
+1
-
singpolyma
+1
-
dan.caseley
+1
-
daniel
+1
-
moparisthebest
+1
-
daniel
f) XEP-0045: Clarify usage of presence stanzas when removing a non-member from a members-only room https://github.com/xsf/xeps/pull/1363
-
larma
+1
-
singpolyma
+1
-
moparisthebest
+1
-
daniel
+1
-
dan.caseley
+1. Not a fan of "must be in the room" wording, but I can PR that myself if it bothers me enough
-
daniel
g) XEP-0045: Replace inappropriate RFC 2119 key word usage in Β§9.7 https://github.com/xsf/xeps/pull/1364
-
singpolyma
+1
-
dan.caseley
+1
-
larma
+1
-
daniel
+1
-
moparisthebest
+1
-
daniel
h) XEP-0045: Presence sent to occupants of a destroyed room includes a <destroy/> https://github.com/xsf/xeps/pull/1365
-
moparisthebest
tentative -1, I think the MUST MUST be SHOULD
-
daniel
i agree with moparisthebest
-
dan.caseley
Is this a breaking change?
-
singpolyma
-0 agree with moparisthebest
-
larma
same as moparisthebest
-
daniel
it's a bit on the safer side
-
moparisthebest
to be crystal clear I'd vote +1 if that MUST was a SHOULD :D
-
daniel
same
-
dan.caseley
I'm not against the change as is. I'd prefer more MUSTs over SHOULDs. Predictable behaviour. My problem would be down to versioning
-
singpolyma
yes
-
singpolyma
I prefer SHOULD to MUST where sensible, but here it's about compatibility expectations yes
-
dan.caseley
I guess that makes me +1
-
dan.caseley
Or at least a +0
-
daniel
dan.caseley, but you would also +1 a SHOULD?
-
dan.caseley
I would
-
daniel
5) Pending votes
-
daniel
none
-
daniel
6) Date of Next
-
daniel
+1w wfm
-
larma
+1w wfm
-
moparisthebest
+1w wfm
-
singpolyma
+1w wfm
-
daniel
7) AOB
-
dan.caseley
I might miss next week due to kid things. Will catch up.
-
moparisthebest
noaob here
-
daniel
dan.caseley, noted
-
daniel
assuming no aob then
-
daniel
8) Close
-
daniel
thank you all. see you next week
-
moparisthebest
thanks all !
-
dwd
moparisthebest, I think the MUST could remain a MUST. The question is what happens if a new client which expects a <destroy/> doesn't see one from an old server, and I think the answer is that it still knows it's not in the room, but doesn't know why, which is exactly the state it's in now. In all other cases (old server vs old client, new server vs old client, new server vs new client) it's all fine. Also, I don't think a SHOULD means "maybe", it means the same as MUST, just with a cop-out for people who know what they're doing. There's no good reason not to do this - even people who know what they're doing ought to include the element - so the SHOULD isn't useful.
-
Kev
I think whether you go SHOULD or MUST, the necessary thing is the explanation that follows saying that it was not always this way, so implementations MUST cope if this is missing.
-
Kev
Because as the PR stands, it is illegal to send without the destroy, and therefore an entity receiving such a stanza could legitimately reject it. Including a server doing validation of protocol, if it chose.
-
Kev
You say "MUST (or SHOULD), but you must be prepared to accept without" and it's clear what you require a sender to do, but don't introduce potential breakage.
-
dan.caseley
It wouldn't discard because it'd still be valid, no?
-
Kev
If the spec says "MUST have a destroy" and an entity receives without a destroy, it's entitled to reject it as invalid.
-
dan.caseley
If it's a destroy, you MUST add the destroy element. If it's not a destroy though...
-
Kev
I see your point.
-
Kev
But wasn't this the only case where you didn't have a reason before?
-
Kev
If not, then yes, it becomes a more academic argument.
-
Kev
Although I think the point stands that an update to 45 shouldn't make an existing compliant implementation non-compliant without versioning/negotiation.
-
Kev
But you would be right that the impact would be much more limited.
-
Guus
wasn't the `destroy` element non-optional anyway? Two paragraphs before the text that is changed, this is written: > In order to destroy a room, the room owner MUST send an IQ set to the address of the room to be destroyed. The <iq/> stanza shall contain a <query/> element qualified by the 'http://jabber.org/protocol/muc#owner' namespace, which in turn shall contain a <destroy/> element. I introduces a MUST in the paragraph below, to avoid confusion when reading only that sentence. I don't think not using a `destroy` is valid, even prior to this change.
-
Kev
Isn't that IQ versus presence?
-
Guus
(I'm banking on the child element sent by the owner being broadcast as-is to the occupants)
-
Guus
(great moment for my wifi to crap out)
-
Guus
yeah, it is - and it's also in a different namespace - so maybe my rationale wasn't as valid.
-
Guus
I've got no real problem with making it a SHOULD, although it seems to me that the original intent of this always was to include at least that `destroy` child element. In my mind, I was fixing bad wording.
-
Guus
as an aside: shouldn't the presence ideally contain status code(s)? The unavailables that are sent in response to a service shutdown (section 11.2) do.