Files
werkator/docs/prs/2026-09-27-PR#82-pull-request-column.md
68e9bc9ea5
werkator build succeeded after 02:42
werkator/deploy build succeeded after 00:07
feat(ui): give the pull request a column of its own (#82)
The PR link sat inside the branch cell, before the branch's copy button,
and widened the branch line on a phone. The build tables get a PR
column (a line of its own on a phone card, none when empty); Current
Builds and the build page show it apart from the branch as well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: mhoennig <michael@hoennig.de>
Reviewed-on: #82
2026-09-27 14:42:07 +02:00

65 lines
2.8 KiB
Markdown

> **WARNING:** This document describes only the change applied in this PR.
> It may already be outdated once the next PR is merged.
> Historic PR-documentation is not maintained along with new PRs — treat it as a snapshot, not as current documentation.
## The Problem
PR#81 put `PR#<number>` right after the branch name, inside the branch cell.
The copy button of the branch name then came after the pull request, so it looked as if it copied `PR#12`.
On a phone, the branch line of a card got wider still, and long branch names had even less room.
## Non-Goals
- No change to what is shown or when; only where.
- The Repositories page and the home cards keep the pull request beside the name: they have no copy button, and their line wraps.
## The Scenarios
### Feature: the pull request apart from the branch name
#### Scenario#82.01: The build tables have a PR column
So that the copy button stands next to the name it copies.
- **Given** the Latest, Branches or History view
- **Then** the table has a column `PR` right after `Branch`
- **and** the branch cell holds the name and its copy button only
- **and** a row without a pull request has an empty PR cell
- **When** the page is polled, **then** `werkator.js` renders the same column
##### Verified by
- [UiControllerTest](../../src/test/kotlin/de/hoennig/werkator/server/UiControllerTest.kt) — the PR column after the branch cell, the copy button in the branch cell, an empty cell without a pull request
#### Scenario#82.02: A phone card has a PR line, or none
So that a card stays as wide as the screen.
- **Given** a screen narrower than 680 px, where table rows become cards
- **Then** the pull request is a line of its own, labelled `PR`
- **And** a row without a pull request has no PR line
##### Verified by
- Checked by hand in a browser at 375 px: no horizontal scrolling, the empty cell is `display: none`.
#### Scenario#82.03: Current Builds and the build page show it apart as well
- **Given** a running build or a build page of a branch with an open pull request
- **Then** the pull request stands apart from the branch: its own item in the card header, its own `Pull request:` line on the build page
##### Verified by
- [UiControllerTest](../../src/test/kotlin/de/hoennig/werkator/server/UiControllerTest.kt) — every page naming a branch still links its pull request
## The Solution
`builds.html` and `renderBuildRow` in `werkator.js` get a `PR` cell after the branch cell, with the class `is-empty` when there is no pull request.
The small-screen stylesheet hides `td.pull-request-cell.is-empty`, so an empty cell is no card line.
The Current Builds card puts the link into the header next to the branch span, and the build page gets its own fact line.
## Additional Changes
- The architecture skill says where the pull request is shown.
- Version 1.23.1 with its release note.