stablyai / stablyai/orca

[Feature]: Redesign Source Control file-group order (default feels chaotic)

Open
#9,710 1 comment 0 reactions 1 assignee Claimed by @brennanb2025 View on GitHub
enhancement git
Dominant language
TypeScript
Stars
72.1k
Forks
4.7k
Avg merge
14h 54m
Merged PRs (30d)
520

Description

### Problem or use case

The Source Control panel lists file groups in an order that feels chaotic / unintentional, especially with the Commit control sitting directly above the list.

**Current default order:**
1. Changes
2. Staged Changes
3. Untracked Files

That puts the files that will actually be committed (Staged) in the middle of the list, between unstaged work and untracked files. With the Commit button right above the list, the panel reads as commit-oriented, but the default grouping order doesn't reinforce that.

Screenshot of current UI:

![Current Source Control group order — Changes, then Staged Changes, then Untracked Files](https://github.com/user-attachments/assets/97e589fb-55d8-47c2-a196-e55c2fb057e5)

### Proposed solution

Redesign the default Source Control group order so the hierarchy feels intentional and commit-oriented — not necessarily by adopting any single community suggestion.

Things to consider while redesigning:
- **Proximity to Commit**: Staged changes are closest to what will actually be committed; unstaged / untracked are “work in progress” relative to that action
- **VS Code / common SCMs**: Many tools put Staged first (or treat staged as the primary commit set)
- **Existing setting**: We already ship `Source Control Group Order` (`changes-first` | `staged-first` | `untracked-first`) in Git settings — any default change should keep that escape hatch
- **Conflicts still pin first**: Unresolved conflicts should remain above normal groups regardless of preset
- **Mobile parity**: Align mobile source-control section order if it shares the same default

Open question for design (do **not** lock in yet):
- Default to **Staged → Changes → Untracked**?
- Or a different hierarchy (e.g. collapse / merge some groups, promote “ready to commit” more strongly)?

### Alternatives or additional context

**Community feedback** (Discord — Leynier):

> Would it make sense to show “Staged Changes” first, then “Changes”, then “Untracked Files”?
>
> Since the Commit button is right above the list, I read this panel as commit-oriented, and staged files are the closest to what will actually be committed.
>
> I know this may not fit everyone’s workflow, so maybe the group order could be configurable.

Notes:
- Group order **is already configurable** via Settings → Git → Source Control Group Order. This issue is about the **default** / overall hierarchy feeling right out of the box, not adding configurability.
- We may **not** follow the staged-first suggestion exactly — goal is a deliberate redesign of the default order / presentation, not a one-line preset flip.
- Related code: `resolveSourceControlGroupOrder` / `buildSourceControlDisplaySections` in `src/renderer/src/components/right-sidebar/source-control-section-order.ts` (default preset today is `changes-first` → unstaged, staged, untracked).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.