It looks like the developer was so hooked on the idea of making it minimalistic, he forgot to make it a language-learning app. So it's a blob with a backstory. Design with no substance.
I like the idea of using generators everywhere, since you have more control over how things execute. At the same time, your codes gets "infected" with unexpected types. In reality, this is very similar to async/await and promises, but those are used broadly in the ecosystem.
Both are by design. Array covariance is a common design mistake in OOP languages, which the designer of TypeScript had already done for C# but there they at least check it at runtime. And the latter was declared not-a-bug already IIRC.
TypeScript designers insist they're ok with it being unsound even on the strictest settings. Which I'd be ok with if the remaining type errors were detected at runtime, but they also insist they don't want the type system to add any runtime semantics.
"By design", for me, doesn't say that it can't be changed — maybe the design was wrong, after all. Would it be a major hurdle or create some problems if fixed today?
Just because it's not perfect, does not mean it useless.
A central signal message service receives millions of messages, I've seen claims of 40M active users a month. If each user sends 25 messages a day, that's 12,000 ish a second.
Drawing conclusions about who is talking to each other out of a 12,000 message per second stream is far from trivial since both signal users are just sending and receiving encrypted packets to a central service. Much depends on how much you believe about how signal handles things on the server size.
Not sure federation or pure p2p would improve things, especially since some fraction of the service could be malicious.
But it doesn't make the claims OP says are broken. Op makes several logical leaps and because each leap is a reasonable leap, he assumes it must be THE leap. Which isnt true and it's simple to come up with counterfactuals, and it's a common pitfall in analysis (he's confirming his bias)
reply