- 17 2月, 2026 2 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Deflake `setup_flow.spec.ts` which was the most flaky test file (20 occurrences across 10 CI runs and 5 PRs) - Wrap initial "Setup Dyad" heading check in `toPass()` with `Timeout.MEDIUM` to handle slow page renders in CI - Wrap `page.reload()` in `toPass()` retry to handle intermittent `ERR_FILE_NOT_FOUND` errors in Electron - Expand Node.js accordion section before checking for install button (section not auto-expanded after reload with mock) - Use `force: true` on "Continue" button click to avoid accordion overlap pointer interception - Replace hardcoded timeouts with `Timeout.MEDIUM` constants for CI/local adaptability ## Test plan - [x] Ran `setup_flow.spec.ts` with `--repeat-each=10` (30 tests total) - all passed - [x] Previously failed 6/10 times on "node.js install flow" test, now passes 10/10 - [x] Other top flaky specs (context_manage, chat_input, edit_code, logs_server, themes_management, fix_error) passed all repeats locally without changes - their CI flakiness is environment-specific - [x] All 819 unit tests pass - [x] Lint and type checks pass
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2740" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by:
Claude Opus 4.6 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary Add a comprehensive planning document outlining an initiative to improve the speed of landing PRs for maintainers by optimizing the CI pipeline, automating the fix-and-retry loop, and improving developer feedback during wait times. The plan covers: - CI pipeline optimizations for self-hosted macOS ARM64 runners (caching, job consolidation) - Auto-trigger fix loop for privileged author PRs (remove label requirement) - Tiered test selection based on changed files - PR status watcher for terminal notifications - Unified `/pr` skill entry point - Move pr-review-responder to self-hosted runners The plan is structured in four implementation phases: instrumentation, CI quick wins, auto-fix loop enhancements, and developer experience improvements. It includes risk assessments, testing strategies, and decision logs. ## Test plan - Verify the document is correctly formatted and renders as markdown - Review the content for clarity and alignment with project goals - Confirm all phases, user stories, and technical components are clearly described
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2739" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
- 16 2月, 2026 2 次提交
-
-
由 Will Chen 提交于
## Summary - Add ADR 0001 for host capability interface decisions. - Add ADR 0002 for cloud runtime topology and ADR 0003 for authz model. - Add ADR index and architecture updates for cross-platform planning. - Add desktop/mobile/web unification plan document in plans/. ## Test plan - npm run fmt - npm run lint:fix - npm run ts
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2737" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:wwwillchen-bot <theodorewilsonchen@gmail.com>
-
由 Andrey Lushnikov 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2735" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
- 15 2月, 2026 8 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Add a separate workflow (`flakiness-upload.yml`) that uploads Playwright flakiness reports to flakiness.io for pull requests from forks - Fork PRs don't have access to secrets during CI, so this uses `workflow_run` to upload results after CI completes (workflow_run has access to secrets from the base repo) - Update `ci.yml` to upload `flakiness-report` artifacts for each shard ## Test plan - [ ] Verify CI workflow creates flakiness-report artifacts for each shard - [ ] Verify flakiness-upload workflow triggers after CI completes for fork PRs - [ ] Verify reports are uploaded to flakiness.io successfully
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2727" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Add planning documentation for dangerous-action guardrails and implementation approach. - Document detection and mitigation strategies for potentially destructive operations. - Define acceptance criteria and rollout/testing recommendations. ## Test plan - Manual review of the plan document for completeness and consistency. - Validate markdown formatting and consistency with repository conventions.
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2733" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
## Summary - Add documentation guidance to AGENTS.md about testing changes before committing or pushing - Include guidance on running relevant unit tests and E2E tests - Note scenarios where local testing may not be possible and alternative verification steps ## Test plan - Verify the documentation is clear and useful for developers - Ensure the changes don't break the build
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2731" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Claude Opus 4.6 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Fixed ambiguous `getByLabel("Theme Name")` selectors in themes management E2E tests - Used specific element IDs (`#manual-name`, `#ai-name`) for create dialogs where multiple matching inputs exist - Scoped edit dialog selectors to the dialog context to avoid matching create form inputs ## Test plan - Run the themes_management E2E tests: `npx playwright test e2e-tests/themes_management.spec.ts` - Verify all theme CRUD operations, chat input creation, and AI generator flows pass🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2728" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Add AI-powered permission request hook that analyzes Claude Code tool requests and classifies them as safe (GREEN), uncertain (YELLOW), or dangerous (RED) - Add comprehensive multi-platform roadmap for expanding Dyad from desktop-only to web + mobile (PWA) with freemium model ## Test plan - Verify permission-request-hook.py is properly formatted and placed in `.claude/hooks/` - Review multi-platform roadmap documentation for completeness and accuracy - No behavior changes to existing functionality
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2734" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Claude Opus 4.6 <noreply@anthropic.com>
-
由 Will Chen 提交于
…ary tests - context_limit_banner: increase banner visibility timeout from MEDIUM to LONG since token counting IPC fires asynchronously after streaming ends - attach_image: wait for file card button to render before taking aria snapshot in the upload-to-codebase test - prompt_library: replace flaky toMatchAriaSnapshot with explicit assertions (toBeVisible, toContainText, getByRole) since Chrome's accessibility tree non-deterministically merges heading and paragraph text <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2725" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:
claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by:
Claude Opus 4.6 <noreply@anthropic.com>
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Allow users to queue multiple messages while a response is streaming. Queued items are visible, editable, reorderable, and auto-send one-by-one only after the current stream ends successfully. - **New Features** - Per-chat queue state via queuedMessagesByIdAtom and streamCompletedSuccessfullyByIdAtom. - QueuedMessagesList to view, edit, reorder, and delete items; shows status and attachment indicator. - ChatInput queues while streaming, supports editing queued items, clears input/attachments only on successful queue/send, and clears all queued on cancel. - useStreamChat exposes queuedMessages and queue/update/remove/reorder/clear APIs; processes the next item only after a confirmed successful end. - **Bug Fixes** - Eliminated race conditions by gating processing on successful onEnd (wasCancelled-aware), fixing a stale firstMessage closure, and clearing the queue before cancel IPC to avoid rapid-response races. - Preserved input and attachments when queueMessage fails; prevented dropping newly queued messages; cleared editing state when the edited queued item is deleted. <sup>Written for commit fb431f55b3a24284058062a6ced97ac21f825952. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces queued message support so users can submit another prompt while a response is streaming; the queued prompt auto-sends only after the current stream ends successfully. > > - Adds `QueuedMessage`, `queuedMessageByIdAtom`, and `streamCompletedSuccessfullyByIdAtom` to track one queued message and confirmed stream completion per chat > - Extends `useStreamChat` with queue APIs (`queuedMessage`, `queueMessage`, `clearQueuedMessage`) and processing gated by `onEnd` success; resets/sets completion flags; warns on multiple queue attempts > - Updates `ChatInput` to queue while streaming, clear on successful queue, and clear queued message on cancel; uses `shouldProcessQueue` > - Updates `MessagesList` to display queued prompt with status and a Clear action > - Expands IPC `ChatResponseEnd` schema with optional `wasCancelled`; send this flag on cancel in `chat_stream_handlers` > - Adds e2e test `queued_message.spec.ts` verifying queuing and auto-send behavior > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 62ed2131f7f9ee253b2542d35307459af504d6d0. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2120"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:
Claude <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Update deflake E2E workflow permissions to use explicit PAT token secrets instead of default GITHUB_TOKEN. - Reduce workflow repository permissions to empty set and align token usage for install and Claude action steps. - Maintain existing deflake behavior while removing default token-dependent permission requirements. ## Test plan - npm run fmt - npm run lint:fix - npm run ts
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2726" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
- 14 2月, 2026 11 次提交
-
-
由 Will Chen 提交于
## Summary - Adds comprehensive feature plan for app icons/emoji system (`plans/app-icons.md`) - Every app gets a visual identity (emoji or GitHub-style generated avatar) shown in chat tabs, sidebar, and app details - Chat tabs become condensed single-line layouts (icon + chat title) for better density - Plan covers data model, UX flows, accessibility, backfill strategy, and phased implementation ## Test plan - [x] Markdown renders correctly - [x] All lint/type checks pass - [x] No code changes, plan document only
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2722" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Claude Opus 4.6 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Add right-click context menu to chat tabs with options: Close tab, Close other tabs, Close tabs to the right, Close all tabs - Track which chats were opened in the current session via `sessionOpenedChatIdsAtom` - only tabs explicitly opened this session are shown - Add `context-menu.tsx` UI component from shadcn/ui with Radix UI dependency - Add translations for context menu items (en, pt-BR, zh-CN) ## Test plan - [x] Unit tests added for `getOrderedRecentChatIds` with session filtering - [x] Unit tests added for `closeMultipleTabsAtom` - [x] E2E tests added for context menu interactions (close other tabs, close tabs to right, close all) - [ ] Manual testing: right-click a chat tab and verify context menu appears with all options - [ ] Manual testing: verify "Close other tabs" closes all tabs except the clicked one - [ ] Manual testing: verify "Close tabs to the right" closes only tabs to the right - [ ] Manual testing: verify "Close all" closes all tabs
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2705" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Added a prominent callout in the E2E testing section making it clear that `npm run build` must be run before E2E tests and re-run whenever application (non-test) code changes - Added a prominent callout in the Rules index section emphasizing that relevant rule files must be read BEFORE writing any code or making changes ## Test plan - Documentation-only change, no functional impact #skip-bugbot
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2720" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Claude Opus 4.6 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Remove Python orchestrator scripts (`orchestrate_review.py`, `aggregate_results.py`, `post_comment.py`) from the multi-pr-review skill - Rewrite SKILL.md to use Claude Code's Task tool for spawning sub-agents directly - Replace simple consensus voting (2+ agents agree) with reasoned validation for more accurate issue detection - Add merge verdict determination (YES / NOT SURE / NO) to guide reviewers ## Test plan - [ ] Run `/dyad:multi-pr-review` on a test PR to verify the new Task-tool-based approach works - [ ] Verify all three agents spawn correctly with different file orderings - [ ] Confirm issues are validated through reasoned analysis rather than vote counting - [ ] Check that merge verdict is correctly displayed in the summary comment
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2719" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Skip actual Node.js downloads in E2E tests by returning a tiny test URL instead of the real Node.js installer - Skip opening external URLs in shell handler to avoid spawning browser windows during E2E tests - Both changes are conditional on `E2E_TEST_BUILD=true` environment variable ## Test plan - Run E2E tests with `E2E_TEST_BUILD=true` to verify external operations are skipped - Verify normal operation is unaffected when the environment variable is not set
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2716" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Move the favorite toggle button from the app list sidebar to the app details page header - Update AppItem component to show a small filled star indicator for favorited apps (instead of an interactive button) - Simplify AppList by removing favorite-related props and hooks - Update E2E tests to test favorite functionality from the app details page ## Test plan - Open an app's details page and verify the favorite button appears next to the app name - Click the favorite button and verify the star fills in (app is favorited) - Click again to unfavorite and verify the star becomes unfilled - Return to the app list and verify favorited apps show a small filled star indicator - Run E2E tests: `npx playwright test favorite_app.spec.ts`
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2704" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Updated the pr-push skill documentation with improved instructions for handling uncommitted changes and pushing to remotes ## Test plan - Review the updated SKILL.md file for clarity and accuracy - Verify the instructions are correct for the pr-push workflow
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2714" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Update the release workflow dry-run publish step to invoke `electron-forge` directly. - Avoid `npm run publish` script indirection in CI release publishing. ## Test plan - npm run fmt - npm run lint:fix - npm run ts #skip-bugbot
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2711" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
This reverts commit a0693563. #skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2710" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
由 Will Chen 提交于
#skip-bb
-
由 Will Chen 提交于
ci: add reboot and verification steps to nightly runner cleanup (drive-by clean up fast push) (#2708) ## Summary - Add reboot step after cleanup script to ensure fresh runner state - Add verification job that runs on all CI runners to check disk space post-reboot - Verification job runs even if cleanup fails (since reboot kills the runner mid-job) ## Test plan - Verify the workflow structure is valid by checking GitHub Actions UI - Monitor next nightly run to ensure reboot completes successfully - Confirm verification job runs and reports disk space
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2708" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
- 13 2月, 2026 17 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Replaces static timeout-based wait with toPass() retry logic for ArrowUp navigation wrap test - Makes the test more resilient to timing variations with the BeautifulMentionsPlugin - Uses aria-selected attribute for more reliable selection detection ## Test plan - Run `npm run e2e -- chat_history.spec.ts` to verify the test passes - The test should be more stable and less prone to flakiness
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2699" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Fixed flaky SecurityReview E2E test by waiting for the "Running Security Review..." button state to appear and disappear, rather than just waiting for the original button to hide - Added documentation to `rules/e2e-testing.md` with a pattern for handling button state transitions in E2E tests ## Test plan - Run the SecurityReview E2E test multiple times to verify it's no longer flaky - `npm run e2e -- e2e-tests/security-review.spec.ts --repeat-each=10`
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2696" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Update Playwright summary artifact handling in CI workflow. - Adjust Playwright summary generation script for deterministic artifact links. ## Test plan - npm run fmt - npm run lint:fix - npm run ts
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2691" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
## Summary - Add a comprehensive plan document for convex backend support in . - Outline architecture and implementation strategy for switching backend storage and API behavior. - Define staged rollout and verification steps. ## Test plan - Run > dyad@0.37.0 fmt > npx oxfmt, > dyad@0.37.0 lint:fix > npx oxlint --fix --fix-suggestions --fix-dangerously Found 0 warnings and 0 errors. Finished in 20ms on 795 files with 88 rules using 10 threads., and > dyad@0.37.0 ts > npm run ts:main && npm run ts:workers > dyad@0.37.0 ts:main > npx tsgo -p tsconfig.app.json --noEmit --incremental > dyad@0.37.0 ts:workers > npx tsc -p workers/tsc/tsconfig.json --noEmit --incremental locally. - Manually review the generated plan document for completeness.
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2693" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 wwwillchen-bot 提交于
## Summary - Add comprehensive test suite for `readSettings()` covering all setting types including nested objects - Refactor `UserSettings` schema using Zod with proper nested objects (`chatMode.enabled`, `chatMode.mode`, `thinking.enabled`, `thinking.budget`) - Add migration path for legacy flat settings format to new nested structure ## Test plan - Run `npm test` to verify all 814 tests pass including new readSettings tests - Verify settings are properly loaded with both new nested format and legacy flat format
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2676" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by:
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
- setup_flow.spec.ts: Wait for domcontentloaded after reload and increase timeout for "Install Node.js Runtime" button visibility check - chat_history.spec.ts: Add small delay between keyboard navigation events and increase timeout on class assertion to prevent ArrowUp race condition - Navigation.ts: Wait for "Apps" link to be visible before clicking in goToAppsTab() to prevent timeouts when sidebar loads slowly <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2681" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:
claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by:
Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by:
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
## Summary - Added `GH_TOKEN` env var from `secrets.GITHUB_TOKEN` to the `Deflake E2E tests` action step in `.github/workflows/claude-deflake-e2e.yml`. - Removed `direct: true` from the `anthropics/claude-code-action` input list. ## Test plan - `npm run fmt` - `npm run lint:fix` - `npm run ts` - `npm test`
-
由 Will Chen 提交于
## Summary - add local `.agents/skills` symlink for skill tool access in workspace ## Test plan - npm run fmt - npm run lint:fix - npm run ts - npm test
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2690" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
## Summary - Adds comprehensive planning document for cloud sandbox runtime mode feature - Generated from collaborative planning session using dyad:swarm-to-plan skill - Outlines complete feature design, UX flows, technical architecture, and implementation phases ## Test plan - Document is for planning purposes and doesn't require functional testing - Review content for completeness and accuracy of scope and technical approach - Validate that implementation phases are well-sequenced and address all scope items
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2675" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 wwwillchen-bot 提交于
Fixes #1225 ## Summary - Separates the release workflow into build and publish phases - Build phase runs on all platforms in dry-run mode (no actual publish) - Artifacts are uploaded and downloaded between phases - Publish phase uses GitHub environment "release" for manual approval gate - Removes commented-out code for cleaner workflow ## Test plan - [ ] Trigger the release workflow manually - [ ] Verify build phase completes for all platforms (Windows, macOS, Linux) - [ ] Verify artifacts are uploaded successfully - [ ] Verify publish phase waits for environment approval - [ ] Approve and verify publish completes from dry-run artifacts - [ ] Verify verify-assets step still validates the release
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2662" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a manual approval gate to the release workflow by splitting it into build (dry-run) and publish phases. Builds run on Windows, macOS, and Linux; publish reuses artifacts after approval via the “release” environment. - **New Features** - Build job runs npm run publish -- --dry-run on all OS and uploads out/ artifacts (1-day retention). - Publish job waits on GitHub environment “release”, downloads artifacts, and runs npm run publish -- --from-dry-run. - verify-assets now runs after publish to validate the release. - Cleaned up commented code and pins npm 11.8.0 in publish job. - **Migration** - Ensure the GitHub environment “release” exists and requires the desired approvers. <sup>Written for commit 04fcc4025e533a6d8fb0804df80c10b3215cff8a. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> Co-authored-by:Will Chen <willchen90@gmail.com> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2678" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
由 Will Chen 提交于
## Summary - Updates pr-fix-comments skill to leverage product principles for resolving ambiguous feedback - Introduces 'Resolved by product principles' category to reduce human review burden - Adds guidance for citing principles in replies and flagging when insufficient - Enhances pr-fix meta-skill documentation on product principles usage ## Test plan 1. Verify that the updated skill documentation is accessible and clear 2. Review the new guidance on consulting rules/product-principles.md 3. Confirm the categorization options are correctly documented 4. Check that the reply examples include proper principle citations
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2674" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2672" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-
由 Will Chen 提交于
## Summary - Add `onConsoleLog` handler in vitest config to suppress all console output from tests (retry logs, settings errors, processor warnings) - Set `NODE_OPTIONS=--no-deprecation` to suppress punycode `DEP0040` warnings from vitest worker processes - Set `VITE_CJS_IGNORE_WARNING=true` to suppress Vite CJS API deprecation warning #skip-bugbot ## Test plan - Run `npm test` and verify clean output with no stderr noise - Verify all 810 tests still pass
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2665" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by:Claude Opus 4.6 <noreply@anthropic.com>
-
由 Will Chen 提交于
## Summary - Implements a new swarm planning skill that enables Product Manager, UX Designer, and Engineering Lead agents to collaboratively debate an idea - Agents analyze from their expert perspectives, debate trade-offs, and identify ambiguities - Produces a comprehensive plan document with problem statement, scope, user stories, UX design, technical design, and implementation roadmap ## Test plan - The skill can be invoked using `/dyad:swarm-to-plan <idea>` - It should spawn a planning team with three specialized agents - Agents should analyze the idea, debate assumptions, and compile a final plan to `plans/<plan-name>.md` - Verify the planning team shuts down gracefully after completion - Check that the generated plan includes all required sections from both PM, UX, and Engineering perspectives
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2670" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
## Summary - Add new Playwright debug skill to help developers debug E2E test failures - Provide instructions for using manual `page.screenshot()` calls to capture test state - Update AGENTS.md with guidance on when and how to use the skill ## Test plan - Review the skill documentation to ensure it provides clear instructions for: - Identifying which test to debug - Adding debug screenshots to test code - Viewing and analyzing captured screenshots - Cleaning up debug artifacts - The skill can be invoked with `/dyad:debug-with-playwright` when debugging E2E test failures
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2671" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> -
由 Will Chen 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2669" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
-