Unify mobile terminal input with Composer and Direct modes - #311
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mobile typing had separate keyboard and composer entry points with no clear indication of the active input mode. Add one bottom-right Type entry that opens a dock with a Composer / Direct switch. Composer uses native editing with separate Insert and Send actions; Direct sends keys through the terminal. Mode changes preserve the draft and caret, and a light terminal tap opens Direct input without treating scrolling or selection as typing.
Keep the configured two shortcut rows, add a show/hide toggle in the dock, and fit the floating 2x8 grid within the available width without horizontal scrolling. Group Tabs with Workspaces and Terminal/Files/Changes with the floating controls toggle, with collapse animations anchored to that toggle and a stable position on either edge. The input toolbar wraps at large interface scales so its mode control cannot overlap adjacent buttons.
Closes #286.
Validation:
bun run build:web— passes, including existing asset budgets.bun run precommit— formatting, lint, types, and tests pass: 2365 passed, 2 conditionally skipped, 0 failed.