0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-10 05:58:56 +02:00

ircd:Ⓜ️:vm: Eliminate head resolves for type; related c3f50d5bab.

This commit is contained in:
Jason Volk 2020-03-04 12:48:37 -08:00
parent bb6bc40891
commit f3fbcc6ab6

View file

@ -624,23 +624,16 @@ ircd::m::vm::write_append(eval &eval,
*eval.txn
};
const bool update_room_head
{
// User can explicitly disable room head update w/ option
opts.room_head &&
// Don't update the room head with this shit, but we still use it for
// room head resolves (so long as opts.room_head_resolve).
json::get<"type"_>(event) != "org.matrix.dummy_event"
};
m::dbs::write_opts wopts(opts.wopts);
wopts.event_idx = eval.sequence;
wopts.json_source = opts.json_source;
wopts.appendix.set(dbs::appendix::ROOM_HEAD, update_room_head);
wopts.appendix.set(dbs::appendix::ROOM_HEAD_RESOLVE, opts.room_head_resolve);
wopts.appendix.set(dbs::appendix::ROOM_STATE_SPACE, opts.history);
// Don't update or resolve the room head with this shit.
const bool dummy_event(json::get<"type"_>(event) == "org.matrix.dummy_event");
wopts.appendix.set(dbs::appendix::ROOM_HEAD, opts.room_head && !dummy_event);
wopts.appendix.set(dbs::appendix::ROOM_HEAD_RESOLVE, opts.room_head_resolve && !dummy_event);
if(opts.present && json::get<"state_key"_>(event))
{
const room room