Desktop Material

Clone dialog repository metadata

Every row in the Clone dialog's GitHub repository list is a rich metadata card rather than a bare name, matching the Desktop Material v2 prototype. The card surfaces the information needed to pick the right repository without opening it in a browser first.

Behavior

Data and configuration

Performance and accessibility

The list stays virtualized. Each metadata card paints at a fixed 84px height (the description and metadata lines are single-line and height-pinned) so the list's pointer hit-testing matches the painted rows exactly. The metadata container is always rendered — even when a sparse response yields no metrics — so the row height never varies. Metric glyphs are decorative and hidden from assistive technology; each metric span carries an accessible label such as "4.3k stars" so screen readers announce the value with its meaning.

Failure modes and security

Metadata is presentational and derived only from the repository listing the account already has permission to read. Missing, null, or unparseable values (a blank description, an absent language, an unparseable timestamp) degrade to a neutral fallback or an omitted metric rather than an error. No additional network requests are made to populate the card.

Verification

Focused tests cover the language-color palette (known, case-insensitive, and neutral-fallback cases), language derivation and deduplication from a listing, compact count/size/relative-time formatting with graceful nulls, the additive metadata mapping onto list items, and the language filter's case-insensitive narrowing. Row-rendering tests assert the description, language dot and color, every metric, the Public/Private pill, the blank-description fallback, graceful omission of absent metrics, the English/Cantonese/bilingual labels, and that the compact (non-metadata) row still renders.