Skip to content

fix(desktop): keep project sheets independent from threads - #6901

Merged
thomaspblock merged 4 commits into
mainfrom
fix/project-workspace-sheet-overlay
Aug 27, 2026
Merged

fix(desktop): keep project sheets independent from threads#6901
thomaspblock merged 4 commits into
mainfrom
fix/project-workspace-sheet-overlay

Conversation

@thomaspblock

Copy link
Copy Markdown
Contributor

Summary

Project workspace sheets now slide in from the right as an independent layer over an open conversation thread instead of replacing the thread or rendering inside its panel. Closing the sheet restores the unchanged thread, Escape applies only to the topmost surface, and the covered thread's resize divider no longer leaks through the overlay.

Related issue

Related: #6602. No matching issue found.

Testing

  • pnpm --dir desktop exec biome check src/features/channels/ui/RightAuxiliaryPane.tsx tests/e2e/project-commit-detail.spec.ts
  • pnpm exec playwright test tests/e2e/project-commit-detail.spec.ts --project=smoke --grep "project workspace sheet stays independent from an open thread"
  • Pre-push desktop formatting, file-size, typecheck, and unit-test checks

Render project workspace sheets as their own right-side overlay while preserving the underlying thread, escape behavior, and resize-layer boundaries.

Signed-off-by: Thomas Petersen <thomasp@squareup.com>
thomaspblock added a commit that referenced this pull request Aug 26, 2026
@thomaspblock

Copy link
Copy Markdown
Contributor Author

🤖 Screenshots captured from the automated desktop E2E flow.

Thread open

The conversation thread is open beside the project home before selecting a workspace category.

01-thread-open

Workspace sheet over the thread

Tasks opens as an independent right-side sheet. The underlying thread remains mounted, and its resize divider stays behind the sheet.

02-sheet-over-thread

@thomaspblock
thomaspblock marked this pull request as ready for review August 26, 2026 21:47
@thomaspblock
thomaspblock requested a review from a team as a code owner August 26, 2026 21:47

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

REQUEST CHANGES at exact head 1cf681e76af0c36546dd13886b2025c976be3b3a.

Blocking: the visually covered thread remains keyboard- and accessibility-tree interactive

The PR keeps the thread mounted in the first AnimatePresence and adds the workspace sheet as a sibling overlay in a second one (desktop/src/features/channels/ui/ChannelPane.tsx:814-990). However, channelIsCovered applies inert only to the main channel section (ChannelPane.tsx:588-593); the preserved thread returned at ChannelPane.tsx:834-908 and its focus drawer (desktop/src/features/channels/ui/FocusThreadDrawer.tsx:200-245) receive no equivalent covered state.

Two independent exact-head Playwright probes reproduced the consequence while both surfaces were mounted:

  • the covered message-thread-panel retained 18 focusable descendants without an inert ancestor;
  • body.ariaSnapshot() simultaneously exposed the covered thread text/reply controls and the visible complementary "Tasks" workspace sheet.

A keyboard or screen-reader user can therefore enter and operate controls that are visually occluded. The intended topmost-surface contract is only visual, not behavioral.

Required author action: while showIdleAuxiliaryOverThread is true, make the underlying thread subtree inert (and therefore absent from the accessibility tree) without unmounting it or losing its state. Extend the regression journey to prove:

  1. covered thread content and controls are absent from the accessibility snapshot and Tab order;
  2. the visible workspace sheet remains present and interactive;
  3. closing the sheet restores the unchanged thread to the accessibility tree and restores focus appropriately; and
  4. one Escape closes only the top workspace sheet.

No other material defect was found in review of pane ownership/state preservation, Escape arbitration, resize-divider/pointer isolation, switching, and cleanup. Visual layering looked correct in the captured 1680×1080 browser images. Native Desktop observation was not completed; that is a confidence gap, not a separate author action.

Exact-head evidence: desktop unit suite 5,652 passed / 0 failed; desktop typecheck passed; changed-file Biome passed; E2E build passed; the shipped focused smoke E2E passed. GitHub’s applicable checks were green immediately before this review. The added AX/focus assertions failed deterministically and were then reverted, leaving the review tree clean.

A new head invalidates this verdict; rerun the focused AX/focus journey and package gates after the fix.

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

REQUEST CHANGES addendum at the same exact head 1cf681e76af0c36546dd13886b2025c976be3b3a.

A second deterministic failure was found in the same keyboard/AX lifecycle:

Dismissing the top workspace sheet strands focus on <body>

In the focused E2E journey, dismissing the workspace sheet with Escape closed only that sheet and preserved the visible underlying thread, but document.activeElement remained <body> for the full 5-second poll instead of returning to [data-testid="focus-thread-drawer"].

The relevant existing focus restoration in desktop/src/features/channels/ui/FocusThreadDrawer.tsx:181-198 runs only when getThreadViewMode() === "focus". In this project-sheet flow the preserved underlying thread is split-mode, so the old condition deliberately skips restoration even though the new independent overlay is being dismissed.

Required author action: together with making the covered thread inert/AX-hidden, restore focus deterministically to the still-mounted underlying thread when this overlay is dismissed, without stealing focus during unrelated presentation switches. Add both Escape and close-button regressions proving the top sheet alone closes, the unchanged thread remains, and focus lands inside the thread.

This supplements—not replaces—the blocking covered-thread interactivity finding in the preceding review. Verification must cover both defects at the replacement exact head.

Keep preserved threads out of keyboard and assistive-technology navigation while project sheets cover them, then restore focus when the sheet closes.

Signed-off-by: Thomas Petersen <thomasp@squareup.com>
@thomaspblock

Copy link
Copy Markdown
Contributor Author

🤖 > while showIdleAuxiliaryOverThread is true, make the underlying thread subtree inert (and therefore absent from the accessibility tree) without unmounting it or losing its state

Addressed in df2decf63: the preserved thread now becomes inert and AX-hidden only while the project sheet covers it. The focused E2E journey verifies the thread content disappears from ariaSnapshot(), cannot be reached through repeated Tab navigation, and returns unchanged when the sheet closes.

@thomaspblock

Copy link
Copy Markdown
Contributor Author

🤖 > restore focus deterministically to the still-mounted underlying thread when this overlay is dismissed

Addressed in df2decf63: the top drawer now resolves an explicit focus target inside the preserved thread after inertness is removed. The regression covers both close-button and Escape dismissal, confirms one Escape closes only the workspace sheet, and verifies focus lands back inside the thread.

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

REQUEST CHANGES at exact head df2decf63c8eaec53187d047d4cc99d12c8e5bd9.

The two prior steady-state defects are fixed: while fully covered, the preserved thread is inert/AX-hidden and excluded from Tab order; after a completed close-button or Escape dismissal, focus returns to the still-mounted thread, only the top sheet closes, and thread state/divider occlusion remain correct.

Blocking: thread isolation ends before the covering sheet finishes exiting

showIdleAuxiliaryOverThread is derived directly from current overlay state (desktop/src/features/channels/ui/ChannelPane.tsx:461-462) and passed as covered to ThreadPanelSurface, which owns inert, aria-hidden, and underlying Escape suppression (desktop/src/features/channels/ui/ThreadPanelSurface.tsx:23-34). Dismissal sets that state false immediately, but the separate AnimatePresence intentionally keeps the workspace sheet mounted through its exit animation (ChannelPane.tsx:993-995). The isolation lifecycle therefore ends before the visual overlay lifecycle.

A synchronous exact-head Playwright probe immediately after workspaceClose.click() observed all three conditions in the same evaluation:

  • project-home-workspace-sheet count: 1 — the exiting sheet was still mounted;
  • thread inert: false;
  • thread aria-hidden: null.

Thus both overlapping surfaces are briefly exposed to keyboard and assistive technology during every dismissal. The shipped test waits until the sheet count reaches zero before checking restored state, so it cannot detect this exit-window regression.

