XSF Discussion - 2020-04-22


  1. Zash

    MattJ: Let's replace XEP-0004 with https://www.w3.org/TR/xforms/

  2. Zash

    (I've yet to read all that so not sure if that should be /s or serious)

  3. pep.

    seems like the w3c is not doing simple specs ever (is it?)

  4. Zash

    https://xmpp.org/extensions/xep-0004.html https://xmpp.org/extensions/xep-0068.html https://xmpp.org/extensions/xep-0122.html https://xmpp.org/extensions/xep-0141.html https://xmpp.org/extensions/xep-0221.html https://xmpp.org/extensions/xep-0315.html https://xmpp.org/extensions/xep-0331.html https://xmpp.org/extensions/xep-0336.html https://xmpp.org/extensions/xep-0350.html

  5. Zash

    pep., I'd say we're doing allright

  6. pep.

    over almost 450 specs, I'm sure we can do better :p

  7. Zash

    So, those were all the XEPs I could find with "data forms" in the title.

  8. pep.

    I like how they have a section on how to read the document

  9. edhelas

    in https://xmpp.org/extensions/xep-0115.html#ver-gen-simple in the example I see "S = 'client/pc//Exodus 0.9.1<'"

  10. edhelas

    i think that // should be / there, no ?

  11. Zash

    Why?

  12. Zash

    Per https://xmpp.org/extensions/xep-0115.html#ver-gen > formatted as CATEGORY '/' [TYPE] '/' [LANG] '/' [NAME].

  13. Zash

    LANG is empty string in that example

  14. Zash

    Hm

  15. Link Mauve

    Type can be optional?

  16. Zash

    Do things do the thing with xml:lang being inherited when doing this thing?

  17. Link Mauve

    I certainly hope so.

  18. Zash

    Link Mauve, prepare to be dissapointed

  19. Zash

    Would have been nice to separate the strings from the protocol advertising bits

  20. flow

    at least xep390 explicitly mentions this

  21. Link Mauve

    Meh, it’s only a SHOULD in the RFC…

  22. Zash

    Isn't that defined by XML itself?

  23. Link Mauve

    If the initiating entity included the 'xml:lang' attribute in its initial stream header, the receiving entity SHOULD remember that value as the default xml:lang for all stanzas sent by the initiating entity over the current stream.

  24. Link Mauve

    Section 4.7.4.

  25. Link Mauve

    Zash, I meant adding the c2s stream’s @xml:lang to c2s stanzas.

  26. Zash

    Link Mauve: I meant having it added to the entire element tree, ie like xmlns.

  27. Zash

    Otherwise if you take out the <{disco#info}query> tag out of the <iq xml:lang="??"> you wouldn't know what lang it has

  28. pep.

    flow: while the PR isn't harmful, technically @xml:lang on the iq should equal the root's if it hasn't been redefined :x

  29. jonas’

    "apply the XML rules"

  30. Zash

    jonas’: Why? Why isn't the XML parser library doing that? :(

  31. jonas’

    good question

  32. jonas’

    then again, there are still XML parsers which not only expose serialisation details like namespace prefixes, but require you to do the reverse mapping yourself

  33. flow

    pep., true, but one could say the same for disco#info

  34. pep.

    hmm?

  35. flow

    well you argue that iq inherits from stream, but disco#info also inherits from iq

  36. Zash

    at least libexpat deals with namespaces, but afaik prefixes are lost in translation

  37. flow

    so we either say "beware that xml:lang is inherited", or explicitly mention all three sources of inheritance (instead of just two)

  38. Zash

    Or yeeeeet that and all human-readable strings out of the caps hash

  39. pep.

    ah I see. yeah I guess mentioning inheritance is more correct but that's nit

  40. jonas’

    Zash, having the human-readable strings in the hash saves a round-trip though when you want to display that info

  41. jonas’

    also lends its way to spoofing

  42. Zash

    Would it be too painful to have separate hashes?

  43. jonas’

    yes

  44. Zash

    :(

  45. jonas’

    though, maybe not

  46. jonas’

    the idea to have separate hashes for identities / features / forms isn’t new

  47. jonas’

    and I’m still pondering whether that’s a thing we might want

  48. jonas’

    increases implementation complexity though

  49. Zash

    For the pure protocol bits it seems it could increase cache hit rate

  50. Zash

    (does jid x support feature y-kinda things)

  51. jonas’

    indeed

  52. jonas’

    and <identity/> is rarely needed for that kind of thing

  53. jonas’

    another motivation for this is that forms may contain rapidly changing or high-cardinality data (see muc participant count)

  54. flow

    jonas’, implemntations could simply hash the multiple hashes if they don't want additional complexity

  55. jonas’

    flow, !

  56. jonas’

    good idea to write down that concatenated hashes can be used if you don’t want to treat the split data

  57. Zash

    Truncated hashes is another way to reduce the size of the caps blob

  58. flow

    jonas’, implementations could simply hash the multiple hashes if they don't want additional complexity

  59. jonas’

    Zash, didn’t you link a thing the other day which specified some way to refer to some hash functions including stuff like truncation and other parameters?

  60. Zash

    Not sure

  61. jonas’

    should we maybe robots.txt-deny the attic?

  62. MattJ

    Sounds sensible, yes

  63. jonas’

    or at least have a fat warning on every thing there that it’s old

  64. MattJ

    I was thinking of other far higher effort solutions

  65. MattJ

    (that)

  66. jonas’

    since when is sed high effort?

  67. MattJ

    "Hey jonas’, ..."

  68. jonas’

    I wrote an XMPP client within a day in sed, it can’t be that bad.

  69. jonas’

    but yeah, first robots.txt, we can alleviate that at a later point when we get around to do a sed hack

  70. Zash

    Comic Sans?

  71. jonas’

    haha, good idea

  72. Ge0rG

    render the whole XEP in CS? cool!

  73. flow

    does *anything* use xep4 <reported/> somewhere?

  74. flow

    the only other occurence of <reported/> in the xeps repo is xep390

  75. flow

    the only other occurence of <reported/> in the xeps repo, which I found, is xep390

  76. Zash

    flow: not aware of anything,