coder999o opened a new pull request, #7219:
URL: https://github.com/apache/rocketmq-dashboard/pull/7219

   ## What is the purpose of the change
   
   Fixes #7217.
   
   The settings page displays appearance values from the server snapshot while 
the application applies browser-local preferences through ThemeProvider. 
Restored dark/compact preferences can therefore appear as System/off. Toggling 
the theme in the header also leaves the settings selector behind, preventing a 
direct switch back to its already-selected System option.
   
   ## Brief changelog
   
   - Bind the theme selector and compact switch to the active theme context.
   - Remove the unused server-theme normalization helper.
   - Add real-provider regressions for restored local preferences and an 
external theme toggle followed by selecting System again.
   
   Shared settings remain the save-payload base; authorization checks, save 
behavior, API and storage formats are unchanged. All-state duplicate review 
included #2319, #2450, #4255, #5384 and #5849: their appearance wiring, write 
sequencing and reader permissions do not resolve these display-state triggers.
   
   ## Verifying this change
   
   From `web/`:
   
   - Before the production fix, `npm test -- GeneralSettingsTab.test.tsx 
--maxWorkers=1` failed both new regressions because the Dark radio remained 
unchecked; the eight existing tests passed.
   - `npm test -- src/pages/settings src/theme --maxWorkers=1`: 78 tests passed 
across 10 files, including reader access, settings saves and theme persistence.
   - `npx tsc -b --pretty false`: passed.
   - `npm run lint`: zero errors; 10 warnings in unrelated files. Scoped ESLint 
on both changed files passed without warnings.
   - `npx prettier --check src/pages/settings/GeneralSettingsTab.tsx 
src/pages/settings/__tests__/GeneralSettingsTab.test.tsx`: passed.
   - `git diff --check`: passed; complete diff reviewed for scope and 
compatibility.
   
   The component tests use jsdom and mocked settings APIs with the real 
ThemeProvider. No live-browser or deployed-server validation is claimed.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to