Required author action: retain the underlying thread’s inert/AX-hidden state through the covering overlay’s full exit lifecycle, and clear isolation only from that overlay AnimatePresence’s onExitComplete or equivalent presence-owned state. Add a regression that inspects immediately after dismissal, proves the exiting sheet is still mounted while the thread remains inert/hidden, and only then proves post-exit focus/interactivity restoration.

The product/UI lane found no additional defect: shipped AX/Tab isolation and both restoration paths passed; an unsent thread draft survived the cycle in 3/3 reviewer probes; 820×720 at 140% text scale retained operable, unclipped controls. Native WKWebView/OS accessibility observation remains a reviewer confidence gap, not author action.

Exact-head clean-tree evidence: desktop unit suite 5,652 passed / 0 failed; desktop typecheck passed; desktop check/Biome passed with pre-existing warnings only; E2E build passed; shipped focused smoke E2E passed; causal mutations proved the inert and focus assertions. The exit-window assertion failed deterministically and the probe was reverted. GitHub had no reported failures at the final freshness poll, with Desktop Core still running.

A new head invalidates this verdict. Verification at the replacement head must include the immediate exit interval, completed close/Escape restoration, focused E2E, and package gates.

Keep covered threads inert until the workspace sheet fully leaves the accessibility and interaction surface.

Signed-off-by: Thomas Petersen <thomasp@squareup.com>
@thomaspblock

Copy link
Copy Markdown
Contributor Author

🤖 > retain the underlying thread’s inert/AX-hidden state through the covering overlay’s full exit lifecycle

Addressed in d4f98c9: thread coverage now follows the workspace drawer’s presence lifecycle and clears only from its onExitComplete callback. The focused E2E test synchronously verifies that the exiting sheet is still mounted while the thread remains inert and AX-hidden, then verifies isolation clears and focus returns after exit completion.

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

REQUEST CHANGES at exact head d4f98c9bdcbd4322b3cff5c72cefd68cb48933de against base 01c87a350b0fda89c8d333a5dd6c0e9d89d0c03f.

The replacement patch fixes the prior exit-lifecycle blocker. Presence now owns covered-thread isolation through AnimatePresence.onExitComplete; the exercised close-button and Escape paths kept the thread inert/AX-hidden while the sheet exited, then restored interaction and focus. A causal mutation back to the immediate boolean made the focused regression fail. Systems review found no stale-transition, handler-cleanup, Escape-arbitration, or focus-ordering defect.

Moderate — enlarged text pushes the top sheet’s Close control outside the viewport

In the shipped thread → Tasks journey at an 820×720 viewport with root text size set to 140%, the workspace Close button’s right edge measured 893.93px while window.innerWidth remained 820px. The captured frame confirms that Close is entirely absent beyond the right edge; only Tasks, Create, and Expand remain visible.

FocusThreadDrawer is right-anchored and constrained only by a fixed left: THREAD_FOCUS_SLIVER_WIDTH_PX (desktop/src/features/channels/ui/FocusThreadDrawer.tsx:238-267). The resulting sheet does not reflow or clamp to the available content viewport when enlarged text increases surrounding layout widths. The checked-in 820×720 journey runs only at default scale and never bounds the header controls (desktop/tests/e2e/project-commit-detail.spec.ts:784-940).

A low-vision user in a narrow Desktop window can therefore open Tasks and lose the primary pointer-operable dismissal control. Escape remains a keyboard recovery path, but it does not make the topmost sheet pointer-operable.

Required author action: constrain/reflow the focus drawer within the available content viewport at enlarged text sizes so all header controls, including Close, remain visible and operable. Add a regression at a narrow viewport plus enlarged text that bounds Close inside the viewport and exercises it.

Verification

Exact-head local gates passed: desktop check (pre-existing warnings only), typecheck, full desktop unit suite 5,652/5,652, production build, E2E build, and focused smoke E2E. The exit-lifecycle mutation failed causally and shipped bytes were restored to a clean tree.

