Slack alternatives? - eviltoast

Hello! I am looking for suggestions for Slack alternatives that meet the following (likely impossible) criteria:

  • Modern UI
  • Self-hosted FOSS
  • Actively developed, or at least stable and maintained
  • Comprehensive API for integrations
  • Non-shit strategy for determining which device to send notifications to

Regarding UI, I am hoping to find something with a more streamlined implementation of threaded conversations - this is my primary complaint with Slack.

I know there are tons of articles on Slack alternatives, but I’m hoping for a more technical perspective. Are there any Matrix-based options that are refined enough for a small team to rely on as primary method of communication?

Thank you!