feat: give gX somewhere to go from a checks list #21

Merged
barrettruth merged 2 commits from feat/gx-on-lists into main 2026-07-27 23:44:40 +00:00
Owner

Checklist

  • I have read CONTRIBUTING.md.
  • No AI was used to generate, edit, or review any part of this contribution.

Problem

b:ci.url was only ever set from a job's html_url, so gX did nothing at
all on a checks list, a pull request, or a run.

Solution

Each has an obvious page, and all three are one string away from what the
buffer already knows:

checks/master        -> /neovim/neovim/commit/e3c5974adf25…/checks
pr/41010             -> /neovim/neovim/pull/41010/checks
run/30278897599      -> /neovim/neovim/actions/runs/30278897599
run/30278897599/1    -> /neovim/neovim/actions/runs/30278897599/attempts/1

All four verified 200.

The commit page needs the resolved SHA rather than whatever was typed —
/commit/master/checks is a 404 — so it is built where the rollup answers,
from the oid it resolved to, rather than from the URI.

## Checklist - [x] I have read [CONTRIBUTING.md](https://forge.barrettruth.com/barrettruth/ci.nvim/src/branch/main/CONTRIBUTING.md). - [ ] No AI was used to generate, edit, or review any part of this contribution. ## Problem `b:ci.url` was only ever set from a job's `html_url`, so `gX` did nothing at all on a checks list, a pull request, or a run. ## Solution Each has an obvious page, and all three are one string away from what the buffer already knows: ``` checks/master -> /neovim/neovim/commit/e3c5974adf25…/checks pr/41010 -> /neovim/neovim/pull/41010/checks run/30278897599 -> /neovim/neovim/actions/runs/30278897599 run/30278897599/1 -> /neovim/neovim/actions/runs/30278897599/attempts/1 ``` All four verified 200. The commit page needs the *resolved* SHA rather than whatever was typed — `/commit/master/checks` is a 404 — so it is built where the rollup answers, from the oid it resolved to, rather than from the URI.
fix: send "-" from a job to the commit, not to its run
All checks were successful
quality / Test (pull_request) Successful in 3s
quality / Format (pull_request) Successful in 18s
quality / Lint (pull_request) Successful in 20s
17f6f7867c
Pressing enter on a check descended two levels at once, from the commit's
checks straight to a job, while "-" climbed back one at a time. The run you
landed in was somewhere you had never been, and for a single-job workflow it
listed only the job you had just left.

The deeper trouble is that a run holds less than the list you came from. The
checks view is scoped to the commit and already carries every job of every
run, workflow and all, so a run is a filter on it rather than a level above
it. Going up should not narrow.

So "-" undoes enter now. head_sha is already in the job we fetch, so this
costs no request, and a run stays reachable by its URL with its own "-" to
the same commit.
feat: give gX somewhere to go from a checks list
All checks were successful
quality / Lint (pull_request) Successful in 6s
quality / Format (pull_request) Successful in 7s
quality / Test (pull_request) Successful in 15s
38a1a74e22
Only job buffers ever set a url, so gX was silent on every list. Each of the
three has an obvious page and all three are one string away from what the
buffer already knows.

The commit's page needs the resolved SHA rather than whatever was typed:
/commit/master/checks is a 404, so it is built where the rollup answers, from
the oid it resolved to.
barrettruth deleted branch feat/gx-on-lists 2026-07-27 23:44:40 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
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
barrettruth/ci.nvim!21
No description provided.