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

Reply via email to