- 21 2月, 2026 2 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - **refresh.spec.ts**: Fix race condition where the "refresh app" test would fail because the iframe body was empty after refresh. Added explicit waits for the iframe body to have content both before removing it and after clicking refresh, preventing the `toMatchAriaSnapshot` from matching against an empty `<body></body>`. - **themes_management.spec.ts**: Fix strict mode violations where `getByLabel('Description (optional)')` resolved to 2 elements (one on the Manual tab, one on the AI tab). Replaced ambiguous label selectors with specific element ID selectors (`#manual-description`, `#manual-prompt`, `#ai-description`). Also scoped edit dialog selectors to the dialog role to avoid similar ambiguity. ## Verification Both spec files were verified with `--repeat-each=10` (0 retries) after fixes: - `refresh.spec.ts`: 40/40 passed (was 34/40 before fix) - `themes_management.spec.ts`: 50/50 passed (was 49/50 before fix) ## Flaky test scan results Scanned 2 CI runs on main + 11 PRs by wwwillchen/wwwillchen-bot. Most previously flaky tests (setup_flow, setup, select_component, debugging_logs, switch_versions, etc.) appear to have been fixed in prior commits. Only refresh.spec.ts and themes_management.spec.ts were still reproducing locally. ## Test plan - [x] `refresh.spec.ts` passes 10x repeat-each with 0 retries - [x] `themes_management.spec.ts` passes 10x repeat-each with 0 retries - [x] Formatting, linting, 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/2752" 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 - Adds comprehensive planning document for first-class NeonDB integration at `plans/neondb-integration.md` - Generated via swarm-to-plan session with PM, UX, and Engineering agents who analyzed the idea, debated trade-offs, and incorporated user decisions - Covers full-stack design: agent tools, system prompt, UI changes, security model, and example code for Neon + Drizzle ORM + NextAuth.js ## Test plan - [ ] Review the plan document for completeness and accuracy - [ ] Verify alignment with existing Supabase integration architecture - [ ] Confirm example code patterns are correct
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2748" 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>
-
- 18 2月, 2026 1 次提交
-
-
由 Will Chen 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2743" 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 -->
-
- 17 2月, 2026 3 次提交
-
-
由 Will Chen 提交于
## Summary - Adds a new Claude Code skill that monitors GitHub Actions workflow runs from the past day - Identifies severe or consistent failures and files GitHub issues for actionable problems - Includes detailed instructions for classifying failures, investigating issues, and filing reports ## Test plan - The skill can be manually triggered via `/dyad:check-workflows` or run on a daily schedule at 13:00 UTC - Check the generated GitHub issue (if any) to verify the classification and reporting logic works correctly - Verify that expected failures (like Nightly Runner Cleanup, cascading CI failures) are properly filtered out
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2738" 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 - 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 13 次提交
-
-
由 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 -->
-