the database methods are all over the place and to pull out basic info requires 3-4 calls
the prolific use of "here's a pointer to a response, write whatever you want as a side-effect when I call you!"
the constant manual type-casting to get []Event into anywhere, roomserver has it's own types.Event :/
the lack of any unit tests beyond getAuthChain
the database interface is so huge that it makes it difficult to see exactly what each query impl actually needs from the database, sometimes it's very little
This issue was originally created by @kegsay at https://github.com/matrix-org/dendrite/issues/929.
to make it much easier to see what is going on