refactor: log previously swallowed exceptions in dispatcher.py

This commit is contained in:
meeks
2026-07-16 12:54:06 +02:00
parent a14e2bdd50
commit 26d69707c6
+16 -15
View File
@@ -185,8 +185,8 @@ class PRTaskProcessor(TaskProcessor):
pr_files: list[PullRequestFileModel] = [] pr_files: list[PullRequestFileModel] = []
try: try:
pr_files = self.client.get_pull_request_files(self.owner, self.repo_name, pr_number) pr_files = self.client.get_pull_request_files(self.owner, self.repo_name, pr_number)
except Exception: except Exception as e:
pass logger.warning(f"Error fetching files for PR #{pr_number}: {e}", exc_info=True)
files_summary = "\n".join([f"- {f.filename}" for f in pr_files]) if pr_files else "No files available." files_summary = "\n".join([f"- {f.filename}" for f in pr_files]) if pr_files else "No files available."
@@ -195,16 +195,16 @@ class PRTaskProcessor(TaskProcessor):
comments = self.client.get_pull_request_comments(self.owner, self.repo_name, pr_number) comments = self.client.get_pull_request_comments(self.owner, self.repo_name, pr_number)
if not isinstance(comments, list): if not isinstance(comments, list):
comments = [] comments = []
except Exception: except Exception as e:
pass logger.warning(f"Error fetching comments for PR #{pr_number}: {e}", exc_info=True)
reviews: list[dict[str, Any]] = [] reviews: list[dict[str, Any]] = []
try: try:
reviews = self.client.get_pr_reviews(self.owner, self.repo_name, pr_number) reviews = self.client.get_pr_reviews(self.owner, self.repo_name, pr_number)
if not isinstance(reviews, list): if not isinstance(reviews, list):
reviews = [] reviews = []
except Exception: except Exception as e:
pass logger.warning(f"Error fetching reviews for PR #{pr_number}: {e}", exc_info=True)
timeline: list[dict[str, Any]] = [] timeline: list[dict[str, Any]] = []
for c in comments: for c in comments:
@@ -342,8 +342,8 @@ class PRTaskProcessor(TaskProcessor):
pr_comments = [] pr_comments = []
try: try:
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, self.item.task_number) pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, self.item.task_number)
except Exception: except Exception as e:
pass logger.warning(f"Error fetching comments for PR #{self.item.task_number}: {e}", exc_info=True)
if _is_awaiting_reply_helper(pr_comments, self.ai_username): if _is_awaiting_reply_helper(pr_comments, self.ai_username):
logger.info(f"PR #{self.item.task_number}: agent asked a question and is awaiting a human reply. Skipping.") logger.info(f"PR #{self.item.task_number}: agent asked a question and is awaiting a human reply. Skipping.")
return f"SKIP: Awaiting human reply on PR #{self.item.task_number}." return f"SKIP: Awaiting human reply on PR #{self.item.task_number}."
@@ -403,8 +403,8 @@ class IssueTaskProcessor(TaskProcessor):
comments: list[CommentModel] = [] comments: list[CommentModel] = []
try: try:
comments = self.client.get_issue_comments(self.owner, self.repo_name, issue_number) comments = self.client.get_issue_comments(self.owner, self.repo_name, issue_number)
except Exception: except Exception as e:
pass logger.warning(f"Error fetching comments for issue #{issue_number}: {e}", exc_info=True)
labels_str = f"Labels: {', '.join(issue_labels)}" if issue_labels else "Labels: none" labels_str = f"Labels: {', '.join(issue_labels)}" if issue_labels else "Labels: none"
comments_str = "\n".join([ comments_str = "\n".join([
@@ -472,15 +472,15 @@ class IssueTaskProcessor(TaskProcessor):
issue_comments = [] issue_comments = []
try: try:
issue_comments = self.client.get_issue_comments(self.owner, self.repo_name, self.item.task_number) issue_comments = self.client.get_issue_comments(self.owner, self.repo_name, self.item.task_number)
except Exception: except Exception as e:
pass logger.warning(f"Error fetching comments for issue #{self.item.task_number}: {e}", exc_info=True)
pr_comments = [] pr_comments = []
if existing_pr: if existing_pr:
try: try:
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, existing_pr.number) pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, existing_pr.number)
except Exception: except Exception as e:
pass logger.warning(f"Error fetching comments for PR #{existing_pr.number}: {e}", exc_info=True)
if _is_awaiting_reply_helper(issue_comments, self.ai_username) or _is_awaiting_reply_helper(pr_comments, self.ai_username): if _is_awaiting_reply_helper(issue_comments, self.ai_username) or _is_awaiting_reply_helper(pr_comments, self.ai_username):
logger.info(f"Issue #{self.item.task_number}: awaiting human reply. Skipping.") logger.info(f"Issue #{self.item.task_number}: awaiting human reply. Skipping.")
@@ -507,7 +507,8 @@ class IssueTaskProcessor(TaskProcessor):
f"- @{r.get('user', {}).get('login')} ({r.get('submitted_at')}): [{r.get('state')}] {r.get('body')}" f"- @{r.get('user', {}).get('login')} ({r.get('submitted_at')}): [{r.get('state')}] {r.get('body')}"
for r in reviews for r in reviews
]) if reviews else "No reviews yet." ]) if reviews else "No reviews yet."
except Exception: except Exception as e:
logger.warning(f"Error fetching reviews for PR #{existing_pr.number}: {e}", exc_info=True)
reviews_str = "No reviews available." reviews_str = "No reviews available."
pr_info_str = ( pr_info_str = (
f"PR Number: #{existing_pr.number}\n" f"PR Number: #{existing_pr.number}\n"