-
jonas’
This is especially annoying if you are on mobile (*)
-
jonas’
only if you have functions enabled which are designed to make your life harder by taking control away *scnr*
-
Zash
Is there any reason why you couldn't include a form in the first step of an ad-hoc command? https://xmpp.org/extensions/xep-0050.xml#execute-simple
-
Zash
Assuming you know ahead of time what the form looks like, eg because it's standardized by xep-0133 or such
-
jonas’
Zash, you could try, and I guess any sane service would allow it (because if it isn’t stateless, you run into fun DoS opportunities)
-
Zash
Just got rid of a thing in a convenience wrapper for simple commands that required that one-step commands be stateful.
-
marc0s
hi, the `source control` link from `https://xmpp.org/about/standards-process.html#submitting-a-xep` points to `https://xmpp.org/about/xsf/xsf-source-control/` (which 404s) and should point to `https://xmpp.org/about/xsf/source-control.html`. I forked the repo and tried to test it locally but the dev server from isn't rendering the menu, don't know why. I think a plausible fix might be ```diff --git a/content/pages/about/standards-process.md b/content/pages/about/standards-process.md index 303616b..38d8bc1 100644 --- a/content/pages/about/standards-process.md +++ b/content/pages/about/standards-process.md @@ -34,7 +34,7 @@ Here's how to submit a proposal to the XMPP Standards Foundation for considerati 2. Make sure you read, understand, and agree to the XSF’s [IPR Policy](/about/xsf/ipr-policy) before you submit your proposal! 3. Email the XML file (or a URL for the file) to the [Editor Team](mailto:editor@xmpp.org) with a subject line of "ProtoXEP: [your title here]". -Note: It is the author’s responsibility to provide a properly-formatted source file (see the [template](/extensions/xep-template.xml) file maintained under [source control](/about/xsf/xsf-source-control/)). Proposals submitted in HTML, TXT, MS Word, Open Document Format, etc. will be returned to the proposal author for proper formatting. +Note: It is the author’s responsibility to provide a properly-formatted source file (see the [template](/extensions/xep-template.xml) file maintained under [source control](/about/xsf/source-control.html)). Proposals submitted in HTML, TXT, MS Word, Open Document Format, etc. will be returned to the proposal author for proper formatting. #### Editor creates a ProtoXEP ```
-
marc0s
also, the `xep-template.xml` file doesn't exist in the website repo, should it be linked to the raw version from the xeps repo maybe (https://raw.githubusercontent.com/xsf/xeps/master/xep-template.xml)?
-
jonas’
marc0s: the dev server doesn't render the menu for me either :(
-
marc0s
jonas’, thanks for the feedback
-
jonas’
marc0s: linking to the xeps repo sounds sane to me
-
jonas’
go ahead and make a PR against xmpp.org
-
jonas’
thank you
-
marc0s
It also needs some updating, the dev server, as `python -m pelican.server` no longer works, at least with debian's packaged `pelican`, needed to use `pelican --listen`
-
marc0s
jonas’, I will then
-
pep.
yeah there are a few issues that could use some fixing on the website with newer python
-
MattJ
Regarding XEP-0313 deferred, please don't LC it
-
MattJ
I have an update incorporating existing feedback that I already received
-
MattJ
I posted this quite some time ago to people who inspired the feedback, I don't think I got any responses and I didn't follow-up
-
MattJ
But given the XEP is widely implemented already I didn't want to just push the changes without agreement that they were sensible
-
MattJ
I can dig up what I had done and post it to standards@ or something, or if people think I should just push it as a new revision I can do that
-
jonas’
MattJ, please do that
-
MattJ
Which? :)
-
jonas’
the posting to standards@
-
MattJ
Sure
-
jonas’
I wasn’t finished reading the message when I replied :D
-
jonas’
also, I thnik I’m one of those you pinged and I totally forgot about that and I’d love to check your changes.
-
MattJ
Here's a diff I generated: https://matthewwild.co.uk/uploads/stdin-s2ilB8Kj
-
MattJ
I can dig up the XML from whichever checkout I had it in
-
jonas’
i see before-id/after-id fields
-
jonas’
I love it already
-
jonas’
{+ <field type='text-single' var='urn:example:xmpp:free-text-search'/>+}
-
jonas’
sugegstion: make this {clark}notated
-
jonas’
MattJ, I have a bit more of feedback on this, shall I dump it here or 1:1?
-
MattJ
If it's brain-dump style... an email? (i.e. TODO item for me)
-
MattJ
if it's interactive, I'm fine with here or 1:1
-
jonas’
brain dump
-
jonas’
email == jid?
-
MattJ
Email or 1:1 and I'll copy/paste it somewhere :)
-
MattJ
Sure
-
jonas’
sent
-
MattJ
Received, thanks!
-
MattJ
I'll aim to act on that by the end of next week
-
jonas’
that sounds amazing
-
MattJ
Still without an office, and my work schedule is suffering :)
-
Daniel
Question to the server developers. I'm assuming that by now you are all treating muc presence with the x user attribute as full joins. To you remember when you started doing so?
-
Daniel
With what version of your respective server software
-
Daniel
Wondering if it is time to remove the good old leave before join work around
-
MattJ
Looks like it was Prosody 0.11 when we started rejecting GC 1.0 joins
-
MattJ
So 2018-11-21
-
Ge0rG
There are still many pre 0.11 in the wild
-
Zash
Got stats?
-
Ge0rG
Ask jonas
-
Ge0rG
I only have anecdata of Debian oldstable
-
Zash
Debian stable has 0.11, oldstable-backports has 0.11, normal support for oldstable likely ends this year
-
flow
IMHO usually the ideal point in time to drop compatibility workarounds or older protocol versions is when its about 2 years after the point in time when you should have dropped them
-
Zash
So when do we drop the "MUST support GC 1.0" from XEP-0045?
-
flow
now that is something we could drop
-
flow
Zash, it appears Smack removed GC 1.0 in 2006
-
Zash
Wait, did Ge0rG and I sneakily remove that MUST already or did I imagine it?
-
Ge0rG
flow [21:12]: > IMHO usually the ideal point in time to drop compatibility workarounds or older protocol versions is when its about 2 years after the point in time when you should have dropped them May I quote that in https://discourse.igniterealtime.org/t/smack-android-api-requirements/85767
-
Ge0rG
Zash: > Therefore, starting with version 1.32 of this specification, it is RECOMMENDED that a service receiving a <presence> without an <x> element from a non-occupant full-JID responds with an explicit kick to that client.
-
Ge0rG
Not only we removed the requirement to support GC1.0, we even discourage its use
-
flow
Ge0rG, the latest release version of Smack requires Android API 9 or higher, and Android API 9 is Android ~10 years ago
-
flow
the upcoming version will bump to Android API 19, which is Android 4.4 released 7 years ago
-
flow
so I believe to be reasonable conservative when it comes to supporting old versions
-
Zash
Ge0rG, \o/
-
Ge0rG
flow: yes, and now just add two more years...
-
flow
Ge0rG, already did so two years ago ;)
-
Ge0rG
I think i have roughly a dozen patches on top of 4.3 now, either adding new features / XEPs, or providing access to internals which I need exposed, or working around real world implementation issues, like the Dino MUC
-
Ge0rG
flow: two years ago it was too early!
-
marc
Ge0rG, you have the same problem with 389 as with regular IBR, right?
-
marc
tbh, I don't see much advantage of 389 at all
-
Ge0rG
marc: no, I see a number of additional problems in 0389
-
Ge0rG
proof-of-work just won't work against spammers
-
marc
yep
-
marc
Okay, maybe we can split 401 and PARS but somehow reference them as Daniel suggested (?) and we're done? :)
-
Ge0rG
marc: I think that a split doesn't make sense. Not for the UX and not technically
-
marc
Ge0rG, okay, but why didn't you respond to the mail then?
-
marc
I see a big advantage in easy account creation
-
marc
PARS on top is nice but not a must
-
Ge0rG
You don't have to add the contact from 0401. You could also add everybody who used the same token, like with the snikket Demo
-
Ge0rG
But those are not the main use case
-
Ge0rG
The really important case is adding a friend and having them in the roster automatically
-
Ge0rG
Daniel also made a bet on using the phone address book to automatically add contacts.
-
Ge0rG
My impression is that he considers this bet as failed now
-
Ge0rG
If you remove PARS from 0401, you'll end up with implementations that allow registration from an invitation token, but don't consistently add the contact, so you don't gain much
-
Ge0rG
Alternatively, you could move the combined functionality into a third XEP, but what would be the benefit?
-
Daniel
To be fair half the implementations do that already
-
marc
Daniel, hm?
-
marc
do what?
-
Daniel
Implement the registration part but not the contact part
-
marc
Daniel, what exactly did you implement from 401, btw?
-
Daniel
The being 'invited' to a server part
-
Daniel
And use the pars token to register
-
marc
Daniel, this means you send the token via ibr to the server?
-
Daniel
Yes
-
marc
Daniel, via IBR or IQ?
-
Daniel
Well the weird pre ibr thing
-
marc
:-(
-
Daniel
I don't have any feelings on that
-
marc
I hate it ^^
-
Daniel
That was just what's supported by prosody
-
lskdjf
> marc: I think that a split doesn't make sense. Not for the UX and not technically Ge0rG, I'm also in favour of spliting the two processes. As a UX developer you want the user to get some sort of image of how the application works. And for "getting a contact into your roster", I'm trying to teach the user that this happens by clicking some specific button(s). If you now start to just magically add contacts to the contact list, you break the image I'm trying to convey. What I'd like to do is to add the contact and then perhaps display a dialog "Anna invited you, would you like to add her?". I know you want to make the whole process easier, but adding more concepts doesn't make understanding easier.
-
marc
lskdjf, good point
-
Daniel
I think I said this on list but my interest in the registration part is to avoid open ibr for semi public servers (read hacker space, club) where you can stick a qr code on the wall and everyone who has physical access to the building can sign up. But spammers can't
-
lskdjf
s/What I'd like to do is to add the contact/What I'd like to do is to add the account
-
Daniel
I don't agree at all with the concept of so called easy xmpp
-
Ge0rG
lskdjf: that's interesting indeed. But then would you also introduce the concept of presence subscription and its bidirectionality?
-
Daniel
Which is fine. There can in fact be xeps that I don't agree with
-
Daniel
But I don't like to loose what in my eyes is a valid use case
-
Ge0rG
Daniel: the hacker space functionality is there, just use the domain JID URI
-
marc
Daniel, sure, my primary use case is a similar one
-
Zash
Hackerspace functionality whatnow?
-
Ge0rG
It's even implemented in yaxim and prosody already
-
marc
Daniel, and sure, you don't have to agree on everything but I would like to have opinions from experienced devs
-
Ge0rG
Zash: > I think I said this on list but my interest in the registration part is to avoid open ibr for semi public servers (read hacker space, club) where you can stick a qr code on the wall and everyone who has physical access to the building can sign up. But spammers can't
-
Daniel
I know that it is covered. Conversations handles that. But it is a mess to comprehend due to the tight coupling with _shit I don't need_
-
Zash
Ge0rG, ah, ours was set up to limit registrations to the local IPv6 network
-
Ge0rG
Daniel: but it might be shit that your users need...
-
Zash
Everyones needs are different for some weird reason.
-
marc
What _shit_ are you talking about?
-
Daniel
Well the registration part hooks (at very least semantically) on pars
-
Daniel
Which by its name alone is something completely different
-
lskdjf
> lskdjf: that's interesting indeed. But then would you also introduce the concept of presence subscription and its bidirectionality? Ge0rG, depends on the application and how detailt the picture is they convey. The easier version would probably be to say that if "contact X on your roster/friend list" == "contact x gets your information"
-
Ge0rG
I could very well live with changing 0401 to "if the invitation is from a user bare JID, the receiving client shall perform a roster request with the token as a PARS token. The client may first ask the user for permission / guide them through the process"
-
Ge0rG
Would that satisfy Daniel and lskdjf?
-
Daniel
I actually read my email again and I think it brings my point across
-
Daniel
You say you don't want to separate the two because you are afraid someone will implement the registration without the subscription part
-
Daniel
I don't think that's something the xep author should decide
-
Ge0rG
Right, the main reason for the XEP should be optional.
-
marc
Hm, what about less irony and more constrictive input? 🤔
-
marc
Since there is no good argument against IBR, I would like to keep this as-is, or is there a good argument?
-
MattJ
Seems like I should have participated in this discussion, but I didn't see it was happening
-
MattJ
I don't care much about the protocol - if people don't like the iq thing, come up with something else
-
MattJ
I think the argument about making the user do more work to add a contact they want to speak to, just to teach them a lesson is... not sound
-
MattJ
We already know the user intent, don't add more clicks or taps than we need to get the task done
-
MattJ
They can learn to add contacts next time they want to add a new contact
-
MattJ
Getting someone onboarded to the network is enough work already
-
MattJ
We need to remove all the friction we can
-
pep.
"just to teach them a lesson" I can only read this in a pejorative way, is it how you mean it?
-
MattJ
Read it however you want :)
-
pep.
I don't think that's how lskdjf meant it anyway :)
-
pep.
To teach the user habits, patterns
-
MattJ
It doesn't matter, it's what it is doing
-
MattJ
You want to talk to a contact, but first we want you to go through some training
-
pep.
MattJ, no you got it in reverse
-
moparisthebest
to teach the user a lesson we need to implement a XEP I've always dreamed of "remote slapping of a user over the internet"
-
pep.
if you allow that to be one and only step, then next time they want to add somebody they'll be like "why did I have to do something this time?"
-
MattJ
That's nonsense
-
MattJ
Adding contacts is a familiar activity to anyone who wants to add a contact
-
MattJ
Throwing popups in the face of a new user is just not what we need more of right now
-
pep.
I wish we had real UX people to help us tbh. I'm not qualified for this
-
pep.
It seems to me we're all making stabs in the dark
-
pep.
not all all but ..
-
Zash
moparisthebest, search for "xep poke"
-
MattJ
I don't claim to be a UX expert at all. But the effect of adding steps to an onboarding flow is well documented by now
-
MattJ
(and it's a negative one)
-
marc
> I don't care much about the protocol - if people don't like the iq thing, come up with something else I already came up with something else ;)
-
MattJ
marc: where?
-
marc
In the XEP?
-
MattJ
The current revision?
-
marc
The 'regular' way via IBR
-
Zash
Rough consensus and running code!
-
MattJ
I see a lot of TODO
-
marc
True, not saying the XEP is ready just that there is another way how to provide the token
-
MattJ
I would need to dig up chat logs to remember the things that drove us to the preauth iq, but not depending on the old IBR was one reason
-
MattJ
The "new IBR" is not good enough (currently?) though
-
marc
What's the new ibr?
-
marc
I don't see any advantage of 398, if you mean that
-
MattJ
389
-
marc
Whatever ;)
-
marc
Where is the advantage for 401?
-
MattJ
For 401 alone? None afaik
-
MattJ
For XMPP? It would be nice to have a more flexible registration flow in general
-
MattJ
(I repeat that today's 389 is not that, but it's a step in the right direction)
-
marc
Yep, but that's off topic for 401 and how to provide the token
-
MattJ
Not if the answer is simply "do this preauth thing and register however you want"
-
marc
I'm afk now, but please let me know if there is a good reason for the IQ approach. I really dislike this approach 😶
-
Zash
^ is why I dislike IBR, weird thing looking like an iq stanza long before that's supposed to be allowed
-
MattJ
I agree
-
MattJ
I'd love to move away from all iqs before bind
-
Zash
At least in Prosody it's not even treated as a stanza, just a weird "nonza" that happens to be in the "jabber:client" namespace
-
Zash
... not anymore. Used to be an uncomfortable amount of of exceptions in a bunch of places that allowed iq stanzas on unauthenticated connections under certain conditions
-
Zash
So, it would be nice to get 389 moving again.
-
marc0s
should I do something special to have firefox render XEP's XML files? it complains about `XML Parsing Error: undefined entity` while chrome displays it without any problem