This one is all about making the app simpler to use. All of changes are based off user feedback.
Font size selection changed to + - buttons
The automated line breaking doesn't guarantee that the selected font size will work. For example, the algorithm determines that 17pt is the best font size for this bubble using the current text, but you want something smaller. You try font 16pt and 15pt, both works but 14pt somehow doesn't. But oh, 13pt works… Even worse, 14pt will revert to 17pt. This caused confusion. This case is rare when going down in size, but happens frequently when going up in size because there may simply be not enough space to fit the text. So to avoid this kind of confusion, the font size selection has been changed to +/- buttons. A separate font size is displayed only for reference in case the typesetter wants consistency across bubbles.
Font rendering is thin on Windows
It turned out Windows renders font too thin. This happens regardless of the brand of browser. This does not happen on macOS or Linux. So the current plan is to eliminate local rendering completely. All bubble text rendering will be done on the server side. The rendered text will be sent back to the client as an image, and drawn to the browser canvas instead of rendering the text locally. This will use way more bandwidth, but it will guarantee consistency across all browsers.

Auto-hyphenation is no longer default, people didn't like this. I thought it was fine :P
Lastly, I'm still updating machine learning (Tensorflow) to the latest version because of the RTX graphics upgrade. It is a b*tch to build. It takes a couple of hours to build and failed almost every time. But I finally got it successfully built so now I just need to integrate it back into the server. Once that's done I'll be working on batch clearing.
Thanks again for your support and stay tuned!