From 008bef55938c1c83ec0208ccf659894d97f7d963 Mon Sep 17 00:00:00 2001 From: iamnbutler Date: Thu, 22 Oct 2026 10:54:52 -0400 Subject: [PATCH 1/2] fix(app): remove the Dashboard's Needs you section --- apps/app/src/app.tsx | 1 - apps/app/src/dashboard.tsx | 54 ++------------------------------------ apps/app/src/work.ts | 27 ------------------- 3 files changed, 2 insertions(+), 80 deletions(-) diff --git a/apps/app/src/app.tsx b/apps/app/src/app.tsx index 04fd5671..3c924886 100644 --- a/apps/app/src/app.tsx +++ b/apps/app/src/app.tsx @@ -955,7 +955,6 @@ export function App() { user={hello.user} people={people} presence={presence[current.id]} - attention={attention} local={local} connected={connected} onSetup={!local && current.repo ? () => startSetup(current) : undefined} diff --git a/apps/app/src/dashboard.tsx b/apps/app/src/dashboard.tsx index ed24df27..6f3509a1 100644 --- a/apps/app/src/dashboard.tsx +++ b/apps/app/src/dashboard.tsx @@ -15,20 +15,17 @@ import { } from "@ace/ui"; import { IconChevronDown, - IconCircleX, IconCloud, IconExternal, IconGlobe, IconHash, IconLaptop, - IconMessage, IconPlus, IconRotate, } from "@ace/ui/icons"; import type { GithubList, ModelRef } from "@ace/channel/protocol"; import type { Listing, People, Presence } from "@ace/host/protocol"; -import type { Outcome } from "./attention"; import { Notice } from "./composer"; import { desktop, here } from "./desktop"; import { prompt, StateIcon } from "./github"; @@ -37,7 +34,7 @@ import { host } from "./host"; import { InitGit } from "./open-project"; import type { AppProject } from "./projects"; import { pulse, type Teammate } from "./pulse"; -import { byBranch, needsYou, pickBackUp, type Work } from "./work"; +import { byBranch, pickBackUp, type Work } from "./work"; /** * A project's dashboard draft and history follow its identity, so setting up a GitHub project here @@ -123,9 +120,6 @@ function Section({ title, action, children }: { ); } -const ROW = - "flex min-w-0 items-center gap-3 rounded-lg px-3 py-2.5 text-left text-sm outline-none hover:bg-muted/60 focus-visible:ring-2 focus-visible:ring-ring/30"; - function ChannelLink({ channel, onChannel }: { channel: Listing; onChannel: (channel: Listing) => void; @@ -262,7 +256,6 @@ export function Dashboard( user, people, presence, - attention, local, connected, onSetup, @@ -282,7 +275,6 @@ export function Dashboard( user: string; people: People; presence: Presence[] | undefined; - attention: Map; local: boolean; connected: boolean; /** Offered for a GitHub project with no checkout on this host. */ @@ -322,12 +314,10 @@ export function Dashboard( : undefined; // `@me` is this host's GitHub CLI account, the only one Ace reads GitHub with. const authored = useGithub(list("prs", "author:@me")); - const reviews = useGithub(list("prs", "review-requested:@me")); const assigned = useGithub(list("issues", "assignee:@me")); - const github = [authored, reviews, assigned]; + const github = [authored, assigned]; const branches = byBranch(channels, user); const work = pickBackUp(authored.value?.items || [], assigned.value?.items || [], branches); - const waiting = needsYou(channels, attention, reviews.value?.items || [], branches); const team = pulse(channels, presence, people, user, since, now); const owner = (channel?: Listing) => channel && channel.owner !== user ? people[channel.owner] || channel.owner : undefined; @@ -458,46 +448,6 @@ export function Dashboard( )} )} - {waiting.length > 0 && ( -
-
    - {waiting.map((value) => - value.kind === "review" - ? ( - - ) - : ( -
  • - -
  • - ) - )} -
-
- )} {project.repo && (
} - | { kind: "review"; work: Work }; - const ROWS = 10; /** @@ -58,24 +52,3 @@ export function pickBackUp( a.rank - b.rank || b.work.item.updated.localeCompare(a.work.item.updated) ).slice(0, ROWS).map(({ work }) => work); } - -/** The viewer's failed runs and unanswered questions, newest first, then requested reviews. */ -export function needsYou( - channels: Listing[], - attention: Map, - reviews: GithubItem[], - branches: Map, -): NeedsYou[] { - const waiting: NeedsYou[] = channels.flatMap((channel) => { - const outcome = attention.get(channel.id); - if (!outcome || outcome === "done" || channel.state === "archived") return []; - return [{ kind: "channel" as const, channel, outcome }]; - }).sort((a, b) => b.channel.ran!.at - a.channel.ran!.at); - return [ - ...waiting, - ...reviews.map((item): NeedsYou => ({ - kind: "review", - work: { item, channel: onBranch(item, branches), reason: "Review requested" }, - })), - ]; -} From cb96c9d97f76636c1857f4d11e9bb146d1c611ee Mon Sep 17 00:00:00 2001 From: iamnbutler Date: Thu, 22 Oct 2026 10:56:08 -0400 Subject: [PATCH 2/2] chore: confirm lane notes the Needs you removal touched --- ...M4YT6XB7NQ89E6F4P375REE7-all-projects-and-project-vie.md | 6 +++--- ...M5AYX7CX6GW2PYNTV3BS5F91-with-no-usable-model-on-this.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.lane/memory/apps/app/src/app.tsx/01M4YT6XB7NQ89E6F4P375REE7-all-projects-and-project-vie.md b/.lane/memory/apps/app/src/app.tsx/01M4YT6XB7NQ89E6F4P375REE7-all-projects-and-project-vie.md index 6170e58a..44b6ad4e 100644 --- a/.lane/memory/apps/app/src/app.tsx/01M4YT6XB7NQ89E6F4P375REE7-all-projects-and-project-vie.md +++ b/.lane/memory/apps/app/src/app.tsx/01M4YT6XB7NQ89E6F4P375REE7-all-projects-and-project-vie.md @@ -4,9 +4,9 @@ anchor: function App created: 2026-10-15T03:38:04Z norm: '1' sig: 063d0f00fea02511 -body_hash: baf242069dc38c51 -raw_hash: 04ec83f8b4b4da88 -vouched: 2026-10-22T14:33:26Z +body_hash: a9cafa59e02070dc +raw_hash: df133116ed1fd81f +vouched: 2026-10-22T14:56:07Z lines: 235-824 --- diff --git a/.lane/memory/apps/app/src/dashboard.tsx/01M5AYX7CX6GW2PYNTV3BS5F91-with-no-usable-model-on-this.md b/.lane/memory/apps/app/src/dashboard.tsx/01M5AYX7CX6GW2PYNTV3BS5F91-with-no-usable-model-on-this.md index 56e8b4e1..50e9bee6 100644 --- a/.lane/memory/apps/app/src/dashboard.tsx/01M5AYX7CX6GW2PYNTV3BS5F91-with-no-usable-model-on-this.md +++ b/.lane/memory/apps/app/src/dashboard.tsx/01M5AYX7CX6GW2PYNTV3BS5F91-with-no-usable-model-on-this.md @@ -4,9 +4,9 @@ anchor: function Dashboard created: 2026-10-19T20:51:03Z norm: '1' sig: 4bfb45497157c0e0 -body_hash: 3dc6d02ecfe40716 -raw_hash: d2e36ee5c66a68da -vouched: 2026-10-22T14:33:26Z +body_hash: 3517529f5c766be4 +raw_hash: 40843a80b4f5c8da +vouched: 2026-10-22T14:56:08Z lines: 256-606 ---