Skip to content

Pull request: Draw timeline connectors only between neighbouring entries - #79

Merged
whereareiam merged 1 commit into
devfrom
change/timeline-connectors
Oct 4, 2026
Merged

whereareiam merged 1 commit into
devfrom
change/timeline-connectors

Conversation

@whereareiam

Copy link
Copy Markdown
Owner

Stacked on #78 (base is its branch).

Why

A deliberate departure from GitHub. GitHub draws one continuous line down the timeline: it trails below the last entry into empty space and runs past boxes it does not connect. Our theme copied that on pull request pages with a single full-height .ui.timeline::before, which also ran alongside the indented review boxes.

The rule

A connector joins two neighbouring timeline entries, and nothing else.

  • Event to event, event to commit rows, box to event, event to box: connected.
  • After the last entry: nothing.
  • Alongside a box: nothing; boxes only get stubs in the gap above and below.
  • Review groups (an event followed by indented boxes): a connector may arrive at the group's badge, none leaves the group.

How

  • Pull request pages: the full-height line is hidden. Events and commit rows draw an upper half (::before) and, only when another entry follows, a lower half (::after). Comment and merge boxes draw 12px stubs in their own top and bottom padding with background gradients, switched by :has() and adjacency.
  • Issue pages already used per-entry lines; the last entry's line now stops at its badge.
  • The cover element that hid the old line above the comment form is removed.
  • The "closed this pull request" badge is red instead of purple, matching the state label from Pull request: Match GitHub's state colours for closed, draft, merged and blocked pull requests #76.

Verification

Checked in the preview on open (with review groups and an approval), draft, merged and closed pull requests, and on open and closed issues. bun vitest (403 passed), bun check and Prettier pass. Dark theme CSS is 221,969 bytes against the 225,280 limit. Screenshots are not attached.

🤖 Generated with Claude Code

GitHub runs one continuous line down the timeline, so it trails past the
last entry and runs alongside boxes it does not connect. This is our own
rule instead: a connector joins two neighbouring entries and nothing
else. It never runs past the last entry, alongside a review box, or out
of a review group.

On pull request pages the single full-height line is replaced by
per-entry halves. On issue pages the last entry's line now stops at its
badge. The "closed this pull request" badge is red, matching the state
label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@whereareiam whereareiam added the change Intentional style, template, or compatibility improvements label Oct 4, 2026
Base automatically changed from fix/issue-pages to dev October 4, 2026 10:24
@whereareiam
whereareiam merged commit 9a5b1f9 into dev Oct 4, 2026
7 checks passed
@whereareiam
whereareiam deleted the change/timeline-connectors branch October 4, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change Intentional style, template, or compatibility improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant