Forgejo PR #189 stuck showing open/unmerged despite its change already being on main #195

Closed
opened 2026-07-07 02:20:14 +00:00 by claude-bot · 1 comment
Collaborator

Context

Found 2026-07-06 while merging a batch of Renovate PRs (chore(deps): update renovate/renovate docker tag to v43.251.3).

Symptom

Attempted to merge PR #189 via the Forgejo API. The merge call returned an HTTP 405 {"message":"Please try again later"} error, repeated on retry. However, checking the repo directly showed the exact change from PR #189 was already present on main (commit f9af28b, matching the PR's diff exactly). Re-attempting the merge via the UI/API returns "This branch is already included in the target branch. There is nothing to merge."

But the PR's own metadata still shows merged: false, state: open via GET /repos/matt/homelab-docker/pulls/189 — it never flipped to closed/merged even though its content landed on main successfully (likely one of the earlier flaky 405 attempts actually succeeded server-side but the response/webhook that updates PR metadata was lost, possibly related to the Forgejo outage that happened around the same time this session — see #36 and the general flakiness noted in PR merge attempts that day).

Impact

Cosmetic/tracking only — no functional or deployment risk, since the change is already live on main. But it leaves a stale, confusing entry in the open PR list that could cause someone to think a merge is still needed, or to attempt (and fail) another merge.

Suggested fix

Manually close PR #189 in the Forgejo UI (Settings won't be needed — just use the normal close action on the PR itself, no merge required since main already has the change). Worth a quick check afterward that closing it doesn't trigger a duplicate Komodo webhook/deploy for the renovate stack.

## Context Found 2026-07-06 while merging a batch of Renovate PRs (chore(deps): update renovate/renovate docker tag to v43.251.3). ## Symptom Attempted to merge PR #189 via the Forgejo API. The merge call returned an HTTP 405 `{"message":"Please try again later"}` error, repeated on retry. However, checking the repo directly showed the exact change from PR #189 was already present on `main` (commit `f9af28b`, matching the PR's diff exactly). Re-attempting the merge via the UI/API returns "This branch is already included in the target branch. There is nothing to merge." But the PR's own metadata still shows `merged: false`, `state: open` via `GET /repos/matt/homelab-docker/pulls/189` — it never flipped to closed/merged even though its content landed on main successfully (likely one of the earlier flaky 405 attempts actually succeeded server-side but the response/webhook that updates PR metadata was lost, possibly related to the Forgejo outage that happened around the same time this session — see #36 and the general flakiness noted in PR merge attempts that day). ## Impact Cosmetic/tracking only — no functional or deployment risk, since the change is already live on main. But it leaves a stale, confusing entry in the open PR list that could cause someone to think a merge is still needed, or to attempt (and fail) another merge. ## Suggested fix Manually close PR #189 in the Forgejo UI (Settings won't be needed — just use the normal close action on the PR itself, no merge required since main already has the change). Worth a quick check afterward that closing it doesn't trigger a duplicate Komodo webhook/deploy for the renovate stack.
Author
Collaborator

Resolved 2026-07-27 � root cause fixed in #204

Revisited: PR #189 is still closed/unmerged, its branch (renovate/renovate-renovate-43.x) is gone, and main/Nexus are now on renovate/renovate:43.285.0 � 30+ releases past the v43.251.3 this PR would have applied. Nothing to merge; the underlying commit f9af28b was already on main at the time, and the tag has been superseded many times since.

The actual bug � Forgejo merge API returning 405 "please try again later" while the commit lands on main anyway, sometimes leaving the push webhook unfired � recurred worse on PR #200 (2026-07-24) and was root-caused there. Fixed by upgrading Forgejo 15.0.2 ? 16.0.1 (binary swap on LXC 100), verified end-to-end (direct push ? webhook in 4s ? Komodo Deploy Stacks 7/7 success). See #204 for full details.

Closing as resolved via #204.

## Resolved 2026-07-27 � root cause fixed in #204 Revisited: PR #189 is still closed/unmerged, its branch (`renovate/renovate-renovate-43.x`) is gone, and `main`/Nexus are now on `renovate/renovate:43.285.0` � 30+ releases past the v43.251.3 this PR would have applied. Nothing to merge; the underlying commit `f9af28b` was already on `main` at the time, and the tag has been superseded many times since. The actual bug � Forgejo merge API returning `405 "please try again later"` while the commit lands on main anyway, sometimes leaving the push webhook unfired � recurred worse on PR #200 (2026-07-24) and was root-caused there. Fixed by upgrading Forgejo 15.0.2 ? 16.0.1 (binary swap on LXC 100), verified end-to-end (direct push ? webhook in 4s ? Komodo Deploy Stacks 7/7 success). See #204 for full details. Closing as resolved via #204.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
matt/homelab-docker#195
No description provided.