The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/llm-clear-api-key-persisted has failed. Run started by GitHub user unbridled-41 (triggered by unbridled-41).
Head commit for run: d207ccd23d31ce2e1a12e3cf8d873c1d603fb1b0 / unbridled-41 <[email protected]> fix(ai): actually persist the cleared LLM API key "Clear key" in the AI settings reported success but kept the stored key: the intent was dropped one layer below the form. LlmConfigService.saveConfig rewrites the settings VO after normalizing the request, and the rebuild copied apiKey but not clearApiKey, so the flag reverted to its default false. SettingsService.saveGeneralSettings reads a blank key with clearApiKey=false as "keep the stored key" and copies the old secret back before persisting: if (settings.isClearApiKey()) { settings.setApiKey(""); } else if (!hasText(settings.getApiKey()) && current != null) { settings.setApiKey(current.getApiKey()); // the cleared key comes back } The console shows the success toast and the next load reports the key as configured again. Carry the flag into the persisted VO. The existing regression only asserted the blank key on the throwaway VO (with SettingsService mocked, the merge that restores the key never ran); it now asserts the flag, and a new test pins that an ordinary save does not ask to clear. Tested: LlmConfigServiceTest, SettingsServiceTest, SettingsControllerTest, LlmControllerTest -> 101 passed; the clear-flag assertion fails on the pre-fix code; checkstyle clean. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37090149671 With regards, GitHub Actions via GitBox
