Skip to content

fix(native): mirror the loaded Pulls screens in their skeletons, and fix the Description heading in place - #1004

Merged
omartelo merged 1 commit into
mainfrom
fix/pulls-skeletons-description-header
Nov 1, 2026
Merged

omartelo merged 1 commit into
mainfrom
fix/pulls-skeletons-description-header

Conversation

@omartelo

@omartelo omartelo commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Index skeleton (pulls_list.go): skeletonRow is rowContent with bars: the same insets (the row's vertical padding is now pullsRowPadY, shared), number and title over the meta line, the checks chip in rowChecksWidth, the verdict and checkout columns reserved, a separator under each, as many rows as fill the island.
  • Pull request skeleton (pulls_skeleton.go, pulls_skeleton_tabs.go):
    • The title row has blocks the measured size of Open in Session, Merge and ⋯; the title's line is the pencil's height, as the loaded one.
    • The tab strip is the real one, labels known before the pull request is, a bar per count and one for the diff's size; switching tabs works while loading.
    • Each tab has its own: Overview (fixed heading, prose in Markdown line height down the column, facts), Commits, Checks, Conversation (avatar, byline, Markdown lines) and Files (toolbar, tree at its stored width or hidden, cards with a header and diff lines).
    • Bars are measured off the text they stand for (skeletonText), the font's height centred in the text's line; a bar in a Flexed spans its room (spanning) so what follows lands at the row's end.
    • The conversation and diff reads show the Conversation and Files skeletons instead of "Reading…"; pulls.pullsFiles.loading is gone from every locale.
  • Overview heading: Description and its ⋯ span the column (⋯ against the facts' rule), stay put while the description scrolls under them, over a th.Separator. On a narrow island it scrolls with the facts, as before.
  • native/DESIGN.md: the Loading section spells out a faithful skeleton; a Fixed headings section records the separator. CHANGELOG.md has the entries.

Test plan

  • Skeleton rows pinned to loaded rows' height: index row, commit row, check row.
  • With the detail read held, the Overview tab sits at the same height in the skeleton and loaded (failed by 3px before the title row took the pencil's height).
  • The Description ⋯ lies past the prose width (failed before: it sat at the prose's edge).
  • native/: gofmt, vet and tests green.
  • Rig window: index, detail and every tab's skeleton against the loaded screen; fixed Description heading with its separator.

…fix the Description heading in place

The index skeleton draws rows of a loaded row's height with the checks
column, filling the island. The pull request skeleton draws the title row
with its buttons, the real tab strip and the open tab's layout: Overview,
Commits, Checks, Conversation and Files each get their own, and the
conversation and diff reads show them too instead of a line of text. Bars
are measured off the text they stand for.

On the Overview, the Description heading and its ⋯ span the column and stay
put over a separator while the description scrolls under them.

native/DESIGN.md spells out what a faithful skeleton is and records the
fixed heading.
@omartelo
omartelo merged commit 98431c3 into main Nov 1, 2026
7 checks passed
@omartelo
omartelo deleted the fix/pulls-skeletons-description-header branch November 1, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant