-
Ge0rG
Today I'd like to AOB a bit about the three not-yet-rejected XEPs from two weeks ago. Sorry that I didn't manage to bring it up earlier, but there is a strategic issue I'm having that I'd like to discuss.
-
daniel
ack
-
daniel
Ge0rG: did you vote on those yet? I didn't record a vote from you
-
daniel
Which might be my fault
-
Ge0rG
daniel: no, I'd like to discuss before casting my votes
-
larma
Ge0rG, we can also do now if it needs me š
-
Ge0rG
larma: given what dwd wrote on the list, I'd like to veto fallbacks and have you merge it into 428.
-
dwd
It'd be very nice to have a clearer understanding of the consensus of the community on the fallback text manipulation bits. I'm quite prepared to be in the rough on that, but currently only me and larma appear to have any opinion at all...
-
Ge0rG
While XEP numbers are cheap, confusing developers with similarly named protocols that cover subtly different use cases is very expensive to us as a community.
-
Zash
As a ... server developer I just want to ... know whether to ignore <body> or not
-
daniel
> daniel: no, I'd like to discuss before casting my votes I think _technically_ the voting period ended yesterday. It's always two weeks, no? I think in this particular instance we can see past that but I think that as chair it's now somewhat my job to enforce the rules even though I'm not fully clear on them myself
-
Ge0rG
dwd: this, together with message references, sounds like a discussion for a day of summit
-
Ge0rG
daniel: IIRC it was 14 days after the day of the initial vote or some such.
-
Zash
Ge0rG, +1 (wrt confusing names being ungood)
-
larma
I totally get the point and I don't mind having it in 428, but I don't think it's subtle difference, given that this difference is what causes a lot of discussion
-
daniel
> daniel: IIRC it was 14 days after the day of the initial vote or some such. Right. But we are on day 15,no?
-
Ge0rG
larma: it's not the difference that causes the discussion but the general approach you suggested
-
dwd
daniel, Voting has usually been considered as two weeks inclusive; so the vote starts at Council Meeting 0, and ends at Council Meeting 2.
-
Ge0rG
larma: so having that discussion is worthwhile regardless of the XEP number it ends in
-
larma
Ge0rG, I mean the discussion about "alternative bodies", which is what this XEP is basically about✎ -
dwd
larma, Actually, my main problem (as XEP author) is that there hasn't been discussion. Too much would be a problem I'd like to have.
-
larma
Ge0rG, I mean the discussion about "alternative bodies", which is what this ProtoXEP is basically about ✏
-
Ge0rG
Well, from a tactical point of view, I need to veto the XEP to ensure this discussion happens. š
-
daniel
> daniel, Voting has usually been considered as two weeks inclusive; so the vote starts at Council Meeting 0, and ends at Council Meeting 2. dwd: OK fair enough. I actually think that makes sense. I just remember one occasion where I wasn't allowed to cast my vote in the second meeting anymore. Not that it matters anymore. But that made me unsure about the rules
-
larma
dwd, It's not like I don't understand your position and I think you understand my position. This is basically about opinions, I don't think any points can be added to the discussion (so, if it wasn't for me being directly involved, I wouldn't reply on this mailing list thread as well, so I can't blame anyone else for not doing it)
-
dwd
"usually". And of course, you're chair so you get to reinterpret the rules. :-)
-
dwd
larma, OK, but that suggests that nobody at all cares about this except you and I...
-
Zash
Could it not rather be that nobody cares about this _right now_?
-
Ge0rG
I think we are already deep in the hole of inconsistent content displays with XHTML-IM and LMC, so we are not making the mess any worse.
-
dwd
Zash, Yes, indeed. But nobody cared when 428 was published either.
-
larma
Do you expect people to answer on the mailing list "I'm on daves side", without any further points made?
-
Ge0rG
Can we make it a popularity contest?
-
Zash
Inb4 someone brings up switching to a discussion platform with a šļø button
-
Ge0rG
Zash: We all know that you have simple buttons.
-
larma
Zash, sounds like we just need more clients to implement XEP-444 š
-
dwd
larma, Well, I don't view it as sides, but the idea is to design protocols such that we as a community have rough consensus we're doing it right. Very hard to judge that if nobody says anything.
-
larma
dwd, 100% agree
-
Zash
Is assumption of silence equaling agreement less than optimal?
-
dwd
Zash, When there's two conflicting suggestions on the table, then which is the silence assenting to?
-
larma
FWIW, I honestly think that if the fallback+reply-to xep was accepted as is, it will be implemented by some clients. Whereas a reply-to without sensible fallback probably won't. And reply-to is a commonly requested feature
-
Kev
> Do you expect people to answer on the mailing list "I'm on daves side", without any further points made? I tend not to do this, as long as the points I would make have been made.
-
Ge0rG
Kev: how is council going to evaluate which points are more convincing?
-
dwd
larma, I think clients are already doing a reply without any metadata at all, just the markup/down.
-
larma
Kev, yeah that works great if one can rationally conclude from the points made which is the best option, which seems to not be the case here, thus the problem.
-
larma
dwd, exactly, but also nobody really likes that, it's just the best we have because we (the people doing the specifications) don't move forward on this and related discussions š
-
Kev
> Kev: how is council going to evaluate which points are more convincing? I don't think decisions should be made based on who is most vocal on the lists.
-
Kev
But where Council would like to judge such a thing, I think asking where people fall is not stupid.
-
Ge0rG
For the record: I think the UX improvements created by replies and body fallback erasure are worth the additional attack surface.
-
Ge0rG
However, I still slightly tend to reject on formal grounds.
-
Kev
> Kev, yeah that works great if one can rationally conclude ... Quite. And I'm afraid I've been off work for the best part of a month until this week, so haven't been monitoring XSF stuff (and pretty much archived it all when I got back). Not that I'm suggesting it's my opinion you're seeking, but if there are threads that want more discussion, maybe they could be bumped with context for why more discussion is desired?
-
Ge0rG
Fallbacks because I really see it as part of 0428, and replies because we still haven't figured out message fastening
-
dwd
larma, Could you simplify the body editing to cover the reply case explicitly, rather than making it quite so generic?
-
Ge0rG
dwd: what's the problem with it being generic? You reverse sort the fallback elements by offset, then remove all the supported ones in one pass
-
Ge0rG
I'm sure we can also make use of fallbacks for SIMS / OOB files
-
dwd
Ge0rG, I think most fallback cases are all-or-nothing. I don't think we want to worry about markdown fallback. Replies I see the benefit, but with a generic pre-display editing capability I just think that's a lot of attack surface for the desired outcome.
-
larma
dwd, I could, but it's really complicated. There is no standard markup for the reply fallback and you need flexibility for internationalization purposes.
-
Ge0rG
Maybe it's even not generic enough, in case some XEP provides different elements under the same namespace that warrant a fallback.
-
dwd
larma, Strip leading characters only?
-
Ge0rG
dwd: the only alternative I see is to embed the fallback body into the fallback element, but that would refute most of the fallback purpose
-
dwd
Ge0rG, Yes, I circled around that thought too.
-
larma
Ge0rG, the string in `for` doesn't strictly need to be the namespace of the element, it can also be `$namespace:$elementname` for example✎ -
dwd
larma, If you want that, you need two attributes.
-
larma
Ge0rG, the string in `for` doesn't strictly need to be the namespace of the element, it can also be `$namespace:$elementname` for example, in cases where namespace alone is not enough ✏
-
Ge0rG
dwd: could you come up with a convincing attack scenario, where actual message content gets manipulated in an unexpected way in one but not the other implementation?
-
dwd
larma, You can't concatenate a namespace and a local name into a single string.
-
dwd
Ge0rG, Yeah, I came up with a couple on the list.
-
Ge0rG
dwd: back in the 0428 days?
-
dwd
Ge0rG, No, in the last thread.
-
Ge0rG
Alright, will reread.
-
larma
dwd, citing from the ProtoXEP: "The <fallback> element has a 'for' attribute with an identifier of the specification the fallback is for. [...] The exact behavior for a compatibility fallback should be defined in the respective specification." aka. it doesn't say it must be the namespace, it can be literally anything right now.
-
dwd
Ge0rG, Reply fallbacks, for instance, allow you to not only strip the reply, but edit the message you're sending.
-
dwd
larma, Right, yes, you can have arbitrary identifiers there. But you can't just have $namespace:$element.
-
Ge0rG
dwd: edit the embedded fallback quote?
-
dwd
Ge0rG, Yes, but also the message you're sending in reply.
-
Ge0rG
dwd: LMC does so as well
-
larma
dwd, what I meant is, the specification for $element in $namespace can just declare that $namespace:$element is what should be in `for` attribute. It doesn't work in the generic case, but it does when specified like this.
-
Ge0rG
Yeah, so `for` must be the namespace or start with the namespace
-
dwd
Ge0rG, LMC replaces messages, so the entire message before and after edits is always obvious. This means that if you have content-based spam filtering, that would be unaffected.
-
Ge0rG
dwd: and XHTML-IM allows to send two conflicting messages
-
dwd
Ge0rG, Yes indeed, and I (and others) warned about that a few summits back.
-
Ge0rG
dwd: the only solution I can see for cases with audit trail requirements is to store the full original xml
-
dwd
But we also need to try every combination of fallback editing in order to figure out what the outcome might be.
-
Ge0rG
dwd: who is "we" in that scenario?
-
larma
dwd, would it make you happy if in the reply-to xep we state that the fallback as specified via the fallback xep should only be removed if it is a single continuous character sequence starting before the first character of the body and ending after a newline character?
-
larma
That would make abuse harder but still give enough flexibility✎ -
larma
That would make abuse harder but still give enough flexibility for practical use ✏
-
dwd
larma, So removal of a prefix only?
-
dwd
larma, That would be fine by me. There is still an attack surface but much much smaller.
-
larma
exactly, but still use the fallback xep so that non-supporting clients still now it's a fallback (without removing it)✎ -
larma
exactly, but still use the fallback xep so that non-supporting clients still now it's a fallback (without removing it, they can still dim it or whatever in this case) ✏
-
Ge0rG
But that limits fallback to one element per message, right?
-
dwd
Ge0rG, For now. Operational experience may suggest we need to expand it.
-
larma
Ge0rG, no, that's a rule specific for reply-to (and will be in reply-to XEP), other XEPs may have different rules.
-
Ge0rG
What if I want to reply-to to multiple messages?
-
dwd
larma, Why not just start with only supporting prefix removal? It is the only compelling case we have right now. I'd be concerned that rule would simply be ignored.
-
larma
Thinking of, for example, message markup (the one that is not styling aka markdown) could declare that only single characters that would trigger a message styling start or end can be removed, etc
-
dwd
larma, That's unenforceable by definition.
-
Ge0rG
dwd: what about replying-to a message with an inline file indicated by OOB?
-
Ge0rG
OOB would remove postfixes of the message, reply-to prefixes
-
larma
Ge0rG, that's out of scope for this XEP (the solution: send two messages)✎ -
larma
Ge0rG, that (reply to two messages) is out of scope for this XEP (the solution: send two messages) ✏
-
Ge0rG
larma: well, reypl-to-two was the first synthetic corner case example I was able to come up with
-
larma
(this is what I see in most other messengers, I don't know any that supports replying to two messages in one)
-
larma
dwd, I disagree that it's unenforcable by definition. Message styling has clear rules when characters can trigger styling. Message markup can refer to those rules.
-
dwd
larma, Sure, but to support that on the receiving end you'd need to understand the rules you don't implement.
-
larma
dwd, you are assuming that I don't implement this rules
-
dwd
larma, Yes, because if you do you know what characters are markup.
-
Ge0rG
my point is: if we define the fallback semantics as "strip the first N body characters for the <namespace> element", and we end up with multiple fallback elements inside the stanza, we still have selective removal of body parts if a receiving client implements the fallback #2 but not fallback #1 namespace
-
Ge0rG
dwd: you only strip the fallback if you know the rules.
-
larma
dwd, markup and styling don't have exactly the same feature set, so it makes sense to support both at the same time and still declare styling as a fallback.
-
dwd
Ge0rG, Yes, but if you know what characters are and are not markup, in order to know whether the rules are legal, then you *also* know which characters to strip anyway, right?
-
larma
dwd, styling does not strip characters
-
larma
> It is RECOMMENDED that styling directives be displayed and formatted in the same manner as the text they apply to. For example, the string "*emphasis*" would be rendered as "*emphasis*".
-
larma
(the bold got loss because I couldn't use message markup to make it bold :D)✎ -
larma
(the bold got lost because I couldn't use message markup to make it bold :D) ✏
-
larma
(the bold in the second example string got lost because I couldn't use message markup to make it bold :D) ✏
-
larma
in case it's unclear why this is needed: You might trigger those styling directive accidentally when typing formulars etc, so stripping them will render those messages unreadable
-
Ge0rG
Trying to solve a security issue by adding complexity is a huge red flag.
-
dwd
larma, OK, so we're talking a client that supports XEP-0393, and therefore knows which characters form a "styling directive", but you're using a fallback directive for an identifier it understands to remove those, to cover the case where a user naively types characters such that they do form a span but that span is unintentional, from a client that also does understand XEP-0393?
-
Ge0rG
So I'm still torn somewhere between "only allow a prefix of the message to be stripped", "allow each fallback element to iteratively strip a prefix of the (remaining) message, as long as you support all preceding fallbacks" and "let each fallback strip whatever it wants"
-
dwd
larma, I'm going to go with "niche".
-
larma
dwd, maybe my example was a bit to unclear. Let's say I want to write "This is important" and make the important bold. With message markup (0394) I can just make the important bold and that's it. With Message styling (0393) I need to add styling directives (asterisks) into my body, but that's still better to not make it bold. So I will send "This is *important*" to have a fallback for legacy clients and trigger message styling. But then I also add 0394 markup for the word important and add a fallback element that says that the two asterisks are fallback, so I client supporting 0394 will not display the asterisks but still make it bold - which is what I wanted in first place.✎ -
larma
dwd, maybe my example was a bit to unclear. Let's say I want to write "This is important" and make the "important" bold. With message markup (0394) I can just make the important bold and that's it. With Message styling (0393) I need to add styling directives (asterisks) into my body, but that's still better to not make it bold. So I will send "This is *important*" to have a fallback for legacy clients and trigger message styling. But then I also add 0394 markup for the word important and add a fallback element that says that the two asterisks are fallback, so I client supporting 0394 will not display the asterisks but still make it bold - which is what I wanted in first place. ✏
-
larma
dwd, maybe my example was a bit to unclear. Let's say I want to write "This is important" and make the "important" bold. With message markup (0394) I can just make the important bold and that's it. With Message styling (0393) I need to add styling directives (asterisks) into my body, but that's still better to not make it bold. So I will send "This is *important*" to have a fallback for legacy clients and trigger message styling. But then I also add 0394 markup for the word important and add a fallback element that says that the two asterisks are fallback, so a client supporting 0394 will not display the asterisks but still make it bold - which is what I wanted in first place. ✏
-
dwd
OK, so the receiving client supports 394 only, and cannot tell if the fallback editing for the lack of 393 is legitimate or not?
-
daniel
fwiw i have 393 in it's current form (w/o fallback or ignore tags or anything) deployed to ~6 million users and from all the complaints i get daily from users not one has ever complained about the formatting
-
larma
If a receiving client does not support 393 and don't want to implement its rules to check if the fallback can be removed, they can either decide to remove it no matter what (risking abuse), make simplified rules (e.g. only single characters can be removed, still risking abuse but making it less likely) or just not remove (which is still better than nothing). Most clients though will support 393 and/or implement its rules in the near future, so I don't think it's a big deal.
-
larma
daniel, FWIW, you are a mobile client and I hardly know any mobile client that supports proper rich text (and not just markdownish), because how would you Ctrl-B to make text bold without a keyboard š
-
larma
Also, nothing is wrong with moving the markdownish logic into the sending client and send using 0394-like markup only on wire.
-
Zash
Less than nothing wrong, it'd be pretty good.
-
larma
Zash, yeah, that's kinda my longterm goal, but it's a long way to get there.
-
larma
and without some fallback mechanism, transition is gonna be hard...
-
Zash
Server-side xhtml-im? š
-
larma
server-side e2e message decryption?
-
Zash
mod_omemo you say?
-
Zash
for meeeeeee, the self-hosted on a single user server, that'd be pretty great
-
larma
I guess we're kinda getting off-topic here. Point is, fallback for 0394-like message markup is part of design considerations in my fallback proto xep (it even is in the second example) and a restriction to prefix-only would make that usecase impossible.
-
larma
If we reach consensus that what I proposed in the proto xep should be part of 0428 instead, I certainly can prepare a PR to rewrite 90% of 0428 - it still feels weird to me to bluntly modify the original meaning of that XEP but I can deal with it (and afaik nobody implemented 0428 as it is right now, so apparently it wasn't very useful anyway)
-
Zash
Feature creep indeed
-
Ge0rG
dwd: is larma's proposal okay with you?
-
dwd
Amusingly, I'm working on server-side e2ee decryption right now. And for improving security, too.
-
dwd
Ge0rG, I'd really appreciate a message to the list outlining it, so we can see what other people feel about it. I worry it's still more complex than I'd like, but it's movement in the right direction at least.
-
dwd
Ge0rG, But to be clear, my view is much less important than consensus.
-
Ge0rG
Unfortunately, I've been asleep for the last two weeks, so I have a pressing deadline to veto or not-veto the proto-XEP today.
-
dwd
Ge0rG, I *thought* we'd agreed that we should fold both proposals into '428?
-
larma
Ge0rG, you can always veto and if necessary we put it up for vote again
-
Ge0rG
But given the previous communications on list from you two, it looks like we can arrive at a 0428 containing a significant subset of the proto-XEP
-
Ge0rG
larma: right, but it's also a bad practice to just re-cast a vote without significantly changed circumstances.
-
larma
though I agree that it feels like we're going to merge everything into 0428
-
larma
Ge0rG, yeah, but "merging in 0428 did not work out" would be changed circumstances, no?
-
Ge0rG
So I'm going to veto Compatibility Fallbacks.
-
Ge0rG
larma: good point
-
Ge0rG
larma: I'm also _most probably_ going to veto call-invites, because it has _very significant_ overlap with 0353 and is missing a clear rationale what's different. If it is only about embedding a URI of an external conference system / phone number, then maybe we can find a way to stuff that URI into 0353 or into Jingle?
-
Ge0rG
And I've been thinking whether to also veto Replies because of a lack of rationale (how it differentiates from threads et al) and the message referencing mess that we are in, but the former was already suggested for later in the process and the latter is not the protoXEP authors' fault
-
Ge0rG
So I'm probably going to +0 Replies.
-
larma
call invites is mostly about: - not being about establishing a jingle connection but a call, which may include multiple participants (jingle connections are always between two entities) - extensibility and fallbacks for various connection methods What it's primarily intended for right now, is to initiate a Muji group call as described in https://github.com/xsf/xeps/pull/1139
-
larma
reply-to is referencing the fallbacks proto xep so I don't think it makes a lot of sense to accept it before the fallbacks update
-
flow
there has been some work on multi party jingle, like xep272, fwiw
-
Ge0rG
larma: I'm pretty sure that 0353 is also mostly about calls (at least 1:1) and not so much about file transfers, and it would be beneficial to see if you can do Muji over 0353 as well
-
Ge0rG
larma: the wire format of reply-to can be completely rewritten in experimental, I'm only concerned about assigning XEP numbers to duplicate functionality.
-
daniel
i think 353 makes a lot of sense for file transfer as well. if it weren't for my crappy jingle-ft implementation (that's completely independent of the newly written jingle rtp implementation) i'd happly use 353 for ft as well
-
daniel
That's not to say it couldn't also be used for muji
-
larma
I agree with daniel that it is kinda weird to remove a feature from a XEP that was there just because it isn't used in practice (yet)✎ -
larma
I agree with daniel that would be kinda weird to remove a feature from a XEP that was there just because it isn't used in practice (yet) ✏
-
Ge0rG
I wasn't going to suggest removing FT from 0353
-
dwd
At this point, we're probably best off discussing somewhere else, but can't the Muji extensions fit within the <propose/> of the intent message in '353?
-
larma
Trying to merge 353 with FT and generic any-transport call invites seems a little bit weird to me
-
Ge0rG
larma: I haven't looked into the muji wire protocol, but what would be wrong about embedding it into 0353?
-
larma
dwd, right now those elements in there are jingle description. If you put an element there that is not a known jingle description to the recipient, they should not be able to accept the call.✎ -
larma
dwd, right now those elements in <propose/> are jingle description elements. If you put an element there that is not a known jingle description to the recipient, they should not be able to accept the call. ✏
-
daniel
i donāt know enough about muji to make a call on whether or not it can be fit into 353. but i'm too (taking my council hat off here for a second) sceptical of the new proposed xep that ignores the existance of 353
-
Ge0rG
daniel: I'm with you here. I'm going to veto call-invites until it comes back with a water-tight rationale for why 0353 absolutely can't be used
-
Ge0rG
but my preferred outcome is actually merging muji calls into 0353
-
larma
FWIW, I tried to merge in 353 first, it just didn't work out
-
Ge0rG
because it really looks like it's reinventing all of the 353 wire protocol, with different names.
-
Ge0rG
I'd also be okay with a 353' protoXEP that re-uses 0353 wire protocol and defines a new child element for it
-
dwd
Ge0rG, I'd suggest working with Thilo, who seems very active in this space.
-
larma
(council hat off) as this is probably not going to work out before our next Dino release, we'll have to release out-of-spec behavior to get group calls live
-
larma
dwd, guess who I've talked to about this topic a lot already...
-
daniel
larma: can you put it into some weird Dino namespace that's not a even a valid uri?
-
Zash
no no noooooooo
-
daniel
And then have it become a widely deployed thing
-
larma
daniel, sure, would probably be what we're going to do, but I really don't like it
-
dwd
daniel, Please no.
- Zash yeets a bath tub in the general direction of daniel
-
larma
Another thing that I wanted to point out, is that call invites can even use 353 as a means to discover full jid (because that is not part of call invites as it doesn't work properly in MUCs due to this nick sharing thing)✎ -
larma
Another thing that I wanted to point out, is that call invites can even use 353 as a means to discover full jid (because that is not part of call invites as it doesn't work properly in MUCs due to this multi session nick thing) ✏
-
larma
Also 353 with the latest changes moved even more towards 1:1 only because of the tie breaking which doesn't work outside 1:1 and wouldn't even work for call invites (because those can be invites to two different calls)
-
larma
Maybe another solution would be to restrict the proto xep explicitly to be not used for direct 1:1 calls?
-
larma
so there is no feature overlap anymore
-
Ge0rG
daniel: let me tell you a tale of app-specific namespaces. ``` count pep node 20969 pep_eu.siacs.conversations.axolotl.devicelist 879 pep_eu.siacs.xmpp_messenger.axolotl.devicelist 201 pep_com.KDJStudios.XMPPJabberClient.axolotl.devicelist 148 pep_eu.siacs.storizima.axolotl.devicelist 118 pep_com.yaari.storizim.axolotl.devicelist 107 pep_mob.titecs.cackle.axolotl.devicelist 15 pep_com.kwikchat.app.axolotl.devicelist 7 pep_de.nxmedia.app.android.c0nnect.axolotl.devicelist 5 pep_com.securedsoftware.vaultim.axolotl.devicelist 4 pep_com.a3india.conversations.axolotl.devicelist 3 pep_lu.pgd.conversations.axolotl.devicelist 3 pep_com.onionsearchengine.onionmessenger.axolotl.devicelist 3 pep_chat.conab.gov.br.axolotl.devicelist 2 pep_xyz.glidermessenger.glider.axolotl.devicelist 2 pep_de.tengu.chat.axolotl.devicelist ```
-
daniel
the most painfull thing about this is that people who fork Conversations clearly donāt know how to change the application id
-
larma
luckily, we don't have a ton of forks just to add ads and be free in the play store š
-
jonasā
what the holy backlog
-
daniel
Ge0rG, also this was very obviously (maybe not that obviously?) a joke on how not to repeat the mistakes omemo made
-
daniel
or I made to be more specific
-
larma
I really would prefer if we find a solution before the Dino release date, because that Dino version is going to be in Ubuntu LTS 22.04 and thus be around for at least 4 years, so we have to maintain backwards compatibility with it š
- Zash mumbles something annoyed about the 10 year extended support period
-
Ge0rG
larma: when is the dino release date?
-
Zash
something something oldoldstable
-
vanitasvitae_
Ge0rG: hehehe
-
Zash
larma, and remember to release without any security issues whatsoever, since they're not fixing those
-
larma
Ge0rG, Ubuntu imports from Debian testing before February 24, we are aiming early February to make sure it gets into Debian testing on time.
-
larma
FWIW, if we don't do a release, Ubuntu will package some random version from our git that is currently in testing š
-
larma
Zash, not entirely true: https://launchpad.net/ubuntu/+source/dino-im/0.0.git20180130-1ubuntu0.1
-
Zash
who did you have to bribe for that?
-
larma
It's important that you get CVEs, that's the only language understood by Ubuntu security team
-
Ge0rG
larma: I'm very sorry that I've been sitting on this for the last two weeks. In case you run into time constraints because I'm blocking on something, feel free to ping and pressure me into deciding sooner :)
-
Zash
My understanding is that their policy for software in 'universe' is "lol, do it yourself"
-
jonasā
oh no the markup wars are back
-
Ge0rG
larma: but I still think that having one XEP for 1:1 call initiation and a completely separate XEP for 1:N call initiation that's using completely different wire format is extremely unfortunate
-
jonasā
so I am roughly on daves side w.r.t. the removal of stuff
-
larma
jonasā is still reading backlog š
-
jonasā
no, just back from that
-
jonasā
I won't have the time today to read through all of the discussion on list (again)
-
jonasā
I would like to point out that reusing wire format for calls is extremely valuable considering the push infrastructure required for stuff like iOS
-
larma
Ge0rG, I do somewhat agree, and I would say it's possible to merge those *if* we agree on getting rid of FT support in 353 and make a bunch of things in 353 optional, but giving that Thilo put so much effort into fleshing out 353 to work great for 1:1, I'm not sure how to proceed here✎ -
larma
Ge0rG, I do somewhat agree, and I would say it's possible to merge those *if* we agree on getting rid of FT support in 353 and make a bunch of things in 353 optional, but given that Thilo put so much effort into fleshing out 353 to work great for 1:1, I'm not sure how to proceed here ✏
-
jonasā
so as mostly a bystander in the A/V debate I am quite unhappy that there was apparently no talk with fippo or the 353 maintainers
-
jonasā
larma: tried talking to thilo in the past two weeks?
-
jonasā
they said on list they would've liked to talk AIUI
-
Ge0rG
larma: why would you want to remove FT from 353?
-
larma
jonasā, yes, talking with Thilo about 353 rework since November
-
jonasā
they seemed surprised on list about the protoxep though
-
jonasā
or am I mixing something up?
-
jonasā
on mobile, cannot search
-
larma
I haven't mentioned to him that we're doing this as an alternative before we uploaded it AFAIK
-
larma
Ge0rG, I don't want to, but it really doesn't work to have a call invites (generic and independent of transport method) and Jingle File Transfers in the same XEP
-
Zash
Mmmmmulti-destination Jingle File Transfer?
-
larma
either we make the XEP about a transport method (Jingle) or about a content type (Calls)
-
jonasā
larma: that sounds right
-
jonasā
or something I could get behind on
-
jonasā
might be worth turning 353 around to focus on calls
-
jonasā
afk now
-
larma
Yes either 353 is changed to Calls only, with Jingle just one means of transport, or is kept as is (generic method for Jingle) and then we need a new generic thing for calls. I personally would prefer the XEP for calls and for Files (we already have SIMS/SFT for that) independent, but unfortunately 353 currently is for transport method, so this would shift its current feature set
-
larma
So, *if* we agree on changing 353 to be calls only (not FT) and independent of Jingle, I guess I will find a way to figure things out with Thilo to get this done on time for Dino✎ -
larma
So, *if* we agree on changing 353 to be calls only (not FT or XML streams or any other Jingle content it currently supports) and independent of Jingle, I guess I will find a way to figure things out with Thilo to get this done on time for Dino ✏
-
Ge0rG
larma, daniel: are FT initiation semantics different from call initiation semantics?
-
larma
In Jingle or in other transport methods?
-
Ge0rG
in jingle
-
larma
The major difference I would see is that the intent is different. For Calls, you want to accept them on at most one device and you want to be able to cancel the ringing on all devices from just one device. For FT, you might want to receive the file on multiple devices and rejecting the file on one device does not rule out that you still want to retrieve it on another device
-
larma
So the semantics of JMI don't really fit the typical UX for file transfers I'd expect
-
Kev
(FWIW, ignoring technical issues, the flow for a user of files vs calls are completely different)✎ -
Kev
(FWIW, ignoring technical issues, I agree that the flow for a user of files vs calls are completely different) ✏
-
Kev
(In fact, I'm not at all convinced that P2P one-off file transfer is the most useful thing for most people)
-
daniel
I think it depends. If you are thinking about inline media then yes. If you are thinking about capital F Files then jmi can be fine
-
daniel
Here is this Linux ISO image. What Client would you like to receive this on. Surely not all of them
-
larma
SIMS/SFT solve this by not actually starting a jingle file transfer, but telling the recipient where to fetch the file from (which can result in multiple independent Jingle FT)✎ -
Kev
daniel: Sure, but that ISO is probably also not time-sensitive in the way that a call is.
-
daniel
No. But I still would like to have the offer on all my clients and then decide which device should receive it
-
larma
SIMS/SFS solve this by not actually starting a jingle file transfer, but telling the recipient where to fetch the file from (which can result in multiple independent Jingle FT) ✏
-
larma
daniel, which you can with SFS
-
daniel
i guess... but i kind like to keep a universal way to establish a jingle session w/o a specific resource. because jingle is universal and not just files and calls
-
daniel
if we take 353 away and only solve files and calls then we donāt have this anymore
-
dwd
So... Do we have/want a concept of a data channel, like WebRTC does, and if so, where would this fit in? Anywhere?
-
jonasā
generalism is often a fallacy
-
larma
daniel, well that was my thinking as well, but in the meantime, everyone told me that 353 is not really meant to be used for anything but calls š
-
Kev
> generalism is often a fallacy That seems over-general of you.
-
jonasā
we have the acute requirement of making call initiations immediately visible even on push-only devices, so having those easily recognizable for the server is crucial
-
dwd
jonasā, Well, too much generalism and you don't have anything concretely useful, yes. Too little, and you don't have anything generally useful.
-
daniel
larma: who is everyone
-
larma
dwd, webrtc data channels are a jingle transport method (the current XEP is broken, but nobody seems to care)✎ -
larma
dwd, webrtc data channels are a jingle transport method (the current XEP is broken, but nobody seems to care) and thus is not relevant here ✏
-
larma
daniel, well, it seems to be a popular opinion
-
larma
Not going to name people š
-
Ge0rG
What have I initiated?
-
dwd
larma, I'm thinking less of the transport itself, and more the concept that two XMPP entities may wish to setup a binary p2p channel. WebRTC-land systems build p2p file transfer from this. I'm wondering if this concept would fit semantically into 353, or something else entirely.
-
jonasā
Ge0rG, also, why here, it would've been much better to have this in xsf@ for visibility.
-
daniel
Fwiw I would probably care. One of these days I would really like to fix my jingle ft implemention and support webrtc based file transfer (in addition to the current ones)
-
dwd
jonasā, We sort of started here and it's continued.
-
Ge0rG
jonasā: it all started out as "I need to decide what to veto today"
-
daniel
But I absolutely don't have the time and energy for that
-
jonasā
(maybe we should revisit the "merge council@ into xsf@" idea)
-
daniel
So it's not not caring
-
Kev
> (maybe we should revisit the "merge council@ into xsf@" idea) I'm still on 'please don't' for that :)
-
jonasā
sorry, you're not on council
-
larma
dwd, it works with SFS (XEP-0447) for as long as both sides support the corresponding transport method
-
Ge0rG
I like having this place for Council meetings and discussions, sorry for accidentally escalating general protocol discussions.
-
larma
maybe we should all just stop talking here and continue at xsf@, without giving any context there whatsoever? š
-
Kev
> sorry, you're not on council That's uncalled for.
-
larma
unless it's council meeting of course
-
larma
daniel, yes, I only know because I cared once but then lacked energy and time to fix it
-
jonasā
I mean the good thing is that people can read up on logs.xmpp.org, but IME trying to transfer a conversation from one place to another is quite lossy
-
jonasā
Kev, sorry, but I'm not sure why this matters for anyone except council
-
Kev
It matters *most* for people who aren't Council.
-
Kev
Having council meetings in council@ means that anyone who wants to observe Council needs to only watch for council@ to pop up with activity in their roster to know Council are active.
-
Sam
^
-
Sam
Or +1 or whatever annoying notification we're generating these days.
-
Kev
AOL
-
jonasā
Kev, right, that makes sense
-
moparisthebest
almost that time
-
Ge0rG
moparisthebest: you are waaaaay too early
- Ge0rG triggers NTP resync, just in case
-
moparisthebest
my opinion on the whole jingle thing is roughly in a contest between "it might be nice if..." vs "running code" the "running code" should always win, ie, accept the protoxep
-
jonasā
moparisthebest, normally I'd agree
-
jonasā
however! the running code is, AFAIK, not taking mobile and the push challenges into account
-
jonasā
where building upon the '353 payload would be preferable
-
moparisthebest
Ge0rG, 6 minutes from now no ?
-
jonasā
way too early!
-
jonasā
I propose we settle this debate in a round of hedgewars
-
moparisthebest
ah ok, you had me worried some DST thing happened :)
-
moparisthebest
my calendar alarm is what didn't go off 2 weeks ago, so I resorted to a standard alarm, but that doesn't take DST into account :'(
-
moparisthebest
I hate computers, or timezones, or both
-
jonasā
we typically discuss DST a week before it happens
-
daniel
It's time
-
daniel
1) Roll call
-
moparisthebest
o/
- jonasā escapes out of hedgewars
-
jonasā
o/
- Ge0rG .o/
-
larma
šļø
-
daniel
2) Agenda Bashing
-
daniel
Ge0rG, wanted to propose an AOB. but since this effects pending votes (which comes before AOB) we should probably discuss now
-
jonasā
ack
-
daniel
if there is anything left to discuss after the earlier discussion
-
Ge0rG
I have a feeling that most of my AOB has been covered.
-
jonasā
I had to read the discussion in a tram on my way home, and I'm a bit dizzy now
-
Ge0rG
But yeah, I'd like to give a summary as a pre-pending-votes AOB block
-
jonasā
yes please
-
daniel
Ge0rG, go ahead then
-
Ge0rG
There was a set of three proto XEPs proposed two weeks ago, covering some ground that has already been proposed / implemented in other XEPs
-
Ge0rG
https://xmpp.org/extensions/inbox/replies.html is yet another mechanism to reference messages, in addition to references, fastening and what else we have.
-
Ge0rG
However, I think that it adds UX value and will probably play well with some sort of revised fallback, so I'm generally +1 on that, even though slightly hesitant because of the message-reference mess that we are in
-
Ge0rG
compatibility-fallback provides additional semantics to what we have in XEP-0428, while looking vaguely similar from the XEP title, and given that dwd agrees about merging the two and sorting out the exact security considerations on the way, I think it's better to reject this one.
-
Ge0rG
And call-invites is something that overlaps very much of 0353 and where it really wasn't made clear why it can't be achieved from 0353. The discussion that we have had in here about it made the points clear, and reinfoced my feeling that this should be merged into 0353 to focus on calls (1:1 and groups) and not have a dedicated wire protocol for the same UX semantics
-
Ge0rG
Thanks everybody for the productive discussion earlier today and for helping me make up my mind
-
moparisthebest
quite different UX was the takeaway I had
-
Ge0rG
moparisthebest: different UX between 0353 and call-invites?
-
moparisthebest
very different UX between "generic jingle(ie file sharing) invites" vs "call invites" yes
-
daniel
Ge0rG, I agree with your critism. However > Note well that no special criteria (other than acceptance by the Approving Body and minimal formatting compliance) need to be met in order for a XEP to be granted a status of Experimental. The granting of Experimental status must not be construed as indicating any level of approval by the XSF, the XMPP Council, or the XMPP developer community.
-
jonasā
moparisthebest, my take away was "in theory that, in practice '353 is mostly used for calls and in addition you wouldn't want to get push notifications for a file offer in contrast to a call on iOS (where those tend to be loud)"
-
moparisthebest
I'm not sure you wouldn't want a push notification for a file transfer you've been waiting for but that's starting to go down a rabbit hole...
-
larma
moparisthebest, at least you probably want to handle them differently
-
jonasā
moparisthebest, yes, though it makes sense to treat them differently still
-
jonasā
iOS is weird with call UI requirements for voice pushes
-
moparisthebest
to me, if the decision is "well we are going to need another XEP anyway, but maybe some things in this new one and 353 could be shuffled around" then accepting is the right thing to do
-
jonasā
right
-
jonasā
larma, what do you think here?
-
jonasā
daniel, do we want to extend the voting period by a week to give larma a chance to sync with thilo and primarily affected client devs about the options for '353?
-
moparisthebest
that sounds like a good idea to me...
-
daniel
sure.
-
jonasā
because I think the way forward depends on the agreement and commitment of a few parties anyway
-
jonasā
larma, do you think that'd be useful?
-
jonasā
I seem to recall that Ge0rG will be AFK next week though, which makes that a bit complex
-
moparisthebest
extend 2 weeks ?
-
Zash
if you're moving towards communicating semantics instead of transport methods, then that sounds awesome
-
Ge0rG
Three weeks.
-
daniel
reject and resubmit is virtually the same thing though, no?
-
larma
I think Jingle File Transfer are best done not using 0353 but 0447. AFAIK we can do three things over Jingle: Calls, File Transfer and XML streams. If we move 0353 to Calls only, we might need something like it for Jingle XML streams in the future, but nobody is doing those anyway.
-
jonasā
daniel, ack
-
jonasā
larma, ack
-
Ge0rG
I reject the current proposal anyway because it lacks a rationale that clearly describes how 0353 is unsuitable
-
jonasā
so whatever works is okay by meāI just would like that dino (who've been doing excellent work with conferencing) don't end up in a dead end here and I want that they have their work valued
-
daniel
ok. i'll ask for votes on the individual xeps in the "pending votes" section
-
daniel
should we move on then?
-
jonasā
wfm
-
Ge0rG
daniel: yes please
-
daniel
3) Editor updates
-
daniel
nothing new last week
-
daniel
4) Items for voting
-
daniel
XEP-0060: Specify pubsub#type to reflect semantic info (https://github.com/xsf/xeps/pull/1148)✎ -
jonasā
+1
-
daniel
a) XEP-0060: Specify pubsub#type to reflect semantic info (https://github.com/xsf/xeps/pull/1148) ✏
-
larma
Ge0rG, for the record, I do think the Introduction of the proposal already has some decent words as to why 0353 is different
-
moparisthebest
+1
-
Ge0rG
That looks rather editorial to me, also +1
-
daniel
on list for that one
-
larma
daniel, +1 for me
-
daniel
Ok thank you
-
daniel
b) XEP-0256: Deprecate in favour of XEP-0319 (https://github.com/xsf/xeps/pull/1149)
-
moparisthebest
+1
-
daniel
As someone who implemented 319 and thought it was lacking stuff I'm not sure that 0319 "has won the race"
-
Ge0rG
+1
-
jonasā
+1
-
jonasā
what is it lacking?
-
Ge0rG
oh, I have an AOB for 319
-
jonasā
they look pretty identical to me
-
Ge0rG
Should it be put into CS'22?
-
daniel
i'm not saying it's better or worse than 256
-
daniel
but it didnāt feel ready
-
jonasā
apropos what happened to my agenda point about CS'22? :)
-
jonasā
it's draft tho
-
daniel
and it feels wrong to deprecate something in favor of something that isn't ready
-
moparisthebest
it looked like it just replaced relative time with absolute time to me ?
-
daniel
anyway i'm +0
-
larma
I think 319 lacks functionality to indicate that the timestamp is a rough estimate and not exact, but beside that, I'm +1 on getting rid of 256 so we don't have a duplicate
-
moparisthebest
that's basically always true of a timestamp you recieve from across the network, or, maybe from anywhere...
-
jonasā
daniel, Ge0rG is also already +1
-
larma
moparisthebest, no what I mean is, I set a timestamp that is rounded to the next full hour for privacy reasons, and I want to be able to tell that it's rounded
-
larma
(Telegram has that feature)
-
daniel
yes i have a bunch of issues with 319 but that's not the right forum for this and probably orthogonal to deprecating 256
-
daniel
anyway moving on
-
daniel
5) Pending votes
-
moparisthebest
actually that seems like it should be covered in security considerations, but yea going off on a tangent here...
-
daniel
Ge0rG, do you want to cast your votes on the three proto xeps now
-
Ge0rG
daniel: yes
-
jonasā
(four?)
-
daniel
four?
-
daniel
oh yes four
-
jonasā
at least the SoD doesn't havā¦ ok :)
-
Ge0rG
https://xmpp.org/extensions/inbox/replies.html +0 I like the idea and the UX, but I dislike the mess we are in regarding message reference mechanisms
-
Ge0rG
https://xmpp.org/extensions/inbox/compatibility-fallback.html -1 This needs to be merged into 0428
-
Ge0rG
https://xmpp.org/extensions/inbox/call-invites.html -1 This should be merged into 0353 unless this merging fails, in which case it needs a better description of why 0353 is not sufficient. The one that it has I've read, but consider it inadequate as it lacks depth
-
Ge0rG
https://xmpp.org/extensions/inbox/pubsub-ns.html -1 As discussed before this needs to go into pubsub#type
-
daniel
ok thank you Ge0rG
-
Ge0rG
I'm not done yet
-
jonasā
I'm -1 on the '30 modification✎ -
Ge0rG
#1145 removes too much from 0030, I've written my feedback to the ML. -1
-
daniel
i was about to call for votes on the 30 mod after that
-
jonasā
I'm -1 on the '30 modification, supporting the reasons on-list: It is well suited in the PEP add-ons. I like dwd's reasoning that "otherwise trusted" should be taken for that ✏
-
daniel
or now
-
daniel
because everyone is (or was) pending on that
-
jonasā
I'm -1 on the '30 modification, supporting the reasons on-list: It is well suited in the PEP add-ons. I like dwd's reasoning that "otherwise trusted" should be taken for that as an escape hatch. ✏
-
moparisthebest
also -1 on 30 mod, and I think the XEPs that make it useable for harvesting JIDs need fixed but again, tangent...
-
jonasā
moparisthebest, rationale for the -1?
-
moparisthebest
we shouldn't allow it to become useable for harvesting JIDs
-
daniel
i'm -1 too see my standards post
-
moparisthebest
I mean, it already is, and that needs fixed, not expanded
-
jonasā
moparisthebest, suggestions welcome I suppose (though that should go in xsf@)
-
moparisthebest
yep!
-
daniel
larma, do you want to vote now on the 30 mod?
-
larma
-1 here as well, similar reasoning as moparisthebest
-
daniel
ok
-
larma
I also don't think it's needed that you can disco to fetch the pep node š¤·ļø
-
daniel
6) Date of Next
-
Ge0rG
+3W WFM
-
jonasā
+1w wfm
-
jonasā
happy holidays, Ge0rG
-
daniel
+1w wfm
-
moparisthebest
+1w wfm
-
Ge0rG
thanks very much
-
larma
+1w wfm
-
daniel
7) AOB
-
daniel
jonasā, had some but we are also over time.
-
daniel
are people fine by extending by 10mins✎ -
daniel
are people fine by extending by 10mins? ✏
-
jonasā
ack
-
Ge0rG
+1
-
larma
fine with me
-
daniel
go ahead jonasā
-
jonasā
we should advance the CS-2022
-
jonasā
they're still stable and should be moved to final, now that '22 started
-
jonasā
or should we?
-
jonasā
anyway, if there are no objections, the editor may issue a CFE
-
daniel
have we moved previous CSes to final?
-
daniel
i actually can't remember
-
jonasā
we triedā¦
-
larma
'21 is still Draft/Stable
-
jonasā
right
-
jonasā
we should definitely fix that
-
jonasā
I don't have strong opinions on the Final actually
-
daniel
we could try to move it to final. but i donāt think we have to necessarily
-
jonasā
given that it's now called stable, I can live with that
-
daniel
i think it provides value as is
-
daniel
plus how would apply the 2 implementations rule?
-
daniel
i donāt think there is even one which fully implements it
-
jonasā
right
-
moparisthebest
I feel like we should move it to final but I'm not going to cry about it either way :)
-
Ge0rG
I'm sure there is a bunch of implementations of Core Core XMPP.
-
jonasā
I'll prepare a PR for deprecation of the 2021 one
-
jonasā
End of AOB from my side
-
Ge0rG
I'm slightly in favor of moving '22 to final
-
larma
thanks jonasā
-
larma
is it deprecating or obsoleting '21?
-
jonasā
deprecation needs to come first anyway
-
jonasā
we can easily vote on both
-
jonasā
I mean we can right now, if we want
-
jonasā
which I'd like, given that Ge0rG is AFK for 2w
-
daniel
ok let's do this. we still have 5 minutes :-)
-
jonasā
I'm +1 on first deprecating and then obsoleting XEP-0443 (CS-2021)
-
larma
+1
-
daniel
(thank you for looking up the xep number :))
-
daniel
+1
-
Ge0rG
+1
-
jonasā
thank you for blindly believing me and unanimously obsoleting message styling
-
jonasā
;)
-
larma
š
-
Ge0rG
jonasā: we still have Message Fancying
-
jonasā
moparisthebest, ^
-
moparisthebest
+1
-
Zash
Message Fancying is š¹šššš¦
-
jonasā
cool, so that's done
-
daniel
ok
-
daniel
8) Close
-
daniel
Thank you everyone
-
jonasā
thanks everyone, productive meeting (with the precursing discussion!)
-
Ge0rG
Thanks daniel
-
moparisthebest
thanks all :)
-
Ge0rG
Yeah, thanks very much for the discussion as well! :)
-
moparisthebest
have a good time Ge0rG !
-
larma
thanks š