Hi,
On Thu, Dec 19, 2024 at 10:21 AM Daniel Gultsch <daniel(a)gultsch.de> wrote:
1. Is this specification needed to fill gaps in the
XMPP protocol
stack or to clarify an existing protocol?
yes
2. Does the specification solve the problem stated in
the introduction
and requirements?
yes
3. Do you plan to implement this specification in your
code? If not,
why not?
I’m unsure tbh. Obviously there is some user demand so probably yes in
some form or another however it feels super weird to essentially be
able to delete my half of a conversation with a friend even weeks or
month after the fact.
For my personal implementation I would probably put some kind of limit
on that. Signal seems to be using 30 mins which at least from the
order of magnitude feels OK.
However if there is no suggested limited and no way to discover that
in the XEP than different clients may pick very different limits
(ranging from none to 5 seconds)
I’m not talking about a security issue (I’m very well aware the
security considerations say: There is no guarantee). I’m talking about
a weird UX.
So to go back to the first question: Does this fill a gap in the
protocol. Yes I guess. But not exactly the gap that I would have
wanted to be addressed.
4. Do you have any security concerns related to this
specification?
I have some concerns with regards to the fallback message. If you
deliberately put some completely unrelated content into the body
clients that support retractions will render that very differently
(meaning not at all) from clients that do support retraction. This can
especially be a problem (and this depends on the implementation) if
the retraction is for a message that simply doesn’t exist. I’m worried
that some clients will then not render anything.
I have similar concerns with reactions, display markers and receipts
and I have "fixed" this in Conversations.
https://codeberg.org/iNPUTmice/Conversations/commit/cd46067681c23551f3a7ba3…
I admit this is far from the biggest issue XMPP had over the years but
I’m still considering it a weird side effect.
Especially now that I have mentioned the downside of fallbacks for
reactions I’m unsure what the real upside is: With the suggested
default of "the user has retracted 'a' previous messages" I’m not
really sure what to do about that as a user. I don’t know which one;
or if I should feel bad for the other user now or what.
5. Is the specification accurate and clearly written?
origin id is still mentioned in
https://xmpp.org/extensions/xep-0424.html#usecase
"In the case of a group chat message, for example Multi-User Chat
(XEP-0045) [4], instead of the origin ID, the XEP-0359 stanza ID that
was assigned by the group chat SHOULD be used."
This should be message id
Otherwise yes it is clearly written.