From 32605b71ad46e1192cb592c0a533d4230ce253b4 Mon Sep 17 00:00:00 2001 From: Dotta <34892728+cryppadotta@users.noreply.github.com> Date: Mon, 18 May 2026 09:27:05 -0500 Subject: [PATCH] Remove planning badge from inbox issue rows (PAP-9691) (#6269) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Removes the amber "Planning" pill from inbox / issue-list rows in `IssueRow` - Updates the focused IssueRow test to assert the badge is no longer rendered - Per [PAP-9691](https://paperclip.ing/PAP/issues/PAP-9691): user just doesn't want to see the badge in list rows The underlying `issue.workMode === "planning"` data, the issue detail composer toggle, and the server/plugin/heartbeat work-mode contract introduced in #5353 are all untouched. Planning mode still functions; the list-row indicator is just gone. ## Test plan - [x] `pnpm exec vitest run --project @paperclipai/ui ui/src/components/IssueRow.test.tsx` (11 passed) - [ ] Visual: open `/PAP/inbox` with a planning-mode issue assigned and confirm no amber Planning pill on the row 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Paperclip Co-authored-by: Claude Opus 4.7 --- tests/e2e/planning-mode-visual-verification.spec.ts | 4 ++-- ui/src/components/IssueRow.test.tsx | 5 ++--- ui/src/components/IssueRow.tsx | 9 --------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/tests/e2e/planning-mode-visual-verification.spec.ts b/tests/e2e/planning-mode-visual-verification.spec.ts index 3e6e2444..8095c770 100644 --- a/tests/e2e/planning-mode-visual-verification.spec.ts +++ b/tests/e2e/planning-mode-visual-verification.spec.ts @@ -119,7 +119,7 @@ test("captures planning mode UI for desktop and mobile", async ({ page }) => { await page.goto(`/${companyPrefix}/issues`); await expect(page.locator(issueLinkSelector)).toBeVisible(); - await expect(page.locator(issueLinkSelector)).toContainText("Planning"); + await expect(page.locator(issueLinkSelector)).not.toContainText("Planning"); await page.screenshot({ path: `${screenshotDir}/desktop-planning-row-${timestamp}.png`, fullPage: true, @@ -149,7 +149,7 @@ test("captures planning mode UI for desktop and mobile", async ({ page }) => { await page.goto(`/${companyPrefix}/issues`); await expect(page.locator(issueLinkSelector)).toBeVisible(); - await expect(page.locator(issueLinkSelector)).toContainText("Planning"); + await expect(page.locator(issueLinkSelector)).not.toContainText("Planning"); await page.screenshot({ path: `${screenshotDir}/mobile-planning-row-${timestamp}.png`, fullPage: true, diff --git a/ui/src/components/IssueRow.test.tsx b/ui/src/components/IssueRow.test.tsx index 8b0e10b3..28f0c14f 100644 --- a/ui/src/components/IssueRow.test.tsx +++ b/ui/src/components/IssueRow.test.tsx @@ -228,7 +228,7 @@ describe("IssueRow", () => { }); }); - it("renders planning mode marker for planning work mode issues", () => { + it("does not render a planning mode marker for planning work mode issues", () => { const root = createRoot(container); act(() => { @@ -237,8 +237,7 @@ describe("IssueRow", () => { const link = container.querySelector("[data-inbox-issue-link]") as HTMLAnchorElement | null; expect(link).not.toBeNull(); - expect(link?.textContent).toContain("Planning"); - expect(link?.textContent?.match(/Planning/g)).toHaveLength(1); + expect(link?.textContent).not.toContain("Planning"); act(() => { root.unmount(); diff --git a/ui/src/components/IssueRow.tsx b/ui/src/components/IssueRow.tsx index 546933c8..978dd949 100644 --- a/ui/src/components/IssueRow.tsx +++ b/ui/src/components/IssueRow.tsx @@ -85,14 +85,6 @@ export function IssueRow({ {checklistStepNumber}. ) : null; - const planningModeIndicator = issue.workMode === "planning" ? ( - - Planning - - ) : null; const recoveryAction = issue.activeRecoveryAction ?? null; const recoveryIndicator = recoveryAction ? renderRecoveryChip(recoveryAction, selected) : null; const parkedBlockerIndicator = hasAssignedBacklogBlocker(issue.blockedBy) ? ( @@ -156,7 +148,6 @@ export function IssueRow({ {recoveryIndicator} )} - {planningModeIndicator} {mobileMeta ? ( <>