From f6d50099596da822085b09f1c2936fe4cee85831 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Thu, 7 Aug 2025 11:45:19 +0100 Subject: [PATCH] Clarify that clients should replace events with the most recent replacement by origin_server_ts (#2190) Signed-off-by: Andy Balaam --- changelogs/internal/newsfragments/2190.clarification | 1 + content/client-server-api/modules/event_replacements.md | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/internal/newsfragments/2190.clarification diff --git a/changelogs/internal/newsfragments/2190.clarification b/changelogs/internal/newsfragments/2190.clarification new file mode 100644 index 00000000..019ac021 --- /dev/null +++ b/changelogs/internal/newsfragments/2190.clarification @@ -0,0 +1 @@ +Clarify that clients should replace events with the most recent replacement by origin_server_ts. diff --git a/content/client-server-api/modules/event_replacements.md b/content/client-server-api/modules/event_replacements.md index c4563a88..e42dacf8 100644 --- a/content/client-server-api/modules/event_replacements.md +++ b/content/client-server-api/modules/event_replacements.md @@ -195,7 +195,7 @@ given event (for example, if an event is edited multiple times). These should be [aggregated](#aggregations-of-child-events) by the homeserver. The aggregation format of `m.replace` relationships gives the **most recent** -replacement event, formatted [as normal](#room-event-format). +valid replacement event, formatted [as normal](#room-event-format). The most recent event is determined by comparing `origin_server_ts`; if two or more replacement events have identical `origin_server_ts`, the event with the @@ -268,6 +268,11 @@ Client authors are reminded to take note of the requirements for [Validity of replacement events](#validity-of-replacement-events), and to ignore any invalid replacement events that are received. +Clients should render the content of the **most recent** valid replacement event. The +most recent event is determined by comparing `origin_server_ts`; if two or more +replacement events have identical `origin_server_ts`, the event with the +lexicographically largest `event_id` is treated as more recent. + ##### Permalinks When creating [links](/appendices/#uris) to events (also known as permalinks),