582793eba0fba90d9fdb1a29f793d2395a4488a2
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: Will Chen <willchen90@gmail.com>
Dyad
Dyad is a local, open-source AI app builder. It's fast, private, and fully under your control — like Lovable, v0, or Bolt, but running right on your machine.
More info at: http://dyad.sh/
🚀 Features
- ⚡️ Local: Fast, private and no lock-in.
- 🛠 Bring your own keys: Use your own AI API keys — no vendor lock-in.
- 🖥️ Cross-platform: Easy to run on Mac or Windows.
📦 Download
No sign-up required. Just download and go.
👉 Download for your platform
🤝 Community
Join our growing community of AI app builders on Reddit: r/dyadbuilders - share your projects and get help from the community!
🛠️ Contributing
Dyad is open-source (Apache 2.0 licensed).
If you're interested in contributing to dyad, please read our contributing doc.
Description
Languages
TypeScript
97.4%
JavaScript
1.6%
CSS
0.6%
Shell
0.2%