Skip to content

feat(desktop): group slash menu commands - #1134

Merged
NanmiCoder merged 2 commits into
NanmiCoder:mainfrom
RaspberryLee:feat/slash-menu-sections-upstream
Jul 29, 2026
Merged

feat(desktop): group slash menu commands#1134
NanmiCoder merged 2 commits into
NanmiCoder:mainfrom
RaspberryLee:feat/slash-menu-sections-upstream

Conversation

@RaspberryLee

Copy link
Copy Markdown
Contributor

Summary

  • Group slash-menu entries so built-in desktop and agent commands appear before personal skills.
  • Add semantic icons for built-in commands and a dedicated skills section with a localized personal-skill badge.
  • Preserve keyboard navigation and expose listbox/option semantics for assistive technology.

Feature Quality Contract

  • Changed surface: desktop chat composer and desktop locale strings.
  • Tests added or updated:
    • Component coverage for system-first rendering, the skills section, personal badges, and keyboard selection.
    • Utility coverage for stable system/skill grouping and ordering.
  • Coverage evidence:
    • Focused changed-line coverage: 100% (145/145 executable changed lines; threshold 90%).
    • ChatInput.tsx: 118/118; composerUtils.ts: 22/22; locale additions: 5/5.
  • E2E / live-model evidence:
    • Manual Windows Electron smoke: opened the composer, entered /, and verified system commands precede the personal-skills section.
    • Live model: not run (untrusted fork / no provider).
  • Known risk / rollback:
    • The full local gate is not green because of failures outside this diff; details are recorded below. CI should rerun the selected deterministic gates in a clean environment.
    • Rollback is the single commit in this PR.

Verification

  • bun run check:impact — passed; selected desktop, chat-contract, and coverage checks.
  • cd desktop && bun run test -- --run src/components/chat/composerUtils.test.ts src/components/chat/ChatInput.test.tsx — 54 passed.
  • cd desktop && bun run build — passed.
  • Focused V8 coverage with the gate's changed-line algorithm — 100% (145/145).
  • Same-area production changes include matching component and utility tests.
  • No CLI-core, provider/runtime, persistence, coverage-policy, or quarantine-policy files are changed.

Full-gate notes

bun run verify was attempted but is not reported as passing:

  • With the Node 26 Web Storage compatibility flag applied, desktop tests reached 3,288 passed, 12 failed, and 2 skipped. The remaining failures were in Windows symlink-permission tests, existing theme assertions, and a workspace timing assertion; none of their files are changed here.
  • The WebSocket contract suite passed 32/32. The conversation contract suite passed 100 tests, with three fixed 5-second worktree-startup timeouts.
  • The standalone coverage gate passed four suites, but its sandbox strips NODE_OPTIONS; under Node 26 this reintroduced the unavailable-localStorage failure and prevented desktop LCOV generation. The focused sandboxed coverage run above produced 100% changed-line coverage.

Risk

  • This PR does not touch CLI core paths.
  • Production behavior changes include matching tests.
  • Coverage baselines and thresholds are unchanged.
  • Quarantine policy is unchanged.
  • Provider/runtime behavior is unchanged.

@github-actions

Copy link
Copy Markdown

PR quality triage

Changed areas: area:desktop

CLI core policy: No CLI-core policy block detected.

Missing-test policy: No missing-test policy block detected.

Coverage baseline policy: No coverage-baseline policy block detected.

CLI core files:

  • none

Coverage policy files:

  • none

Required check plan:

  • See PR Quality / scope-plan; it is the single source of truth for selected jobs.

Test coverage signals:

  • No obvious missing-test signal from changed paths.

Risk notes:

  • No special risk notes from changed paths.

Hard merge gates come from the deterministic GitHub Actions contract lanes above.

@RaspberryLee
RaspberryLee marked this pull request as ready for review July 28, 2026 12:31
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Jul 28, 2026
@NanmiCoder

Copy link
Copy Markdown
Owner

Thanks

@NanmiCoder
NanmiCoder merged commit 195299b into NanmiCoder:main Jul 29, 2026
14 of 28 checks passed
@RaspberryLee
RaspberryLee deleted the feat/slash-menu-sections-upstream branch July 30, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:desktop enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants