feat(clients): add PR auto-settle toggle - #5141
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR introduces a new user-facing feature adding toggles to control auto-settlement of PR threads. Changes to core workflow behavior (the You can customize Macroscope's approvability policy. Learn more. |
What Changed
Closes #4982.
Why
Sidebar v2 previously classified merged and closed pull-request threads as settled unconditionally. Disabling “Auto-settle inactive threads” therefore could not keep those threads active for follow-up work.
The merged/closed trigger is now configurable independently from the inactivity trigger. Existing users keep the current behavior unless they opt out.
UI Changes
Before
The inactivity setting also stated that merged and closed PR threads always settle, with no separate control.
After
A separate toggle controls merged/closed-PR settlement. Here it is disabled while inactivity-based settlement remains enabled.
Validation
bun test packages/contracts/src/settings.test.ts packages/client-runtime/src/state/threadSettled.test.ts apps/mobile/src/features/threads/threadListV2.test.ts— 250 passedbun --cwd apps/desktop test -- DesktopClientSettings.test.ts— 7 passedChecklist
Built with GPT-5.6-Sol via the Codex harness in T3 Code.
Note
Add PR auto-settle toggle to client settings, web sidebar, and mobile thread list
sidebarAutoSettleOnChangeRequestCompletiontoClientSettingsSchema(defaulttrue) and exposes a toggle in the web beta settings panel, allowing users to disable automatic settlement when a PR is merged or closed.effectiveSettledin threadSettled.ts to acceptautoSettleOnChangeRequestCompletion; whenfalse, merged/closed PRs no longer trigger settlement.threadListV2AutoSettleInactive,threadListV2AutoSettleOnChangeRequestCompletion) read by a newuseThreadListV2SettlementPreferenceshook and surfaced as independent toggles in the mobile beta settings UI.true), but the new settings are device-local on mobile and client-scoped on web.Macroscope summarized 1f2d7cb.