Repository navigation
feat(web): beta Working sidebar section (upstream) - #991
Merged
Merged
Conversation
Port upstream b33eda1399 (#13926) for Pylon: a default-off sidebarWorkingShelfEnabled setting folds working, delegating (background fleets) and monitoring threads into a collapsible Working section on web and desktop. Approvals, input requests, plan prompts, failures, usage limits and unread completions stay in the inbox; pinned, snoozed and settled precedence is preserved; the open thread stays visible and search includes hidden rows. While enabled the inbox orders newest return first and drops only change lifecycle, so the saved manual order returns when the beta is off. Return stamps are device-local, in memory and keyed by environment. Presentation only: settlement, lifecycle and notifications are unchanged. Mobile is unchanged. Source: b33eda13998b5b0571daaf266c87f6f31af41f7d Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
A run that finishes with a monitor or background agent still open parks at "waiting", so its unread reply folded into Working. Unseen completions now stay in the inbox until visited, using each row's visited watermark. Disable the beta toggle under the legacy sidebar, note device-clock skew in return ordering, and explain why the memo-scoped observation is safe. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This was referenced Oct 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Busy threads crowd the active list even when they don't need you. Upstream T3 added a beta Working section that hides them until they finish or need attention. The maintainer approved adopting it with Pylon adaptations.
What this does
A new Settings → General → Working section (beta) toggle. It is off by default and is a client setting. When it's on, threads that are working, delegating to background fleets, or monitoring move into a collapsible Working section at the bottom of the sidebar. A thread goes back to the top of the active list when it finishes, fails, hits a usage limit, has a plan ready, or needs an approval or input.
Source
b33eda13998b5b0571daaf266c87f6f31af41f7d(#13926)Decision brief: issue #981, second comment, section
b33eda1399. The brief was written against00884406f7. Everything here was re-checked against orchestrator v2 atb4c210ea5d.Pylon adaptations
pendingBackgroundTasks. The shell parks those threads at runtimeidle, so the sidebar shows them aswaiting.isSidebarThreadWorkingfoldsworkingandwaiting. It also acceptsdelegating/monitoring, so the section keeps working if those statuses come back. Pylon's status precedence, colors, static activity visuals and progress counts are unchanged.waiting. The thread now stays in the active list until its reply is visited, judged by the same visited watermark as the row's Done indicator. A never-visited thread counts as read, as it does elsewhere.resolveSidebarThreadSectiontakes an optionalworkingflag, checked in the order snoozed, settled, pinned, working, active. Only inbox threads fold.observeSidebarInboxReturnsis a pure function inSidebar.logic.ts, with a thin module-scope holder inSidebar.tsx. It works like this:sortSidebarInboxThreadsuses newest-return-first while the beta is on andactiveOrderKeywhile it's off. Drops into a time-ordered inbox only change lifecycle (order: null, no key writes). That means turning the beta off brings back the saved manual order.CircleDashedicon there.ThreadSettlementPolicy, lifecycle rules,ThreadNotificationCoordinator, contracts wire events, projections or migrations.isSidebarThreadWorking,sortInboxThreadsByReturn, their tests, the settings-search entry and a docs paragraph. That docs paragraph described a setting that didn't exist and was missing a blank line. It is now rewritten. This PR adds the setting, the wiring, drag/section handling, settings reset and the desktop fixture.Verification
vp test run src/components/Sidebar.logic.test.ts src/components/Sidebar.drag.test.ts src/components/settings/settingsSearch.test.ts src/components/settings/SettingsPanels.restore.test.tsx src/components/settings/settingsLayout.test.tsx(apps/web): 5 files, 330 tests passed. New tests cover:vp test run src/settings.test.ts(packages/contracts): 174 passed, including the new default-off and patchable test.vp test run src/settings/DesktopClientSettings.test.ts(apps/desktop): 13 passed.vp run -F @t3tools/web typecheck,vp run -F @t3tools/contracts typecheck,vp run -F @t3tools/desktop typecheck: all rantsc --noEmit, exit 0.vp linton the changed TS files: 0 errors. The warnings are existing kinds, and the count matches the baseline.vp fmt --checkon the changed files: clean.Review fixes are in
a1bcda205b: unread replies, the legacy-sidebar toggle, the clock-skew doc note and the memo comment.Not verified
mt-autohandoff between the Working, Snoozed and Settled headers), the compact-sidebar header icon and drag feel all need a manual web/Electron check.Part of upstream cycle #981.
🤖 Generated with Claude Code