diff --git a/src/components/wire/CapabilityTable.astro b/src/components/wire/CapabilityTable.astro index 5789c0b..f441f80 100644 --- a/src/components/wire/CapabilityTable.astro +++ b/src/components/wire/CapabilityTable.astro @@ -11,8 +11,9 @@ interface Row { yr: string; does: string; enabled?: boolean; // advertised by default (green row) vs needs config (grey row) + deprecated?: boolean; // disabled by default / discouraged — renders a struck, red-tinted row purpose: string; // Purpose tag text (e.g. "Core", "Large repo") - tone?: 'core' | 'on' | 'gated' | 'new' | 'hot'; // Purpose tag colour + tone?: 'core' | 'on' | 'gated' | 'new' | 'hot' | 'deprecated'; // Purpose tag colour author?: string; sha?: string; subject?: string; @@ -67,7 +68,7 @@ function groupConfig(cfg: Config[]): [string, Config[]][] { const rowCls = [ 'cap-row', hasDetail ? 'cap-row--toggle' : '', - r.enabled ? 'cap-row--default' : 'cap-row--gated', + r.deprecated ? 'cap-row--deprecated' : r.enabled ? 'cap-row--default' : 'cap-row--gated', ].filter(Boolean).join(' '); return ( diff --git a/src/components/wire/wire.css b/src/components/wire/wire.css index 9d6789c..ae1dbee 100644 --- a/src/components/wire/wire.css +++ b/src/components/wire/wire.css @@ -187,6 +187,15 @@ .prose-body .captable .cap-row--default.is-open td { background: color-mix(in srgb, var(--good) 17%, var(--paper)); } .prose-body .captable .cap-row--gated.is-open td { background: color-mix(in srgb, var(--muted) 10%, var(--paper)); } .prose-body .captable .cap-row--toggle.is-open td:first-child { box-shadow: inset 2px 0 0 var(--accent); } +/* Deprecated / disabled-by-default row: red tint + struck capability name */ +.prose-body .captable .cap-row--deprecated td { background: color-mix(in srgb, var(--ember) 8%, var(--paper)); color: var(--muted); } +.prose-body .captable .cap-row--deprecated.cap-row--toggle:hover td { background: color-mix(in srgb, var(--ember) 14%, var(--paper)); } +.prose-body .captable .cap-row--deprecated.is-open td { background: color-mix(in srgb, var(--ember) 16%, var(--paper)); } +.prose-body .captable .cap-row--deprecated.is-open td:first-child { box-shadow: inset 2px 0 0 var(--ember); } +.prose-body .captable .cap-row--deprecated td:nth-child(2) { + text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--ember) 55%, transparent); + color: var(--muted); font-style: italic; +} .prose-body .captable .caret { display: inline-block; width: 7px; height: 7px; margin-top: -3px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); @@ -204,6 +213,7 @@ .prose-body .cap-status--gated { background: var(--slate-bg); color: var(--muted); } .prose-body .cap-status--new { background: var(--amber-bg); color: var(--amber); } .prose-body .cap-status--hot { background: var(--ember-bg); color: var(--ember); } +.prose-body .cap-status--deprecated { background: var(--ember-bg); color: var(--ember); text-decoration: line-through; } /* Expanded detail row — reset the mono/nowrap the base td:first-child rule imposes */ .prose-body .captable .cap-detail > td { diff --git a/src/posts/git/2026-07-27-git-wire-protocol-v2.mdx b/src/posts/git/2026-07-27-git-wire-protocol-v2.mdx index 04157ca..171ab9d 100644 --- a/src/posts/git/2026-07-27-git-wire-protocol-v2.mdx +++ b/src/posts/git/2026-07-27-git-wire-protocol-v2.mdx @@ -766,8 +766,9 @@ Here is a full list of the current potential capabilities of a v2 Git server _(g yr: "'21", does: "Object size without download", enabled: false, - purpose: "Metadata", - tone: "gated", + deprecated: true, + purpose: "Disabled", + tone: "deprecated", author: "Bruno Albuquerque", sha: "a2ba162cda2acc171c3e36acbbc854792b093cb7", subject: "object-info: support for retrieving object info",