-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[PR-Reviewer] Standardize PR review output format with collapsible sections #32784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Clarified mandatory PR title prefix for agent-generated PRs and expanded the review output format to include a detailed, collapsible markdown structure. Added explicit requirements for file naming, section organization, and review metadata to improve consistency and clarity in PR feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR standardizes the output format for PR reviewer agent feedback by introducing a collapsible structure that improves readability and scannability. The changes establish mandatory file naming conventions, a two-tier review format (visible summary + collapsible details), and clarify PR title requirements for agent-generated PRs.
Key Changes:
- Introduced mandatory
Review_Feedback_Issue_XXXXX.mdfile naming convention - Implemented collapsible review format with visible recommendations and detailed analysis in expandable section
- Clarified that
[PR-Reviewer]prefix is mandatory for all agent-generated PRs
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/instructions/pr-reviewer-agent/output-format.md |
Added comprehensive template with collapsible format, mandatory file naming, and detailed section structure for reviews |
.github/instructions/pr-reviewer-agent/core-guidelines.md |
Clarified PR title requirement as mandatory with explicit rule and formatting expectations |
| - [ ] Appropriate test coverage exists | ||
| - [ ] No security concerns | ||
| - [ ] Follows .NET MAUI conventions | ||
| [Add specific items relevant to this PR] |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "Approval Checklist" section includes a placeholder line "[Add specific items relevant to this PR]" which could be confusing. This line should either be:
- Removed (since the list above already contains standard items)
- Changed to a comment/instruction like
<!-- Add any PR-specific checklist items here --> - Clarified as "- [ ] [Add any additional PR-specific items here]"
As currently written, it's ambiguous whether this text should appear literally in the output or is meant as an instruction to the agent.
| [Add specific items relevant to this PR] | |
| <!-- Add any PR-specific checklist items here --> |
| ## Recommendation | ||
| ✅ **Approve** - Ready to merge | ||
| ⚠️ **Request Changes** - Issues must be fixed | ||
| 💬 **Comment** - Feedback but not blocking | ||
| ⏸️ **Paused** - Cannot complete review (conflicts, environment issues, etc.) |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor inconsistency in section header formatting. In the example provided in the PR description, the recommendation in the visible section uses bold text without a section header (**Recommendation**: ✅ Approve), but the template at line 12 shows it as a proper markdown section header (## Recommendation).
Consider updating line 10-16 to show the expected output format more clearly:
# Review Feedback: PR #XXXXX - [PR Title]
**Recommendation**: [Choose one: ✅ Approve / ⚠️ Request Changes / 💬 Comment / ⏸️ Paused]
**Required changes** (if any):This would match the example in the PR description and be more explicit about the expected format.
| ## Recommendation | |
| ✅ **Approve** - Ready to merge | |
| ⚠️ **Request Changes** - Issues must be fixed | |
| 💬 **Comment** - Feedback but not blocking | |
| ⏸️ **Paused** - Cannot complete review (conflicts, environment issues, etc.) | |
| **Recommendation**: [Choose one: ✅ Approve / ⚠️ Request Changes / 💬 Comment / ⏸️ Paused] |
[PR-Reviewer] Standardize PR review output format with collapsible sections
Summary
This PR enhances the PR reviewer agent's output format to improve readability and consistency. Reviews now use a standardized collapsible format that surfaces key information upfront while keeping detailed analysis easily accessible.
Changes Made
1. Mandatory Review File Format
File:
.github/instructions/pr-reviewer-agent/output-format.mdReview_Feedback_Issue_XXXXX.mdfiles2. Clarified PR Title Requirements
File:
.github/instructions/pr-reviewer-agent/core-guidelines.md[PR-Reviewer]prefix mandatory for all agent-generated PRsBenefits
[PR-Reviewer]prefix identifies agent-generated PRs at a glanceExample Output
The new format produces reviews like:
Review Feedback: PR #32187 - Refactor SearchView color application logic
Recommendation:⚠️ Request Changes - Minor documentation improvement needed
Required changes:
/// <summary>) for theApplyDecorColormethodRecommended changes:
None - code is otherwise excellent
📋 For full PR Review from agent, expand here
Summary
PR #32187 successfully fixes issue #25153 by refactoring SearchView color application logic. The PR extracts duplicate magnifier icon tinting code into a new
ApplyDecorColormethod and adds the missing underline tinting functionality. This ensures both the search icon and underline update correctly when the app theme changes from dark to light or vice versa.Code Quality: Excellent refactoring that follows DRY principles and improves maintainability.
Bug Fix: Correctly addresses the root cause (missing
search_platebackground tinting).Test Coverage: All 20 existing SearchBar visual test snapshots have been updated to reflect the fix.
Code Review
Root Cause Analysis
The Original Bug (Issue #25153):
When theme changes from dark to light (or vice versa), the SearchBar's underline and search icon don't update to match the new theme colors. The issue was tracked to
UpdatePlaceholderColorandUpdateTextColormethods only tinting the magnifier icon but NOT tinting the underline (search_platebackground).Why This Fix Works:
UpdateTextColororUpdatePlaceholderColorwith the new theme colorApplyDecorColor(searchView, color)ApplyDecorColorensures BOTH decorative elements (icon + underline) are updated atomicallyChanges Made
Before: Duplicate code in two locations
After: Refactored into reusable method
Code Quality Assessment
✅ Excellent:
ApplyDecorColorhas one clear purpose?.operatorsApplyDecorColor)// Tints the magnifier icon and the underlineDesign Decisions
When
ApplyDecorColoris called:UpdatePlaceholderColor: Only when resetting to default theme color (i.e., whenPlaceholderColoris null)UpdateTextColor: Only when resetting to default theme color (i.e., whenTextColoris null)When
ApplyDecorColoris NOT called:PlaceholderColor- only hint text color changes, decorative elements stay with theme colorsTextColor- only text color changes, decorative elements stay with theme colorsThis is intentional design: decorative elements (icon/underline) always follow theme colors unless explicitly overridden via
SearchIconColorproperty (added in PR #26759).Platform Coverage
✅ Android-specific fix (appropriate):
SearchViewExtensions.cs(Android platform code)Test Coverage Review
Existing Tests Updated
✅ 20 visual test snapshots updated:
src/Controls/tests/TestCases.Android.Tests/snapshots/android/have been updatedTest scenarios covered:
Test Coverage Assessment
✅ Adequate: The PR correctly updates existing visual tests rather than adding new ones. The existing test suite already covers theme switching scenarios (e.g.,
SearchbarColorsShouldUpdate), and the updated snapshots demonstrate the fix is working correctly.From PR review discussion: PR author confirmed "There are already lots of tests for the search bar theming" and provided visual proof that the underline now updates correctly after theme changes.
Testing
Manual Testing (Not Performed)
Decision: Given the comprehensive existing test coverage and clear code logic, manual testing in Sandbox app was deemed unnecessary for this review. The PR:
/azp runcommands in comments)Rationale: The code change is straightforward (adding 2 lines to tint
search_platebackground), and the updated test snapshots provide visual proof the fix works correctly.Security Review
✅ No security concerns:
FindViewById,SetTint)?.operators prevents null reference exceptionsBreaking Changes
✅ No breaking changes:
SearchViewExtensionsclassImpact: Positive - apps that rely on default theme behavior will now see correct underline coloring on theme changes without code modifications.
Documentation
✅ Adequate with one improvement:
Issues to Address
Must Fix Before Merge
Should Fix (Recommended)
None
Optional Improvements
SearchPlateColorbindable property to allow users to customize the underline color independently from theme colors. This would be a nice-to-have enhancement for future consideration but is outside the scope of this bug fix.Approval Checklist
Additional Observations
Positive Aspects
Community Engagement: Issue was reported by a community member, noticed by another community member (@AlleSchonWeg), and fixed by a team member (@kubaflo) - excellent collaboration!
Incremental Improvement: This PR builds on previous work (PR Implementation of Customizable Search Button Color for SearchBar Across Platforms #26759 added
SearchIconColor), showing good evolution of the API.Clear Communication: PR author provided video demonstration and responded thoroughly to reviewer questions.
Proper Testing: CI/CD pipelines were run multiple times to ensure tests pass.
Future Enhancements (Out of Scope)
From PR discussion, potential future enhancements could include:
SearchPlateColorproperty for independent underline color controlSearchIconColorproperty (currently .NET 10 only)Review Metadata