From d94d688112b92192956d53ffaeeb936453f2eb55 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Wed, 11 Feb 2026 23:54:06 -0800 Subject: [PATCH] Fix/Autocorrect On Git And Message Overlap (#401) * hive(01-add-mobile-autocorrect-to-commit-message-input): Added mobile autocorrect to commit message input. * hive(02-add-mobile-autocorrect-to-pr-title-inputs): Added mobile autocorrect to PR title inputs in Pul * hive(03-add-mobile-autocorrect-to-pr-description-textareas): Added mobile autocorrect to PR description textare * Fix chat last message overlap --- packages/ui/src/components/chat/ChatMessage.tsx | 2 +- .../ui/src/components/chat/message/MessageBody.tsx | 3 ++- .../ui/src/components/views/git/CommitInput.tsx | 5 +++++ .../ui/src/components/views/git/CommitSection.tsx | 3 ++- .../components/views/git/PullRequestSection.tsx | 14 +++++++++++++- 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/ui/src/components/chat/ChatMessage.tsx b/packages/ui/src/components/chat/ChatMessage.tsx index cc65d892..f03f0557 100644 --- a/packages/ui/src/components/chat/ChatMessage.tsx +++ b/packages/ui/src/components/chat/ChatMessage.tsx @@ -887,7 +887,7 @@ const ChatMessage: React.FC = ({
{(canCopyMessage && hasCopyableText) || onRevert || onFork ? (
void; placeholder?: string; disabled?: boolean; + hasTouchInput?: boolean; } const MIN_HEIGHT = 38; // Single line height @@ -17,6 +18,7 @@ export const CommitInput: React.FC = ({ onChange, placeholder = 'Commit message', disabled = false, + hasTouchInput = false, }) => { const textareaRef = React.useRef(null); @@ -39,6 +41,9 @@ export const CommitInput: React.FC = ({ placeholder={placeholder} rows={1} disabled={disabled} + autoCorrect={hasTouchInput ? 'on' : 'off'} + autoCapitalize={hasTouchInput ? 'sentences' : 'off'} + spellCheck={hasTouchInput ? true : false} className={cn( 'rounded-lg bg-background/80 resize-none overflow-y-auto', disabled && 'opacity-50' diff --git a/packages/ui/src/components/views/git/CommitSection.tsx b/packages/ui/src/components/views/git/CommitSection.tsx index b2885498..b3da1e1a 100644 --- a/packages/ui/src/components/views/git/CommitSection.tsx +++ b/packages/ui/src/components/views/git/CommitSection.tsx @@ -65,7 +65,7 @@ export const CommitSection: React.FC = ({ }) => { const hasSelectedFiles = selectedCount > 0; const canCommit = commitMessage.trim() && hasSelectedFiles && commitAction === null; - const { isMobile } = useDeviceInfo(); + const { isMobile, hasTouchInput } = useDeviceInfo(); const hasMultipleRemotes = remotes.length > 1; const containerClassName = @@ -115,6 +115,7 @@ export const CommitSection: React.FC = ({ onChange={onCommitMessageChange} placeholder="Commit message" disabled={commitAction !== null} + hasTouchInput={hasTouchInput} /> {gitmojiEnabled && ( diff --git a/packages/ui/src/components/views/git/PullRequestSection.tsx b/packages/ui/src/components/views/git/PullRequestSection.tsx index 8ca528b5..3c1dfe81 100644 --- a/packages/ui/src/components/views/git/PullRequestSection.tsx +++ b/packages/ui/src/components/views/git/PullRequestSection.tsx @@ -185,7 +185,7 @@ export const PullRequestSection: React.FC<{ const setSidebarSection = useUIStore((state) => state.setSidebarSection); const setActiveMainTab = useUIStore((state) => state.setActiveMainTab); const currentSessionId = useSessionStore((state) => state.currentSessionId); - const { isMobile } = useDeviceInfo(); + const { isMobile, hasTouchInput } = useDeviceInfo(); const openGitHubSettings = React.useCallback(() => { setSidebarSection('settings'); @@ -1244,12 +1244,18 @@ export const PullRequestSection: React.FC<{ value={editTitle} onChange={(e) => setEditTitle(e.target.value)} placeholder="PR title" + autoCorrect={hasTouchInput ? "on" : "off"} + autoCapitalize={hasTouchInput ? "sentences" : "off"} + spellCheck={hasTouchInput} />