Skip to content
Open
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
1113f83
pulls: add conflicts tab to change request menu
pedrogaudencio Mar 23, 2026
862ca41
pulls: add conflicts tab to change request view
pedrogaudencio Mar 23, 2026
5b0eb4f
pulls: create conflicts template for change request view
pedrogaudencio Mar 23, 2026
62e7997
pulls: add locale for tabs
pedrogaudencio Mar 23, 2026
ab4f96b
pulls: use base branch commit instead of merge base for change reques…
pedrogaudencio Mar 23, 2026
d400b6b
add resolve box/selection for each conflict
pieer Apr 5, 2026
e9a8b56
modernize DOM manipulation methods and clean up CSS formatting
pieer Apr 6, 2026
10058dd
fix: insert conflict wrapper in the correct order
pieer Apr 13, 2026
422c21e
fix: explicitly classify unmatched additions and deletions as conflicts
pieer Apr 13, 2026
4309354
fix: add active state styling to conflicts tab
pieer Apr 13, 2026
4770784
fix: use standard diff background variables instead of hardcoded hex …
pieer Apr 13, 2026
d4e0980
fix: use proper template cloning and allow toggle for conflict resolu…
pieer Apr 13, 2026
3ef484d
fix: add missing button styles to Keep this button in conflict review
pieer Apr 13, 2026
70427f2
fix: resolve eslint unicorn/prefer-dom-node-append error
pieer Apr 13, 2026
bfc1dc9
Merge remote-tracking branch 'origin/master' into change-request-conf…
pieer Apr 20, 2026
3e19006
Fix toast editor styling issue
pieer Apr 21, 2026
d59a856
feat: redesign pull request conflict UI with improved resolution flow…
pieer Apr 21, 2026
792d194
feat: implement backend support for resolving pull request merge conf…
pieer Apr 21, 2026
3f42255
refactor: modernize conflict resolution submission using internal POS…
pieer Apr 21, 2026
09ee5a0
refactor: simplify head range boundary calculation using min function…
pieer Apr 21, 2026
31c05a7
feat: implement merge commit creation for conflict resolution with su…
pieer Apr 21, 2026
ffda7b7
refactor: remove commit signing status display from pull request merg…
pieer Apr 21, 2026
6610c55
refactor: replace conflict choice selection with manual text resoluti…
pieer Apr 22, 2026
14e53ef
routers: gate SubmitConflictResolution behind auth and merge permission
pedrogaudencio Apr 28, 2026
0e06b53
routers: validate conflict-resolution paths against pull.ConflictedFiles
pedrogaudencio Apr 28, 2026
b259684
web_src: send per-file conflict index from conflict-resolution UI
pedrogaudencio Apr 28, 2026
c1ed75a
routers: do not flush conflict groups on DiffLineSection
pedrogaudencio Apr 28, 2026
2315ac2
routers: surface unappliable conflict groups instead of silently drop…
pedrogaudencio Apr 28, 2026
3601cbd
locale: route conflicts UI strings through ctx.Locale
pedrogaudencio Apr 28, 2026
024df63
routers: cap conflict-resolution request body via MaxBytesReader
pedrogaudencio Apr 28, 2026
7c4200f
url: fix IPv6-with-zone test case and panic on parse failure
pedrogaudencio Apr 28, 2026
d746302
fix #diff-file-boxes gap changed globally instead of scoping to confl…
pieer Apr 28, 2026
87771e4
fix await initToastCommentEditor lacks error handling
pieer Apr 28, 2026
07229a3
fix Mixed indentation in tab_menu.tmpl
pieer Apr 28, 2026
559e050
routers: restrict conflict resolution to the PR creator
pedrogaudencio Apr 28, 2026
1b45a84
routers: let PR creator/admin bypass IsUserAllowedToUpdate for conflicts
pedrogaudencio Apr 28, 2026
d98eab2
UI: Restrict conflict resolution button to PR owners and maintainers
pieer May 3, 2026
5e073d6
refactor: comment out update_branch_by_merge template calls in pull m…
pieer May 4, 2026
3ab403f
feat: localize merge permission description in pull request merge box
pieer May 4, 2026
590e04b
refactor: localize diff split header labels and update current articl…
pieer May 4, 2026
a9a83bb
feat: localize the resolve conflicts button text in pull request merg…
pieer May 4, 2026
ac09783
refactor: remove unused blob lookups in conflict diff template
pieer May 4, 2026
8ca30f6
refactor: consolidate conflict submission button state management int…
pieer May 4, 2026
33bb8fb
chore: update phrasing for automated merge description
pieer May 4, 2026
83b0025
apply resolutions for chunks where the head side is empty
pieer May 4, 2026
13761f5
refactor: improve conflict resolution validation, UI, and file handli…
pieer May 7, 2026
dcf5351
Merge branch 'master' into change-request-conflict-resolution
pieer May 7, 2026
394a846
refactor: update conflict review UI with improved layout, cleaner sty…
pieer May 11, 2026
f87cd33
feat: update conflict tab icon and add badge for conflicted file count
pieer May 11, 2026
ad743ef
feat: add active state styling for labels within tabular menu items
pieer May 11, 2026
bc2bd82
feat: implement responsive layout for conflict diffs and inject side …
pieer May 11, 2026
f929ba2
style: improve mobile responsive layout for PR and conflict diff views
pieer May 11, 2026
b91e108
fix: restore update_branch_by_merge template calls in pull merge box
pieer May 12, 2026
ceec1d8
fix: replace hardcoded hex colors with CSS theme variables in conflic…
pieer May 12, 2026
200ca51
fix: reject empty conflicts array in SubmitConflictResolution
pieer May 12, 2026
243022b
fix: add void to initConflictReview call to surface promise rejections
pieer May 12, 2026
3b36906
fix: correct conflict count label to say 'conflicted file(s)' not 'Co…
pieer May 12, 2026
7e3749e
chore: update terminology to change requests in merge permission desc…
pieer May 12, 2026
3dae394
fix: correct insertion point for consecutive headless conflict groups
pieer May 12, 2026
d6fcc4b
fix: add missing trailing newline to conflicts.tmpl
pieer May 12, 2026
46ca612
docs: add sync contract comment between buildConflictWrappers and ext…
pieer May 12, 2026
f9d1103
fix: use HTTP status code instead of statusText in submit error message
pieer May 12, 2026
0b017e9
fix: remove per-section flush in extractConflictGroups to match front…
pieer May 12, 2026
9de1486
fix: resolve ESLint errors in conflict review and diff modules
pieer May 12, 2026
de8b767
fix: resolve Go lint errors in pull.go
pieer May 12, 2026
6d10fa8
style: update background colors for code diff conflict table cells
pieer May 12, 2026
cf6f364
fix: replace --color-muted-text with standard --color-text-light-2 in…
pieer May 12, 2026
91eedee
fix: remove diff line limit on conflict resolution page
pieer May 13, 2026
f313e7c
fix: return 409 instead of 500 when head branch updated during confli…
pieer May 13, 2026
a070b7e
fix: restore submit button text and use toast for conflict resolution…
pieer May 13, 2026
318acee
fix: pass WhitespaceBehavior to diff options in conflict resolution h…
pieer May 13, 2026
9c70710
fix: hide disabled squash merge button for users without merge permis…
pieer May 13, 2026
9a0dd82
fix: guard conflict resolution against stale base commit and concurre…
pieer May 13, 2026
595bb06
fix: also check head commit ID for stale conflict resolution submissions
pieer May 13, 2026
f4b6760
fix: preserve file mode and handle delete conflicts in conflict resol…
pieer May 13, 2026
d94bc69
fix: show actionable error when a conflicted file is binary or too large
pieer May 13, 2026
dd2d1ed
style: remove background and border overrides from selected conflict …
pieer May 13, 2026
9dfcad5
Merge branch 'master' into change-request-conflict-resolution
pieer May 21, 2026
bbb7523
pull: use real git merge tree for conflict resolution commit
pedrogaudencio May 21, 2026
bc1895b
pull: render conflicts from real merge index
pedrogaudencio May 21, 2026
c48bb77
pull: harden conflict mode and stale checks
pedrogaudencio May 21, 2026
822ce58
pull: localize unsupported conflict template
pedrogaudencio May 21, 2026
8abaca3
lint: fix issues
pedrogaudencio May 21, 2026
6012b0d
lint: remove useless import
pedrogaudencio May 21, 2026
d946dbf
tests: fix linting
pedrogaudencio May 21, 2026
5832fa5
pull: check conflict state before payload files
pedrogaudencio May 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions custom/options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1986,6 +1986,7 @@ pulls.change_target_branch_at = `changed target branch from <b>%s</b> to <b>%s</
pulls.tab_conversation = Conversation
pulls.tab_commits = Commits
pulls.tab_files = Changes
pulls.tab_conflicts = Conflicts
pulls.reopen_to_merge = Please reopen this change request to perform a merge.
pulls.cant_reopen_deleted_branch = This change request cannot be reopened because the branch was deleted.
pulls.merged = Merged
Expand All @@ -2000,7 +2001,8 @@ pulls.still_in_progress = Still in progress?
pulls.add_prefix = Add <strong>%s</strong> prefix
pulls.remove_prefix = Remove <strong>%s</strong> prefix
pulls.data_broken = This change request is broken due to missing fork information.
pulls.files_conflicted = This change request has changes conflicting with the target branch.
pulls.files_conflicted = This change has conflicts that must be resolved.
pulls.files_conflicted_help = Use the <a href="%s">Editor tab</a> to resolve conflicts.
Comment thread
pieer marked this conversation as resolved.
pulls.is_checking = Checking for merge conflicts…
pulls.is_ancestor = "This branch is already included in the target branch. There is nothing to merge."
pulls.is_empty = "The changes on this branch are already on the target branch. This will be an empty commit."
Expand All @@ -2014,8 +2016,11 @@ pulls.blocked_by_official_review_requests = "This change request has official re
pulls.blocked_by_outdated_branch = "This change request is blocked because it's outdated."
pulls.blocked_by_changed_protected_files_1= "This change request is blocked because it changes a protected file:"
pulls.blocked_by_changed_protected_files_n= "This change request is blocked because it changes protected files:"
pulls.can_auto_merge_desc = This change request has no conflicts with the latest article.
pulls.can_auto_merge_desc = This change request has no conflicts with other change requests
pulls.can_auto_merge_desc_detail = Merging can be performed automatically.
pulls.merge_permission_desc = Only those with <a href="%[1]s/settings/collaboration">write access</a> to this repository can merge change requests.
pulls.resolve_conflicts = Resolve conflicts

pulls.cannot_auto_merge_desc = This change request cannot be merged automatically due to conflicts.
pulls.cannot_auto_merge_helper = Merge manually to resolve the conflicts.
pulls.num_conflicting_files_1 = "%d conflicting file"
Expand Down Expand Up @@ -2740,6 +2745,8 @@ diff.parent = parent
diff.commit = commit
diff.git-notes = Notes
diff.data_not_available = Diff Content Not Available
diff.conflicts_count_1 = %d conflicted file
diff.conflicts_count_n = %d conflicted files
diff.options_button = Diff Options
diff.download_patch = Download Patch File
diff.download_diff = Download Diff File
Expand Down Expand Up @@ -2793,8 +2800,8 @@ diff.review.reject_desc = Submit feedback that must be addressed before approvin
diff.review.close = Close
diff.review.close_desc = Submit feedback and close the change request without approving.
diff.review.submit = Submit review
diff.split_header.current = Current article
diff.split_header.requested = Change requested
diff.split_header.current = Current live article
diff.split_header.requested = Your changes
pulls.back = Back
diff.committed_by = committed by
diff.protected = Protected
Expand Down
6 changes: 6 additions & 0 deletions custom/public/assets/css/base.custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,16 @@
height: 18px;
}

.item .circle svg,
.circle.small svg {
scale: .8;
}

.timeline-avatar.circle {
width: 32px !important;
height: 32px !important;
}

.circle.green-light-1 {
color: var(--color-white);
background-color: var(--color-green-light-1);
Expand Down
1 change: 1 addition & 0 deletions custom/public/assets/css/colors.custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ gitea-theme-meta-info {
--color-muted: #F6F8FA;
--color-muted-text: #59636E;
--color-text-light-3: #59636E;
--color-muted-1: #818B981F;

--color-warning-border: #d4a72c66;
--color-warning-text: #9A6700;
Expand Down
5 changes: 5 additions & 0 deletions custom/public/assets/css/menu.custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0 !important;
}

.ui.tabular.menu .active.item .label{
background-color: var(--color-text-light-2);
color: var(--color-primary-contrast);
}

.ui.menu .item > .svg {
margin-right: 0.5rem;
}
Loading
Loading