From 26d69707c6aa9ce78824cd02850f822c78642b47 Mon Sep 17 00:00:00 2001 From: meeks Date: Thu, 16 Jul 2026 12:54:06 +0200 Subject: [PATCH] refactor: log previously swallowed exceptions in dispatcher.py --- core/dispatcher.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/core/dispatcher.py b/core/dispatcher.py index f5df2a2..c479a53 100644 --- a/core/dispatcher.py +++ b/core/dispatcher.py @@ -185,8 +185,8 @@ class PRTaskProcessor(TaskProcessor): pr_files: list[PullRequestFileModel] = [] try: pr_files = self.client.get_pull_request_files(self.owner, self.repo_name, pr_number) - except Exception: - pass + except Exception as e: + 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." @@ -195,16 +195,16 @@ class PRTaskProcessor(TaskProcessor): comments = self.client.get_pull_request_comments(self.owner, self.repo_name, pr_number) if not isinstance(comments, list): comments = [] - except Exception: - pass + except Exception as e: + logger.warning(f"Error fetching comments for PR #{pr_number}: {e}", exc_info=True) reviews: list[dict[str, Any]] = [] try: reviews = self.client.get_pr_reviews(self.owner, self.repo_name, pr_number) if not isinstance(reviews, list): reviews = [] - except Exception: - pass + except Exception as e: + logger.warning(f"Error fetching reviews for PR #{pr_number}: {e}", exc_info=True) timeline: list[dict[str, Any]] = [] for c in comments: @@ -342,8 +342,8 @@ class PRTaskProcessor(TaskProcessor): pr_comments = [] try: pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, self.item.task_number) - except Exception: - pass + except Exception as e: + 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): 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}." @@ -403,8 +403,8 @@ class IssueTaskProcessor(TaskProcessor): comments: list[CommentModel] = [] try: comments = self.client.get_issue_comments(self.owner, self.repo_name, issue_number) - except Exception: - pass + except Exception as e: + 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" comments_str = "\n".join([ @@ -472,15 +472,15 @@ class IssueTaskProcessor(TaskProcessor): issue_comments = [] try: issue_comments = self.client.get_issue_comments(self.owner, self.repo_name, self.item.task_number) - except Exception: - pass + except Exception as e: + logger.warning(f"Error fetching comments for issue #{self.item.task_number}: {e}", exc_info=True) pr_comments = [] if existing_pr: try: pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, existing_pr.number) - except Exception: - pass + except Exception as e: + 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): 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')}" for r in reviews ]) 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." pr_info_str = ( f"PR Number: #{existing_pr.number}\n"