style(ui): continue ui clarity pass across theme, config, and usage#53272
style(ui): continue ui clarity pass across theme, config, and usage#53272
Conversation
🔒 Aisle Security AnalysisWe found 1 potential security issue(s) in this PR:
1. 🔵 Sensitive config values exposed in config change diff panel (no redaction)
DescriptionThe config UI’s diff panel (shown in Form mode when there are pending changes) renders before/after values using As a result, if a user edits any secret-like config value (e.g. This risk becomes more likely as new sections such as Vulnerable code: function renderDiffValue(path: string, value: unknown, _uiHints: ConfigUiHints): string {
return truncateValue(value);
}Data flow:
RecommendationApply the existing sensitive detection to diff rendering and substitute a placeholder unless the user explicitly reveals that path. Example fix: import { isSensitiveConfigPath, hintForPath, REDACTED_PLACEHOLDER } from "./config-form.shared";
function renderDiffValue(path: string, value: unknown, uiHints: ConfigUiHints): string {
const hint = uiHints ? uiHints[path] : undefined; // or derive via hintForPath using a parsed path array
const sensitive = (hint?.sensitive ?? false) || isSensitiveConfigPath(path);
if (sensitive && value != null && String(value).trim() !== "") {
return REDACTED_PLACEHOLDER;
}
return truncateValue(value);
}Optionally, support per-field reveal (similar to the raw editor and env peek) so users can consciously display secrets when needed. Analyzed PR: #53272 at commit Last updated on: 2026-03-24T02:00:23Z |
Greptile SummaryThis PR continues a UI clarity pass across theme tokens, button primitives, and configuration/usage surfaces. It refines the Knot theme to a black-and-red palette, consolidates one-off button styles into reusable
Confidence Score: 5/5
|
…radius settings for improved UI consistency
…accessibility features
|
Security finding from Aisle (sensitive data exposure in config diff panel) addressed in follow-up commit 9dd0530:
|
- Added new DashScope endpoints for China and global Qwen API keys in ModelStudio/Qwen. - Consolidated button primitives and refined Knot theme in UI/clarity, improving accessibility. - Enhanced Control UI with a restyled markdown preview dialog and integrated markdown rendering. - Added one-click install recipes for bundled skills in Skills/install metadata. - Updated CLI/skills to provide clearer API key setup guidance. - Improved Control UI/agents with expandable file rows and comprehensive markdown styles. - Replaced horizontal navigation with a collapsible tree sidebar in macOS app/config. - Updated package manager to pnpm@10.32.1 and added new dependencies for markdown preview. - Various CSS improvements for better styling and accessibility across the UI. Closes #43878, #53272, #53307. Thanks @BunsDev.
…ncies - Added standard DashScope endpoints for China and global Qwen API keys in ModelStudio/Qwen. - Consolidated button primitives and refined Knot theme in UI/clarity, improving accessibility. - Enhanced Control UI with a restyled markdown preview dialog and integrated markdown rendering. - Added one-click install recipes for bundled skills in Skills/install metadata. - Updated CLI/skills to provide clearer API key setup guidance. - Improved Control UI/agents with expandable file rows and comprehensive markdown styles. - Replaced horizontal navigation with a collapsible tree sidebar in macOS app/config. - Updated package manager to pnpm@10.32.1 and added new dependencies for markdown preview. - Various CSS improvements for better styling and accessibility across the UI. Closes #43878, #53272, #53307. Thanks @BunsDev.
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
- Added new DashScope endpoints for China and global Qwen API keys in ModelStudio/Qwen. - Consolidated button primitives and refined Knot theme in UI/clarity, improving accessibility. - Enhanced Control UI with a restyled markdown preview dialog and integrated markdown rendering. - Added one-click install recipes for bundled skills in Skills/install metadata. - Updated CLI/skills to provide clearer API key setup guidance. - Improved Control UI/agents with expandable file rows and comprehensive markdown styles. - Replaced horizontal navigation with a collapsible tree sidebar in macOS app/config. - Updated package manager to pnpm@10.32.1 and added new dependencies for markdown preview. - Various CSS improvements for better styling and accessibility across the UI. Closes #43878, #53272, #53307. Thanks @BunsDev.
…ncies - Added standard DashScope endpoints for China and global Qwen API keys in ModelStudio/Qwen. - Consolidated button primitives and refined Knot theme in UI/clarity, improving accessibility. - Enhanced Control UI with a restyled markdown preview dialog and integrated markdown rendering. - Added one-click install recipes for bundled skills in Skills/install metadata. - Updated CLI/skills to provide clearer API key setup guidance. - Improved Control UI/agents with expandable file rows and comprehensive markdown styles. - Replaced horizontal navigation with a collapsible tree sidebar in macOS app/config. - Updated package manager to pnpm@10.32.1 and added new dependencies for markdown preview. - Various CSS improvements for better styling and accessibility across the UI. Closes #43878, #53272, #53307. Thanks @BunsDev.
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
… 3 of #2502 CSS class drift audit (#2510) Upstream `21ac4b9a8a` (style(ui) clarity pass, openclaw#53272) migrated `.btn-sm` to `.btn--sm` under the BEM modifier convention. The fork's `ui/src/ui/views/channels.nostr.ts:131` still referenced the pre-rename `btn-sm` token; the CSS rule `.btn--sm` is defined at `ui/src/styles/components.css:625`. The stale reference was surfaced as cluster 3 (1 orphan) by the CSS class drift audit introduced in #2507. Post-fix audit: orphans 36 → 35, clusters 3 → 2, cluster 3 eliminated entirely. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… 3 of #2502 CSS class drift audit (#2510) (#2512) Upstream `21ac4b9a8a` (style(ui) clarity pass, openclaw#53272) migrated `.btn-sm` to `.btn--sm` under the BEM modifier convention. The fork's `ui/src/ui/views/channels.nostr.ts:131` still referenced the pre-rename `btn-sm` token; the CSS rule `.btn--sm` is defined at `ui/src/styles/components.css:625`. The stale reference was surfaced as cluster 3 (1 orphan) by the CSS class drift audit introduced in #2507. Post-fix audit: orphans 36 → 35, clusters 3 → 2, cluster 3 eliminated entirely. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
…penclaw#53272) thanks @BunsDev Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com> Co-authored-by: Nova <nova@openknot.ai>
Summary
Continue the
ui/claritypass with a stronger Knot theme, cleaner button primitives, and tighter text contrast. Simplifies several chat/usage/config UI surfaces to reduce visual noise and improve consistency. Improves config navigation and section discoverability with new icons, categories, and a better top-bar layout.What changed
Theme + visual clarity
--muted-strongcolor token for better readability and hierarchyReusable button + interaction polish
btn--icon,btn--ghost,btn--xs) intocomponents.css, replacing ~60 lines of duplicate one-off button styles scattered across chat/usage CSSbtn--*classes (e.g.btn-ghost→btn--ghost,btn-sm→btn--sm)Config UI improvements
config-top-tabs__rightcontainer entirely (cleaner DOM)Roundness control redesign
snapBorderRadius()so persisted free-form values gracefully snap to the nearest stop on load::-webkit-slider-thumb,::-moz-range-thumb, etc.)Usage page cleanup
.usage-pin-btn,.usage-export-button,.toggle-btn,.session-copy-btn,.context-expand-btn,.session-close-btn) that are now covered by the sharedbtn--*systemaria-labelattributes to filter selects, search input, and chip-remove buttons for improved accessibilityMisc
flex-wrap: wrap+min-width: 0to agent tools/skills card rows so they don't overflow on narrow viewportsValidation
pnpm test:ui— 511/511 tests passpnpm ui:build— builds clean (583 KB main bundle, no warnings)