• 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
名称
最后提交
最后更新
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...