- 03 3月, 2026 6 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Add a pre-flight check in `gitAdd` to detect if a file is ignored by `.gitignore` before attempting to stage it - Skip staging ignored files gracefully with a debug log instead of throwing an error - This prevents errors when the AI attempts to stage files like `.env.local` that should remain untracked ## Test plan - [ ] Verify that staging a normal file still works correctly - [ ] Create a `.gitignore` file that ignores a test file (e.g., `test.ignored`) - [ ] Create the ignored file and attempt to stage it - [ ] Confirm the file is skipped without error and a debug message is logged
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2707" 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:
claude[bot] <41898282+claude[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
## Summary - Fix stale-read race condition in `handleSupabaseOAuthReturn` and `refreshSupabaseTokenForOrganization` where settings are read before an async network call, then written back using the stale snapshot — silently overwriting any concurrent credential writes from other orgs - Fix legacy `refreshSupabaseToken` to preserve the `organizations` map by spreading existing supabase settings before writing ## Test plan - Verify connecting multiple Supabase organizations no longer causes previously-connected orgs to lose their credentials - Verify token refresh for one org does not clobber another org's credentials - All existing unit tests pass (842/842)
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2821" 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 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2855" 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 - Updated Supabase prompt to emphasize using the `execute_sql` tool for database operations - Changed documentation to clarify that users should not manually create migration files - Added warning that migration files in `supabase/migrations/` are automatically generated ## Test plan - Review the updated prompt content in `src/prompts/supabase_prompt.ts` - Verify that the guidance is clear about using execute_sql tool - Ensure migration file warning is prominent
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2829" 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 --> -
由 Mohamed Aziz Mejri 提交于
closes #2804 <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2841" 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.5 <noreply@anthropic.com>
-
由 Will Chen 提交于
Handle connection-drop and retry behavior in local agent IPC handling. Add an end-to-end scenario that verifies recovery after a temporary local agent disconnect. Align test fixtures and snapshots for local-agent reconnection behavior.
-
- 27 2月, 2026 6 次提交
-
-
由 Will Chen 提交于
## Summary - Bump @ai-sdk/openai dependency in package.json from ^3.0.25 to ^3.0.36. - Refresh package-lock.json to match the updated resolution. ## 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/2812" 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 --> -
由 Mohamed Aziz Mejri 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2789" 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 <noreply@anthropic.com> Co-authored-by:
Will Chen <willchen90@gmail.com>
-
由 Will Chen 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2811" 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 - Refactored the TokenBar's percentage and context window display to use a cleaner flex-based layout - Added a centered separator dot between percentage and context window values - Improved visual alignment with `items-center` and consistent spacing ## Test plan - Open a chat to view the TokenBar component - Verify the token percentage and context window display are properly aligned - Check that the separator dot appears with correct styling
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2783" 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:
claude[bot] <41898282+claude[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
## Summary - Add new skill definition for under . - Document required workflow for adding model configurations from official docs. ## 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/2786" 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>
-
由 Mohamed Aziz Mejri 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2810" 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 -->
-
- 26 2月, 2026 7 次提交
-
-
由 Will Chen 提交于
Fixes #2790 ## Summary - Return SQL execution output from execute_sql tool instead of discarding it - Surface migration write failures alongside SQL execution results - Preserve existing migration behavior while improving feedback for callers ## 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/2797" 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 - **attach_image.spec.ts**: Fix flaky aria snapshot for `upload-to-codebase` test by using regex patterns for non-deterministic button text and removing race-dependent "extra files edited outside of Dyad" assertion - **context_compaction.spec.ts**: Replace brittle aria snapshots with order-independent element assertions since compaction restructures messages non-deterministically between runs ## Test plan - [x] `attach_image.spec.ts` passes 30/30 runs with `--repeat-each=30` - [x] `context_compaction.spec.ts` passes 20/20 runs with `--repeat-each=10` - [x] Full test suite (`npm test`) passes (842/842 tests) - [x] Lint checks pass (`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/2793" 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>
-
由 wwwillchen-bot 提交于
## Summary - cap `pr-review-responder` auto re-request attempts at 3 retries - mark PRs with `cc:failed` and `needs-human:review-issue` when retry limit is reached - fix strict TypeScript errors in GitHub/local agent handlers so `npm run ts` passes ## 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/2798" 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>
-
由 Will Chen 提交于
## Summary - Add planning document for implementing a new `web_fetch` tool for local agent mode - This tool will fetch and read website content when users share URLs, available to all users (free + Pro) - Unlike the existing Pro-only `web_crawl` tool, `web_fetch` performs direct local HTTP fetch at zero infrastructure cost ## Test plan - Manual review of the plan document to ensure implementation strategy is clear - Implementation will follow the detailed testing strategy outlined in the plan
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2801" 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 --> -
由 Mohamed Aziz Mejri 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2803" 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 -->
-
由 Mohamed Aziz Mejri 提交于
## Summary Add persistence layer for todos so they survive across multiple turns in a chat session. Todos are now saved to disk after each update and automatically loaded and injected into the conversation context when a new turn begins. ## Key Changes - **New module `todo_persistence.ts`**: Provides utilities to save, load, and delete todo JSON files stored in `.dyad/todos/<chatId>.json` - `getTodosFilePath()`: Constructs the file path for a chat's todos - `saveTodos()`: Persists todos to disk with metadata (updatedAt timestamp) - `loadTodos()`: Loads previously saved todos, gracefully handling missing or corrupted files - `deleteTodos()`: Removes the todos file when all todos are completed - **Updated `local_agent_handler.ts`**: - Load persisted todos at the start of each turn - Emit loaded todos to the renderer immediately so the UI reflects them - Initialize the agent context with persisted todos instead of an empty array - Inject a synthetic system message reminding the LLM of incomplete todos from the previous turn, following the same pattern as existing todo reminder logic - Ensure `.dyad/` directory is gitignored (idempotent operation) - **Updated `update_todos.ts`**: - Persist todos to disk after each tool execution - Delete the todos file when all todos are marked as completed ## Implementation Details - Todos are stored as JSON with an `updatedAt` timestamp for potential future use - File I/O errors are logged as warnings but don't interrupt the agent flow (graceful degradation) - The synthetic message injection for persisted todos only occurs if there are incomplete todos, avoiding unnecessary context pollution - The `.dyad/` gitignore step is idempotent and aligns with existing patterns in the codebase <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2713" 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 <noreply@anthropic.com> Co-authored-by:
Mohamed Aziz Mejri <mohamedazizmejri@Mohameds-Mac-mini.local>
-
由 wwwillchen-bot 提交于
## Summary - Compute a stable Monaco `path` value from `appId` and `filePath` in `FileEditor` - Pass that `path` into the editor so file models are keyed consistently across renders/apps ## 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/2781" 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>
-
- 25 2月, 2026 4 次提交
-
-
由 Mohamed Aziz Mejri 提交于
closes #2576 <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2757" 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 - Refactor `useParseRouter` hook to improve code organization and maintainability - Add comprehensive unit tests for the `useParseRouter` hook covering navigation state parsing, route matching, and edge cases ## Test plan - Run `npm test` to verify all 842 tests pass - The new tests in `src/__tests__/useParseRouter.test.ts` cover various navigation scenarios
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2780" 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 step 8 to the `pr-push` skill that automatically adds the `cc:request` label for non-trivial PRs to trigger code review - This prevents issues like lint failures from slipping through when the agent doesn't fully execute lint checks (e.g., due to token limits in long CI runs) - Renumbered subsequent steps (9-11) accordingly ## Test plan - [ ] Verify the `pr-push` skill SKILL.md has the new step 8 with clear trivial/non-trivial criteria - [ ] Verify step numbering is correct (1-11) - [ ] Run `pr-push` on a non-trivial PR and confirm `cc:request` label is added
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2773" 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 提交于
Scope Import button locators to the GitHub URL tab panel to prevent strict mode violations when both tab panels render Import buttons simultaneously. Verified: 60/60 passes after fix. <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2775" 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>
-
- 24 2月, 2026 3 次提交
-
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Enable planning_questionnaire in normal agent mode and enforce a clarify‑before‑plan workflow with explicit examples. Also adds a one‑pass todo follow‑up so the agent completes remaining tasks before stopping. - **New Features** - planning_questionnaire is available in both plan and normal modes. - Clarify step: call planning_questionnaire to ask 1–3 focused questions for vague requests; skip when specific; STOP until the user replies. Always use it for new app/major feature requests. - One-pass todo follow-up: if a turn ends with incomplete todos, inject a short reminder and run another pass to finish them. - **Bug Fixes** - Always stop after planning_questionnaire in both modes to prevent repeated tool calls. - Gate plan-only tools: write_plan and exit_plan are plan‑mode only; questionnaire remains available in normal mode. <sup>Written for commit c6a67ea7e6981e86418dddeaa245b918a22261e9. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2566" 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:
Mohamed Aziz Mejri <mohamedazizmejri@Mohameds-Mac-mini.local> Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
-
由 wwwillchen-bot 提交于
## Summary - Hides the "Fix with AI" button in the `DyadOutput` component while a response is being streamed - Prevents users from triggering conflicting AI fix requests during an ongoing stream - Uses the existing `isStreamingByIdAtom` to track streaming state per chat ## Test plan - Open the app and trigger an error/warning in the output - Start a streaming response - Verify the "Fix with AI" button is hidden during streaming - Verify the button reappears after streaming completes
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2771" 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 提交于
#skip-bb <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2770" 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 -->
-
- 23 2月, 2026 2 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Fixed flaky `refresh app` test in `refresh.spec.ts` by adding pre-refresh snapshot verification and post-refresh content wait - The test was failing ~20% of the time because the iframe body would remain empty after clicking refresh - Added `snapshotPreview()` before body removal to ensure initial content is loaded - Added `not.toHaveText("")` wait after refresh to ensure content reloads before snapshotting ## Flaky test analysis Scanned 1 main branch CI run (with available artifacts) + 9 PR comments from wwwillchen/wwwillchen-bot. Top flaky spec files by occurrence: | Spec File | Occurrences | Status | |:---|:---:|:---| | setup_flow.spec.ts | 13 | Already fixed (PR #2740) | | debugging_logs.spec.ts | 6 | Stable (passed 50/50) | | select_component.spec.ts | 6 | Stable (passed 60/60) | | setup.spec.ts | 5 | Stable (passed 10/10) | | switch_versions.spec.ts | 5 | Stable (passed 20/20) | | **refresh.spec.ts** | **5** | **Fixed in this PR** | | toggle_screen_sizes.spec.ts | 4 | Stable (passed 30/30) | | undo.spec.ts | 3 | Stable (passed 30/30) | ## Verification - `refresh.spec.ts` passed 40/40 runs with `--repeat-each=10` after the fix (was 38/40 before) ## Test plan - [x] Verify `refresh.spec.ts` passes consistently with `--repeat-each=10` - [x] No application code changes (test-only fix)🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2759" 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>
-
由 wwwillchen-bot 提交于
## Summary - Changed the Claude Deflake E2E workflow schedule from daily to weekdays only (Monday-Friday at 10:00 UTC) - This reduces unnecessary CI runs on weekends when less attention is paid to flaky test results ## Test plan - Verify the cron expression `0 10 * * 1-5` is valid and represents weekdays only - The workflow can still be triggered manually via `workflow_dispatch`
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2761" 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>
-
- 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 4 次提交
-
-
由 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>
-