openclaw - ✅(Solved) Fix [Feature]: UI quality update based on UX scoring. [1 pull requests, 3 comments, 4 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#75947Fetched 2026-05-03 04:44:04
View on GitHub
Comments
3
Participants
4
Timeline
6
Reactions
3
Author
Timeline (top)
commented ×3cross-referenced ×1labeled ×1unsubscribed ×1

The UI is hard to navigate and understand. It should be redesigned based on accessibility and ergonomics criteria.

Root Cause

The UI is hard to navigate and understand. It should be redesigned based on accessibility and ergonomics criteria.

Fix Action

Fixed

PR fix notes

PR #76034: feat(config-ui): add basic/advanced field split and doc-link affordance

Description (problem / solution / changelog)

● - [x] Add FIELD_ADVANCED set in schema.hints.ts to mark technical config fields (auth cooldowns, gateway infra knobs, diagnostics subsections, etc.) as advanced, so the config form can hide them by default

  • Add docLink field to ConfigUiHint type for future per-field docs links
  • In config-form.node.ts renderObject, split top-level section fields into basic (visible by default) and advanced (collapsed <details> disclosure) when no search is active; search bypasses the split so all matching fields are always visible
  • Add renderHelpBlock helper that renders help text, doc link, and tags together; render the Docs ↗ anchor when hints.docLink is set
  • Add CSS for .cfg-advanced-section disclosure and .cfg-field__doc-link

Summary

  • Problem: The config UI shows all settings at the same level — basic toggles sit alongside low-level infra knobs (auth backoff timers, gateway health-check intervals, otel settings), making the page feel dense and hard to navigate for non-expert users.
  • Why it matters: New users opening the config page see 50+ fields at once with no visual hierarchy; important settings like log level or update channel are buried next to rarely-touched tuning parameters.
  • What changed: Top-level fields in each config section are now split into "basic" (always visible) and "advanced" (collapsed <details> disclosure with a count badge). The split is bypassed when a search query is active so all matching fields remain discoverable. The ConfigUiHint type gains an optional docLink field; when set, a Docs ↗ anchor is rendered inline with the help text.
  • What did NOT change: Raw mode, search behavior, the Form/Raw toggle, nested-object collapsibles, tag filtering (tag:advanced), and plugin-owned channel hints are all untouched.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #75947
  • This PR fixes a bug or regression

Root Cause (if applicable)

N/A

Regression Test Plan (if applicable)

N/A — feature addition, not a regression fix.

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: src/config/schema.hints.test.ts (42 tests pass, hint building logic unchanged)
  • Scenario the test should lock in: N/A
  • Why this is the smallest reliable guardrail: N/A
  • Existing test that already covers this (if any): src/config/schema.hints.test.ts
  • If no new test is added, why not: The change is a pure rendering split in Lit templates; the split logic (hintForPath(...).advanced) is trivial and covered indirectly by existing hint-building tests.

User-visible / Behavior Changes

  • Config page sections now show only "basic" fields by default; technical/tuning fields are hidden inside a collapsed "Advanced" disclosure with a count badge (e.g. "Advanced 5").
  • Clicking the disclosure reveals the advanced fields in-place, consistent with existing nested-object collapsibles.
  • Searching (tag:advanced, free text) bypasses the split — all matching fields appear regardless of their audience tier.
  • No default values, keys, or config behavior changed.

Diagram (if applicable)

Before:
[Auth section] -> [profiles] [order] [cooldowns.*] [backoff timers...] (all flat)

After:
[Auth section] -> [profiles] [order]
                  ▸ Advanced (1)  <- collapsed by default
                    └─ [cooldowns.*] [backoff timers...]

Search active:
[Auth section] -> all matching fields visible regardless of advanced flag

Security Impact (required)

- New permissions/capabilities? No
- Secrets/tokens handling changed? No
- New/changed network calls? No
- Command/tool execution surface changed? No
- Data access scope changed? No

Repro + Verification

Environment

- OS: Linux (Fedora 43)
- Runtime/container: Node 22, local dev
- Model/provider: N/A
- Integration/channel: N/A
- Relevant config: default

Steps

1. Open the control UI → Yapılandırma (Configuration) tab
2. Navigate to the Authentication section
3. Observe that "Auth Profiles" and "Auth Profile Order" are visible by default; "Auth Cooldowns" is collapsed under "Advanced (1)"
4. Click "Advanced" disclosure → cooldown fields appear
5. Type tag:advanced in the search box → all advanced fields across all sections appear

Expected

- Basic fields visible, advanced fields collapsed by default
- Search bypasses the split and shows all matches

Actual

- Matches expected behavior

Evidence

- Failing test/log before + passing after — pnpm test src/config/schema.hints.test.ts: 42 passed

Human Verification (required)

- Verified scenarios: Basic/advanced split renders correctly; search overrides split; Form/Raw toggle unaffected; dark/light theme looks correct
- Edge cases checked: Section with zero advanced fields (no disclosure rendered); search with tag:advanced returns advanced fields across all sections
- What you did not verify: Full E2E in all locales; mobile layout

Review Conversations

- I replied to or resolved every bot review conversation I addressed in this PR.
- I left unresolved only the conversations that still need reviewer or maintainer judgment.

Compatibility / Migration

- Backward compatible? Yes
- Config/env changes? No
- Migration needed? No

Risks and Mitigations

- Risk: A field that should be "basic" ends up in FIELD_ADVANCED (or vice versa), hiding something a user needs to find.
  - Mitigation: The search box always reveals all fields regardless of the split; no field is permanently hidden. The FIELD_ADVANCED set is a small explicit allowlist — only paths we
deliberately audited are marked.

## Changed files

- `CHANGELOG.md` (modified, +1/-0)
- `src/config/schema.hints.ts` (modified, +36/-0)
- `src/gateway/protocol/schema/config.ts` (modified, +1/-0)
- `src/shared/config-ui-hints-types.ts` (modified, +1/-0)
- `ui/src/styles/config.css` (modified, +90/-0)
- `ui/src/ui/views/config-form.advanced-split.test.ts` (added, +67/-0)
- `ui/src/ui/views/config-form.node.ts` (modified, +172/-37)
- `ui/src/ui/views/config-form.search.node.test.ts` (modified, +13/-0)
RAW_BUFFERClick to expand / collapse

Summary

The UI is hard to navigate and understand. It should be redesigned based on accessibility and ergonomics criteria.

Problem to solve

The UI, especially the config pages, is hard to read, navigate, and understand. It feels dense and looks too much like AI-generated code or raw config output.

Right now, there is no clear way for a basic user to understand what each setting means or how to configure it properly. Some commands are also not easy to discover. For example, it is unclear where to find or configure things such as the auth process token, subprocess settings, encryption with a user password, and other config-related options.

The current layout is not very helpful for users who are not already familiar with the internal structure. A raw view may be useful for advanced users, but the main interface should be more readable and user-friendly.

Proposed solution

If an AI pipeline is being used, it should include UX scoring and evaluation criteria based on accessibility and ergonomics, including feedback from screenshots, image processing, and vision-based models. Otherwise, the UI should be redesigned to be more accessible for basic users.

The config pages should be organized into clear sections, with simple explanations for each option, hover tooltips, and direct links to the documentation. Important settings should be easier to find. The default UI could follow a simpler, cleaner design similar to Apple-style basic settings pages, while advanced configuration options could be placed in a separate advanced section.

A raw JSON/config view should still exist for advanced users who want fast configuration, but the default experience should be cleaner, easier to understand, and more beginner-friendly. Ideally, basic users should be able to understand the main settings without needing to consult the documentation.

Disclaimer: I used AI only to correct the grammar and clarity of this request. The feedback and ideas are based on my own experience.

Alternatives considered

No response

Impact

Affected: New users, non-technical users, and users who need to configure OpenClaw without already knowing the internal structure.

Severity: Medium. It does not fully block usage, but it makes configuration harder, increases confusion, and can lead to mistakes.

Frequency: Often. This happens whenever users need to understand or change configuration settings, especially on the config pages.

Consequence: Users spend extra time reading documentation, guessing what settings mean, or checking raw config values. This can cause incorrect configuration, slower setup, frustration, and more support/questions from users.

Evidence/examples

<img width="2559" height="1278" alt="Image" src="https://github.com/user-attachments/assets/9f8f5bba-e9a6-4026-bf93-47dd4bfd71fa" />

Additional information

No response

extent analysis

TL;DR

Redesign the UI to prioritize accessibility and ergonomics, focusing on clear sections, simple explanations, and easy discovery of important settings.

Guidance

  • Organize config pages into clear sections with concise explanations for each option to improve readability.
  • Implement hover tooltips and direct links to documentation for further clarification on each setting.
  • Consider a dual-interface approach: a simplified default UI for basic users and a separate advanced section for power users who prefer a raw JSON/config view.
  • Prioritize making important settings easily discoverable to reduce user confusion and mistakes.

Example

No specific code example is provided due to the nature of the issue focusing on UI/UX redesign rather than code implementation.

Notes

The solution involves a significant redesign of the UI, which may require user testing and feedback to ensure the changes meet the needs of both basic and advanced users. The proposed changes aim to balance accessibility with the need for advanced configuration options.

Recommendation

Apply a workaround by starting to redesign the UI based on the proposed solution, focusing on accessibility and ergonomics criteria, to improve user experience and reduce configuration errors.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Feature]: UI quality update based on UX scoring. [1 pull requests, 3 comments, 4 participants]