Skip to content

fix: use distinct status shapes in spaces sidebar - #2273

Closed
jcmuller wants to merge 1 commit into
herdrdev:masterfrom
jcmuller:jcmuller/colorblind-status-shapes
Closed

fix: use distinct status shapes in spaces sidebar#2273
jcmuller wants to merge 1 commit into
herdrdev:masterfrom
jcmuller:jcmuller/colorblind-status-shapes

Conversation

@jcmuller

@jcmuller jcmuller commented Aug 4, 2026

Copy link
Copy Markdown

The spaces sidebar and the mobile views told agent status apart almost only by color. Blocked, working, and done-unseen all rendered as the same filled dot, so a colorblind user saw one dot for three different states. The agents panel already solved this with agent_icon, which gives every state its own shape. Point the sidebar and mobile views at that same function and delete state_dot, the color-only mapping they used to call.

Closes #2260

The spaces sidebar and the mobile views told agent status apart almost
only by color. Blocked, working, and done-unseen all rendered as the
same filled dot, so a colorblind user saw one dot for three different
states. The agents panel already solved this with agent_icon, which
gives every state its own shape. Point the sidebar and mobile views at
that same function and delete state_dot, the color-only mapping they
used to call.
@kangal-bot kangal-bot added the ai-review Trigger automated AI reviews for pull requests admitted by the PR gate label Aug 4, 2026
@greptile-apps

greptile-apps Bot commented Aug 4, 2026

Copy link
Copy Markdown

Greptile Summary

The PR reuses the existing shape-distinct agent status icons in desktop and mobile workspace views, eliminating the color-only status mapping.

  • Replaces workspace status dots with agent_icon, including animated working indicators.
  • Removes the obsolete state_dot helper.
  • Adds rendering tests that distinguish blocked and done-unseen states.

Confidence Score: 5/5

The PR appears safe to merge, with status semantics and one-cell layout constraints preserved across the updated views.

The changed renderers pass their existing aggregate state and seen values to a helper that handles every reachable combination, and all returned static and animated glyphs retain the required single-cell width.

Important Files Changed

Filename Overview
src/ui.rs Updates an existing rendering assertion to expect the shared unknown-state icon.
src/ui/mobile.rs Uses shape-distinct status icons in the mobile header and switcher, with focused accessibility regression tests.
src/ui/sidebar.rs Uses shared agent icons for collapsed, expanded, and grouped workspace statuses and adds a rendered-glyph regression test.
src/ui/status.rs Removes the superseded color-only state_dot mapping while retaining the shared status-icon implementation.

Reviews (1): Last reviewed commit: "fix: use distinct status shapes in space..." | Re-trigger Greptile

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9ef04c9f-bc99-4221-8800-7fc56023ba09

📥 Commits

Reviewing files that changed from the base of the PR and between adb50cb and 82ae07f.

📒 Files selected for processing (4)
  • src/ui.rs
  • src/ui/mobile.rs
  • src/ui/sidebar.rs
  • src/ui/status.rs
💤 Files with no reviewable changes (1)
  • src/ui/status.rs

📝 Walkthrough

Walkthrough

The shared agent_icon mapping now drives mobile and sidebar status rendering. It provides distinct symbols for agent states, animated working indicators, state labels, and label colors. Rendering tests cover mobile and sidebar glyph output.

Changes

Agent status icon rendering

Layer / File(s) Summary
Shared status icon mapping
src/ui/status.rs
agent_icon replaces state_dot and supports animated working icons and updated state symbols. state_label and state_label_color provide state text and colors.
Mobile status rendering
src/ui/mobile.rs
The mobile header and workspace switcher use agent_icon. Tests verify distinct blocked and completed glyphs.
Sidebar status rendering
src/ui/sidebar.rs, src/ui.rs
Sidebar workspace and group rows use agent_icon. Tests and expanded sidebar assertions verify updated glyphs.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 69.23% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the primary change: distinct status shapes in the spaces sidebar.
Description check ✅ Passed The description explains the colorblind-safe status changes and directly references the linked issue.
Linked Issues check ✅ Passed The changes use agent_icon in sidebar and mobile views, remove state_dot, and add distinct status glyph tests as required by [#2260].
Out of Scope Changes check ✅ Passed All changes support the requested status indicator update and related rendering tests; no unrelated code changes are evident.
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch jcmuller/colorblind-status-shapes
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@ogulcancelik

Copy link
Copy Markdown
Collaborator

i'm working on this is a standalone setting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Trigger automated AI reviews for pull requests admitted by the PR gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make sidebar status indicators colorblind-safe (distinct shapes, not just color)

3 participants