Sending things unencrypted that users have every reason to think are encrypted is extremely irresponsible. And I assumed, as I think is perfectly reasonable, that everything in an E2EE room is in fact end-to-end encrypted. I'm very disappointed to find out this way that it's not (and won't be for the foreseeable future), and I don't see any justification for failing to making users aware of that.
All that said, I love Matrix, will continue to use it every day, and am hugely rooting for the success of the project. Thanks for all your hard work on it!
Why couldn't the client simply count the number of reactions?
I can't imagine it'd be a performance issue. After all, if you didn't have reactions you'd have a bunch of in-band "+ 1" comments; if such a thing would bring down the server then I'd assume you'd have much bigger problems.
Edit: clarification
Breaking this expectation is a massive red flag, particularly because Matrix is often chosen with this expectation at the core of the decision.
Is this not the case for e.g. Signal reactions?
The text/content of the edit itself is actually encrypted, you can check in Element by viewing the event in de/encrypted form