Improve manual pipeline page branch loading performance #9

Open
opened 2026-05-03 06:29:21 +00:00 by lambadalambda · 0 comments

Problem

Clicking Run pipeline opens /repos/1/manual, but the page spins for a long time before showing the Trigger a manual pipeline form.

Observed behavior on ci.pleroma.com:

  • navigate to https://ci.pleroma.com/repos/1/manual
  • the UI shows a loading spinner for a long time
  • the form only appears after branch names finish loading
  • this makes manually triggering release pipelines feel broken or unreliable

The likely bottleneck is loading the full branch list before rendering the manual pipeline form.

Desired behavior

The manual pipeline page should become interactive quickly. Possible improvements:

  • render the form immediately and lazy-load branches
  • make branch selection searchable/autocomplete-backed instead of loading all branches up front
  • paginate or limit branch loading
  • default to the repository default branch immediately
  • show a clear loading state specifically for branch discovery instead of blocking the whole page
  • cache branch names where appropriate

Why this matters

Manual pipelines are often used during releases or incident response. The trigger UI should be fast and predictable, especially for repositories with many branches.

## Problem Clicking **Run pipeline** opens `/repos/1/manual`, but the page spins for a long time before showing the **Trigger a manual pipeline** form. Observed behavior on `ci.pleroma.com`: - navigate to `https://ci.pleroma.com/repos/1/manual` - the UI shows a loading spinner for a long time - the form only appears after branch names finish loading - this makes manually triggering release pipelines feel broken or unreliable The likely bottleneck is loading the full branch list before rendering the manual pipeline form. ## Desired behavior The manual pipeline page should become interactive quickly. Possible improvements: - render the form immediately and lazy-load branches - make branch selection searchable/autocomplete-backed instead of loading all branches up front - paginate or limit branch loading - default to the repository default branch immediately - show a clear loading state specifically for branch discovery instead of blocking the whole page - cache branch names where appropriate ## Why this matters Manual pipelines are often used during releases or incident response. The trigger UI should be fast and predictable, especially for repositories with many branches.
Sign in to join this conversation.
No labels
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
pleroma/woodpecker#9
No description provided.