Skip to content

fix(mobile): move the newline button into the quick-key row - #6543

Merged
saddlepaddle merged 1 commit into
mainfrom
fix/mobile-newline-in-key-row
Aug 16, 2026
Merged

saddlepaddle merged 1 commit into
mainfrom
fix/mobile-newline-in-key-row

Conversation

@saddlepaddle

@saddlepaddle saddlepaddle commented Aug 16, 2026 •

Copy link
Copy Markdown
Collaborator

The newline button sat in the composer's bottom row beside the attachment button, where it reads as a send-adjacent action. It belongs with esc / tab / arrows — the keys the soft keyboard doesn't have.

before after
bottom row, circular, next to + quick-key row, chip-shaped, beside esc

Three details:

  • Shaped like the keys it sits with — bordered rounded rectangle at the same size, not the circular treatment used for send and mic.
  • Pinned left of the scrolling row, so it stays reachable however far the keys are scrolled.
  • Not a quick key. Those write raw bytes into the PTY; this appends to the draft. It's rendered beside them rather than added to QUICK_KEYS, which would have sent a carriage return to the terminal and submitted instead of inserting a line break.

Surfaces with no key row — the home composer — keep it in the bottom row, since there's nothing else to put it with.

Typecheck and lint pass. Not exercised on a simulator; it's a layout move within an existing SwiftUI stack, but worth a glance on device before merge if you want certainty.


Summary by cubic

Moves the newline button from the composer’s bottom row (next to the attachment button) into the quick-key row beside esc. This clarifies that it inserts a line break rather than a send-adjacent action; surfaces without a key row keep it in the bottom row.

  • Renders as a bordered rounded-rectangle chip matching the quick keys, not the circular send/mic style.
  • Pinned to the left edge of the horizontally scrolling quick-key row so it stays reachable.
  • Not a quick key: appends "\n" to the draft; does not write raw bytes to the PTY or submit.
  • Preserves light haptic feedback and the "New line" accessibility label; give the layout a quick on‑device glance for spacing during the animated insertion.

Written for commit 97a2ad3. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Features

    • Added a compact rounded newline control to the composer’s upper action row.
    • The control inserts a newline and provides haptic feedback.
  • Improvements

    • Prevented duplicate newline controls when upper-row content is present.

It sat in the composer's bottom row beside the attachment button, where it
reads as a send-adjacent action. It belongs with esc/tab/arrows — the keys
the soft keyboard lacks — so it moves into that row, shaped like them
rather than like the circular send and mic buttons.

Pinned left of the scrolling keys so it stays reachable however far they
are scrolled, and it is not a quick key itself: those write raw bytes to
the PTY, while this appends to the draft.

Surfaces with no key row (the home composer) keep it in the bottom row.
@coderabbitai

coderabbitai Bot commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 33f90e04-4388-4e5d-ad2e-b54abaf9c04a

📥 Commits

Reviewing files that changed from the base of the PR and between 60c4d27 and 97a2ad3.

📒 Files selected for processing (1)
  • apps/mobile/screens/(authenticated)/components/GlassComposer/GlassComposer.tsx

Included review availability: Your plan includes up to 10 reviews per rolling hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The composer adds a compact newline chip beside above content. The chip preserves haptic feedback and newline insertion. The expanded toolbar hides its newline button when above content is present.

Changes

GlassComposer newline controls

Layer / File(s) Summary
Add and integrate the newline chip
apps/mobile/screens/(authenticated)/components/GlassComposer/GlassComposer.tsx
The composer adds a compact rounded-rectangle newline chip beside above content. The expanded toolbar renders its existing newline button only when above content is absent.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: 🔵 Low · up to 97a2a

The newline control is moved into the quick-key row, but longer key sets may not scroll within a bounded viewport, potentially affecting reachability of the pinned newline control. The PR is mergeable with explicit owner awareness or a follow-up layout fix.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses conventional commit format and clearly describes moving the mobile newline button into the quick-key row.
Description check ✅ Passed The description explains the change, rationale, design details, testing status, and simulator limitation; the checklist itself is omitted.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/mobile-newline-in-key-row

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

@saddlepaddle
saddlepaddle merged commit f018092 into main Aug 16, 2026
19 checks passed
saddlepaddle added a commit that referenced this pull request Aug 18, 2026
…row (#6600)

#6543 moved the newline button into the terminal's quick-key row but left
a fallback copy in the bottom toolbar for surfaces without that row, so the
home composer still showed a return button beside the attachment button.
It was never meant to sit there: it reads as a send-adjacent action, and
the home prompt gets no more from a line break than a plain paragraph
does. Remove the fallback and its variant; the terminal chip stays.

This branch was previously deployed

1 inactive deployment
preview — 97a2ad33 Deployed Aug 16, 2026 by saddlepaddle via Deploy Docs #7868
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant