Skip to content

Group the Working list by project, and keep it reachable when the project sidebar is collapsed #216

Description

@TheNomadInOrbit

MonoCode version

0.1.44

Operating system

macOS

OS version

macOS 26.6.2

Provider CLI

Codex

What happened

What I like

The Working widget in the project sidebar is the best part of the UI for me. I run several projects and several agents at once, and seeing what is still running, with the elapsed time, without opening anything, is genuinely useful. I check it constantly.

Problem 1: the list is not grouped by project, so it interleaves

Entries are sorted by approval state, then done state, then start time. Project is never a sort key:

function compareLiveAgents(a: LiveAgent, b: LiveAgent): number {
  if (a.needsApproval !== b.needsApproval) return a.needsApproval ? -1 : 1;
  if (a.done !== b.done) return a.done ? 1 : -1;
  return (
    (a.startedAt ?? Number.MAX_SAFE_INTEGER) -
    (b.startedAt ?? Number.MAX_SAFE_INTEGER)
  );
}

So with two projects active, the rows alternate between them. In my case one project had two sessions running and a second project had one, and the three rows came out in the order first project, second project, first project. Each card already shows its project label, but because the order mixes them the eye has to re-read every row to work out what belongs to what. It stops being scannable exactly when there is the most to scan, which is the opposite of what the widget is for.

What I would like: group the rows by project, with the project name or its existing colour and icon as a small group header, and groups expanded by default so nothing is hidden behind an extra click. Inside a group, keep the current ordering as it is. The existing "N more" expand behaviour can stay per widget, or become per group if that is simpler.

Problem 2: collapsing the project sidebar hides the widget completely

The widget lives in LiveAgentsPreview inside ProjectRail.tsx. When I collapse the project rail to get more editor width, the widget goes with it, and the only sidebar left is the one with Sessions, Explorer and Changes. Nothing there tells me work is still running. I lose the one piece of information I collapse the rail to keep.

What I would like: when the project sidebar is collapsed, show the same information in the secondary sidebar, above Settings at the bottom. Either of these works for me:

  • A compact one-line summary that reads like "Working, 3" and expands on click into the same cards.
  • The full section, same cards, same grouping as above.

Option 1 is probably the better default since that sidebar has its own list already, but either solves it.

Since the widget is moving between two containers when that happens, I would ask for it to animate its position rather than disappear and reappear, so it reads as the same element relocating instead of a glitch. The app already has this kind of motion elsewhere.

Why I am asking for both together

They are the same widget and the same question, which is "where is my running work and what does it belong to". Grouping fixes the order, and the sidebar placement fixes it being lost. Fixing only one leaves the other half of the daily annoyance.

Happy to open these as two separate issues if you would rather track them separately. Also happy to test a build if you want feedback before a release.

Steps to reproduce

Problem 1, the interleaving:

  1. Open two or more projects that have sessions running at the same time, so the Working widget lists more than one project.
  2. Give one project two live sessions and another project one session.
  3. Look at the row order in the Working widget. The rows come out interleaved by start time rather than grouped by project, for example first project, second project, first project.
  4. There is no group header, so each row has to be re-read to work out which project it belongs to.

Problem 2, the widget disappearing:

  1. With sessions running, collapse the project sidebar to widen the editor.
  2. The Working widget disappears along with the main sidebar.
  3. Check the remaining sidebar with Sessions, Explorer and Changes. Nothing there shows that work is still running.
  4. Expand the rail again.

Desired behaviour:

  1. Working rows are grouped by project, with a small project header using the existing name, colour and icon, and groups expanded by default.
  2. Ordering inside each group stays as it is today.
  3. When the project sidebar is collapsed, the same information appears in the secondary sidebar above Settings, either as a "Working, 3" summary that expands on click or as the full section.
  4. The widget animates its position between the two containers instead of disappearing and reappearing.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions