I'm genuinely stuck. The Matrix S2S spec seems effectively unimplementable in its current state, with core functionality being undefined, which leaves me with only a few options:
1. Try to implement it anyway, and be chasing undefined behaviour and broken rooms for the next 5 years
2. Try to get all the holes in the spec resolved, which will probably take a decade at this pace, if it ever succeeds at all (and will burn me out, guaranteed)
3. Fork the protocol into something that's actually strictly specified, but this will fragment the ecosystem because of missing compatibility
4. Just give up on implementing a Matrix server. Take the (extremely rare for me) decision to just abandon this project entirely.
All of these options suck. I see no remaining solutions until the Matrix core/spec developers actually start prioritizing fixing the spec over other things.
Now what the hell do I do?
@Hurgotron The problem I foresee with that approach is that Synapse is by far the dominant implementation, and so in the case of incompatibilities between my homeserver and Synapse, my homeserver is almost certainly the one that's gonna be blamed for being 'wrong'