| Age | Commit message (Collapse) | Author | Lines |
|
It scrolls sideways like the hex dump, with nothing inside a keyboard
can reach, so it takes focus and the shared focus ring the same way.
|
|
Chrome and Firefox already let an overflowing box take focus, with
their own ring, but WebKit does not. The table takes focus on a mouse
click as well, where focus-visible keeps the ring off.
|
|
Without the trailing slash the rules also matched any path segment that
starts with blame or snapshot, such as /repo/tree/blame.c. Every link
cgit makes to the two pages ends the name with a slash.
|
|
Forced colours drop the side-by-side diff's backgrounds, so an added,
deleted or changed line looked like context. A thicker left border on
each side that holds the line marks it, and its column still tells old
from new.
|
|
A ref label, email address or path longer than a phone screen pushed
main.content sideways by up to 340px. In the log and summary the label
also widened the shared table until the age column left the screen.
Below 640px a label becomes an inline-block capped at its cell, so it
still moves to the next line whole and breaks inside only when it is
wider than the cell. line-height: normal keeps the box the height of
the inline label it replaces. That holds exactly in Chromium and
Firefox, while WebKit's box grows by a third of a pixel at each edge.
Commit details and diffstat paths break at the cell edge, as listing
cells already do.
|
|
A date in a listing that is not a relative age is a time element with
no age class, so it missed the nowrap the ages get. Wherever a listing
ran short of room the date split at its hyphen, 2026- over 02-13, and
doubled every row. That happened on phones in every engine, and at
768px in Chromium and WebKit.
|
|
|
|
|
|
|
|
The sixth limit repeated 2 * YEAR, so an age of two years or more ran
one place past the classes, which is why the suffixes and units
repeated their last entry and the class needed a clamp. It now stops
on the years bucket itself.
|
|
Nine rules each set display: none, scattered out of the stylesheet's
section order. The rest of each block's rules now follow that order too.
|
|
The repository list is also a table.list, which is full width at every
size.
|
|
|
|
The diffstat is built from td cells alone.
|
|
|
|
|
|
The trailer table is laid out to match the commit table, so the two
now read their cell spacing from one place. The trailer cells gain the
explicit normal weight the commit cells keep, which they already had
from inheritance.
|
|
|
|
Blame is drawn as a table of both classes, so its own rule and its
halves of the line anchor lists only repeated the blob rules.
|
|
|
|
|
|
|
|
It took --del, the colour of a removed diff line, while div.error
takes --accent.
|
|
The side-by-side view writes its note as a td.truncated, which the
stylesheet already styles together with the unified view's div, but
only the div's link was underlined.
|
|
The anchors' scroll margin of half the window already centres a line
scrolled to the top of the view, which is where the browser puts a
single line. Asking to centre a range as well centred the margin with
it, and in Chromium, WebKit and Firefox the first line of a range
landed 73% of the way down the window against 49% for a single line.
|
|
getElementsByClassName returns a live collection, so an age moved to
the next unit dropped out of it mid-loop and the age after it was
skipped until the next pass, which can be a day away. On a cached page
that has crossed a unit boundary every second age stayed stale.
querySelectorAll returns a static list of the same elements.
|
|
A blob header's hash and a commit's download names are single words
wider than a phone's content area, so the whole main area scrolled
sideways. The hash may now break anywhere, and below 640px a download
name may too, while wider screens keep each name on one line with its
signature.
|
|
Messages such as Path not found sat 2em further in than every other
block on the page.
|
|
Muted, faint, the footer and the month and year ages fell short of
4.5:1 on the backgrounds they sit on, the row stripes and line number
cells among them, and links inside sentences differed from the text
around them only by colour. Each grey is now the lightest that clears
4.5:1 on its darkest background, with months stepped between weeks and
years so the age fade keeps all six steps, and links in running text
are underlined.
|
|
A forced colours palette, such as a Windows high contrast theme, drops
author backgrounds, and those were the only marks on the active tab and
on the lines a URL names. The user's own Highlight colour takes their
place.
|
|
They were the only colours written into their rules, so a theme could
not change them the way the README says it can change the rest.
|
|
Font sizes mixed percentages with ems, several paddings and margins
spelt out four values where fewer said the same, the blob and blame
tables set their position in a rule of their own, and the odd rows
repeated the base row background.
|
|
Rules now run from the tokens and the base elements through the
controls, the page frame, the listings, the readme, the blob and blame
views, the commit page, the diff, the stats and the login form, to the
media queries. Each rule moved whole, and every page renders the same
in Chromium, WebKit and Firefox.
|
|
Its caption sat above the box, each select took its own width, and the
reload button hung indented under them. The caption is now the panel's
header strip, the selects and the button share one column at the width
of the widest select, and the labels lose their colons to match the
commit details.
|
|
WCAG 1.4.11 asks for 3:1 where the border is what shows a field is
there, and the search field has no other edge. The strong grey gives
5.7:1 on the light background and 3.2:1 on the dark one. Hover moves to
the text colour so that it still shows.
|
|
The stats grid, the binary blob table and the line above a blob kept
the black of the original stylesheet as the darkest grey, and the
readme used the lightest, while the diffstat and diff options sat in
between. Rules such as the tab bar and the header line keep the light
grey.
|
|
Links fell back to each browser's own ring, which differs in shape and
colour from one engine to the next, while selects and inputs drew the
link colour ring. The repository title clips its overflow, so it gets
3px of padding, given back by a negative margin, for its ring to show
whole.
|
|
The radius tokens stay, set to zero, since the README offers metrics to
a theme, so a site can still round them. Zero rather than no radius at
all, since WebKit's own stylesheet gives a select a radius of its own.
The chevron loses its round caps and joins to match.
|
|
The stripe rules come later at the same specificity and match every
row, so the logheader background never showed.
|
|
|
|
The five rules differed only in their colours, so a change to the shape
of a label had to be made five times over.
|
|
The fold put a click between the reader and the signature, and the
browser's own disclosure marker and summary did not take the theme. The
signature prints as part of the message again, as it did up to v2.9.1.
|
|
The armour ran on for more lines than most tag messages, as part of the
message itself. git finds the signature for every kind it can sign
with, so PGP, SSH and X.509 all fold the same way.
|
|
On a touch screen the highlight stayed on whichever row was tapped last.
|
|
A wrong password sent the reader back to the same empty form, which
looked no different from a crash. The redirect now carries a flag the
form reads, the same for an unknown user as for a wrong password, and
the form leaves the flag out of the way back it signs.
|
|
|
|
Its dark red barely stood out from the dark background.
|
|
A short file left the rule above the code, and the highlight bar under
a fragment, only as wide as its longest line.
|
|
The labels sat flush against the subject's last word, which made the
two one unbreakable run, so a narrow cell stranded a word on its own
line. A space now precedes each label and carries its gap, and a line
that breaks there drops it, so a wrapped label starts flush.
|
|
|