• Mohamed Aziz Mejri's avatar
    Disable send button while approval is pending (#1368) · 582793eb
    Mohamed Aziz Mejri 提交于
    Fixes #912 
    
    This PR implements disabling send button while approval is pending and
    addresses issue #912
        
    <!-- This is an auto-generated description by cubic. -->
    ---
    
    ## Summary by cubic
    Disable the chat send button while a proposal is awaiting approval, and
    re-enable it after approve or reject. Prevents accidental messages
    during pending changes. Addresses issue #912.
    
    - **New Features**
    - Track pending changes with isChangesPending based on the last
    assistant message’s approvalState.
    - Disable the send button when a proposal is pending (in addition to the
    existing empty input check).
    - Re-enable after approve/reject by refreshing the proposal and
    messages.
      - Added Playwright e2e tests for both approve and reject flows.
    
    <!-- End of auto-generated description by cubic. -->
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Disable the chat send button when a code proposal is pending approval
    and re-enable after approve/reject; add e2e coverage and update MCP
    flow.
    > 
    > - **Frontend**
    > - `ChatInput.tsx`: Read `messages` from `chatMessagesAtom` and derive
    `disableSendButton` when the last assistant message (matching
    `proposal.messageId`) has no `approvalState` and `proposal.type ===
    "code-proposal"`.
    > - Apply `disableSendButton` to the send button’s `disabled` condition
    (in addition to empty input/attachments).
    >   - Ensure proposal/messages refresh after approve/reject.
    > - **Tests**
    > - Add Playwright tests `e2e-tests/chat_input.spec.ts` to verify send
    button disabled during pending proposal and re-enabled after approve or
    reject.
    > - Update `e2e-tests/mcp.spec.ts` to click "Approve" after granting
    consent.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    b9b47bd6f547449cc5cf1d39a00e4e7fb5de1bcd. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    582793eb
名称
最后提交
最后更新
..
AttachmentsList.tsx 正在载入提交数据...
ChatError.tsx 正在载入提交数据...
ChatErrorBox.tsx 正在载入提交数据...
ChatHeader.tsx 正在载入提交数据...
ChatInput.tsx 正在载入提交数据...
ChatMessage.tsx 正在载入提交数据...
CodeHighlight.tsx 正在载入提交数据...
DeleteChatDialog.tsx 正在载入提交数据...
DragDropOverlay.tsx 正在载入提交数据...
DyadAddDependency.tsx 正在载入提交数据...
DyadAddIntegration.tsx 正在载入提交数据...
DyadCodebaseContext.tsx 正在载入提交数据...
DyadDelete.tsx 正在载入提交数据...
DyadEdit.tsx 正在载入提交数据...
DyadExecuteSql.tsx 正在载入提交数据...
DyadMarkdownParser.tsx 正在载入提交数据...
DyadMcpToolCall.tsx 正在载入提交数据...
DyadMcpToolResult.tsx 正在载入提交数据...
DyadOutput.tsx 正在载入提交数据...
DyadProblemSummary.tsx 正在载入提交数据...
DyadRead.tsx 正在载入提交数据...
DyadRename.tsx 正在载入提交数据...
DyadThink.tsx 正在载入提交数据...
DyadTokenSavings.tsx 正在载入提交数据...
DyadWebSearch.tsx 正在载入提交数据...
DyadWebSearchResult.tsx 正在载入提交数据...
DyadWrite.tsx 正在载入提交数据...
FileAttachmentDropdown.tsx 正在载入提交数据...
HomeChatInput.tsx 正在载入提交数据...
LexicalChatInput.tsx 正在载入提交数据...
MessagesList.tsx 正在载入提交数据...
PromoMessage.tsx 正在载入提交数据...
RenameChatDialog.tsx 正在载入提交数据...
SelectedComponentDisplay.tsx 正在载入提交数据...
TokenBar.tsx 正在载入提交数据...
VersionPane.tsx 正在载入提交数据...
monaco.ts 正在载入提交数据...
stateTypes.ts 正在载入提交数据...
types.d.ts 正在载入提交数据...