fix(web): enable restore defaults after theme mix changes - #5928
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: Approved b8dab78 This is a straightforward bug fix adding a missing React useMemo dependency. The You can customize Macroscope's approvability policy. Learn more. |
## What's Changed * Move project settings to contextual project routes by @juliusmarminge in pingdotgg/t3code#5923 * Retain thread sidebar data when navigating to /settings so back navigation is instant by @juliusmarminge in pingdotgg/t3code#5930 * Automate production mobile EAS releases by @juliusmarminge in pingdotgg/t3code#5609 * Add settings and usage breadcrumbs by @juliusmarminge in pingdotgg/t3code#5929 * fix(web): correct model picker trigger padding by @Chrono-byte in pingdotgg/t3code#5935 * fix(web): show worktree icon in sidebar v2 by @tris203 in pingdotgg/t3code#5909 * fix(web): enable restore defaults after theme mix changes by @Lucenx9 in pingdotgg/t3code#5928 * fix(web): trait menu closes after you pick a level by @t3dotgg in pingdotgg/t3code#5879 * fix(web): align project name with headline by @carterwsmith in pingdotgg/t3code#5864 * fix(web): update pills use readable theme foregrounds by @chrisdeeming in pingdotgg/t3code#5938 ## New Contributors * @carterwsmith made their first contribution in pingdotgg/t3code#5864 **Full Changelog**: pingdotgg/t3code@v0.0.33-nightly.20260810.1054...v0.0.33-nightly.20260810.1055 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.33-nightly.20260810.1055
Problem
Changing only the light or dark theme mix could leave the restore dirty-state memo stale because themeHalves was read but omitted from its dependency list. Restore defaults could therefore remain disabled and the restore action could return early.
Fix
Include themeHalves in the changedSettingLabels memo dependencies so theme-mix-only changes immediately update the restore state.
Verification
Screenshots are not included because this changes state invalidation only, with no layout or styling changes.
Model: GPT-5.6 Sol
Harness: Codex in T3 Code
Note
Fix 'Restore Defaults' detection to update when theme mix changes
Adds
themeHalvesto theuseMemodependency array in theuseSettingsRestorehook in SettingsPanels.tsx, sochangedSettingLabelsrecomputes immediately when the theme mix is modified. Previously, theme mix changes were not reflected in the restore defaults check or confirmation dialog.Macroscope summarized b8dab78.
Note
Low Risk
Single React hook dependency fix in settings restore state; no auth, data, or API behavior changes.
Overview
Restore defaults now reacts when only the light/dark theme mix changes.
useSettingsRestorealready treated a non-nullthemeHalvesas dirty and listed Theme mix inchangedSettingLabels, but theuseMemofor that list omittedthemeHalvesfrom its dependency array. After a mix-only edit, the memo could stay stale so restore stayed disabled andrestoreDefaultscould no-op on an empty label list.The fix adds
themeHalvesto that dependency array so mix-only changes immediately refresh restore UI and confirmation copy.Reviewed by Cursor Bugbot for commit b8dab78. Bugbot is set up for automated code reviews on this repo. Configure here.