SimpleX works like that too, unfortunately. The solution is basically, which is what SimpleX has been planning for a long time, to introduce a second layer of relays, "group relays", that forward messages to all the users. Group relays would have privileged access to the underlying real (network layer) relays that allows them to perform this function.