1. 21 4月, 2026 3 次提交
  2. 19 4月, 2026 1 次提交
    • Mohamed Aziz Mejri's avatar
      Neon integration (#3178) · 661e1438
      Mohamed Aziz Mejri 提交于
      ### Context for review bots :
      
      1.The agent can execute sql commands directly on production , this is
      fine because they user may choose to start with a simple setup first and
      use the production database directly (in a follow up PR we should give
      the users the ability to sync dev branch to match production branch).The
      user also has the possiblity to revert database changes .
      2.Right now there’s no warning for destructive changes before migration
      , this is fine for now as we're gonna add a follow up PR for this
      3.When linking an existing neon project that doesnt have a developement
      database , we're setting the default branch as the active branch . This
      is fine because the user may prefer to start a simple setup at the
      beginning and work directly on the production database , in addition
      since the project was created outside dyad it may have a developement
      branch named differently so it wouldnt be wise to auto create one here .
      However, in a follow up PR we should allow the user to manually create
      branches and sync dev branch to match production .
      4.neon is only available for next.js now
      5.We dont have enough tests for now, i am gonna add a follow-up PR to
      cover this
      <!-- devin-review-badge-begin -->
      
      ---
      
      <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3178"
      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: 's avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
      661e1438
  3. 16 4月, 2026 1 次提交
  4. 15 4月, 2026 1 次提交
    • Nour Zakhma's avatar
      Feature/pause queue (#3077) · f2265f83
      Nour Zakhma 提交于
      closes #3075 
      Implements pause/resume functionality for the message queue processing
      system, allowing users to pause automatic processing of queued messages
      and selectively resume. Includes session-level persistence via
      sessionStorage.
      
      
      <img width="594" height="694" alt="Capture d&#39;écran 2026-03-26
      045040"
      src="https://github.com/user-attachments/assets/2cf9648f-7be1-466c-971c-e2e96faccd0d"
      />
      
      
      9 comprehensive E2E test cases covering:
      Pause/Resume button visibility
      Pause functionality and message blocking
      Resume processing
      SessionStorage persistence (empty & non-empty cases)
      Multiple pause/resume cycles
      Per-chat isolation
      Visual styling
      f2265f83
  5. 14 4月, 2026 2 次提交
  6. 10 4月, 2026 5 次提交
  7. 09 4月, 2026 10 次提交
  8. 08 4月, 2026 11 次提交
  9. 07 4月, 2026 4 次提交
  10. 03 4月, 2026 2 次提交
    • Will Chen's avatar
      Add new contributors to code review allowlists (#3121) · 653fc7b8
      Will Chen 提交于
      <!-- devin-review-badge-begin -->
      
      ---
      
      <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3121"
      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: 's avatarClaude <noreply@anthropic.com>
      653fc7b8
    • Ryan Groch's avatar
      perf: reduce number of native git calls when extracting a codebase (#3105) · 0beeb501
      Ryan Groch 提交于
      Currently, `collectFiles` is calling `isGitIgnored` on each
      (non-excluded) recursion. Although there is caching, we're frequently
      executing Git just to check whether an individual file or directory is
      gitignored, meaning that the number of Git invocations scales with the
      number of files in the user's app.
      
      This amounts to a substantial number of Git invocations. For smaller
      projects it could be dozens; for larger projects it could be thousands.
      It's particularly a problem for native Git, because each `exec` call
      comes with a lot of overhead even though Git itself is quite fast.
      
      Although I'm not 100% sure, I suspect that this was the underlying cause
      of both #2795 and #1642, because:
      1. Both mention Dyad freezing when dealing with larger projects, and
      this issue is far more noticeable for large projects.
      2. Both specifically mention that the freeze happens upon opening their
      project, which is when `collectFiles` runs.
      3. I was able to replicate the crash consistently on Windows 10 and
      inconsistently on Linux Mint by importing a large project into Dyad. I
      don't yet have a good automated test for this, though.
      
      The solution that I wrote for this PR puts the responsibility of
      traversing the app's files onto native Git instead of doing it manually.
      This means that we'll only have one Git invocation per call to the
      function (formerly named) `collectFiles`.
      
      I've also done my best to keep the output of `collectFilesNativeGit` as
      close as possible to the original `collectFiles`. The ordering of the
      files will be different, but I don't think that should make a difference
      given that we later sort them anyway.
      
      Some alternatives I've thought of if we decide we want to keep the
      current traversal logic:
      - Run `git check-ignore` on batches of files (e.g. each result of
      `fsAsync.readdir`) rather than one at a time. This would still result in
      multiple Git calls, though.
      - Run `git check-ignore` on all of the files at once at the end of
      `collectFiles`. We wouldn't be able to prune gitignored directories in
      our traversal, but at least we'd still avoid the directories in
      `EXCLUDED_DIRS`, such as `node_modules` and `.next`.
      
      I've left the logic of `collectFiles` untouched for isomorphic-git for
      now. There might be a good way to optimize that as well, but it will
      likely be a bit different because isomorphic-git has different
      capabilities than native Git.
      <!-- devin-review-badge-begin -->
      
      ---
      
      <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3105"
      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: 's avatarClaude <noreply@anthropic.com>
      0beeb501