Skip to content

Focus: Maintainer Inbox — issues and PRs that need your attention #109

@Flo0806

Description

@Flo0806

Problem

Focus currently only shows the author perspective — things I created, things I'm working on. But as a maintainer, the most important work is responding to others: triaging incoming issues, reviewing PRs, answering mentions.

There's no way to see "what needs my attention as a maintainer" at a glance.

Solution

Add a new Focus section "Inbox" (or "Needs Attention") that shows items from repositories you maintain where action is needed from you.

What belongs in the Inbox

Item Condition
Unresponded issues Issues in my repos with no maintainer comment
PRs awaiting my review PRs where I'm requested as reviewer
PRs assigned to me PRs assigned to me that are open
Mentions Comments/issues where I'm @mentioned but haven't replied
New issues (triage) Recent issues in my repos with no labels/assignee

Distinguishing "mine" vs "needs my attention"

The Focus page should clearly separate:

  • My work (top) — Working On, Created (things I authored/claimed)
  • Inbox (prominent) — things others created that need my response

This could be done via:

  • Section ordering (Inbox at top or right after Working On)
  • Visual distinction (different header color/icon)
  • Or a tab/toggle: "My Work" | "Inbox"

Keep it simple and effective — the goal is: open Focus, immediately know what to do next.

Technical approach

Single GraphQL query with aliases:

query {
  reviewRequested: search(query: "type:pr review-requested:{login} is:open", type: ISSUE, first: 20) { ... }
  assignedPrs: search(query: "type:pr assignee:{login} is:open", type: ISSUE, first: 20) { ... }
  mentioning: search(query: "mentions:{login} is:open -author:{login}", type: ISSUE, first: 20) { ... }
}

For "unresponded issues in my repos": query issues in repos where user has push access, filter by no maintainer comment. This may need the existing maintainerCommented logic from the issues store.

Cards

Reuse FocusCardSkeleton + similar card components. Each card should show:

  • Why it's in the inbox (badge: "Review requested", "Mentioned", "Needs triage")
  • Who created it (avatar + login)
  • How long it's been waiting
  • Repo + title + labels

Acceptance

  • New "Inbox" section on Focus page
  • Shows PRs awaiting review, assigned PRs, mentions
  • Clear visual separation from "my work" sections
  • Cards show reason for being in inbox
  • Single efficient GraphQL query
  • i18n (en + de)
  • Pagination if needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions