Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); chore(desktop): drop tokens nothing reads by Astro-Han · Pull Request #4017 · apache/maka · GitHub
Skip to content

chore(desktop): drop tokens nothing reads - #4017

Closed
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed
Closed

chore(desktop): drop tokens nothing reads#4017
Astro-Han wants to merge 1 commit into
mainfrom
chore/tokens-drop-unconsumed

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Twenty-four custom properties in maka-tokens.css have no var() consumer anywhere — not in renderer CSS, not in @maka/ui, not in stories, and not in Astryx, which reads a handful of Maka properties through its own theme bridge and was checked separately. A token nobody reads still has to be kept consistent with the palette, the light and dark blocks, and every audit that walks the file, so it costs maintenance and returns nothing.

Three of the groups are more than single tokens:

  • --elevation-* was three aliases of --shadow-* with one consumer between them. The tier goes; settings/form.css names --shadow-med directly, which is the value it already resolved to.
  • The icon scale mirrored ICON_SIZE in @maka/ui's icons.tsx by its own admission. ICON_SIZE has 209 consumers, the CSS mirror had two. The two CSS-clamped rungs stay; the rest go, including --icon-size (an alias marked "deprecated, one release") and --icon-chrome, whose only reader was that alias.
  • The z-index ladder kept four rungs no layer sits on. Reserving unused floors invites the next reader to pick by name rather than by stacking, so the ladder now lists what exists.

Four comments that named a deleted token as live are corrected with it.

--foreground-8 is deliberately kept beside --foreground-alpha-*: the first mixes into the background and is opaque, the second is a real alpha channel, and the file already records why they cannot substitute for each other.

Verification

  • Consumer search covered apps, packages, native, scripts (css/ts/tsx/js/mjs/html) plus @astryxdesign/core/dist and theme-neutral, excluding build output and caches. Re-run after the deletions: no var() reference to any removed property, and no bare mention left in the token file.
  • Dynamic access checked separately: the only properties written or read through setProperty / getPropertyValue are --background and --maka-drawer-tooltip-x.
  • npm --workspace @maka/desktop run build:with-deps — passes, so no CSS parse or resolution error.
  • e2e/link-color-contract.spec.ts, e2e/settings-row-focus-ring.spec.ts — 5 passed. These assert computed color and focus-ring geometry, the two surfaces closest to the removed color and shadow tiers.
  • npm run format:check — clean.
  • Not run: the repository-wide suite and Storybook visual smoke. CI covers both.

Root cause

No behavior changes: every removed property resolved to nothing at every call site, because there were no call sites. The one substituted value (--elevation-overlay--shadow-med) is the same computed shadow.

Capability given up: the WCAG measurements recorded on --control (L0.65 for 3:1 non-text contrast) leave with the token. Anyone re-adding checked-control styling would re-derive them; the reasoning stays in git history at this commit's parent.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code — the consumer audit, the deletions, and this description. Reviewed and verified by the contributor before opening.

Checklist

  • Tests cover the change and fail without it — a deletion of unread properties has no behavior to assert; coverage is the consumer search and the two computed-style E2E runs above
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Twenty-four custom properties in `maka-tokens.css` have no `var()` consumer
anywhere — not in renderer CSS, not in `@maka/ui`, not in stories, and not in
Astryx, which reads a handful of Maka properties through its own theme bridge
and is checked separately here. A token nobody reads still has to be kept
consistent with the palette, the theme blocks, and every audit that walks the
file, so it costs maintenance and returns nothing.
Removed: the checked-control colors (`--control`, `--control-foreground`), four
unread wash tiers, `--border-width-accent`, `--foreground-alpha-10`, `--space-0`,
`--opacity-pending`, `--ease-in-out-strong`, `--maka-text-display-2`, and
`--h-control-xl` / `--h-control-2xl`, whose own comment recorded that nothing
reads them.
Three groups are more than single tokens:
- The `--elevation-*` tier was three aliases of `--shadow-*` with one consumer
between them. The tier goes and `settings/form.css` names `--shadow-med`
directly, which is the value it already resolved to.
- The icon scale mirrored `ICON_SIZE` in `@maka/ui`'s `icons.tsx` by its own
admission. `ICON_SIZE` has 209 consumers and the CSS mirror had two; the two
CSS-clamped rungs stay and the rest go, including `--icon-size`, an alias
marked "deprecated, one release", and `--icon-chrome`, whose only reader was
that alias.
- The z-index ladder kept four rungs no layer sits on. Reserving unused floors
invites the next reader to pick by name rather than by stacking, so the
ladder now lists what exists: sticky, titlebar, tooltip, overlay, plus the
two micro tiers.
Four comments that named a deleted token as live are corrected with it.
`--foreground-8` is deliberately kept beside `--foreground-alpha-*`: the first
mixes into the background and is opaque, the second is a real alpha channel, and
the file already records why the two cannot substitute for each other.
Generated-by: Claude Code
@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Folded into #3997 — same defect end to end, so it reverts as one. The token sweep is commit 2c15992 there.

@Astro-Han
Astro-Han deleted the chore/tokens-drop-unconsumed branch August 27, 2026 11:07
@github-actionsgithub-actionsBot added the effort/S Under 100 readable lines label Aug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/SUnder 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han