- 05 3月, 2026 11 次提交
-
-
由 Will Chen 提交于
## Summary - Added dyadbot wherever wwwillchen-bot was allowlisted in CI workflows and automation policy docs. - Updated trusted author/bot references in PR workflow selectors and skill docs to include dyadbot. ## Test plan - Ran > dyad@0.39.0-beta.1 fmt > npx oxfmt - Ran > dyad@0.39.0-beta.1 lint:fix > npx oxlint --fix --fix-suggestions --fix-dangerously Found 0 warnings and 0 errors. Finished in 18ms on 817 files with 88 rules using 10 threads. - Ran > dyad@0.39.0-beta.1 ts > npm run ts:main && npm run ts:workers > dyad@0.39.0-beta.1 ts:main > npx tsgo -p tsconfig.app.json --noEmit --incremental > dyad@0.39.0-beta.1 ts:workers > npx tsc -p workers/tsc/tsconfig.json --noEmit --incremental - Verified remaining allowlist references for consistency
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2899" 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/2832" 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 提交于
Made-with: Cursor <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2896" 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 -->
-
由 Adekunle James Adeniji 提交于
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2712" 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> Co-authored-by:
Will Chen <willchen90@gmail.com>
-
由 Will Chen 提交于
## Summary Adds `princeaden1` to the allowed users list for the PR review responder workflow (alongside wwwillchen and wwwillchen-bot). ## Test plan - CI workflow runs on this PR - No functional changes to application code; workflow change only Made with [Cursor](https://cursor.com) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2894" 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 - Reject blank and whitespace-only `delete_file` paths at schema level. - Add runtime guard to refuse project-root-equivalent delete targets (like `.`, `./`, `.\\`, or normalized `foo/..`). - Add unit tests covering root-path rejection and normal file/directory delete behavior. ## Test plan - [x] `npm test -- src/pro/main/ipc/handlers/local_agent/tools/delete_file.spec.ts` - [x] `npm run fmt && npm run lint:fix && npm run ts` Made with [Cursor](https://cursor.com) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2859" 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 - Update PR review responder workflow to run on a macOS ARM self-hosted runner for compatibility with macOS-specific tooling. - Keep permissions and trigger logic unchanged while replacing runner label. ## Test plan - Ran required checks locally: > dyad@0.39.0-beta.1 fmt > npx oxfmt > dyad@0.39.0-beta.1 lint:fix > npx oxlint --fix --fix-suggestions --fix-dangerously Found 0 warnings and 0 errors. Finished in 32ms on 813 files with 88 rules using 10 threads. > dyad@0.39.0-beta.1 ts > npm run ts:main && npm run ts:workers > dyad@0.39.0-beta.1 ts:main > npx tsgo -p tsconfig.app.json --noEmit --incremental > dyad@0.39.0-beta.1 ts:workers > npx tsc -p workers/tsc/tsconfig.json --noEmit --incremental.
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2893" 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 - Improve compaction prompt/provider option handling in IPC handlers - Tighten local agent tool option passing and argument defaults - Align LLM engine provider option generation across related paths ## 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/2876" 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 - Update the Claude triage workflow to be more conservative about changing user-provided issue titles - Only update titles that are essentially blank or contain no meaningful information (placeholders, single unhelpful words like "help" or "bug", just punctuation) - Key rule: if you can understand what the user is roughly talking about from the title, leave it alone ## Test plan - Review the updated workflow conditions to verify they are appropriately conservative - Monitor triage behavior on new issues to confirm fewer unnecessary title edits
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2888" 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 - Include `dyadRequestId` in `terminated_stream_retry` telemetry events for better traceability - Add new `terminated_stream_retries_exhausted` telemetry event when all retries are used up (both stream_iteration and response_finalization phases) - Bump `MAX_TERMINATED_STREAM_RETRIES` from 2 to 3 ## Test plan - Existing `local_agent_handler` unit tests pass (stream retry tests verified) - Verify telemetry events include `dyadRequestId` in retry scenarios - Verify exhausted event fires when retries exceed the new limit of 3 #skip-bugbot Made with [Cursor](https://cursor.com) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2877" 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 `wwwillchen-bot` to `allowed_non_write_users` in `.github/workflows/claude-pr-review.yml` - Keep existing `princeaden1` allowlist entry and broaden workflow access for trusted bot-driven contributions ## 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/2882" 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 -->
-
- 03 3月, 2026 7 次提交
-
-
由 wwwillchen-bot 提交于
## Summary - Increase MAX_TOOL_CALL_STEPS from 25 to 50 to allow longer multi-step tasks - Add step limit detection to track total steps across all passes - Show a clear `<dyad-step-limit>` message when the limit is reached, instructing users to send "continue" to resume - Create DyadStepLimit component for displaying the pause notification Fixes #2754 ## Test plan - Run the local agent and perform a task that requires many tool calls - Verify the agent pauses at 50 tool calls instead of 25 - Verify a clear message is shown explaining why it paused and how to continue - Type "continue" to verify the agent resumes working
🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2828" 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 - 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>
-