Backend (prs.go):

Update — PATCH /{prID} edits title and/or body, validates title non-empty, returns prWithReviewers
Reopen — POST /{prID}/reopen transitions closed → open, fires webhook
Close now returns prWithReviewers and fires a webhook
Merge already existed; no changes needed
Frontend — PRDetailPage.tsx full rewrite:

Inline title editing — pencil icon (visible to author/admin when open), Enter to save, Esc to cancel
Inline body editing — same pattern in the description panel
Merge sidebar — radio buttons for allowed strategies (fetched from repo's merge strategy settings), "Merge pull request" button in Bitbucket purple, "Close without merging" below it
Status banner — merged (purple) or closed (grey) with the date, shown below the description
File list — scrollable +N −N table above the diff viewer showing all changed files with addition/deletion counts
Reopen button — appears in the sidebar when the PR is closed
Reviewers panel — lists assigned reviewers with avatars/initials
Details panel — from/into branches, opened date, last updated
Quick links — back to all PRs, open new PR
PRsPage.tsx — now shows real data:

Two tabs: "My pull requests" and "Awaiting my review" (with live counts from dashboard)
Per-repo quick links at the bottom showing open PR count badges
This commit is contained in:
2026-05-07 17:07:16 +02:00
parent 7436679eac
commit 0310986644
11 changed files with 896 additions and 78 deletions
@@ -1 +1,4 @@
0967e6aea1334a0e48b72ff9347c9d474eaa7aac 5ea23c4e5fe28f150891cf6b73119bb9b13aba92 erangel1 <admin@asgardlabs.net> 1778161109 +0200 commit: Update README.md
5ea23c4e5fe28f150891cf6b73119bb9b13aba92 be8d7d3467a3b1b6c31acdd01aa7c03e2b84aa5a erangel1 <erangel1@http.[::1]:53405> 1778164837 +0200 push
be8d7d3467a3b1b6c31acdd01aa7c03e2b84aa5a 3684bc48e2daf7a8de9896a1065be7d32e17732c erangel1 <erangel1@http.[::1]:53557> 1778165267 +0200 push
3684bc48e2daf7a8de9896a1065be7d32e17732c 77c5c76e8ea828995772452abf1ff2444d361cc7 erangel1 <erangel1@http.[::1]:53746> 1778165724 +0200 push
+1 -1
View File
@@ -1 +1 @@
5ea23c4e5fe28f150891cf6b73119bb9b13aba92
77c5c76e8ea828995772452abf1ff2444d361cc7