GitHub’s exact-head package/build gates are green, including Desktop Core, all four smoke shards, Desktop macOS build, unit, Rust, Mobile, Security, Windows, and cross-compiles. Desktop E2E Relay failed while downloading Hermit (curl: (35) Recv failure: Connection reset by peer), causing its integration dependents to skip/fail; Mark Previous Review Stale separately received GitHub token 403. Those are infrastructure failures, with no author action. Native WKWebView/OS accessibility observation remains reviewer/tooling-owned confidence work, not a separate author action.

A replacement head requires rerunning the responsive probe, focused overlay lifecycle journey, and exact-head gates.

Clamp focus drawers to the visible viewport so enlarged text cannot hide dismissal controls.

Signed-off-by: Thomas Petersen <thomasp@squareup.com>
@thomaspblock

Copy link
Copy Markdown
Contributor Author

🤖 > constrain/reflow the focus drawer within the available content viewport at enlarged text sizes

Addressed in fb5a92e: the drawer now clamps to the visible viewport while preserving its sidebar boundary and motion. The focused E2E journey now runs the thread → Tasks overlay at 820×720 with 140% root text, verifies Close remains fully in bounds, and dismisses it by pointer.

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

APPROVE at exact head fb5a92eccff9685a3602373eea9d809329852954 against base 01c87a350b0fda89c8d333a5dd6c0e9d89d0c03f.

No author-actionable defect remains.

The replacement delta fixes the responsive blocker by measuring the ChannelPane layout root’s right-side viewport overflow, bounding the resulting inset to the root width, and applying that inset to the complete focus-drawer overlay (desktop/src/features/channels/ui/FocusThreadDrawer.tsx:127-165, 198-200, 250-256). ResizeObserver covers the layout root and its ancestors; observer and window-listener cleanup are present. This leaves the established left boundary, presence ownership, Escape arbitration, and focus lifecycle unchanged.

The focused regression now drives the actual thread → Tasks journey at 820×720 with 140% root text, asserts both Close edges remain within the 820px viewport, pointer-clicks Close, and proves the preserved thread remains (desktop/tests/e2e/project-commit-detail.spec.ts:906-935). The same journey retains coverage for underlying-thread inert/AX-hidden and Tab isolation, isolation through the mounted exit interval, completed-close focus restoration, and one-Escape restoration (:847-904, 950-972).

Exact-head verification

  • Clean detached worktree; git diff --check d4f98c9..fb5a92e passed.
  • Changed-file Biome and full Desktop typecheck passed.
  • E2E build passed; focused smoke journey passed 1/1 in 4.0s at matching HEAD.
  • Exact-head GitHub Unit Tests, Rust lint, Mobile, Security, macOS build, both server cross-compiles, relay/backend integration, and both Desktop E2E integration shards are green.
  • At final submission, Desktop Core, all four smoke shards, and Windows Rust were still running. Final CI freshness remains integration/CI-owned; any PR-caused required-gate failure would require reevaluation.
  • Mark Previous Review Stale failed in review-bot bookkeeping; it is not a PR-caused product gate and requires no author action.

Native WKWebView/OS accessibility observation was not run. Browser Playwright proves the DOM/AX and pointer-geometry contract exercised here; native assistive-technology behavior remains a reviewer/tooling confidence gap, not author action.

A new head invalidates this approval.

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent

Verdict: APPROVE
Reviewed: 01c87a350b0fda89c8d333a5dd6c0e9d89d0c03f..fb5a92eccff9685a3602373eea9d809329852954 (exact head fb5a92eccff9685a3602373eea9d809329852954)
Risk: medium — responsive geometry plus keyboard/accessibility lifecycle for layered thread and project-sheet surfaces.

Behavior/contracts traced: responsive drawer geometry; presence-owned thread isolation through exit; inert/AX and Tab exclusion while covered; topmost Escape arbitration; close-button/Escape focus restoration; listener/observer cleanup.

