XMPP Council - 2020-05-27


  1. jonas’

    1) Roll Call

  2. daniel

    hi

  3. jonas’

    (sorry for the slight delay)

  4. Zash

    Ice cream

  5. jonas’

    Chips!

  6. dwd

    Hiya.

  7. jonas’

    2) Agenda Bashing

  8. jonas’

    fippo wants to have XEP-0338 LC’d

  9. jonas’

    I see no reason why not to add this to today’s agenda, so I’m going to do that

  10. jonas’

    anything beyond that?

  11. daniel

    oh yes that makes sense

  12. Zash

    338 is?

  13. daniel

    i forgot to ask for that during my round of jingle related calls

  14. jonas’

    XEP-0338: Jingle Grouping Framework

  15. daniel

    +1 for calling

  16. jonas’

    3) Editor’s Update - Calls in Progress - CFE for XEP-0050 (ends at 2020-06-09) - Expired/Expiring calls: - LC for XEP-0393 (ended yesterday)

  17. jonas’

    4) Items for voting

  18. jonas’

    4a) Proposed XMPP Extension: Channel Binding Capability URL: https://xmpp.org/extensions/inbox/xep-sasl-cb-types.html Abstract: This specification allows servers to annouce their supported SASL channel-binding types to clients.

  19. jonas’

    on-list

  20. jonas’

    (though at a first glance, it looks better than the other one)

  21. dwd

    I note this is Florian writing up his suggestion. I'm +1 on this.

  22. Zash

    +1

  23. daniel

    +1

  24. jonas’

    ok, it’s very massively short

  25. jonas’

    +1

  26. jonas’

    moving on

  27. dwd

    (I mean, this is exactly what we were all saying we were happy with last week, so...)

  28. jonas’

    4b) PR#949: XEP-0157: Add status-addresses registrar entry URL: https://github.com/xsf/xeps/pull/949

  29. dwd

    +1

  30. jonas’

    there was some discussion in context of this on-list, see: https://mail.jabber.org/pipermail/standards/2020-May/037443.html

  31. daniel

    +1

  32. jonas’

    I’m still not certain that this is a good place for that type of info, but it certainly doesn’t harm

  33. jonas’

    so +1

  34. Zash

    +1, assuming this is how registries work

  35. jonas’

    that’s not how registries work, but we don’t have a working registry, so this is the second-best thing

  36. dwd

    Yes, some suggestion of whether this should be in DNS or .well-known, but it feels like putting it here is a necessary first step.

  37. jonas’

    Zash, do you want to change your vote based on that bit of info? ;)

  38. Zash

    Nah, +1 still

  39. jonas’

    alright

  40. jonas’

    4c) Decide on Advancement of XEP-0393: Message Styling URL: https://xmpp.org/extensions/xep-0393.html LC-Thread: https://mail.jabber.org/pipermail/standards/2020-May/037394.html Abstract: This specification defines a formatted text syntax for use in instant messages with simple text styling.

  41. dwd

    So I quite like this. But I'm aware that lots of people do not.

  42. jonas’

    -1, because of: - Concerns raised on the mailing list by community members about an explicit opt-in switch for the use of styling - Concerns raised on the list (by me and others) about the lack of any possible way to replace this with an updated variant (either in this or a future document) because of lack of explicit signalling - Concerns by me and others that putting "markup" in the <body/> is *not* the way to go in XMPP (this is more of a weak purity argument to some extent) - Security concerns because people will do stupid things with existing markdown parsers and the document should mention that, even though they’re not 100% compatible.

  43. Zash

    I agree with jonas’

  44. dwd

    The problem as I see it is that there are a bunch of conflicting demands around styled text in messages, and I don't think we have any clean solutions yet. This is definitely not one, either.

  45. jonas’

    that said, I’d like to repeat what I said in my original email: This thing did a great deal of improvement by providing rich text to flagship clients. This is good for UX. I think this was a useful intermediate step, and now we need to find a way to do this properly.

  46. jonas’

    but this should not be on Standards Track as is. I’d be happy to put this to Informational-Active actually.

  47. jonas’

    oh, and I forgot to mention another reason for -1: - Lack of explicit formal grammar to write a compliant parser.

  48. dwd

    Anyway - I think I'm +0 on this advancing to Draft

  49. jonas’

    15:11:10 Zash> I agree with jonas’ shall I record that as a seconding of my -1?

  50. daniel

    +1 this is standardizing something that clients in one form or another have been doing for years. this is not really in-body markdown because the formatting doesn’t get removed. it's just a suggestion on how do visually display emphasis that a user would give the text regardless. therfor it doesn’t need opt-in or opt-out

  51. Zash

    jonas’: sure.

  52. dwd

    daniel, I know it doesn't need signalling or negotiation, but I think it would be nicer if it did.

  53. dwd

    daniel, Also, how would you feel about Informational/Active here?

  54. daniel

    i'm not against adding a hint <hey-there-im-using-393/>

  55. jonas’

    daniel, in that case I argue that it doesn’t belong on Standards Track. It can maybe live in Informational or be moved to modernxmpp.org; just like the rules for how to use '392 with JIDs and stuff

  56. jonas’

    daniel, in that case I argue that it doesn’t belong on Standards Track. It can maybe live in Informational or be moved to modernxmpp.org (or a similar resource); just like the rules for how to use '392 with JIDs and stuff

  57. daniel

    adding that hint probably doesn’t block it going on to draft

  58. jonas’

    I do not feel comfortable to approve this as (quoting XEP-0001): > A wire protocol intended to be used as a standard part of XMPP technologies. [13]

  59. daniel

    jonas’, i have no hard feelings regarding the track

  60. SamWhited

    I'm also okay with adding a "I'm using styling" hint or even a "this message isn't intended to be styled" hint, but I'd like to just state for the record that this is unnecessary bloat. Also, I took great care to make sure the grammar was well defined so that you can write a compliant parser, but there won't be a formal grammer because I don't know anything well enough tow rite one. I do feel strongly that it belongs to the standard track.

  61. SamWhited

    "to write", even.

  62. jonas’

    even Informational is stretching it IMO, but I’d accept that as a middle-ground. A non-XSF resource would be more fitting for UI things (which this is in daniels line of argument)

  63. SamWhited

    </author-opinion>

  64. Zash

    Overloading body without negotiation is problematic

  65. dwd

    jonas’, What on your list is blocking?

  66. dwd

    Zash, Overloading or hinting? (Given Daniel's observation that people literally type this stuff anyway)

  67. dwd

    Ugh.

  68. dwd

    Negoation or hinting, I mean to ask.

  69. Zash

    dwd: Either is better that nothing

  70. jonas’

    dwd, I can be persuaded to accept the overloading of <body/> in this specific way if and only if an opt-in is given. The lack of formal grammar is not blocking if implementors agree that it is doable without (which is probably more something to deal with for moving to Final)

  71. jonas’

    if an opt-in is present, it’s also more clearly wire protocol belonging on standards track.

  72. SamWhited

    It will definitely never be opt-in because that defeats the whole point. The *reason* it did such a good job of getting client adoption and fixing that part of the ecosystem is that it wasn't opt-in, it was just telling you how you could apply styling to things users already do.

  73. SamWhited

    It could be opt-out per message, but that's all that I'd be comfortable with there.

  74. jonas’

    opt-in is the only thing I’m going to be comfortable with.

  75. dwd

    jonas’, So if it's merely hinting and not an explicit negotiation, then if I type the same stuff myself, am I *not* XMPP conformant anymore?

  76. jonas’

    what the opt-in would be signalling, in my mind, is: "The user observed that the message would be styled in this way before sending, e.g. by having the input UI control display styling inline."

  77. jonas’

    and by opt-in I mean <this-is-styling xmlns="…"/>

  78. dwd

    jonas’, I could see a <styled xmlns='...' active='boolean'/> around to signal whether *this* is bold or not. But given I can type it anyway, and in many clients it already will be shown bold heuristically, I can't see a problem with it being hinted rather than negotiation.

  79. flow

    Sorry for interrupting, but I've to run in 5m. And missed the spot when you where discussing it. One thing re 4b: I talked with pep and wondered if the form field's registry entry should include data form validation information. In particular, that the value's datatype is xs:anyURI. I think we should ideally discuss this *before* adding the registry entry, because, changing it afterwards could be considered a breaking change. Hence you may want to re-consider. I think pep (or I) would be happy to add that additional information to the registry submission.

  80. jonas’

    dwd, maybe that’s the misunderstanding. By opt-in, I simply mean a flag inside the <message/>. It’s not necessary to go full-blown "only do this if disco#info has something" or something like the chat session negotiation which existed somewheer.

  81. dwd

    jonas’, Ah, right. Gotcha.

  82. jonas’

    flow, does the registry support schema stuff? In that case that sounds useful, can you make a note in the PR?

  83. dwd

    jonas’, That would move me from +0 to +1, as well, and if it also provides a way to explicitly state that there's no styling, that'd be great, too.

  84. jonas’

    Zash, do you agree with that?

  85. jonas’

    then we’d have a clear way forward for the author

  86. SamWhited

    I'll add the no styling hint, but the "this is styling" hint will completely break the entire point of this and I am absolutely against adding it.

  87. Zash

    jonas’: A hint? Yes, that's fine with me.

  88. jonas’

    ok, moving on then, we have one more item on the agenda

  89. dwd

    SamWhited, Noted, but I think you're in the rough here.

  90. jonas’

    4d) Issue Last Call for XEP-0338 URL: https://xmpp.org/extensions/xep-0338.html Abstract: This specification provides an XML mapping for translating the RFC 5888 SDP Grouping Framework to Jingle

  91. daniel

    i don’t understand why it breaks the point

  92. SamWhited

    I can write it up for the millionth time, but it makes this much harder to implement, much less consistent, and generally breaks the XEP to add a "this is styling" hint.

  93. Zash

    daniel: same

  94. jonas’

    order please

  95. SamWhited

    But we can discuss this on list for the millionth time, sorry for taking time in the council meeting.

  96. jonas’

    we can continue the discussion in AOB if everyone agrees to extending the meeting time, or xsf@ or on-list

  97. daniel

    +1 on 4d

  98. flow

    jonas’, I'd have to check, but i'll be gone in a few minutes. I'd like to discuss this, as it appears we do not have a single form field in the registry which uses data form validation annotations. Likely because nobody every did it. And IMHO we should allow for it, as it's usefull information. Will add a remark to the PR. Happy to discuss this later in greater detail. bbl

  99. Zash

    +1 for LC

  100. jonas’

    +1 for XEP-0338

  101. daniel

    i’m expecting this have similiar outcome as the other two jingle specs we called

  102. dwd

    +1 to LC.

  103. daniel

    few but positive feedback

  104. jonas’

    flow, we’re still pending on Ge0rGs vote either way. Please add a note to the PR so that the Editors will defer merging and we can re-do the vote in case you find that you have to change it

  105. Zash

    I'm almost out of battery fyi

  106. jonas’

    5) Pending votes

  107. jonas’

    none

  108. jonas’

    (except Ge0rG now)

  109. jonas’

    6) Date of next

  110. jonas’

    +1w wfm

  111. daniel

    +1w wfm

  112. dwd

    +1 wwfm

  113. Zash

    Wfm

  114. jonas’

    7) AOB

  115. jonas’

    since Zash is out of battery and we’re running out of time, I’d like to skip this one

  116. jonas’

    since Zash is out of battery and we’re running out of time anyways, I’d like to skip this one

  117. dwd

    Happy to.

  118. jonas’

    8) Ite Meeting Est

  119. jonas’

    thanks all

  120. Zash

    Thanks

  121. jonas’

    quick note that I sent a meeting time scheduling thing for the routing stuff (cc @ Ge0rG )

  122. dwd

    Thanks jonas’!

  123. jonas’

    SamWhited, I note you’re not in xsf@, any reason for that?

  124. dwd

    BTW, why would one ever block a Last Call?

  125. jonas’

    dwd, if it’s 90% TODO maybe?

  126. SamWhited

    jonas’: too noisey and distracting; happy to join temporarily if we want to have this discussion in there

  127. dwd

    jonas’, But you could raise that in Last Call?

  128. daniel

    SamWhited, i don’t understand how <styling boolean/> breaks the purpose of the XEP. it allows receiving clients to have three different modes. style everything, style everything but <styled false>; only style <styled true/>

  129. jonas’

    SamWhited, ok, feel free to continue the discussion here for now then

  130. daniel

    sending clients would have to support ever sending <styled false/>

  131. daniel

    if they didn’t want to

  132. jonas’

    dwd, sure, but ... yeah, I mean, it doesn’t make much sense to me either. I’d somehow expect LC to be editor-driven while CFE would be council-driven, but it seems to be the other way ’round

  133. SamWhited

    daniel: I don't actually understand the three modes

  134. daniel

    and just adding <styled true/> is free

  135. SamWhited

    What is the default if no styled=false or styled=true is present?

  136. daniel

    relatively

  137. daniel

    the receiving client can decide

  138. dwd

    SamWhited, The default is "Implementation defined", which is what it is now.

  139. jonas’

    SamWhited, "sending client doesn’t know what it’s doing, use a local user/implementation preference"

  140. jonas’

    while styled=true is "sending client knows what it’s doing and emphatically agrees with this being displayed fancy" and styled=false is "nope, this must not be styled ever"

  141. SamWhited

    So now we have some clients forcing styling on, some forcing it off, and some that we just do our own thing for. From the users perspective, that's just going to be similar messages from different contacts or even the same contacts when they switch clients randomly being styled or not

  142. dwd

    One advantage is that if the client receives something *broken, it can know whether this is genuinely broken or just not actually styling.

  143. SamWhited

    If my clients default is "no styling unless styling=true" and one contact sends me "this is *styled* <styling=true>" and another sends me "this is *styled*" but they just typed it, that just looks confusing that one is styled and the other isn't.

  144. dwd

    SamWhited, But one of your clients might not do styling anyway, right now.

  145. SamWhited

    Also, how does this work in MUCs? If one user quotes a message and they apply styling=true and another replies and quotes it but their client applies styling=false, now there are two replies that represent the same quote differently

  146. dwd

    SamWhited, So I don't see what changes.

  147. SamWhited

    dwd: but they would or would not apply it equally for all messages from all contacts, muc participants, etc.

  148. dwd

    SamWhited, No.

  149. daniel

    SamWhited, well *your* client could still default to styled if there are no hints

  150. jonas’

    (I assume Conversations will)

  151. jonas’

    (at least for a transition period)

  152. daniel

    probably

  153. SamWhited

    daniel: that's even worse, now different clients that I use will have different defaults. On conversations it might default to styling=true, but when I switch over to dino it defaults to styling=false and it looks different

  154. jonas’

    the recommendation to default to styling=true can be put in a place where client developers look for "good UX tips" *hinthint*

  155. SamWhited

    This adds an entire massive amount of uncertainty and possibility for breakage. Even from the sending clients perspective it adds confusion and different ways to implement things

  156. jonas’

    how does this add uncertainty for *sending* clients?

  157. SamWhited

    For example, if I click a "bold" button and it wraps the text in styling directives, I thin it's pretty obvious that styling=true should bge added to the message

  158. SamWhited

    However, if I just type "check out this *styling*" what should it do?

  159. pep.

    re flow's suggestion on 157, I'm happy to add the validation thing but I have no clue how

  160. SamWhited

    Should it add styling=true? Do nothing and let it be inconsistently displayed between the remote users clients?

  161. jonas’

    SamWhited, that depends: does your input field show it as boldface inside the input field? if so, styling=true, otherwise no.

  162. jonas’

    pep., I hear flow will look that up

  163. dwd

    jonas’, +1 on that.

  164. pep.

    And re 393 hint, I think that's pretty much useless

  165. daniel

    > SamWhited, that depends: does your input field show it as boldface inside the input field? if so, styling=true, otherwise no. +1

  166. dwd

    SamWhited, Your client should be expressing the user's intent.

  167. pep.

    Clients will just put that in the payload all the time and we're back to normal

  168. dwd

    pep., Isn't that OK?

  169. pep.

    To be back to normal?

  170. moparisthebest

    clients don't know the user's intent

  171. Zash

    I don't see how making things more explicit makes things uncertain.

  172. moparisthebest

    I'm certainly not going to press any 'bold' button, I'll just continue writing *like this* because that's how I've always written everything

  173. pep.

    moparisthebest, that's their issue, they could very well know if they allowed it in the input format

  174. SamWhited

    Zash: because it's not making them explicit, having a "styling=false" alone is making things more explicit, but having both is introducing even more possible states that you can't predict.

  175. dwd

    pep., I mean, if clients put the styling hint in all the time, that just means they're explicitly intending the message to be styled.

  176. moparisthebest

    I get the impression people think this XEP documents some new and exciting input format, and if so, it would indeed be bad, but it documents existing functionality in most clients across most protocols since as far as anyone can remember

  177. pep.

    I'm gonna repeat myself for the nth time, https://lab.louiz.org/poezio/poezio/issues/3455#note_7769 this is how you do a proper input format, and it's also possible on mobile

  178. pep.

    dwd, and what in the message actually is styled?

  179. SamWhited

    No matter what if things don't support styling obviously those will display differently. We can't fix that part except by making the styling characters something people are used to seeing anyways (which was the point of this XEP, they're already doing this anyways so that part is fine)

  180. moparisthebest

    email, irc, usenet, everything else, right? where you just type in your styling

  181. SamWhited

    Any randomization of how things are displayed on top of that is a bad thing.

  182. dwd

    SamWhited, So what's the randomization you're anticipating?

  183. moparisthebest

    many xmpp clients even already implemented this, gajim did for instance

  184. moparisthebest

    before it was a XEP I mean

  185. pep.

    moparisthebest, gajim doesn't implement 393 indeed

  186. pep.

    Even conversations differs slightly

  187. SamWhited

    dwd: I just explained it. It now matters if we have support on *both* sides of the connectio, and we have tons more states that we could be in

  188. SamWhited

    Eg. the situation in a MUC I just posited.

  189. moparisthebest

    pep., *this* always worked in gajim

  190. pep.

    "this"?

  191. pep.

    Ah "*this*"

  192. moparisthebest

    bolded *this*

  193. pep.

    So because one implementation chose stars to use bold means it's good to put in a standard?

  194. pep.

    And it's never ever gonna change

  195. moparisthebest

    not this one implementation

  196. pep.

    Because you have the world of god

  197. SamWhited

    Just having a way to disable it is fine, that lets us express user intent without adding a third undefined state where we're not sure what will happen

  198. pep.

    Because you have the word of god

  199. moparisthebest

    pep. also a ton of other xmpp clients, most irc clients, most email clients etc etc etc

  200. dwd

    SamWhited, But the undefined state is the only current one in '393.

  201. jonas’

    SamWhited, we’ve been over this.

  202. jonas’

    I have seen your arguments, I just disagree with them.

  203. pep.

    I also disagree (but I think that's already explicit)

  204. pep.

    And I agree with jonas’ points for -1

  205. SamWhited

    dwd: sort of. Right now it's just the only state, it's not a weird in-between.

  206. SamWhited

    Just adding a styling=false *does* make that state more explicit, so I'm okay with that.

  207. SamWhited

    Adding styling=true *and* styling=false makes that middle ground confusing and undefined.

  208. moparisthebest

    pep., jonas’ , again it seems like you guys view this as some new protocol, instead of simply documenting what always existed without being documented

  209. jonas’

    moparisthebest, just because something existing doesn’t mean it’s a good thing to endorse.

  210. pep.

    this ^

  211. jonas’

    moparisthebest, just because something exists doesn’t mean it’s a good thing to endorse.

  212. jonas’

    you can document all you want -- but not with XSF endorsement.

  213. moparisthebest

    it doesn't matter if you endorse it or not, it exists, you'll never change it

  214. pep.

    moparisthebest, also, nothing in what you're saying here forces you to butcher the wire format

  215. moparisthebest

    it'd be nice if clients would have some place to look for consistancy, rather than try to figure out what other clients do, isn't that the whole point of standards?

  216. moparisthebest

    this xep isn't butchering any wire format, this has always been passed over the wire like this because people type it this way

  217. pep.

    Ok it's the same nonsense as before over again

  218. jonas’

    moparisthebest, we all agree that we need a force of people who can actually reason about UI choices and know things there. The XSF is (currently) not that organisation.

  219. moparisthebest

    again, whether the XSF officially agrees to adopt this or not, it doesn't change the fact that it's always worked this way and will continue to do so

  220. moparisthebest

    just makes it look dumb to not officially recognize that

  221. jonas’

    moparisthebest, I know that, and I’m fine with that.

  222. jonas’

    the first part either way

  223. jonas’

    the second I don’t necessarily agree with

  224. moparisthebest

    some of it is in fact super valuable

  225. jonas’

    I feel this discussion is, once more, in a dead end.

  226. jonas’

    and I’m going to attend to other things now, just FTR

  227. moparisthebest

    I've seen a lot of clients in the past, various protocols, but they *remove* the little stars for bold etc, and can accidentally change meaning

  228. moparisthebest

    this suggests you don't do that, which is helpful

  229. SamWhited

    Trying to understand peoples opinions (mostly moparisthebest, jonas’, and pep. I think): is it your opinion that it's okay for informational right now because it documents what clients are already doing and just tries to make them use more consistent rules, but only for standards track if it adds some sort of hints?

  230. pep.

    I'm just against it as long as there's no effort wrt. wire format. But I'm not council anyway

  231. pep.

    Hinting is not gonna fix much

  232. jonas’

    SamWhited, I think it’s not *okay* for Informational, but I *maybe* could see this as a possible middle-ground. I’m not sure about Zashes opinion on that.

  233. moparisthebest

    my opinion is it's a standard whether you *really wish* it wasn't or not...

  234. SamWhited

    pep. even if it were just informational?

  235. pep.

    SamWhited, what does that change

  236. jonas’

    pep., Standards Track is for Wire Format, Informational is "the other stuff"

  237. pep.

    It doesn't even document what people use, it documents something that somebody wanted to force on users

  238. pep.

    (that is, people use some kind of markdown)

  239. jonas’

    I’m still not sure that Informational should be a dump for "'random' UI things documented for Instant Messaging clients which happen to use XMPP"

  240. jonas’

    I’m still not sure that Informational should be a place for "'random' UI things documented for Instant Messaging clients which happen to use XMPP"

  241. SamWhited

    What do you mean by "force on users"?

  242. moparisthebest

    pep., I suspect the clients that already do this are far greater than the ones that never did...

  243. SamWhited

    I thought informational was explicitly for documenting what clients were already doing and that's why people mentioned it, but the XSFs spec levels never made any sense to me. I guess I should go reread 0001 or whatever

  244. pep.

    SamWhited, well you did specifically choose to step away from markdown to prevent devs from using markdown parsers right

  245. pep.

    Whereas users ask for "markdown" syntax

  246. jonas’

    moparisthebest, the last call didn’t bring up any except Conversations and Dino (partial implementation) I think.

  247. SamWhited

    pep. sort of. That was part of the decision, but also I just immitated what many clients were already doing (which wasn't markdown)

  248. jonas’

    moparisthebest, so I doubt that claim.

  249. moparisthebest

    jonas’, gajim did it before it was a XEP, still does it last time I checked

  250. pep.

    SamWhited, ok. Well now if I want to promote another syntax on my client anyway, I can't

  251. SamWhited

    pep. also, I don't think users know what markdown actually is since they keep calling this markdown anyways (though of course, if they tried to implement it it wouldn't work and they'd realize their mistake)

  252. jonas’

    moparisthebest, gajim does quotations and strikethrough and stuff? (I don’t use gajim)

  253. SamWhited

    pep. why not?

  254. SamWhited

    pep. isn't that the same as any other standard? We had XHTML-IM, but some people implemented it and some implemented something like this, and I think Xabber's web thing actually had its own proprietary spec, etc.

  255. moparisthebest

    pep., jonas’ , check out thunderbird https://burtrum.org/up/6e1978be-53dd-4036-afd0-c0ec683e19c2/open-screeny-5017.png

  256. jonas’

    moparisthebest, that’s not '393, it doesn’t define // or __

  257. jonas’

    out for real now

  258. moparisthebest

    then maybe it should :)

  259. SamWhited

    jonas’: yes, that was part of the point, everybody was doing something vaguely similar to 0393, but they all had slightly different rules. This tried to standardize those rules based on what I saw the most clients doing.

  260. pep.

    SamWhited, because you're not signaling yours and my users are going to receive payloads from other clients are gonna see different sigils and then complain they don't see things formatted in their client.

  261. moparisthebest

    jonas’, pep. , kiwi (most popular web irc client) the one freenode hosts https://burtrum.org/up/95378a1e-3720-455d-b33f-94192f69e022/open-screeny-5123.png

  262. jonas’

    moparisthebest, that’s not an XMPP client.

  263. moparisthebest

    right, again, just documenting how *everyone* used text messaging before XMPP even existed

  264. pep.

    SamWhited: so I have to parse supposedly meaningless text (styling) and try to convert into my markup

  265. moparisthebest

    that's my point

  266. jonas’

    you’re good at this. I need to physically step away from my XMPP client now.

  267. pep.

    So that I emulate other users sending my markup

  268. pep.

    Which is meh

  269. pep.

    Whether if you properly signalied on the wire where you markup is I wouldn't have to worry about clumsily parsing text

  270. SamWhited

    pep. I'm sorry, I didn't understand that at all, can you rephrase that first message that started "because you're not signaling yours"? Sorry

  271. pep.

    Styling is not being signaled. Nowhere it says "this is styling" and "what is styling in there"

  272. SamWhited

    Right, that's what we're discussing. I got that far.

  273. moparisthebest

    because people don't signal that, they are just typing, remember that pep.

  274. SamWhited

    Wait, are you just worried that if your client doesn't support it users are going to ask you to support it?

  275. pep.

    moparisthebest, please stop. You don't seem to make a difference between users and clients

  276. moparisthebest

    pep., because with this there is no difference

  277. pep.

    SamWhited, I'm worried that I can't support anything else because I'll have to deal with styling anyway

  278. pep.

    s/worried/annoyed/

  279. pep.

    moparisthebest, that's where you are wrong. Or let's say we disagree

  280. SamWhited

    pep. why would you have to deal with styling anyways? You don't have to support it in your client if you don't want to

  281. pep.

    SamWhited, I do? Say I support NewMarkup (my custom format), I properly apply markup for it in the UI, and I don't apply markup for styling when receiving

  282. pep.

    Users would probably wonder why. What I would prefer to do is convert the received styling into NewMarkup so it also gets displayed properly

  283. pep.

    But that's not possible as long as styling is not signaled

  284. SamWhited

    pep. I don't understand how having a hint helps with that. If you support converting styling to new markup, parse the message as styling just as if you were going to display it and then convert it to your markup

  285. pep.

    Well the "parse the message as styling" is not really defined anywhere

  286. SamWhited

    Or, if there is a styling=false hint, you could not convert it (which is the hint I'm okay with adding).

  287. MattJ

    How about we just don't standardize this? The argument is that "users are doing it", but users are inconsistent

  288. moparisthebest

    pep., my question is, if I type something like *this* into my client, how would it know whether I wanted *this* to be styled or not? in fact I sometimes change my mind, here I want it styled, if I pasted some code I wouldn't want it styled, does that make sense?

  289. pep.

    I don't know what's styling in your message

  290. SamWhited

    pep. it is defined as "if you support styling, parse messages as styling"

  291. pep.

    SamWhited, and what is styling in your message?

  292. moparisthebest

    ie, the client can't know whether the user wants it styled or not, that's why it's *great* to have rules like "leave styling marks"

  293. SamWhited

    pep. the entire message, always.

  294. pep.

    "> <" is that a quote, is that an emoji

  295. SamWhited

    pep. that is a quote, the spec defines how you parse that. If you want it to be an emoji, that's fair, which is why I'm okay adding a styling=false hint.

  296. pep.

    We've been making the same arguments over two years, I'm not sure what more I can do

  297. pep.

    SamWhited, but then what about: "> < *foo*"

  298. pep.

    "*foo*" would not be parsed as bold.

  299. SamWhited

    pep. why not?

  300. pep.

    Because you sent styling=false

  301. SamWhited

    oh, then that's not a quote or bold because you sent styling=false, so don't convert it into your NewMarkup

  302. SamWhited

    oooh, or are you suggesting that you want half the message to be styled, but part of it not to be? eg. that should be a quote in your markup, but not bolded foo?

  303. pep.

    I don't like the either all or nothing "feature"

  304. SamWhited

    ahh, gotcha, sorry, that's what I didn't understand about this entire conversation.

  305. pep.

    That's been my pitch for 2 years. Thanks for reading :(

  306. SamWhited

    pep. yes, I know, but from your previous message it seemed like you were making a completely different argument.

  307. SamWhited

    My mistake, I understand now.

  308. theTedd

    pep's point is that styling should really be an input method, not wire format; any formatting that's then applied becomes wire format using whatever-rich-markup; the fact we're dealing with this at all is because it's already used and some clients want to be clever and apply the styling automatically

  309. pep.

    theTedd, thanks :p

  310. pep.

    SamWhited, which is why I think the hint is not gonna help (not much at least, it's a small improvement)

  311. SamWhited

    I think they should apply it automatically, but if we add styling=false as a hint, clients could always add that if they wanted and only disable it if the user clicked the "bold" button or the "style this message" button explicitly

  312. SamWhited

    So that seems fine if that's something you want to do.

  313. pep.

    The hint is not sufficient

  314. pep.

    https://lab.louiz.org/poezio/poezio/issues/3455#note_7769 Have you read this? Replace "XHTML-IM" but "some wire format" if you prefer

  315. SamWhited

    pep. I was responding to theTedd's thing, you're right that it's not sufficient to style only part of the message but it't not for that

  316. pep.

    https://lab.louiz.org/poezio/poezio/issues/3455#note_7769 Have you read this? Replace "XHTML-IM" by "some wire format" if you prefer

  317. theTedd

    the second point is 'what' should they apply automatically? obviously you say 0393, but a client may support another -- the hint would indicate which

  318. SamWhited

    pep. yes, you can do that just fine with styling. You parse the message as its being typed, and if you get a "bold" or whatever you convert it to your XHTML, that seems fine.

  319. pep.

    SamWhited, you can't actually do that with styling

  320. pep.

    Because you're gonna send "*foo*" in both cases

  321. SamWhited

    If you hit backspace, remove your internal XHTML styling for that one element and don't update it anymore

  322. SamWhited

    (unless it changes)

  323. pep.

    Ah you're talking about a proper wire format. Sure

  324. SamWhited

    You are right that remote clients that support XHTML-IM vs. remote clients that support styling will show different things

  325. SamWhited

    But styling doesn't do fonts or sizes or whatever else XHTML-IM did anyways, it's not an exact replica, so this will be true no matter what.

  326. pep.

    I'd be happy just having what styling does with a proper wire format. That is, styling only used as input format

  327. SamWhited

    Yes but that would make things far more complicated, and unnecessarily so when it works fine most of the time.

  328. SamWhited

    And you can do what that issue wants today easily enough, so why add more complexity?

  329. pep.

    more complicated, surely. But that doesn't lock us up with this format and all its disadvantages

  330. pep.

    I can't do that already, since I can't parse what I receive properly

  331. SamWhited

    You're not locked up with this format as you say anyways, feel free to do your own thing.

  332. theTedd

    SamWhited, what's the complication? either apply styling (hint=true) or don't (hint=false), or do what you already did when hints didn't exist (no hint)

  333. SamWhited

    pep. why can't you parse it? Parse the whole message, convert it to XHTML-IM, remove any HTML around bits where the user hits backspace, and call it a day

  334. pep.

    SamWhited, same issue, I don't know in your message what is styling and what isn't

  335. SamWhited

    theTedd: I was talking about pep.'s suggestion that we add wire format around all the styled sections. hint=false is fine and doesn't add significant complexity.

  336. SamWhited

    pep. it's all styling unless they hit backspace right after entering the text.

  337. theTedd

    SamWhited, okay, but why is true a difficulty?

  338. pep.

    SamWhited, that's fine when sending but not when receiving

  339. SamWhited

    theTedd: true isn't difficult, it's just unnecessary and makes there be lots more states

  340. SamWhited

    pep. okay, we were talking about sending I thought. When receiving if you support XHTML use that, if not, the whole message is styling because that's the way styling works.

  341. theTedd

    SamWhited, there are three states: true, false, none -- none is what already exists

  342. pep.

    SamWhited, right, and that's why I say we're locked up with styling

  343. SamWhited

    pep. so don't support styling if you don't like it, I don't see what the problem is.

  344. SamWhited

    or just support it as an input method and then send XHTML-IM or whatever.

  345. theTedd

    pep., this is documenting what's already used, it's never going to turn into a real markup wire format and people are always going to do *this*

  346. pep.

    theTedd, by encouraging client devs not to do anything about it

  347. pep.

    "yeah it's fine, while you could help fix the state, just put stuff on the wire who cares"

  348. pep.

    "yeah it's fine, while you could help fix the current state, just put stuff on the wire who cares"

  349. theTedd

    I agree, but devs are lazy and will take a library you throw at them when it exists

  350. SamWhited

    pep. you're assuming that everyone else thinks this is bad somehow too, but we're not trying to just stick everyone with the current thing to be jerks, we're documenting it because we believe that it's good enough as is and works well in practice.

  351. pep.

    SamWhited, I'm not saying this is not good for users

  352. Ge0rG

    You can't fix the current state, you only can fix a future that comes after you created a XEP and got it widely implemented

  353. pep.

    I'm saying users only care about the input format

  354. pep.

    I'm not sure what's wrong about this statement

  355. pep.

    And if we agree, can we move towards this please

  356. SamWhited

    I agree that users don't care what's happening behind the scenes, they just want to type *bold* and see their text be bolded.

  357. pep.

    yes

  358. theTedd

    ideally, we should, but right now people are doing (and will continue to do) do inline text formatting, so that does still need to be handled

  359. SamWhited

    Which is why the fact that their text is being sent behind the scenes and then parsed as-is is not something users care about and works fine.

  360. pep.

    SamWhited, but why encourage devs not to care about what goes on the wire

  361. theTedd

    'fine' -- it's hacky at best

  362. SamWhited

    pep. why should they care if it works fine?

  363. pep.

    I'm not sur ewhat's to gain here

  364. SamWhited

    Let's refocus this discussion:

  365. pep.

    it doesn't "work fine"

  366. pep.

    Just like theTedd said it's hacky at best

  367. SamWhited

    I *think* the fundamental disagreement here is that if I type "this is *bold* and this is *not bold*" you think the second one should have the option of not being bold, right? Or is there something else?

  368. pep.

    yes

  369. pep.

    this

  370. SamWhited

    okay, so let's ignore wire format, user input methods, etc. since those are just consequences of wanting this feature.

  371. pep.

    Well "this feature" also possibly being accidental

  372. SamWhited

    Instead, let's figure out exactly what features we want, then we can figure out if it's possible to do it with the current thing or if we need tons of wire format.

  373. pep.

    I type something and it gets interpreted wrongly

  374. SamWhited

    pep. I didn't undestand that, what did you mean by "being accidental"?

  375. pep.

    "> <" being just one example

  376. SamWhited

    So having a styling=false hint fixes that example.

  377. pep.

    Just got another example on another channel with gajim interpreting received ":/" as an emoji (when it was part of or URI: foo://bar). Not styling, but same kind of problem to me

  378. SamWhited

    Also, I suspect that it's rare enough in practice that we don't have to care.

  379. pep.

    SamWhited, it "fixes" that example if that's the only thing in the message

  380. theTedd

    pep., you can't fix 0393 to do that - it's not going to happen

  381. SamWhited

    pep. and I'm saying that's not a huge problem if one message on rare occasions has to have no styling because you want to display something that would conflict.

  382. pep.

    theTedd, I know and that's why I don't want 393 :)

  383. theTedd

    SamWhited, you're defending 0393 when pep is really arguing for an alternative

  384. SamWhited

    theTedd: yes, I'm defending it saying that we don't need an alternative, or that if pep. wants one accepting 393 doesn't stop him from writing one.

  385. pep.

    The thing is that you're also forcing 393 on me (as a user, and client dev)

  386. theTedd

    pep's argument is that providing this reduces the motivation to do anything else because "it largely works"

  387. pep.

    And I'd like to prevent that

  388. SamWhited

    Again, I'm really not. You don't have to implement 393.

  389. pep.

    But I can't stop receiving maybe-393 payloads

  390. SamWhited

    pep. you can't stop receiving those anyways, people are *already* typing asterisks and what not.

  391. SamWhited

    It doesn't matter if the spec exists or not.

  392. theTedd

    hint=true would at least make it explicit what you're receiving

  393. pep.

    SamWhited, and if their client supported something that had a proper wire format, I would know

  394. pep.

    And I could interpret them differently

  395. pep.

    So yes in a way you're forcing me to implement 393 to be able to parse it and convert it to something else. Even if it might not be a 393 payload

  396. SamWhited

    You can already do that. If you get your other wire format, interpret it as that. If not, interpret it as styling unless it has a hint=false.

  397. SamWhited

    Or don't implement styling at all and only support your other wire format if you get that.

  398. pep.

    I'm not sure where I'm not clear on this

  399. pep.

    Why don't you see you're actually forcing me to implement it

  400. pep.

    well, "you", clients implementing 393

  401. pep.

    You by extension

  402. SamWhited

    Lots of clients already implement 393, it's just not called that and they all have slightly different rules.

  403. SamWhited

    This spec doesn't change that.

  404. pep.

    Let's just talk about the spec

  405. SamWhited

    The spec doesn't change anything, so it's not forcing you to implement or not implement anything.

  406. pep.

    Ok I'm giving up sorry

  407. pep.

    It's being vetoed anyway so..

  408. SamWhited

    Possibly stupid question: does anyone know if there's a name for the emoji pep. mentioned? ("> <")? I'm just trying to figure out what it is so I can use it in an example maybe

  409. SamWhited

    I've never seen it before

  410. theTedd

    kaomoji

  411. SamWhited

    Thanks. I don't see that one in this list of kaomoji, but I'll keep looking

  412. pep.

    😖😫 < some variant of these

  413. SamWhited

    I see a few other faces that use ><, but they're all wrapped in quotes, or don't have a space after the ">" so they wouldn't be quotes anyways

  414. SamWhited

    wrapped in parens, I mean

  415. theTedd

    they tend be much more complex with various unicode characters

  416. pep.

    ←(>▽<)ノ

  417. SamWhited

    pep. that wouldn't conflict or be a quote, so no problem with that one

  418. pep.

    SamWhited, not sure what you're trying to do here anyway

  419. pep.

    it's just one example

  420. SamWhited

    pep. I know, I want to use it in an example in the XEP of disabling the styling hint

  421. SamWhited

    So I was just trying to find what that emoji represented, but I can't find it anywhere

  422. SamWhited

    If the way it's actually written doesn't actually conflict, it's not a good example for me to use

  423. theTedd

    the 'real' way might not, but people lazily type >< because it's quicker

  424. Zash

    >_>

  425. SamWhited

    ah, gotcha. Okay, I'll just use it in the example then as is and say that it's an emoji without naming it. Thanks.

  426. pep.

    Also a quote from Zash in dino@ the other day: "That's how it works on *nix afaik, $LANG and $LC_* etc"

  427. Zash

    😒️

  428. pep.

    And I can grep through logs if you want a lot more

  429. SamWhited

    pep. that's okay, I just needed one and the emoji example is a good one to use since people will probably understand it

  430. SamWhited

    thanks

  431. pep.

    hmm so what's the status of the 157 PR? "Accepted but"?

  432. jonas’

    pep., accepted, but flow wants to investigate whether he wants to improve it before we get it into Active

  433. jonas’

    (in which case we’ll have to re-vote)

  434. jonas’

    oh, also, Ge0rGs vote is pending

  435. jonas’

    so it’s *not* accepted at this stage

  436. jonas’

    but even if Ge0rG had already not-vetoed it, The Editors™ would delay the merge until flow reports back

  437. pep.

    should I change it to WIP or sth? (after Ge0rg votes?)

  438. pep.

    or blocked or..

  439. Ge0rG

    Should I just delay my vote?

  440. jonas’

    pep., there is a "Draft" button

  441. jonas’

    that would probably be appropriate

  442. jonas’

    also, for the record, we voted on d902893

  443. jonas’

    also, for the record, we voted on d902893

  444. jonas’

    having it written down here makes it easier to keep track when re-reviewing the thing

  445. pep.

    jonas’: yeah that's what I meant

  446. Zash

    what's that, a case where using github doesn't make things better? :)