The overloading of return to either send a message or add a newline has become really annoying since chat apps (and then now AI) have become popular.

You have to keep a mental context of whether you need to hold shift before you press return. See also: every message I've ever sent that ended with I' because I fat-fingered the ' key while typing a contraction.

Terminal keyboards generally used to have two separate ENTER (submit the form to the mainframe) and RETURN (insert a line break) keys. I mean, even the original 101-key PC keyboard has them: the RETURN key above the right Shift, and the ENTER key of the numpad.

Shift+Enter will usually enter a newline in a message without triggering send... At least that's the convention used most of the time. No guarantees on specific applications, just my own experience with this.

Some applications annoyingly use the opposite convention: Shift+Enter is what commits the entered text, while plain Enter inserts a newline.

Yeah, it's not always consistent... hell, google voice's sms in the web app will take shift+enter but fail and just submit half the time anyway.