diff --git a/modules/s_fetch.cc b/modules/s_fetch.cc index 7ed35344f..94252450f 100644 --- a/modules/s_fetch.cc +++ b/modules/s_fetch.cc @@ -282,6 +282,7 @@ ircd::m::fetch::auth_chain(const room &room, m::vm::opts vmopts; vmopts.non_conform.set(m::event::conforms::MISSING_PREV_STATE); vmopts.infolog_accept = true; + vmopts.fetch = false; for(const auto &event : events) m::vm::eval { @@ -362,6 +363,9 @@ ircd::m::fetch::hook_handler(const event &event, if(type == "m.room.create") return; + if(eval.copts && my(event)) + return; + const m::event::id &event_id { at<"event_id"_>(event)