Coincidentally, there’s some work in progress on that front here:
https://github.com/discourse/discourse/pull/43138