feat(clients): add thread auto-settle modes - #6192
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: configurable thread auto-settle modes across web and mobile. The changes modify core settling logic and add new settings UI, warranting human review for the new capability. You can customize Macroscope's approvability policy. Learn more. |
|
I believe this should get in, its a regression in some sense :\ at company they usually PR from develop to main, so any new threads at develop instantly auto-settle :p |
hi @nikuscs, yeah, we work mainly from a single main branch. for my use case, i use the same thread to finish up an entire feature, and usually there are more than 1 PRs involved with the feature. For example, 1 PR for db migration, 1 PR to update the API, and a last PR to update the PR. So right now, each time a PR lands on main, the thread resolves, and i have to reopen. When there are a lot of threads going on, it can be hard to find |
|
looks like this was added in #5880 so closing this as not needed. |
Often times, I work on issues that will end up having multiple PRs, so I'm constantly having to unsettled threads after each PR. This change adds more customization on settle behavior.
Default behavior is maintained as PR merge/close + Inactivity
Testing
mainGenerated by GPT-5.6 via the Codex harness.
Note
Add thread auto-settle modes (never, inactivity, PR merge/close, combined) to web and mobile
ThreadAutoSettleModetopackages/contracts/src/settings.tswith four modes: never, inactivity, pull-request, and inactivity-or-pull-request. Previously only an inactivity day threshold existed.effectiveSettledinpackages/client-runtime/src/state/threadSettled.tsto accept aThreadAutoSettlePolicyobject instead of a raw day count, enabling PR-based and combined settling logic.apps/web/src/components/settings/SettingsPanels.tsx) with a Select control for mode and a conditionally shown days slider; includes legacy migration from days-only settings viaresolveClientThreadAutoSettleMode.apps/mobile/src/features/settings/SettingsRouteScreen.tsx) with aControlPillMenufor mode selection, stored device-locally in mobile preferences.Macroscope summarized 904dfc8.