Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-17 Thread Georg Lukas
* Jonas Schäfer  [2020-03-17 17:28]:
> - Are clients allowed to reply receipt requests when fetching messages from 
> MAM? I think they are, despite the wording in the text (which IMO only 
> considers the user browsing an archive), but I guess the wording needs 
> cleaning up.

In my implementation (which mimicks behavior from others, as I've
heard), I will build up a list of unacked messages when syncing messages
from MAM:

- add JID + ID to the list when receiving a message
- remove JID + ID when receiving a "carbon copy" of an outgoing ACK

(this approach obviously depends on receiving messages in chronological
order)

After MAM sync is finished, I will send ACKs for all IDs that are still
in this list. From some initial measurements, even when syncing a month
worth of messages from MAM, the number of outgoing ACKs is very
moderate (just a handful), as it will only ACK messages that weren't yet
acked by another client. Of course, if you've been offline with all your
devices for a week, this number will be significantly higher.

> - When syncing multiple messages from an archive, sending a receipt for each 
> one is expensive and wasteful. A way to send multiple receipts in a single 
> message would be appreciated.

Yes, it would be nice, and it was a sad oversight in the original
specification. However, just allowing for multiple ACK payloads in one
message will be a breaking change, thus requiring a namespace bump, and
the benefit is questionable. I suppose we could do this if we first
establish a kind of omni-present mod_receipts_compat server module that
will combine/split multi-receipts into old-namespace single-receipts
based on the namespace advertised by a client.

> - It would be nice if receipts could integrate with MAM better to avoid 
> fetching all the ACKs.

That sounds like a job for MAM Fastening Collation.

> - I wonder if it would be worthwhile to have MAM reply to receipts on behalf 
> of the user.

A categoric NO here. Servers are much more stable and long-living than
clients. If I have abandoned XMPP, there is really no value in my server
sending you receipts to all the messages you sent to me, basically
forever. There is real value in knowing that a message arrived at a
user's end device.


Georg


signature.asc
Description: PGP signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-17 Thread Jonas Schäfer
On Dienstag, 3. März 2020 18:45:44 CET Jonas Schäfer wrote:
> The XEP Editor would like to Call for Experience with XEP-0184 before
> presenting it to the Council for advancing it to Final status.
> 
> 
> During the Call for Experience, please answer the following questions:
> 
> 1. What software has XEP-0184 implemented? Please note that the
> protocol must be implemented in at least two separate codebases (at
> least one of which must be free or open-source software) in order to
> advance from Draft to Final.

aioxmpp defines only the schema to use Delivery Receipts; it does not do 
anything special with it. See below.

> 2. Have developers experienced any problems with the protocol as
> defined in XEP-0184? If so, please describe the problems and, if
> possible, suggested solutions.
> 
> 3. Is the text of XEP-0184 clear and unambiguous? Are more examples
> needed? Is the conformance language (MAY/SHOULD/MUST) appropriate?
> Have developers found the text confusing at all? Please describe any
> suggestions you have for improving the text.

There are a few ambiguities and issues around '184:

- Are clients allowed to reply receipt requests when fetching messages from 
MAM? I think they are, despite the wording in the text (which IMO only 
considers the user browsing an archive), but I guess the wording needs 
cleaning up.
- When syncing multiple messages from an archive, sending a receipt for each 
one is expensive and wasteful. A way to send multiple receipts in a single 
message would be appreciated.
- It would be nice if receipts could integrate with MAM better to avoid 
fetching all the ACKs.
- I wonder if it would be worthwhile to have MAM reply to receipts on behalf 
of the user.

kind regards,
Jonas

signature.asc
Description: This is a digitally signed message part.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-08 Thread Sam Whited
On Tue, Mar 3, 2020, at 12:45, Jonas Schäfer wrote:
> 1. What software has XEP-0184 implemented?

I just implemented receipts for the Mellium XMPP library (2 clause
BSD style license, although possibly changing to Apache 2 in the
near future):

