From 53ff7e229bceb00c3947dc643f50a4ccc0c5060f Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 28 Feb 2023 12:17:22 -0800 Subject: [PATCH] ircd::m::event::append: Support replaces_state in unsigned object. --- matrix/event_append.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/matrix/event_append.cc b/matrix/event_append.cc index 21bfccc00..3b49ad657 100644 --- a/matrix/event_append.cc +++ b/matrix/event_append.cc @@ -331,6 +331,7 @@ ircd::m::event::append::append(json::stack::object &object, }); if(prev_state_idx) + { m::get(std::nothrow, prev_state_idx, "content", [&unsigned_] (const json::object &content) { @@ -340,6 +341,22 @@ ircd::m::event::append::append(json::stack::object &object, }; }); + const auto replaces_state_id + { + m::event_id(std::nothrow, prev_state_idx) + }; + + json::stack::member + { + unsigned_, "replaces_state", json::value + { + replaces_state_id? + string_view{replaces_state_id}: + string_view{} + } + }; + } + if(unlikely(event_append_info)) log::info {