You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 feat: line-delta git status indicator with toggle (#1108)
Changes the GitStatusIndicator to show **line deltas**
(additions/deletions) by default instead of commit divergence
(ahead/behind). Users can toggle between views via the tooltip.
## Summary
- **Default view is now line-delta**: shows `+{additions} -{deletions}`
with GitHub-style coloring (green/red when working, muted when idle)
- **Tooltip toggle**: click `Lines` / `Commits` segmented control to
switch views globally (persisted to localStorage)
- **Tooltip overview**: always shows both line delta and commit
divergence summary
- **Large number abbreviation**: 999 → 999, 1231 → 1.2k, 12313 → 12.3k
- **New ToggleGroup UI component**: reusable shadcn-style segmented
control
## Implementation
- Extended `GitStatus` type with `outgoingAdditions`,
`outgoingDeletions`, `incomingAdditions`, `incomingDeletions`
- Updated git status script to compute line deltas via `git diff
--numstat` against merge-base
- Added `GIT_STATUS_INDICATOR_MODE_KEY` for persisted global preference
- Added Storybook stories for both modes in busy (streaming) scenarios
_Generated with `mux`_
Copy file name to clipboardExpand all lines: docs/AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ Avoid mock-heavy tests that verify implementation details rather than behavior.
71
71
72
72
### Storybook
73
73
74
-
-Prefer full-app stories (`App.stories.tsx`) to isolated component stories. This tests components in their real context with proper providers, state management, and styling.
74
+
-**Only** add full-app stories (`App.*.stories.tsx`). Do not add isolated component stories, even for small UI changes (they are not used/accepted in this repo).
75
75
- Use play functions with `@storybook/test` utilities (`within`, `userEvent`, `waitFor`) to interact with the UI and set up the desired visual state. Do not add props to production components solely for storybook convenience.
76
76
- Keep story data deterministic: avoid `Math.random()`, `Date.now()`, or other non-deterministic values in story setup. Pass explicit values when ordering or timing matters for visual stability.
0 commit comments