https://godoc.org/mellium.im/xmpp/receipts


> 2. Have developers experienced any problems with the protocol as
>defined in XEP-0184? If so, please describe the problems and, if
>possible, suggested solutions.

I would prefer a simple way to differentiate between "received" and
"received and seen" that's all part of the same protocol.  It seems odd
to me that the intro makes it clear that this was considered when
designing the protocol and decided against, but times change I suppose.


> Please describe any suggestions you have for improving the text.

nit: "impute" is used in section 4, but it's not a very common English
word and we have a very wide range of English language skill in this
community. It may be worth using something more common.

See also my other email in which I mention the link to Message Archiving.


—Sam

-- 
Sam Whited
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-06 Thread Andrew Nenakhov
пт, 6 мар. 2020 г. в 15:51, Georg Lukas :
>
> * Andrew Nenakhov  [2020-03-06 11:10]:
> > It is not possible to determine with Delivery Receipts either. If you
> > were offline when they were sent, you will not receive them.
> > If the recipient was offline when the messages were sent, a client
> > won't send the receipts too. So, it is only relatively good in a
> > situation when both chat participants are online.
>
> This is interesting. In my client, I always request delivery receipts
> for chat messages, and I always send a receipt for a message that
> requested one.
>
> Why / how do you make that depend on the availability of the other
> party? Are you using service discovery on the individual client to
> determine whether they actually support the feature? That would break in
> funny ways with Carbons / offline storage / MAM.

We're just sending chat markers when the client deems it necessary.
User downloads latest messages via device sync protocol - we're
sending delivered to newly received messages. User opens a previously
unopened chat - we send displayed. Because it's 2020 and we're making
a modern chat app.

> Does your server not store delivery receipts in offline storage / MAM?
> Then the server should be fixed (as should be 0313).

Storing delivery receipts in MAM is not really good, as it bloats the
archive with non-messages and slows its performance. 0313 says that it
SHOULD store messages that contain a  element, and while it MAY
store other types of messages, I'm quite happy with how it works and
it definitely should not be fixed in this regard.

You are, of course, welcome to break your own archives, but we won't do this.

> > Servers, on the other hands, ARE designed to be constantly connected,
> > so it should be a server's job to keep track of such things (and we
> > actually do exactly this).
>
> In theory, you could make a server that plays 0184/0333 proxy/bouncer,
> acknowledging to an external sender when the message got delivered to a
> client, e.g. if it knows by means of 0198 acks or a similar protocol.

In our implementation, we're keeping track of all the conversations a
user has, and storing metadata like 'delivered', 'displayed' (for
outgoing messages) and 'unread' counter for incoming messages. So far,
so good, all done using XEP-0333 Chat Markers. When a new client
connects, it immediately sees a list of recent conversations, all with
correct markers and unread messages count (plus voip calls, etc, but
that's a story for another day).


-- 
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-06 Thread Georg Lukas
* Andrew Nenakhov  [2020-03-06 11:10]:
> It is not possible to determine with Delivery Receipts either. If you
> were offline when they were sent, you will not receive them.
> If the recipient was offline when the messages were sent, a client
> won't send the receipts too. So, it is only relatively good in a
> situation when both chat participants are online.

This is interesting. In my client, I always request delivery receipts
for chat messages, and I always send a receipt for a message that
requested one.

Why / how do you make that depend on the availability of the other
party? Are you using service discovery on the individual client to
determine whether they actually support the feature? That would break in
funny ways with Carbons / offline storage / MAM.

Does your server not store delivery receipts in offline storage / MAM?
Then the server should be fixed (as should be 0313).


> Servers, on the other hands, ARE designed to be constantly connected,
> so it should be a server's job to keep track of such things (and we
> actually do exactly this).

In theory, you could make a server that plays 0184/0333 proxy/bouncer,
acknowledging to an external sender when the message got delivered to a
client, e.g. if it knows by means of 0198 acks or a similar protocol.

It could also translate between 0333 and 0184, with the obvious
shortcomings of the mapping that were discussed in this thread.


Georg


signature.asc
Description: PGP signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-06 Thread Andrew Nenakhov
пт, 6 мар. 2020 г. в 13:39, :
>
> Hello!
>
> No, it's impossible to determine, if the message was delivered with Chat 
> Markers, 'cause Chat Markers allows you to send marker not for every message. 
> So, if you didn't receive "RECEIVED" marker for a message but received the 
> marker for the next one, you have to consider the first message also 
> received. That sounds stupid, but that's what XEP says.
>
> So, to be sure that message was really delivered, we need Message Delivery 
> Receipts.

It is not possible to determine with Delivery Receipts either. If you
were offline when they were sent, you will not receive them.
If the recipient was offline when the messages were sent, a client
won't send the receipts too. So, it is only relatively good in a
situation when both chat participants are online.

Anyway, the idea to ensure delivery between clients is just plain
wrong, because they are not designed to be constantly connected.
Servers, on the other hands, ARE designed to be constantly connected,
so it should be a server's job to keep track of such things (and we
actually do exactly this).


-- 
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-06 Thread yagiza
Hello!No, it's impossible to determine, if the message was delivered with Chat Markers, 'cause Chat Markers allows you to send marker not for every message. So, if you didn't receive "RECEIVED" marker for a message but received the marker for the next one, you have to consider the first message also received. That sounds stupid, but that's what XEP says.So, to be sure that message was really delivered, we need Message Delivery Receipts. 4 мар. 2020 г. 1:18 пользователь Andrew Nenakhov  написал:We have it implemented in 'read' mode, so all our clients can receive
delivery receipts, but never send them.
I think this XEP should be obsoleted in favour of XEP-0333 Chat
Markers, which does all that XEP-0184 does, plus something more.
вт, 3 мар. 2020 г. в 22:46, Jonas Schäfer :
>
> The XEP Editor would like to Call for Experience with XEP-0184 before
> presenting it to the Council for advancing it to Final status.
>
>
> During the Call for Experience, please answer the following questions:
>
> 1. What software has XEP-0184 implemented? Please note that the
> protocol must be implemented in at least two separate codebases (at
> least one of which must be free or open-source software) in order to
> advance from Draft to Final.
>
> 2. Have developers experienced any problems with the protocol as
> defined in XEP-0184? If so, please describe the problems and, if
> possible, suggested solutions.
>
> 3. Is the text of XEP-0184 clear and unambiguous? Are more examples
> needed? Is the conformance language (MAY/SHOULD/MUST) appropriate?
> Have developers found the text confusing at all? Please describe any
> suggestions you have for improving the text.
>
> If you have any comments about advancing XEP-0184 from Draft to Final,
> please provide them by the close of business on 2020-03-17. After the
> Call for Experience, this XEP might undergo revisions to address
> feedback received, after which it will be presented to the XMPP
> Council for voting to a status of Final.
>
>
> You can review the specification here:
>
> https://xmpp.org/extensions/xep-0184.html
>
> Please send all feedback to the standards@xmpp.org discussion list.
> ___
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> ___
--
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-04 Thread Sam Whited
On Tue, Mar 3, 2020, at 12:45, Jonas Schäfer wrote:
> 3. Is the text of XEP-0184 clear and unambiguous? Are more examples
>needed? Is the conformance language (MAY/SHOULD/MUST) appropriate?
>Have developers found the text confusing at all? Please describe
>any suggestions you have for improving the text.

It's a minor nit, but we could replace the reference to Message
Archiving with MAM instead. It's a minor change that doesn't actually
break any important draft rules as far as I know but makes the spec feel
more up to date (for now) and just generally provides users with a more
useful link. All this may change in the future, but it seems like good
housekeeping at the moment.