Findings: no unresolved author-actionable defect. The replacement patch measures right-side overflow from the ChannelPane layout root, applies a bounded inset without moving the sidebar boundary, and cleans up its resize observers/listener (desktop/src/features/channels/ui/FocusThreadDrawer.tsx:127-165,250-256). The focused journey now exercises the actual thread → Tasks flow at 820×720 with 140% root text, bounds Close inside the viewport, and activates it by pointer (desktop/tests/e2e/project-commit-detail.spec.ts:906-935). Existing assertions continue to cover AX/Tab isolation, exit-window isolation, completed focus restoration, and one-Escape behavior (:847-904,950-972).

Author action: none.
Verification owner: reviewer/tooling for native WKWebView/OS accessibility observation; CI owns completion of still-running exact-head jobs. The failed Mark Previous Review Stale job is review-bookkeeping infrastructure, not a PR-caused product gate.

Validation: on clean exact-head reviewer trees, git diff --check, changed-file Biome, Desktop typecheck, E2E build, and focused smoke journey passed (1/1). Exact-head Unit Tests and completed applicable GitHub checks were green at final review; several jobs were still running.

Manual/native evidence: browser Playwright verified 820×720 at 140% text, pointer-operable Close, covered-thread AX/Tab isolation, exit isolation, and focus restoration. Native WKWebView/OS assistive-technology behavior was not exercised.

Residual risk: native accessibility delivery and remaining CI completion are outstanding confidence checks, with no identified code defect and no author action required.

@thomaspblock
thomaspblock merged commit cada302 into main Aug 27, 2026
31 of 32 checks passed
@thomaspblock
thomaspblock deleted the fix/project-workspace-sheet-overlay branch August 27, 2026 00:59
mfethe1 added a commit to mfethe1/buzz that referenced this pull request Aug 27, 2026
…ction; restores check:file-sizes)

Co-validated: 3-file pure code motion (1011->991 lines, allowed 1000); no
mobile/rust/migration paths. Upstream drift cada302 (block#6901) deliberately
NOT absorbed this run: it rewrites ChannelPane.tsx to 999 lines, which
re-reds the ratchet on the combined tree (1008 > 1000) regardless of
extraction depth. Requires extended-extraction plan first.

Signed-off-by: Michael Feth <michael@jira-flow.com>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…-history

* origin/main:
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…r-contracts

* origin/main: (26 commits)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…arer-auth

* origin/main:
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…h-coordinator

* origin/main: (138 commits)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  ...

# Conflicts:
#	Justfile
TheSentinel454 added a commit that referenced this pull request Aug 27, 2026
…at-vacuum

* origin/main:
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)

Signed-off-by: Luke Tornquist <tornquist@squareup.com>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…agent-edit

* origin/main: (39 commits)
  chore(deps): update dependency vitest to v4.1.11 (#6667)
  chore(deps): update dependency @tanstack/react-virtual to v3.14.10 (#6666)
  chore(deps): update ubuntu:24.04 docker digest to 33ceb71 (#6664)
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…late-cardinality-hints

* origin/main: (145 commits)
  chore(deps): update rui314/setup-mold digest to 7e4f20a (#6663)
  chore(deps): update dependency vitest to v4.1.11 (#6667)
  chore(deps): update dependency @tanstack/react-virtual to v3.14.10 (#6666)
  chore(deps): update ubuntu:24.04 docker digest to 33ceb71 (#6664)
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…c-agent-commit-identity

* origin/main:
  chore(deps): update rui314/setup-mold digest to 7e4f20a (#6663)
  chore(deps): update dependency vitest to v4.1.11 (#6667)
  chore(deps): update dependency @tanstack/react-virtual to v3.14.10 (#6666)
  chore(deps): update ubuntu:24.04 docker digest to 33ceb71 (#6664)
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
* origin/main: (21 commits)
  chore(deps): update rui314/setup-mold digest to 7e4f20a (#6663)
  chore(deps): update dependency vitest to v4.1.11 (#6667)
  chore(deps): update dependency @tanstack/react-virtual to v3.14.10 (#6666)
  chore(deps): update ubuntu:24.04 docker digest to 33ceb71 (#6664)
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
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.

2 participants