Fix silently ignored error when saving outbound test URL setting (#4209)

In the Xray settings update handler, the error from
SetXrayOutboundTestUrl was silently discarded. If the database write
failed, the user received a success toast ("Settings updated
successfully") but the outbound test URL was not actually saved.

Now properly checks the error and returns a failure response to the
user, consistent with how the preceding SaveXraySetting call is
handled.
This commit is contained in:
Qiaochu Hu 2026-05-10 20:45:53 +08:00 committed by GitHub
parent 9cbba130ab
commit 81b4ae5661
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -104,7 +104,10 @@ func (a *XraySettingController) updateSetting(c *gin.Context) {
if outboundTestUrl == "" {
outboundTestUrl = "https://www.google.com/generate_204"
}
_ = a.SettingService.SetXrayOutboundTestUrl(outboundTestUrl)
if err := a.SettingService.SetXrayOutboundTestUrl(outboundTestUrl); err != nil {
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifySettings"), err)
return
}
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifySettings"), nil)
}