Reviewing changes
Every build has a page that lists its snapshots next to the baseline. The check on the pull request links to it.
The build page#
The sidebar groups snapshots into Changed, Added, Removed, Failed and Unchanged. The first changed snapshot opens when the page loads, and each snapshot has its own link you can share.
- Changed: pixels differ from the baseline above the threshold, or the size changed.
- Added: the baseline has no snapshot with this name.
- Removed: the baseline has it and this build does not. Removed snapshots never need review.
- Failed: the upload or the diff failed on CI. A build with a failed snapshot cannot pass, so push again after fixing the cause.
Compare#
- Side by side: baseline left, new right, with the diff drawn over the new image. Press d to hide it.
- Diff: the new image with the changed pixels in red.
- Slider: drag a handle to wipe between the two.
- Flip: one frame that switches between baseline and new when you press space. The best mode for 1 pixel shifts.
The diff is red by default. While it shows, the color dots in the toolbar switch it to magenta, blue or green. The color stays as you move between snapshots and goes back to red when you reload the page.
Images show at Fit by default. Scroll or drag to pan, and pinch, or scroll with ctrl held, to zoom. You can also zoom with + and -, and 0 shows real pixels at 100%. Fit, or f, resets the view. In Side by side both images pan and zoom together. When the sizes differ, both images align at the top left.
Approve and reject#
Anyone with write access to the repository on GitHub can review. Everyone with read access can open the page. There are no seats.
- Approve a snapshot with a, which also moves to the next pending one, or approve every pending snapshot with Approve all.
- Reject with r and an optional comment. One rejection makes the check fail with "1 change rejected".
- Undo a review with u.
When every change is approved, the check turns green on GitHub. See The GitHub check.
New pushes#
A new push on the pull request makes a new build, and the older build is marked superseded, with a link to the newest one. Approvals carry over: if an image was approved in an earlier build of the same pull request and suite, it is approved again, and the page says who approved it and in which build. So a rebase does not ask you to review the same pixels twice.
Rejections do not carry over. A rejected image that shows up again is pending, with a note that it was rejected before.
Keyboard shortcuts#
Press ? on the build page to see them.
| Action | Keys |
|---|---|
| Next / previous snapshot | jk |
| Focus filter | / |
| Show shortcuts | ? |
| Approve, move to next pending | a |
| Reject with a comment | r |
| Undo review | u |
| Approve all pending | shifta |
| Side by side, Diff, Slider, Flip | 1234 |
| Diff overlay in Side by side | d |
| Toggle image in Flip mode | space |
| Fit / 100% zoom | f0 |
| Zoom in / out | +- |