fix(gh-monitor): filter own comments to prevent loops; switch delivery to announce
This commit is contained in:
@@ -191,7 +191,7 @@ def dispatch_agent(repo_slug: str, pr: dict, event: dict) -> None:
|
||||
"--session", "isolated",
|
||||
"--message", message,
|
||||
"--delete-after-run",
|
||||
"--no-deliver",
|
||||
"--announce",
|
||||
"--timeout-seconds", "300",
|
||||
],
|
||||
capture_output=True,
|
||||
@@ -261,6 +261,8 @@ def poll_repo(repo_cfg: dict, state: dict) -> dict:
|
||||
|
||||
all_new_events: list[tuple[dict, dict]] = [] # (pr, event)
|
||||
|
||||
my_login = repo_cfg.get("ignore_actor", "hansheinemann")
|
||||
|
||||
for pr in open_prs:
|
||||
pr_number = pr["number"]
|
||||
fetchers = []
|
||||
@@ -276,6 +278,11 @@ def poll_repo(repo_cfg: dict, state: dict) -> dict:
|
||||
events = fetcher(owner, repo, pr_number)
|
||||
new = new_events_since(events, cursor, seen_ids)
|
||||
for event in new:
|
||||
if event.get("actor") == my_login:
|
||||
log.debug("Skipping own event from %s", my_login)
|
||||
if event.get("id"):
|
||||
seen_ids.add(event["id"])
|
||||
continue
|
||||
all_new_events.append((pr, event))
|
||||
except GHAPIError as e:
|
||||
log.error("[%s] PR #%d fetch error: %s", repo_slug, pr_number, e)
|
||||
|
||||
Reference in New Issue
Block a user