Skip to content

Mobile: no keyboard way to queue a message while a thread is working #8

Description

@radroid

What to build

On mobile, when a thread is busy/working, there is no keyboard affordance to queue a follow-up message. The queue capability exists — the primary send button relabels to "Queue" while the thread is busy, and a queueCount indicator shows how many messages are pending — but the only way to trigger it is by tapping the button.

Pressing Enter on the on-screen (soft) keyboard just inserts a newline. The native composer's onSubmit currently only fires on hardware Command-Return, so users on a phone with no hardware keyboard have no key-driven path to send/queue a message at all.

We should give the soft keyboard a way to queue/send — e.g. treat the keyboard's return/submit action as "queue when busy, send otherwise" (matching the button's existing behavior), while still allowing multi-line input (e.g. Shift/Enter or a dedicated newline affordance).

Relevant code:

  • apps/mobile/src/features/threads/ThreadComposer.tsx — sendLabel toggles between "Send"/"Queue" based on activeThreadBusy / queueCount; handleSend / onSendMessage.
  • apps/mobile/src/native/T3ComposerEditor.types.ts — onSubmit documented as fired only on hardware Command-Return.

Steps to reproduce

  1. On the mobile app, open a thread and start the agent working.
  2. Type a follow-up message in the composer.
  3. Press Enter on the on-screen keyboard.

Actual: A newline is inserted. The message can only be queued by tapping the "Queue" button.
Expected: There is a keyboard-driven way to queue the message (as on desktop), without losing the ability to enter newlines.

Acceptance criteria

  • From the on-screen keyboard, a user can queue a message while a thread is busy (and send when idle) without tapping the button.
  • Multi-line input is still possible (a clear way to insert a newline remains).
  • Behavior is consistent on both iOS and Android.
  • Existing hardware Command-Return submit continues to work.
  • The queueCount indicator updates correctly for keyboard-queued messages.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions