Przeglądaj źródła

Fix / Improve Github Eyes Reaction Removal (#5383)

Daniel Polito 2 miesięcy temu
rodzic
commit
dce4585d40
1 zmienionych plików z 9 dodań i 6 usunięć
  1. 9 6
      packages/opencode/src/cli/cmd/github.ts

+ 9 - 6
packages/opencode/src/cli/cmd/github.ts

@@ -124,6 +124,8 @@ type IssueQueryResponse = {
   }
   }
 }
 }
 
 
+const AGENT_USERNAME = "opencode-agent[bot]"
+const AGENT_REACTION = "eyes"
 const WORKFLOW_FILE = ".github/workflows/opencode.yml"
 const WORKFLOW_FILE = ".github/workflows/opencode.yml"
 
 
 export const GithubCommand = cmd({
 export const GithubCommand = cmd({
@@ -422,7 +424,7 @@ export const GithubRunCommand = cmd({
         await configureGit(appToken)
         await configureGit(appToken)
         await assertPermissions()
         await assertPermissions()
 
 
-        await addReaction("eyes")
+        await addReaction()
 
 
         // Setup opencode session
         // Setup opencode session
         const repoData = await fetchRepo()
         const repoData = await fetchRepo()
@@ -812,8 +814,8 @@ export const GithubRunCommand = cmd({
 
 
         await $`git config --local --unset-all ${config}`
         await $`git config --local --unset-all ${config}`
         await $`git config --local ${config} "AUTHORIZATION: basic ${newCredentials}"`
         await $`git config --local ${config} "AUTHORIZATION: basic ${newCredentials}"`
-        await $`git config --global user.name "opencode-agent[bot]"`
-        await $`git config --global user.email "opencode-agent[bot]@users.noreply.github.com"`
+        await $`git config --global user.name "${AGENT_USERNAME}"`
+        await $`git config --global user.email "${AGENT_USERNAME}@users.noreply.github.com"`
       }
       }
 
 
       async function restoreGitConfig() {
       async function restoreGitConfig() {
@@ -935,13 +937,13 @@ Co-authored-by: ${actor} <${actor}@users.noreply.github.com>"`
         if (!["admin", "write"].includes(permission)) throw new Error(`User ${actor} does not have write permissions`)
         if (!["admin", "write"].includes(permission)) throw new Error(`User ${actor} does not have write permissions`)
       }
       }
 
 
-      async function addReaction(reaction: "eyes") {
+      async function addReaction() {
         console.log("Adding reaction...")
         console.log("Adding reaction...")
         return await octoRest.rest.reactions.createForIssueComment({
         return await octoRest.rest.reactions.createForIssueComment({
           owner,
           owner,
           repo,
           repo,
           comment_id: triggerCommentId,
           comment_id: triggerCommentId,
-          content: reaction,
+          content: AGENT_REACTION,
         })
         })
       }
       }
 
 
@@ -951,9 +953,10 @@ Co-authored-by: ${actor} <${actor}@users.noreply.github.com>"`
           owner,
           owner,
           repo,
           repo,
           comment_id: triggerCommentId,
           comment_id: triggerCommentId,
+          content: AGENT_REACTION,
         })
         })
 
 
-        const eyesReaction = reactions.data.find((r) => r.content === "eyes")
+        const eyesReaction = reactions.data.find((r) => r.user?.login === AGENT_USERNAME)
         if (!eyesReaction) return
         if (!eyesReaction) return
 
 
         await octoRest.rest.reactions.deleteForIssueComment({
         await octoRest.rest.reactions.deleteForIssueComment({