Repository navigation
Working overview page #29714
elijahbutler
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Most of the time, when I'm working in T3 Code, I have five or more agents running, and I end up clicking from thread to thread to see how each one is doing or just sit on the most recent thread while i wait for the next to finish.
The problem is, is have to be selected on a thread at any point in time. The sidebar is great, but it can't tell me what each agent is up to, which subagents it kicked off, which PRs it's pushing, or how close I'm getting to my limits.
So I built a sample "Working overview" dashboard. It gives me a place to land that follows the sidebar's organization, where I can see completed, working, and settled tasks, open PRs across projects, usage limits, and usage history.
It's running on my fork: https://github.com/elijahbutler/t3code/tree/feat/working-overview. Before I open a PR, I'd love your take on whether this is a direction you want.
What's on the page
You get to it from a new button in the sidebar footer, next to Pull requests and Usage, or by typing "working" in the command palette.
The thread list uses the same sections as the sidebar. Inbox sits at the top, and the Working, Snoozed, and Settled shelves stay pinned to the bottom. They start closed and open upward, the same way the sidebar's do, and a thread only ever shows up in one place.
Each working row shows the last agent update text. I left out tool calls and thinking on purpose, because they're noise when you're scanning ten threads. Rows also show the project, the model, how long the thread has been running, its PR tag, and which machine it's running on. Subagents sit under their parent with their own status. Idle ones stay hidden, and finished ones stick around for an hour or until you open the parent.
At the bottom there's a usage strip with token counts, an API cost estimate, and sessions for the last 7 or 30 days. Below that are session and weekly limit bars for your top three providers. This is the section that I love the least, but I find myself looking at my limits or historical usage often so I added it here.
How it's built
I tried hard not to add load. There's no new server code and no contract changes. Status comes straight from the sidebar's own
resolveThreadStatusPill, so the page and the sidebar can't disagree, and the usage strip reuses the Usage page's queries.The live messages are the one thing that costs something. The thread list doesn't carry message text, so each live row subscribes to its thread's detail stream, the same way an open thread does. To keep that in check, only the first six live rows subscribe, and only while the page is open. Each one checks for a new message every 5 seconds instead of re-rendering on every token. That interval is one constant if you'd rather it be 10.
A few smaller choices: times tick once a minute, anything newer reads "just now", and there are no animations. The page remembers which sections you left open, and it follows the sidebar's Group by project setting and grouping mode. If two threads link the same PR, the one that's actively working gets the credit.
Everything is in
apps/web, with unit tests for the grouping, subagent nesting, PR collection, and message extraction. I also had GPT-6.1 Sol review it independently. It caught three logic bugs, and each fix has a regression test.Where I'd like to take it
I'd love this to be the page T3 Code opens to. You'd pick it as your start page in settings, and a small new-thread composer would sit at the top, so starting a thread doesn't mean leaving. The Inbox and the Working, Snoozed, and Settled sections would sit below it, with PRs and usage alongside. You could run your whole day from one screen and only open a thread when you want to dig into it.
From there, I think it should be a dashboard you arrange yourself. It's already split into panels for threads, PRs, usage, and limits, so the next step is letting you add and remove panels, reorder them, and resize them. Some days I'd want a wider PR column, and other days I'd fold usage down to a single line or drop it entirely.
The sections should also keep tracking whatever the user has set in the sidebar. Project grouping works today. Sort order, pinned threads, and loading older settled threads from the server don't yet.
Mobile should be a small lift, since the app already shares the working-thread logic.
A few questions
This overlaps a little with #29193, which proposes split panes, and #6740, which proposes multiple windows. The difference is that this is a read-only overview, not several live chats side by side.
While testing on my own threads, I also hit a separate bug. A parent thread can keep a finished subagent marked as running, so it reports a background task forever. I'll file that on its own.
The screenshots and GIFs use the real components with sample data, so none of my actual projects or usage numbers are in them.
Thanks for reading!
All reactions