—Sam
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-04 Thread Kevin Smith
On 3 Mar 2020, at 17:45, Jonas Schäfer (XSF Editor)  wrote:
> 
> The XEP Editor would like to Call for Experience with XEP-0184 before
> presenting it to the Council for advancing it to Final status.
> 
> 
> During the Call for Experience, please answer the following questions:
> 
> 1. What software has XEP-0184 implemented? Please note that the
> protocol must be implemented in at least two separate codebases (at
> least one of which must be free or open-source software) in order to
> advance from Draft to Final.

Swift (GPL)

> 2. Have developers experienced any problems with the protocol as
> defined in XEP-0184? If so, please describe the problems and, if
> possible, suggested solutions.

No. Kinda. The rules distinguishing between Bare/Full JID and assuming that 
full JID messages will only go to the addressed JID are somewhat out of place 
in the modern world and could do with a rethink, methinks. The ’SHOULD NOT’ in 
particular seems inappropriate.

The ‘must not ack from an archive’ is also somewhat out of place in a world 
where clients are disabling offline messages in favour of fetching from an 
archive.

In general, I think 184’s interactions with modern routing/message handling 
haven’t been considered and implementing 184 as-is might be unfortunate.

/K
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-04 Thread Andrew Nenakhov
ср, 4 мар. 2020 г. в 11:10, Philipp Hörist :
>
>
>
> Am Di., 3. März 2020 um 21:19 Uhr schrieb Andrew Nenakhov 
> :
>>
>>
>> I think this XEP should be obsoleted in favour of XEP-0333 Chat
>> Markers, which does all that XEP-0184 does, plus something more.
> Why would someone depreacte a spec that is implemented in nearly every client 
> in existence, for something that does, best case, exactly the same?

That's what I was asking when learned about deprecating XEP-0071.

But seriously, 0184 is a half-baked XEP that does only half the job
done. XMPP is currently extremely bloated with redundant XEPs, and
instead of trimming it down and streamlining it, you suggest setting
an already obsolete XEP in stone. If anyone here is worried about
bringing this protocol to the masses, it's not the way to go.

-- 
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-03 Thread Philipp Hörist
Am Di., 3. März 2020 um 21:19 Uhr schrieb Andrew Nenakhov <
andrew.nenak...@redsolution.com>:

>
> I think this XEP should be obsoleted in favour of XEP-0333 Chat
> Markers, which does all that XEP-0184 does, plus something more.
>
>
Why would someone depreacte a spec that is implemented in nearly every
client in existence, for something that does, best case, exactly the same?

Regards
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Call for Experience: XEP-0184: Message Delivery Receipts

2020-03-03 Thread Andrew Nenakhov
We have it implemented in 'read' mode, so all our clients can receive
delivery receipts, but never send them.

I think this XEP should be obsoleted in favour of XEP-0333 Chat
Markers, which does all that XEP-0184 does, plus something more.

вт, 3 мар. 2020 г. в 22:46, Jonas Schäfer :

>
> The XEP Editor would like to Call for Experience with XEP-0184 before
> presenting it to the Council for advancing it to Final status.
>
>
> During the Call for Experience, please answer the following questions:
>
> 1. What software has XEP-0184 implemented? Please note that the
> protocol must be implemented in at least two separate codebases (at
> least one of which must be free or open-source software) in order to
> advance from Draft to Final.
>
> 2. Have developers experienced any problems with the protocol as
> defined in XEP-0184? If so, please describe the problems and, if
> possible, suggested solutions.
>
> 3. Is the text of XEP-0184 clear and unambiguous? Are more examples
> needed? Is the conformance language (MAY/SHOULD/MUST) appropriate?
> Have developers found the text confusing at all? Please describe any
> suggestions you have for improving the text.
>
> If you have any comments about advancing XEP-0184 from Draft to Final,
> please provide them by the close of business on 2020-03-17. After the
> Call for Experience, this XEP might undergo revisions to address
> feedback received, after which it will be presented to the XMPP
> Council for voting to a status of Final.
>
>
> You can review the specification here:
>
> https://xmpp.org/extensions/xep-0184.html
>
> Please send all feedback to the standards@xmpp.org discussion list.
> ___
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> ___



--
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___