This shouldn't be done through a modification/fork of the mautrix/go library as I'm not really interested in doing that due to the significant maintenance burden. There needs to be a way to synchronize or limit the amount of requests per second so that we don't end up DoSing the server. Synapse has nearly no measures against DoS and disabling rate limits doesn't help the situation.
Ideally we wouldn't be doing this at each function level but rather as a library primitive that can be adjusted as needed.
This shouldn't be done through a modification/fork of the mautrix/go library as I'm not really interested in doing that due to the significant maintenance burden. There needs to be a way to synchronize or limit the amount of requests per second so that we don't end up DoSing the server. Synapse has nearly no measures against DoS and disabling rate limits doesn't help the situation.
Ideally we wouldn't be doing this at each function level but rather as a library primitive that can be adjusted as needed.