mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-02 11:50:37 +08:00
@ -143,12 +143,10 @@ class PRCodeSuggestions:
|
|||||||
initial_header="## PR Code Suggestions ✨",
|
initial_header="## PR Code Suggestions ✨",
|
||||||
update_header=True,
|
update_header=True,
|
||||||
name="suggestions",
|
name="suggestions",
|
||||||
final_update_message = final_update_message,
|
final_update_message=final_update_message,
|
||||||
max_previous_comments = get_settings().pr_code_suggestions.max_history_len)
|
max_previous_comments=get_settings().pr_code_suggestions.max_history_len,
|
||||||
if self.progress_response:
|
progress_response=self.progress_response)
|
||||||
self.progress_response.delete()
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self.progress_response:
|
if self.progress_response:
|
||||||
self.git_provider.edit_comment(self.progress_response, body=pr_body)
|
self.git_provider.edit_comment(self.progress_response, body=pr_body)
|
||||||
else:
|
else:
|
||||||
@ -174,7 +172,8 @@ class PRCodeSuggestions:
|
|||||||
update_header: bool = True,
|
update_header: bool = True,
|
||||||
name='review',
|
name='review',
|
||||||
final_update_message=True,
|
final_update_message=True,
|
||||||
max_previous_comments=4):
|
max_previous_comments=4,
|
||||||
|
progress_response=None):
|
||||||
history_header = f"#### Previous suggestions\n"
|
history_header = f"#### Previous suggestions\n"
|
||||||
last_commit_num = self.git_provider.get_latest_commit_url().split('/')[-1][:7]
|
last_commit_num = self.git_provider.get_latest_commit_url().split('/')[-1][:7]
|
||||||
latest_suggestion_header = f"Latest suggestions up to {last_commit_num}"
|
latest_suggestion_header = f"Latest suggestions up to {last_commit_num}"
|
||||||
@ -232,6 +231,7 @@ class PRCodeSuggestions:
|
|||||||
# Add to the prev_suggestions section
|
# Add to the prev_suggestions section
|
||||||
last_prev_table = f"\n<details><summary>{tick}{name.capitalize()}{up_to_commit_txt}</summary>\n<br>{latest_table}\n\n</details>"
|
last_prev_table = f"\n<details><summary>{tick}{name.capitalize()}{up_to_commit_txt}</summary>\n<br>{latest_table}\n\n</details>"
|
||||||
prev_suggestion_table = last_prev_table + "\n" + prev_suggestion_table
|
prev_suggestion_table = last_prev_table + "\n" + prev_suggestion_table
|
||||||
|
|
||||||
new_suggestion_table = pr_comment.replace(initial_header, "").strip()
|
new_suggestion_table = pr_comment.replace(initial_header, "").strip()
|
||||||
|
|
||||||
pr_comment_updated = f"{initial_header}\n"
|
pr_comment_updated = f"{initial_header}\n"
|
||||||
@ -242,17 +242,21 @@ class PRCodeSuggestions:
|
|||||||
pr_comment_updated += f"{prev_suggestion_table}\n"
|
pr_comment_updated += f"{prev_suggestion_table}\n"
|
||||||
|
|
||||||
get_logger().info(f"Persistent mode - updating comment {comment_url} to latest {name} message")
|
get_logger().info(f"Persistent mode - updating comment {comment_url} to latest {name} message")
|
||||||
|
if progress_response: # publish to 'progress_response' comment, because it refreshes immediately
|
||||||
self.git_provider.edit_comment(comment, pr_comment_updated)
|
self.git_provider.edit_comment(progress_response, pr_comment_updated)
|
||||||
|
comment.delete()
|
||||||
|
else:
|
||||||
|
self.git_provider.edit_comment(comment, pr_comment_updated)
|
||||||
return
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
get_logger().exception(f"Failed to update persistent review, error: {e}")
|
get_logger().exception(f"Failed to update persistent review, error: {e}")
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
# if we are here, we did not find a previous comment to update
|
||||||
body = pr_comment.replace(initial_header, "").strip()
|
body = pr_comment.replace(initial_header, "").strip()
|
||||||
pr_comment = f"{initial_header}\n\n{latest_commit_html_comment}\n\n{body}\n\n"
|
pr_comment = f"{initial_header}\n\n{latest_commit_html_comment}\n\n{body}\n\n"
|
||||||
if found_comment is not None:
|
if progress_response:
|
||||||
self.git_provider.edit_comment(found_comment, pr_comment)
|
self.git_provider.edit_comment(progress_response, pr_comment)
|
||||||
else:
|
else:
|
||||||
self.git_provider.publish_comment(pr_comment)
|
self.git_provider.publish_comment(pr_comment)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user