Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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" + '
fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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('^' + ".*" + ' fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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('^' + ".*" + ' fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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" + ' fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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('^' + ".*" + ' fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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('^' + ".*" + ' fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@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); } })(); })(); fix(desktop): point link token at solid accent by MoonOld · Pull Request #2701 · apache/maka · GitHub
Skip to content

fix(desktop): point link token at solid accent - #2701

Merged
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505
Aug 12, 2026
Merged

fix(desktop): point link token at solid accent#2701
Astro-Han merged 1 commit into
apache:mainfrom
MoonOld:fix/link-accent-solid-2505

Conversation

@MoonOld

@MoonOldMoonOld commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make semantic link text use the solid accent tier in both light and dark themes, fixing the contrast mismatch reported in fix(desktop): point --link at --accent-solid #2505.
  • Keep non-text washes and copied-state borders on the raw interaction accent so the token change does not alter those surfaces.
  • Add a focused rendered Electron contract for the real settings documentation link in light and dark Tokyo Night.

Fixes#2505

Verification

  • npm run lint and npm run format:check
  • npm run astryx:theme -- --check
  • npx knip --workspace apps/desktop and npx knip --workspace packages/ui
  • npm run build and npm run typecheck
  • UI/Desktop workspace tests: 113/113 and 760/760 passed
  • Focused Electron regression: 5/5 repeated runs passed; reverting the link alias makes the new assertion fail
  • Storybook build and render smoke: 124/124 stories passed
  • Fixture alignment audit: all clean
  • Fresh hosted CI on final SHA: typecheck, workspace tests, full Electron E2E/alignment, Storybook, and Windows checks all passed
  • Full local Electron suite: 12/13 passed; the remaining macOS slash-command caret assertion also fails on a clean current main worktree
Before — raw accentAfter — solid accent tier
Tokyo Night light link beforeTokyo Night light link after

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

AI-assisted implementation and review are disclosed by the Generated-by: Codex commit trailer. Independent human review is requested because this changes user-visible link colors.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 7f5022d to e2d50baCompareAugust 11, 2026 13:13
@MoonOld

MoonOld commented Aug 11, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han This is ready for review. It follows the exact #2505 scope, includes rendered light/dark regression coverage and before/after screenshots.

CI baseline is now isolated in clean worktrees: at da9f948, settings.spec.ts passes 3/3; at current-main 94e6775 (#2700), it fails 0/3 in the shared fixture before assertions, with the onboarding screen visible and the composer hidden. The fixture seeds only the legacy llm-connections path, while #2700 removes the legacy runtime-policy migration, leaving the fresh Runtime Host catalog empty. @jackwener, could you advise on the current-main fixture/bootstrap follow-up? The typecheck job is independently stopped by the same 62-file formatter baseline present on main.

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from e2d50ba to 214773fCompareAugust 12, 2026 06:07
@MoonOld

MoonOld commented Aug 12, 2026

Copy link
Copy Markdown
ContributorAuthor

@Astro-Han Thank you for the review. Your requested rebase and smaller standalone rendered contract are now complete: the removed Settings walkthrough stays deleted, the real documentation link is checked in Tokyo Night light/dark, and fresh CI is fully green on final SHA 089d5b5. Could you please confirm the final SHA when convenient? — posted by Codex for @MoonOld

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — I found no P0–P3 issues in the production change.

This fixes the token at the right authority boundary:

  • link text now derives from --accent-solid, which owns the cross-palette text-contrast guarantee;
  • the two washes and two borders remain derived from the raw interaction accent;
  • genuine link and copied-state text continues to follow --link.

The rendered before/after evidence also matches the intended result: the light Tokyo Night link becomes clearly readable without changing the surrounding interaction hierarchy.

One friendly suggestion for the rebase: the branch is currently conflicting because the large Settings E2E block extended by this PR has since been removed from main. I would avoid restoring that deleted omnibus test. The useful regression can be preserved as a smaller, standalone rendered contract that:

  1. opens a real Settings documentation link;
  2. selects Tokyo Night;
  3. verifies in light and dark modes that the link's computed color equals --accent-solid and differs from --accent.

That would retain the meaningful browser-level coverage while following the current, smaller test seam.

The previous red CI was consistent with the old base, but current main is green. Please rebase and obtain a fresh complete CI result before merging. None of this changes my approval of the implementation itself.

Please feel free to push back if there is a newer rendered-theme seam that would be a better home for the regression.

AI-assisted review disclosure

Codex inspected the issue contract, current PR diff, current main, token consumers, rendered screenshots, test ownership, and CI/merge state. Astro-Han reviewed the evidence and made the final decision to approve the production change while recommending a smaller test after rebase.

中文对照(默认折叠)

批准。生产改动中没有发现 P0–P3。

这次修改落在正确的 token authority 上:链接文本由保证跨 palette 文本对比度的 --accent-solid 派生;两个 wash 和两个 border 继续使用 raw interaction accent;真正的链接和复制成功文本继续使用 --link。渲染前后截图也符合预期,浅色 Tokyo Night 下链接明显更清晰,同时没有改变周围的交互层级。

有一个友好建议:当前分支发生冲突,是因为本 PR 扩展的那段大型 Settings E2E 已经被 main 删除。Rebase 时建议不要恢复这段被删除的综合测试。可以保留一个更小、独立的 rendered contract:打开真实 Settings documentation link,选择 Tokyo Night,然后在 light/dark 下验证 computed color 等于 --accent-solid 且不同于 --accent

这样既保留真正有价值的浏览器渲染覆盖,也符合 current main 更小的测试边界。

此前红色 CI 与旧 base 一致,但 current main 已经恢复绿色,因此合并前仍需 rebase 并取得新的完整 CI。这个前置条件不改变对生产实现本身的批准。

如果仓库现在已有更合适的 rendered-theme 测试 seam,也欢迎直接 push back。

本次由 Codex 检查 issue contract、PR diff、current main、token consumers、渲染截图、测试 owner 和 CI/merge 状态;Astro-Han 复核证据,并决定批准生产修改,同时建议在 rebase 后缩小测试。

@MoonOld
MoonOldforce-pushed the fix/link-accent-solid-2505 branch from 214773f to 089d5b5CompareAugust 12, 2026 06:13
@Astro-Han
Astro-Han merged commit e76858e into apache:mainAug 12, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): point --link at --accent-solid

2 participants

@MoonOld@Astro-Han