[Standards] Business rules of Last Message Correction

Ненахов Андрей andrew.nenakhov at redsolution.ru
Mon Jun 11 11:25:06 UTC 2018

пн, 11 июн. 2018 г. в 14:21, Georg Lukas <georg at op-co.de>:
> The XEP requires the sending client to generate IDs:
> | Clients MUST send ids on messages if they allow the user to correct
> | messages.
> I wish it would require *unique* IDs, but that's what we've got, and a
> reasonable client will use unique IDs anyway.

I remember coming upon some client that was using autoincrementing
integers for message IDs, resetting it on each restart.
Can't remember what client it was though. However, this experience has
led me to formulate a principle that server should not
trust clients IDs and must reassign them server ID. Eventually, that
developed into our method of reliable message delivery.
But that's a story for another time.

> I think there is a compelling reason to allow correcting more than just
> the last message - imagine typing multiple lines in a row, and only then
> reading what you sent, to realize a typo / incorrectness.

The border here is not a technical limitation, but a user experience.
Do I want someone to alter or delete message history days
after conversation happened? For me, definitely no, I like to keep my
message history and not content with someone editing it.

One way to address it is to show the history of editing for each
message, but it taxes clients to be able to show that consistently.
Also, while it is technically possible to keep all versions of
existing messages, existing message archive doesn't suit for this task
and programming it would require some yet another abnormal ways to use
archive - like storing read receipts there with
an empty body.

Ненахов Андрей
Директор ООО "Редсолюшн" (Челябинск)
(351) 750-50-04

More information about the Standards mailing list