Skip to content

Make dock and composer control feedback consistently circular - #26

Merged
h3nock merged 3 commits into
mainfrom
fix/composer-circular-controls
Aug 1, 2026
Merged

Make dock and composer control feedback consistently circular#26
h3nock merged 3 commits into
mainfrom
fix/composer-circular-controls

Conversation

@h3nock

@h3nock h3nock commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Make active and pressed feedback circular across dock and composer controls.
  • Keep grouped dock materials capsule-shaped and standalone controls circular.
  • Expand button hit regions to the full allocated rectangular cells.
  • Remove obsolete shape-selection machinery and corner-radius configuration.
  • Center dictation waveform content using the layout’s computed row geometry.

Behavior preserved

  • Existing dimensions and spacing
  • Badges and accessibility identifiers
  • Gestures, haptics, and transitions
  • Keyboard and terminal viewport behavior
  • Composer interaction flow

Validation

  • Built and tested on both the physical iPhone and dedicated simulator.
  • Focused UI flow passed, including corner tapping outside the visible circle.
  • Layout tests passed.

Summary by CodeRabbit

  • UI Improvements

    • Improved compact composer layout by vertically centering dictation content and aligning controls consistently.
    • Updated attachment, composer, and keyboard controls with clearer circular or rectangular surfaces and hit areas.
    • Enhanced toolbar and dock button sizing across supported iOS versions.
    • Ensured standalone keyboard controls meet minimum touch-target sizing.
  • Tests

    • Added and updated layout and UI coverage for control sizing, shapes, and composer behavior.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

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: b26f8a8c-21d6-4c0c-bd9c-0ea3393044af

📥 Commits

Reviewing files that changed from the base of the PR and between 289ab3e and 525fa7c.

📒 Files selected for processing (4)
  • RemuxApp/Sources/Ghostty/GhosttyComposeBar.swift
  • RemuxApp/Sources/Ghostty/GhosttyKeyboardChrome.swift
  • RemuxAppTests/GhosttyPhoneChromeLayoutTests.swift
  • RemuxAppUITests/RemuxAppUITests.swift

📝 Walkthrough

Walkthrough

The PR updates keyboard chrome sizing and surfaces for standalone circular controls. It adjusts composer layout and hit testing. Unit and UI tests verify baseline sizing, tap behavior, and circular dimensions.

Changes

Keyboard chrome UI

Layer / File(s) Summary
Standalone control sizing and dock wiring
RemuxApp/Sources/Ghostty/GhosttyKeyboardChrome.swift, RemuxAppTests/GhosttyPhoneChromeLayoutTests.swift
Standalone controls derive circular dimensions from the dock baseline. Dock buttons receive explicit heights. Tests verify the diameter and minimum size.
Shape-specific surfaces and hit testing
RemuxApp/Sources/Ghostty/GhosttyKeyboardChrome.swift, RemuxApp/Sources/Ghostty/GhosttyComposeBar.swift
Standalone surfaces and button states use circular shapes. Keyboard, attachment, and composer controls use rectangular hit areas where specified.
Composer layout and interaction validation
RemuxApp/Sources/Ghostty/GhosttyComposeBar.swift, RemuxAppUITests/RemuxAppUITests.swift
Compact dictation content is vertically centered. The UI test taps inside the composer cell and verifies equal circular dimensions for composer and keyboard controls.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • h3nock/remux#20: Introduced keyboard chrome and composer UI changes refined by this PR.
  • h3nock/remux#21: Also changes keyboard chrome sizing and related layout tests.
  • h3nock/remux#23: Introduced composer controls refined here for sizing, shapes, hit areas, and layout tests.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change to dock and composer control feedback.
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 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/composer-circular-controls

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.

@h3nock
h3nock merged commit 0e0573c into main Aug 1, 2026
6 checks passed
@h3nock h3nock mentioned this pull request Aug 2, 2026
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