Everything travels encrypted over TLS, the same protection as the padlock in your browser. Someone on the same wifi sees scrambled data, not messages or pictures.
On top of that, every message is padded with random filler to a standard size, so a short reply and a long paragraph look the same on the wire. Reactions, typing signals, and notifications are padded the same way.
Files are padded with random bytes up to fixed size steps and stored under random names with no file type, so their exact size can't be used to guess what they are. Your device trims the filler off before showing them.
Only members can read the chat, and the database enforces it. New members can't see anything from before they joined.
What padding can't hide is timing: a watcher can still tell that something was sent and when.