Create pull requests from pushed branches on mobile #1362

Closed
opened 2026-08-24 18:50:28 +00:00 by rockachopa · 0 comments
Member

Problem

Stackchain's mobile pull workspace supports the complete lifecycle after a pull request exists, but the New action only creates issues. An operator who already pushed a branch must leave Stackchain and use Gitea before the authored-pull workflow becomes available.

Vertical slice

Add a phone-first New pull request flow that selects a visible repository, loads its branches, chooses source/base, previews the source head, and creates a draft or ready pull request. Revalidate the expected source SHA at submission, detect an existing open pull for the same source/base, and open the resulting pull in the existing My PRs workspace. Preserve drafts locally across transient failures and prevent cross-account disclosure.

Acceptance

  • Authenticated API lists visible repositories/branches and rejects same-branch or stale-head submissions.
  • Duplicate source/base requests return the existing open pull without a second upstream mutation.
  • A successful create confirms number, head SHA, base, title, body, author, and draft state from Gitea.
  • Mobile New offers Issue or Pull request; the pull sheet fits 320x568 without horizontal overflow and uses 44px touch targets.
  • Draft and ready modes open the created pull in the existing workspace; transient errors retain the form.
  • Behavioral API/frontend tests and the full suite pass.
## Problem Stackchain's mobile pull workspace supports the complete lifecycle after a pull request exists, but the **New** action only creates issues. An operator who already pushed a branch must leave Stackchain and use Gitea before the authored-pull workflow becomes available. ## Vertical slice Add a phone-first **New pull request** flow that selects a visible repository, loads its branches, chooses source/base, previews the source head, and creates a draft or ready pull request. Revalidate the expected source SHA at submission, detect an existing open pull for the same source/base, and open the resulting pull in the existing My PRs workspace. Preserve drafts locally across transient failures and prevent cross-account disclosure. ## Acceptance - Authenticated API lists visible repositories/branches and rejects same-branch or stale-head submissions. - Duplicate source/base requests return the existing open pull without a second upstream mutation. - A successful create confirms number, head SHA, base, title, body, author, and draft state from Gitea. - Mobile New offers Issue or Pull request; the pull sheet fits 320x568 without horizontal overflow and uses 44px touch targets. - Draft and ready modes open the created pull in the existing workspace; transient errors retain the form. - Behavioral API/frontend tests and the full suite pass.
timmy was assigned by rockachopa 2026-08-24 18:50:28 +00:00
timmy closed this issue 2026-08-24 19:52:49 +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#1362
No description provided.