iloveeyjafjalla opened a new issue, #6932:
URL: https://github.com/apache/rocketmq-dashboard/issues/6932

   ## Summary
   
   Settings → 常规设置 presents an editable form when its initial read fails, and 
every action then silently does nothing: 保存设置 and the three 测试 buttons are 
enabled, clicking them succeeds client-side, and neither a request nor a 
message follows. The tab cannot recover either — the read only runs on mount.
   
   ## Why
   
   - The load effect only emits a transient toast on failure 
(`web/src/pages/settings/GeneralSettingsTab.tsx:106`); no error state is kept, 
so `settings` stays `null` and the fields render their defaults.
   - Both write paths abort on that null: `persistPreference` (`:149`) and 
`mergeAndSave` (`:151`) open with `if (!settings) return;` — no request, no 
failure message.
   - The buttons are gated only by `loading || !canWriteSettings` (`:322`, 
`:416`) and `!canWriteSettings` (`:364`, `:393`, `:400`, `:407`), so none of 
them reflects the missing snapshot.
   - The sibling AI settings tab already got the right shape for its own 
unreadable configuration (#6549/#6550): a persistent alert with a retry, and 
the form is not presented as an empty one.
   
   ## Impact
   
   A deployment whose settings row is unreadable (or one transient read 
failure) leaves operators with a form that looks unconfigured and cannot be 
saved — including the notification webhook and the session policy. The only 
recovery is a full page reload, which nothing suggests.
   
   ## Reproduction
   
   `web/src/pages/settings/__tests__/GeneralSettingsTab.test.tsx` → `reports a 
failed initial load instead of an editable form` rejects `getGeneralSettings` 
and renders the tab:
   
   ```
   Unable to find an element with the text: settings row is corrupt.
   ```
   
   (the failure reason is never shown, and the 保存设置 buttons are enabled).
   
   ## Expected
   
   The read failure is state: its reason is shown, a retry re-runs the read, 
and the write/test controls stay disabled until a snapshot exists.
   


-- 
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