X7 Live status glyphs: pull requests, Paperclip tasks and providers
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- electron, github, typescript
Research direction
Start with issue #399 for the experience rework and #396 for the Paperclip live status source, then locate the chat rows, task rows, Inbox, summary card, and git panel that display these items. Implement a shared status store and refresh behavior across those surfaces, following the listed glyph, accessibility, and performance requirements. Done means the state mapping, refresh triggers, hidden-window behavior, and ETag reuse are covered by tests.
Written by the indexing model from the issue text.
Description
Part of the experience rework (#399). Target branch: claude/experience-integration.
One glyph system that updates live, wherever an item appears: chat rows, task rows, the Inbox, the summary card and the git panel.
Pull requests
| State | Glyph |
|---|---|
| Draft | grey |
| Open, checks passing | green |
| Checks running | amber ring with a stepped animation |
| Checks failing | red dot |
| Review requested or changes requested | amber or orange |
| Merged | purple |
| Closed | muted red |
The tooltip summarises it, e.g. 'PR #124 · checks running · 2 of 5'.
Paperclip tasks
| State | Glyph |
|---|---|
| Todo | grey circle |
| In progress | blue half circle; animated only while an agent runs |
| In review / handed back | purple |
| Needs you | amber dot |
| Blocked | red |
| Done | green check |
| Cancelled | grey strike |
| Checked out on this machine | laptop badge |
Providers
The provider logo on the chat row glows while working, shows a dot when there's an unseen completion, and turns red when failed.
Data
- PR status (state, draft, review decision, combined check status) comes from GitHub with ETag-conditional requests, only for visible items.
- It refreshes about every 60 s while the window is active, immediately on focus, and immediately after an agent pushes or opens a PR. It never polls while hidden.
- Paperclip status reuses the live socket or badge poll (#396), with optimistic local updates.
- One shared store keyed by repo#number and task id, so every surface stays in sync.
Accessibility
Each state has a distinct shape as well as a colour, plus a text label in the tooltip and aria.
Performance
No polling when hidden. One request batch per refresh. Animation only for running states, stepped and paused off screen.
Tests
State-to-glyph mapping, the refresh triggers (focus, push, interval, hidden), and ETag reuse.
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 0
- Avg merge
- 17h 33m
- Merged PRs (30d)
- 163
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from musterhq/muster-code
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
musterhq/muster-code#866 ·
Maintainers usually reply within 1 day
-
p2 type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
musterhq/muster-code#843 · 1 comment ·
Maintainers usually reply within 1 day
-
p1 type:feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
musterhq/muster-code#840 ·
Maintainers usually reply within 1 day
-
p1 type:feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
musterhq/muster-code#829 ·
Maintainers usually reply within 1 day
-
type:bug
Difficulty 3/5 1-2 days Newbie friendliness 70/100
musterhq/muster-code#815 ·
Maintainers usually reply within 1 day
All issues in musterhq/muster-code
Similar issues
-
[analytics-core] getQueryParams does not decode `+` as space and truncates values containing `=`Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
amplitude/Amplitude-TypeScript#2179 · 1 comment ·
Maintainers usually reply within 2 days
-
ci good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
TMHSDigital/GH-Arcade#111 ·
-
AsnIntegerConverter.toASN coerces strings with +value, rounding integers outside safe-integer rangeOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PeculiarVentures/asn1-schema#189 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100