* fix(ui): read textarea DOM value in queue handler to prevent truncation
When the user types quickly and clicks the Queue button, React may not
have committed the latest `message` state yet, causing handleQueueMessage
to capture a stale closure (often just the first character typed).
Read textareaRef.current.value directly from the DOM instead, which
always reflects the current input regardless of React's render cycle.
Fall back to the React state when the ref is unavailable.
Also recompute hasContent from the DOM value to ensure the guard check
is consistent with the actual message being queued.
* fix(ui): use current input value when sending
---------
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>