Skip to content

feat(code): Inbox 2.0#2547

Merged
Twixes merged 1 commit into
mainfrom
inbox-v2-pr
Jun 10, 2026
Merged

feat(code): Inbox 2.0#2547
Twixes merged 1 commit into
mainfrom
inbox-v2-pr

Conversation

@Twixes

@Twixes Twixes commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

Replaces the legacy Inbox list with the v2 Self-driving: Pull requests, Reports, Agents, plus scoped For you filtering.
Polished list/detail UI for PRs, reports, and agent runs, including repo/source metadata, reviewer affordances, and task-log-backed run details.
Promotes agent configuration into a first-class view.

Screenshot 2026-06-09 at 13 29 29@2x

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

React Doctor found 26 issues in 15 files · 26 warnings.

26 warnings

src/renderer/features/inbox/components/AgentRunCard.tsx

src/renderer/features/inbox/components/AgentRunDetail.tsx

src/renderer/features/inbox/components/InboxDetailFrame.tsx

src/renderer/features/inbox/components/InboxMetaRow.tsx

src/renderer/features/inbox/components/PrDiffIndicator.tsx

src/renderer/features/inbox/components/PriorityMonogram.tsx

src/renderer/features/inbox/components/PullRequestDetail.tsx

src/renderer/features/inbox/components/SuggestedReviewersSection.tsx

src/renderer/features/inbox/context/PrDiffStatsBatchContext.tsx

src/renderer/features/inbox/utils/filterOptions.tsx

src/renderer/features/sidebar/components/SidebarMenu.tsx

src/renderer/routes/code/inbox/agents.tsx

src/renderer/routes/code/inbox/pulls.$reportId.tsx

src/renderer/routes/code/inbox/reports.$reportId.tsx

src/renderer/routes/code/inbox/runs.$reportId.tsx

Reviewed by React Doctor for commit 8363062.

Comment thread apps/code/scripts/screenshot-dev-preview.ts Fixed
@Twixes Twixes changed the title feat(code): ship inbox v2 feat(code): Inbox 2.0 Jun 9, 2026
@Twixes Twixes requested a review from a team June 9, 2026 12:45

@joshsny joshsny left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, your change to the remote debugging port looks unintentional

@Twixes

Twixes commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

Tis intentional, but better belongs on #2527 @joshsny - moving the change there

@oliverb123 oliverb123 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did the usual and just dump3e my ui feedback somewhere vaguely sensible, and let you route it properly to the relevant code.

Seems like the major things are the fetching tasks associated with a particular report is broken, and you deleted functionality around changing the suggested reviewers list. Also I think we could go 2 column in the detail view

import { ConventionalCommitScopeTag } from "@features/inbox/components/ConventionalCommitScopeTag";
import { InboxCardSourceMeta } from "@features/inbox/components/InboxCardSourceMeta";
import { InboxCardTitle } from "@features/inbox/components/InboxCardTitle";
import { SuggestedReviewerAvatarStack } from "@features/inbox/components/SuggestedReviewerAvatarStack";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dislike the the variance in corner radius here, particularly this close together and not nested, and generally I like the idea of using icons here but making them look a bit like buttons is ugly imo

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Late addition to the PR with those icons, got messed up indeed!

import type { SignalReport } from "@shared/types";
import { Link, useNavigate } from "@tanstack/react-router";
import { PriorityMonogram } from "./PriorityMonogram";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really want a link to the relevant commit here, or at least it's short hash so I can go look at it.

Image

}

export function ReportCard({
report,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the open in GitHub button but no way to view the associated tasks? Seems like either the pulling of associated tasks is broken, or this is missing?

Image

report,
detailRoute,
);
const navigate = useNavigate();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels wider than it needs to be, and puts the evidence and artifacts at the bottom. Particularly once we/I move towards "artifacts as log", we should make this two-column (dynamic to single column when the screen is too narrow) imo, otherwise your burying all the rich data (diffs, tasks, artefacts) below this wall of text

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, should be no more than 100 chars wide really

So, I like "artifacts" as long. It's kind of a matter of responsive design. If we have the space, via a container query, we can have the description on the left, and the other details to the right. Slightly like a Facebook page UI 🤔

const { data: artefactsResp } = useInboxReportArtefacts(report.id, {
staleTime: 5 * 60 * 1000,
refetchOnWindowFocus: false,
});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My impression is "runs" is only meant to show ongoing tasks? Seems like a bit of an arbitrary limitation imo, but given it, I'd call it "running" or "live" instead

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Primarily for ongoing runs, but it makes sense to me to show the ongoing ones first, and finished ones lower down

});
const repoSlug = extractRepoSelectionRepository(artefactsResp?.results);
const firstSource = report.source_products?.[0];
const sourceMeta = firstSource ? SOURCE_PRODUCT_META[firstSource] : null;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI seems to be lying about there being only 100 items (what items? reports? runs?) "for me"

Image

Also this feels like a weird place to put this, I thought it would be a tab of curated reports or something, not a filtering UI

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did feel too tab-like. Made it a segmented button on the right:

Screenshot 2026-06-10 at 09 38 21@2x

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for the UI lying about the count, you are correct. I'll leave it be for now though, as the fix requires a backend change to be able to query "PRs" and "Reports" separately (i.e. separate list request for reports with code vs. without)

undefined,
{ month: "short", day: "numeric" },
);
const isReady = report.status === "ready";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spacing between the "findings" header and the first finding is bad, count is in a pill but the rest of the ui uses round rects, count pill has a BG color that matches the rest of the UI but icon doesn't

Also feels weird to call them "findings" here but "evidence" in the PR version, unless I'm confused about what this is displaying (it's just a single, right?)

Image

const conventionalTitle = parseConventionalCommitTitle(report.title);
const cardTitle = displayConventionalCommitTitle(
report.title,
"Untitled report",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This header in general could be removed imo, but failing that, "this is your inbox" is really odd and should be removed

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the header feels like pretty solid grounding of what you're looked at, so leaving here, but cleaned up descriptions

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW the "This is your inbox" got lifted from the mocks I did https://posthog-self-driving.pages.dev/ lol

);

const openDetail = () => {
prefetch();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No way to view suggested reviewers inside a report, even though we display them in the list view, and no way to modify suggested reviewers on a report OR a PR detail page (serious regression I'd actually block merging on)

Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed the reviewer editing as it's newer, restored and unified with reports!

Twixes commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Twixes Twixes force-pushed the inbox-v2-pr branch 8 times, most recently from 3f3aef4 to d895363 Compare June 10, 2026 11:31
@Twixes Twixes merged commit 8031116 into main Jun 10, 2026
19 of 20 checks passed

Twixes commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

Merge activity

@Twixes Twixes deleted the inbox-v2-pr branch June 10, 2026 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants