XSF Discussion - 2024-02-22


  1. Daniel

    > as per summit discussion: https://gultsch.de/files/xep-mds.html I filled in some of the missing sections and incorporated the early feedback I received yesterday.

  2. pep.

    Daniel: > To update the the displayed item

  3. pep.

    Hmm so it's not possible to use the server help when not doing chat markers? :/

  4. pep.

    It'd have to keep wasting cycles sending pep stuff itself?

  5. Daniel

    That's the current idea yes

  6. pep.

    :/

  7. pep.

    Also.. > Receiving an outgoing message (for example via Message Carbons (XEP-0280) [1] or Message Archive Management (XEP-0313) [4]) SHOULD mark the chat as displayed up to the point of that message. This I mentioned yesterday, i'd rather have this implementation defined

  8. pep.

    Because my client is fetching mam doesn't mean I scrolled down

  9. Daniel

    But a different client likely has or there wouldn't be a message, no?

  10. pep.

    I can be reading the backlog and sending messages at the same time

  11. pep.

    In fact I do this pretty often

  12. Kev

    Marking as read should be an explicit step, I agree with (what I think) pep says.

  13. Daniel

    That's a valid argument. But if there is consensus around this I'd rather change the xep to say the opposite rather than make this implementation dependent

  14. larma

    I just checked and Slack also doesn't mark your messages as read just because you send one in the same channel

  15. larma

    Daniel, I would argue that it depends on the situation

  16. larma

    but then it's implementation dependent anyway what is considered "displayed"

  17. larma

    If I reply from within the Android notification in Conversations, I would certainly expect the message I'm replying to to be marked as displayed

  18. Kev

    Why, though? Given that read is a sequence state, rather than just that message.

  19. pep.

    larma: I wouldn't. What if I haven't read all in between

  20. Kev

    It seems quite reasonable to reply to a message in a notification without having read the rest of the chat.

  21. larma

    Sure, but you certainly read the message you are replying to, no?

  22. pep.

    The one message yes

  23. Kev

    Yes, but marking that read would mark the rest of the chat read, and that's not true.

  24. Kev

    This is a read-up-to marker, essentially, right?

  25. pep.

    Yeah that's what it is

  26. larma

    True, but that's an inherent issue with read-up-to markers

  27. Kev

    Read-up-to markers inherently have some issues, certainly, but I don't think marking things as read because the server saw an outgoing message is inherent.

  28. larma

    I agree to that, because the server lacks context that the client has

  29. pep.

    What's the issue here? Don't mark it as displayed, done :p

  30. larma

    that's why I said that the client might consider the sending of a message as a reason to mark a message as displayed

  31. larma

    which makes it implementation dependent if the client does it or not

  32. larma

    the server should not

  33. Kev

    > that's why I said that the client might consider the sending of a message as a reason to mark a message as displayed I misunderstood - I thought you were saying it was reasonable for the server to mark as read once the client had sent a message. I was arguing the wrong point.

  34. pep.

    Well in the case you mentioned, I would argue C shouldn't.

  35. pep.

    Oh

  36. Kev

    So I think 'server marks as read because client sends message' should not be implementation dependent - it should be 'MUST NOT'. While 'when a client chooses to mark as read', I would agree as being implementation dependent - as it heavily depends on the UI properties of the client.

  37. larma

    pep., well it depends on how many messages are unread for example. If there is a single message unread and that's what you got the notification for, a reply to this message can reasonably be assumed to mean that the message was read

  38. larma

    Kev, agreed.

  39. pep.

    larma: sure

  40. pep.

    Also why isn't it possible to allow that optimisation for one's own devices too? (my first comment). It's it something technical?

  41. pep.

    I mean the server optimisation thing

  42. pep.

    Without using markers

  43. larma

    Huh, you don't need to send chat markers, no?

  44. pep.

    Is it*

  45. Daniel

    Currently it is worded that you have to

  46. pep.

    > This specification provides a convenient process to synchronize a user’s own devices and informing the third party in one, single message. However letting the third party know is not always desirable, for example when the user has generally opted out of transmitting the displayed status or when a non-contact initiated a chat. In those cases the client MUST use the Publish-Subscribe (XEP-0060) [8] method instead of server-assist.

  47. larma

    Daniel, you mean https://gultsch.de/files/xep-mds.html#sect-id12 ?

  48. Daniel

    Because the server is removes the mds displayed and then would have to either route an empty stanza or drop the stanza

  49. Daniel

    Because the server removes the mds displayed and then would have to either route an empty stanza or drop the stanza

  50. larma

    But you can still send a message with other content (like a reply) and at the same time send a mds <displayed /> that is stripped by the server, no?

  51. larma

    But you can still send a message with other content (like a reply) and within that include a mds <displayed /> that is stripped by the server, no?

  52. Daniel

    Yes I think that would technically be allowed

  53. Daniel

    But weird timing

  54. Kev

    What about a headline to your bare JID containing only an MDS? :)

  55. larma

    What's the advantage over the pubsub thing? It's still one stanza to be sent with approximately same size

  56. Kev

    Advantage to the headline? Not much at all.

  57. Daniel

    My reasoning was that doing the regular pubsub publish is 'fine'

  58. Kev

    I think that's likely true. Or at least, I don't see why it isn't.

  59. larma

    Yeah, that's why I wouldn't consider it an "optimization" (which is what the <displayed /> thing is for)

  60. larma

    Yeah, that's why I wouldn't consider it an "optimization" (which is what the <displayed /> thing is for) (this was a reply to Kev's previous message)

  61. pep.

    How so? Isn't that still one more step than not doing this optimisation? In one it's included in the one message sent, in the other the client had to send an additional pubsub query

  62. pep.

    How so? Isn't that still one more step than not doing this optimisation? In one it's included in the one message sent, in the other the client has to send an additional pubsub query

  63. pep.

    (which is also broadcasted back to the sender, not so useful. But I guess that's pubsub..)

  64. pep.

    (though that can be configured maybe?)

  65. Daniel

    If you are counting stanzas both approaches currently in the xep have the same number of stanzas

  66. Daniel

    One is just a bit smaller

  67. pep.

    Wait you mean for this "optimisation" that's an additional message?

  68. pep.

    Not included in the original?

  69. Daniel

    If you are doing the server assist you put both displayed in one message (and thus let your contact know) If you are doing pubsub publish you do one pubsub publish

  70. Daniel

    And no message

  71. pep.

    Ok I've never actually used 333, I didn't think it had to be a seperate step

  72. pep.

    Ok I've never actually read 333 (I dont use it), I didn't think it had to be a seperate step

  73. pep.

    (does it?)

  74. Daniel

    Separate to what?

  75. pep.

    Why not send mds in example 7, what's the case against it?

  76. Daniel

    That's the incoming message

  77. Daniel

    The one Juliet is going to read

  78. pep.

    Ah pff ok. But juliet could have included it too right?

  79. Daniel

    Whether or not Romeo did mds on his end is irrelevant

  80. pep.

    Fail, Romeo* could have included it too

  81. pep.

    Well that's my question

  82. Daniel

    But usually Romeo likely wouldn't do either displayed in the same message that he puts a body in

  83. pep.

    Why not

  84. Daniel

    Because the read would have happened earlier

  85. Daniel

    Then typing the response

  86. pep.

    Hmm

  87. Daniel

    There should be a markable in example 7 though...

  88. pep.

    Ok I see

  89. Daniel

    (note to self)