Update outdated authored pull branches from mobile #1360

Closed
opened 2026-08-24 17:49:39 +00:00 by rockachopa · 0 comments
Member

User problem

Mobile authors hit a dead end when an open pull request is behind its base branch: the dashboard only says to resolve conflicts and offers no safe way to update an updateable branch, despite the forge exposing the pull-update API.

Scope

Add an authored-pull Update branch recovery flow guarded by the currently displayed head SHA. The backend must verify authorship, open/non-draft state, matching head, and a changed head after Gitea updates the pull. The mobile pull sheet must keep context, prevent duplicate mutations, refresh the confirmed pull snapshot, and distinguish stale state from genuine conflicts.

Acceptance

  • Authored, open, non-draft pulls expose an Update branch action when merge readiness is blocked.
  • Mutation sends expected_head_sha; stale heads do not mutate upstream.
  • Success is reported only after a refetch confirms a different head SHA.
  • Conflict and stale-state responses remain actionable and do not imply success.
  • At 320px the touch target and status fit without horizontal overflow.
  • Behavioral API/UI tests and the full suite pass.
## User problem Mobile authors hit a dead end when an open pull request is behind its base branch: the dashboard only says to resolve conflicts and offers no safe way to update an updateable branch, despite the forge exposing the pull-update API. ## Scope Add an authored-pull **Update branch** recovery flow guarded by the currently displayed head SHA. The backend must verify authorship, open/non-draft state, matching head, and a changed head after Gitea updates the pull. The mobile pull sheet must keep context, prevent duplicate mutations, refresh the confirmed pull snapshot, and distinguish stale state from genuine conflicts. ## Acceptance - Authored, open, non-draft pulls expose an Update branch action when merge readiness is blocked. - Mutation sends `expected_head_sha`; stale heads do not mutate upstream. - Success is reported only after a refetch confirms a different head SHA. - Conflict and stale-state responses remain actionable and do not imply success. - At 320px the touch target and status fit without horizontal overflow. - Behavioral API/UI tests and the full suite pass.
timmy was assigned by rockachopa 2026-08-24 17:49:39 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
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: stackchain/stackchain-dashboard#1360
No description provided.