fix(update): read setUpdateChannel body as form field, not JSON

The panel's axios layer posts application/x-www-form-urlencoded, so the dev-channel toggle sent dev=true and ShouldBindJSON failed with 'invalid character d'. Parse c.PostForm("dev") to match the codebase's form-encoded POST convention.
This commit is contained in:
MHSanaei
2026-06-24 18:24:54 +02:00
parent aad2b3eb1e
commit 1d1128cf94
3 changed files with 7 additions and 9 deletions
+3 -5
View File
@@ -214,14 +214,12 @@ func (a *ServerController) updatePanel(c *gin.Context) {
// setUpdateChannel toggles whether self-update tracks the rolling dev release.
func (a *ServerController) setUpdateChannel(c *gin.Context) {
var req struct {
Dev bool `json:"dev"`
}
if err := c.ShouldBindJSON(&req); err != nil {
dev, err := strconv.ParseBool(c.PostForm("dev"))
if err != nil {
jsonMsg(c, "invalid data", err)
return
}
err := a.settingService.SetDevChannelEnable(req.Dev)
err = a.settingService.SetDevChannelEnable(dev)
jsonMsg(c, I18nWeb(c, "pages.index.updateChannelChanged"), err)
}