• Will Chen's avatar
    Split closed-issue-comment workflow by commenter identity (#3270) · 55f45d5c
    Will Chen 提交于
    ## Summary
    - Move the author-vs-commenter check from the Claude prompt into
    workflow-level `if:` conditions so Case 1 (original author follow-up)
    and Case 2 (third-party comment) route deterministically.
    - Case 2 no longer invokes Claude — it just posts the fixed redirect
    comment with `gh issue comment`.
    - Skip bot-authored comments to prevent loops.
    
    Previously the single-prompt design conflated the two cases when a
    maintainer's closing comment mentioned the original author and described
    the symptom, causing the bot to re-open the issue under Case 1 even
    though COMMENT_AUTHOR did not match ISSUE_AUTHOR (see
    dyad-sh/dyad#3228).
    
    ## Test plan
    - [ ] Trigger a closed-issue comment from a non-author account → expect
    only the redirect comment, no re-open, no LLM usage.
    - [ ] Trigger a closed-issue comment from the original author expressing
    the issue still occurs → expect re-open + "we've re-opened the issue"
    comment.
    - [ ] Trigger a closed-issue comment from the original author that's
    just a thank-you → expect no action.
    - [ ] Bot comment on a closed issue → no workflow run.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3270"
    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 in Devin Review">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    55f45d5c
名称
最后提交
最后更新
.agents 正在载入提交数据...
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
.storybook 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
plans 正在载入提交数据...
rules 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.npmrc 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...
vitest.eval.config.ts 正在载入提交数据...
windowsSign.ts 正在载入提交数据...