jdev - 2026-04-05


  1. singpolyma

    The app will usually want to render it at font size. To make it look like an emoji

  2. Cynthia

    Yes, of course

  3. Cynthia

    Now that I can get by

  4. singpolyma

    an app basically never renders an image at the size specified in the file because UI constraints always apply. Especially in emoji case but generally also

  5. Cynthia

    Also by the way, can this ever be used in places like reactions?

  6. singpolyma

    but if I use the same image as a sticker the app may render it differently of course. None of this affects protocol

  7. Cynthia

    I think reactions need a Unicode emoji

  8. singpolyma

    I use it in reactions but not with reaction xep

  9. Cynthia

    So snit, I'll be modifying the ProtoXEP to remove any mentions of packs, and instead in Implementation Notes, recommend that implementations implement 0449 and use that as emoji packs if they want

  10. Cynthia

    and also change the ID in <emoji> to use the first hash of the SFS/SIMS element

  11. vpzom

    is there a standard way custom emoji should be sent in XHTML-IM without allowing all inline images?

  12. Cynthia

    Nobody wants to use XHTML-IM

  13. vpzom

    that's clearly not true

  14. Cynthia

    Whether it's true or not, It doesn't matter because that's not related

  15. Cynthia

    This ProtoXEP is about Message Markup

  16. singpolyma

    > is there a standard way custom emoji should be sent in XHTML-IM without allowing all inline images? Not sure I follow. Custom emoji are inline images

  17. vpzom

    sure but they have a specific (client-dependent?) size

  18. Cynthia

    We don't rely on the size being in a certain range

  19. Cynthia

    Like singpolyma said before, emojis can be of any size, even a sticker

  20. vpzom

    that's two sizes

  21. singpolyma

    Right. Client needs to size them sanely in UI this is up to client to do

  22. Cynthia

    Maybe you could use the CSS in XHTML-IM to size them back down to font size

  23. singpolyma

    you need to assume the native "size" (resolution) of the image doesn't match the size you want to display

  24. Cynthia

    But I don't really know

  25. singpolyma

    I don't think that's really needed but our could. I apply sane sizing for all inline images

  26. singpolyma

    obviously I don't want someone to send an "inline image" dhsd actually renders huge. No matter what is in the file or html or css

  27. Cynthia

    > I don't think that's really needed but our could. I apply sane sizing for all inline images How do you handle font sizes in XHTML-IM?

  28. Cynthia

    Do you have a cap for how large text can be?

  29. singpolyma

    Depends on the app. I'm most of them I don't support font size control beyond "this is smaller" (aka <small>)

  30. singpolyma

    I may remove all inline CSS support from all of them entirely I haven't decided. At least colour I know biboumi uses so I support that everywhere at the moment

  31. singpolyma

    or no, not iOS. Just android and web

  32. singpolyma

    but I probably would add it I'm not sure

  33. Cynthia

    singpolyma: Can you review https://codeberg.org/techmetx11/xeps/src/branch/master/emoji-markup.xml now?

  34. singpolyma

    you don't want multiple version blocks in a protoxep For hash maybe use a hash child element from the normal namespace instead of an attribute named id? I'm not a messaging markup person but pretty sure you want a span element parent not begin/end on the emoji child

  35. singpolyma

    I'd also avoid the old jinglepub thing in the example for simplicity etc

  36. Cynthia

    > you don't want multiple version blocks in a protoxep > > For hash maybe use a hash child element from the normal namespace instead of an attribute named id? > > I'm not a messaging markup person but pretty sure you want a span element parent not begin/end on the emoji child No multiple version blocks?

  37. Cynthia

    So like, just one?

  38. Cynthia

    I did update it again per your other recommendations

  39. Cynthia

    singpolyma: Does it look fine now?

  40. singpolyma

    > So like, just one? Right

  41. singpolyma

    looks great

  42. snit

    > So snit, I'll be modifying the ProtoXEP to remove any mentions of packs, and instead in Implementation Notes, recommend that implementations implement 0449 and use that as emoji packs if they want that'll work for me yeah. do you think it might be an issue that it only specifies SFS, or are we just assuming it allows SIMS data too?

  43. snit

    sorry haven't been keeping up so might be a stupid question lole

  44. Cynthia

    >> So snit, I'll be modifying the ProtoXEP to remove any mentions of packs, and instead in Implementation Notes, recommend that implementations implement 0449 and use that as emoji packs if they want > that'll work for me yeah. do you think it might be an issue that it only specifies SFS, or are we just assuming it allows SIMS data too? It doesn't specify SFS only anymore

  45. Cynthia

    It's either SFS or SIMS

  46. snit

    sorry, by "it" i meant XEP-0449 packs

  47. Cynthia

    Ah

  48. Cynthia

    Well I don't think it matters

  49. snit

    wouldn't it matter for all the same reasons the markup protoxep allows both?

  50. Cynthia

    I guess it would or implementations would just refuse to implement 0449

  51. snit

    i guess worst case scenario i can just bug the author of 0449 about making it more generic lole

  52. snit

    and if they don't wanna then seems like a good excuse to write my own SIMS extension to it

  53. Cynthia

    Submitted a PR in the XSF github

  54. snit

    huge wins for the custom emoji community

  55. moparisthebest

    > if anyone wonders, i tracked it down its chunked http encoding but http libraries/clients deal with this, how was it getting prepended to the file?

  56. snit

    > Submitted a PR in the XSF github okay just getting around to reading it (should've done this before you submitted): * "the &lt;emoji /&gt;" needs a capital "The" * "it MUST include one or more &xep0300; &lt;hash /&gt; elements to identify the specific emoji" should probably clarify that the hash obviously has to match one listed in the file metadata lole * we're doing it in the <span />? i thought we decided against that * the implementation note lists two unrelated points as a single sentence, which i find odd. i also think the point about scaling the emoji is just a given and i don't think a protocol specification needs to tell the client they can scale down a 4k image to fit it in the UI * the changelog says there're notes about bob, but i don't see any * dependencies need to be updated. we no longer depend on BoB (depending on the missing notes), and it might be good to add SIMS/SFS as a dependency maybe, and definitely XEP-0300 since we use it no matter what * abstract mentions SFS but not SIMS * might be worth clarifying use of the 'id' attribute with SFS, even if its just "id can be anything as we don't use it at all"

  57. Cynthia

    > okay just getting around to reading it (should've done this before you submitted): > * "the &lt;emoji /&gt;" needs a capital "The" > * "it MUST include one or more &xep0300; &lt;hash /&gt; elements to identify the specific emoji" should probably clarify that the hash obviously has to match one listed in the file metadata lole > * we're doing it in the <span />? i thought we decided against that > * the implementation note lists two unrelated points as a single sentence, which i find odd. i also think the point about scaling the emoji is just a given and i don't think a protocol specification needs to tell the client they can scale down a 4k image to fit it in the UI > * the changelog says there're notes about bob, but i don't see any > * dependencies need to be updated. we no longer depend on BoB (depending on the missing notes), and it might be good to add SIMS/SFS as a dependency maybe, and definitely XEP-0300 since we use it no matter what > * abstract mentions SFS but not SIMS > * might be worth clarifying use of the 'id' attribute with SFS, even if its just "id can be anything as we don't use it at all" :(

  58. snit

    sorry luckily most of those are editorial changes lole

  59. Cynthia

    but singpolyma told me to put it in a span

  60. snit

    oh okay

  61. snit

    yeah like i said earlier i don't mind either way regarding spans

  62. singpolyma

    Marvin is the one to ask there but that's my understanding of how span should be used

  63. snit

    i wish 0394 was more clear about what specifically that element even does

  64. Cynthia

    > sorry luckily most of those are editorial changes lole is it good enough noooooowww

  65. snit

    > is it good enough noooooowww i have devastating news

  66. snit

    you did the entity for XEP-0385 incorrectly in the abstract, so now the file isn't going to validate

  67. snit

    but other than that yes that should be good

  68. snit

    also out of curiosity what was the BoB note going to be?

  69. Cynthia

    > also out of curiosity what was the BoB note going to be? The implementation notes you put

  70. Cynthia

    What I meant by "BoB notes" were the stuff you put about that

  71. Cynthia

    > you did the entity for XEP-0385 incorrectly in the abstract, so now the file isn't going to validate FUUUUCCCCKK

  72. snit

    > What I meant by "BoB notes" were the stuff you put about that oic

  73. Cynthia

    What do I do?

  74. Cynthia

    If its not gonna validate, are they gonna close the PR immediately?

  75. snit

    > FUUUUCCCCKK for future reference if you run `xsltproc xep.xsl protoxep.xml` in the base of the xsf/xeps repository and it'll convert it to html for you but more importantly it'll tell you if its broken

  76. snit

    > If its not gonna validate, are they gonna close the PR immediately? probably not they'll just ask you to fix it or do it themselves

  77. snit

    you just need to add the leading 0 to the number

  78. singpolyma

    >> FUUUUCCCCKK > for future reference if you run `xsltproc xep.xsl protoxep.xml` in the base of the xsf/xeps repository and it'll convert it to html for you but more importantly it'll tell you if its broken I think if you run the makefile it does this for you also

  79. snit

    WHAT

  80. snit

    holy moly i didn't even realise there was a makefile

  81. snit

    this should probably be added to XEP-0143 because right now it just suggests running xsltproc manually

  82. lissine

    RE SFS vs SIMS: from my understanding, the biggest advantage of SFS from a user perspective is that you can send multiple files in the same message, while being backwards compatible with clients that implement only oob

  83. cal0pteryx

    snit: https://github.com/xsf/xeps/blob/master/docs/REPOSITORY.md

  84. alexnevashno

    О

  85. Cynthia

    snit: what did you do after you submitted the protoXEP?

  86. singpolyma

    > RE SFS vs SIMS: from my understanding, the biggest advantage of SFS from a user perspective is that you can send multiple files in the same message, while being backwards compatible with clients that implement only oob You mean the attach-later thing? Technically you could do that with sims but it's true SFS added that more recently as an idea so if people want to go with that style it could be considered another difference

  87. snit

    > snit: https://github.com/xsf/xeps/blob/master/docs/REPOSITORY.md oh nice lol. both readmes mention that directory being for the editor so i promptly ignored it 💀

  88. cal0pteryx

    Yep, same thing here. Should be linked from the main readme

  89. snit

    > snit: what did you do after you submitted the protoXEP? i just waited a week or two for it to get merged (which seems to be on the same day as the council meeting where voting will start) and then once the voting starts you get to battle the standards@ readme 😈

  90. snit

    usually for two weeks or if you're special like me 😎 you'll get three

  91. Cynthia

    >> snit: what did you do after you submitted the protoXEP? > i just waited a week or two for it to get merged (which seems to be on the same day as the council meeting where voting will start) and then once the voting starts you get to battle the standards@ readme 😈 Oh so I have to wait :(