[08:59:58]<Flow> jonasw, do you intent to bump the http upload namespace after the latest merge?[09:00:21]<jonasw> ah damn[09:00:25]<jonasw> will do[09:00:39]<Flow> I'm myself not entirely sure if it's required, but I think so[09:00:41]<jonasw> thanks for the reminder[09:00:50]<jonasw> although, I’ll double-check[09:00:56]<jonasw> I think I’m confusing this change with something else[09:01:01]<jonasw> yes I am[09:01:08]<jonasw> the NS-bump-neednig-change was XEP-0401

[09:02:02]<Flow> jonasw, I think http upload also needs a bump, otherwise a client may show http upload as available with an http upload service that also requires disallowed headers[09:02:32]<jonasw> I also don’t think that it should be the editors job to judge this[09:03:09]<Flow> I think it's the editors job to ensure that changes without a namespace bump are backwards compatbile[09:03:09]<jonasw> Flow, a server could also just be misbehaving, so the behaviour would be the same. I’m not sure this warrants a bump.[09:03:36]<Flow> jonasw, I don't follow that argumentation[09:03:42]<jonasw> lemme retry[09:04:01]<jonasw> the effect of the lack of namespace bump is that a client may try a request only to learn that it won’t be able to upload because of disallowed headers[09:04:28]<jonasw> so the upload would fail due to a policy-violation or something[09:04:35]<Flow> But then the client may already displayed the availability of http upload to the user[09:04:40]<jonasw> sure[09:05:31]<jonasw> I’m not entirely sure if this is a problem, because (a) I don’t think we’ve got anything in the wild which does this and (b) a server could also be misconfigured to have the same situation[09:07:58]<Flow> you never know how many users are hidden somewhere and following (b) would mean that we never had to do namespace bumps[09:09:12]<jonasw> where are the procedures for bumping namespaces written down?

[09:09:28]<jonasw> I can’t find it in XEP-0001[09:11:09]<Flow> I'd probably always bump as soon as the rules change so that old implementations would violate them, as it was the case here, simply because I don't think that we can build an interoperable and federated system without doing so. The lazy way will be more painful in the long run[09:11:38]<Flow> jonasw, there are none written down AFAIK, besides "if non backwards compatbile change, then bump"[09:11:44]<jonasw> I’d like to have that written down, because I don’t want to get into arguments over this with either council or authors.[09:12:09]<Flow> Not sure if more needs to be written down[09:12:41]<Flow> This is some sort of special case, because as you said a client will find out if the upload compononent follows the new rules or not[09:13:21]<jonasw> I tend to agree in general, but in this specific case, I think it is very unlikely that this is a problem. none of the big object storage services we surveyed the last week did use any header other than the three listed.[09:14:20]<jonasw> so unless somebody did a home-brew solution before e.g. prosody even did have support for that version of the XEP which used some arcane headers/protocol not used by any major block storage *and* which is based on HTTP headers, I don’t think there’ll be an issue.[09:14:53]<jonasw> I know that this is not a super-great or solid argument, but given the limited resources in the developer community, I think that bumping the namespace again just after conversations dropped support for the first namespace would bind more resources than worth it[09:15:42]<jonasw> (prosody only gained support for :0 recently-ish)[09:16:24]<Flow> I know that implementors don't like bumping namespace, I'm also affected, because of that and the particular case I'm not going to pursue this further. But I think that the editors here should be the counterweight when it comes to namespace bumps[09:19:10]<Flow> Also your argument would also hold for PR# 585, wouldn't it?[09:19:35]<jonasw> (btw, I think we’re making breaking changes to MIX all the time currently)[09:20:59]<jonasw> Flow, no, I think the difference between the two cases is that with HTTP upload, it is deemed unsafe to follow the old protocol. so even *if* the client could discover that :0 was supported (suppose we bump to :up1 now), it wouldn’t want to follow that. In this case, if the client can discover that invite:0 is supported, it might choose that.[09:21:08]<jonasw> Flow, no, I think the difference between the two cases is that with HTTP upload, it is deemed unsafe to follow the old protocol. so even *if* the client could discover that upload:0 was supported (suppose we bump to upload:1 now), it wouldn’t want to follow that. In this case, if the client can discover that invite:0 is supported, it might choose that.[09:21:26]<jonasw> (if it wanted to follow the upload:0, it could simply do so.)[09:23:47]<Link Mauve> IIRC, while a XEP is still experimental, the author can do any breaking change they want and don’t have to care about backwards compatibility.[09:24:04]<jonasw> yeah, that argument, too[09:24:25]<Link Mauve> Namespace bumps could be done only in drafts, if we didn’t care enough about that.[09:25:44]<Flow> Link Mauve, IIRC or IMHO? ;)[09:26:07]<Link Mauve> IIRC, I was looking for a source but I can’t find it.[09:26:07]<Flow> I don't find that written down anywhere[09:26:37]<Flow> And I would also hope that we require namespace bumps also for experimental XEPs[09:26:46]<Flow> (MIX also had a namespace bump)[09:27:33]<jonasw> maybe we should ask Council to write a set of rules for this?[09:28:18]<jonasw> > Note: An Experimental specification is a work in progress and may undergo significant modification before advancing to a status of Draft. While implementation of an Experimental protocol is encouraged in order to determine the feasibility of the proposed solution, it is not recommended for such implementations to be included in the primary release for a software product (as opposed to an experimental branch).[09:28:22]<jonasw> (XEP-0001)[09:28:39]<jonasw> I guess we could technically be saying "f*** you for using experimental".[09:30:19]<Flow> only issue with that is that many important XEPs are experimental[09:30:29]<jonasw> indeed[09:30:32]<jonasw> but that’s a separate issue[09:30:44]<Flow> that's why i'm arguing for another stage "incubating" before experimental, where namespace bumps are not required[09:30:56]<Flow> and where xeps have a well known location but not a number[09:31:00]<jonasw> I’d rather argue for getting our act together and advance things ;-).[09:31:15]<Flow> sure, but unrealistic

[21:43:44]<Kev> > Link Mauve> IIRC, while a XEP is still experimental, the author can do any breaking change they want and don’t have to care about backwards compatibility.

Not really. Breaking changes still typically get bumps in Experimental.[21:44:21]<Kev> But we can certainly be more liberal in our definitions of 'breaking changes' than once it's Draft.[21:44:46]<Link Mauve> Typically yes, but I couldn’t find any document saying we should do it one way or the other one.