Bugfix: Apply notify/register mail flags during install load (#37120)

`LoadSettingsForInstall` only ran `loadMailerFrom`, not
_loadRegisterMailFrom_ or _loadNotifyMailFrom_, so
Service.RegisterEmailConfirm and Service.EnableNotifyMail were never
read from app.ini on the install page.

Full startup runs those through loadMailsFrom; the install path was a
narrower subset and never included that step—an oversight from when
install-specific loading was added

Fixes #37112
This commit is contained in:
Nicolas
2026-04-07 09:42:56 +02:00
committed by GitHub
parent fc23bd7b3a
commit adf440a3b3
2 changed files with 30 additions and 1 deletions

View File

@@ -6,6 +6,8 @@ package setting
import (
"testing"
"code.gitea.io/gitea/modules/test"
"github.com/stretchr/testify/assert"
)
@@ -39,3 +41,30 @@ func Test_loadMailerFrom(t *testing.T) {
})
}
}
func TestLoadSettingsForInstallMailServiceFlags(t *testing.T) {
defer test.MockVariableValue(&Service)()
defer test.MockVariableValue(&MailService)()
cfg, err := NewConfigProviderFromData(`
[database]
DB_TYPE = postgres
[mailer]
ENABLED = true
SMTP_ADDR = 127.0.0.1
SMTP_PORT = 465
FROM = noreply@example.com
[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
`)
assert.NoError(t, err)
loadDBSetting(cfg)
loadServiceFrom(cfg)
loadMailsFrom(cfg)
assert.True(t, Service.RegisterEmailConfirm)
assert.True(t, Service.EnableNotifyMail)
}

View File

@@ -232,7 +232,7 @@ func LoadSettings() {
func LoadSettingsForInstall() {
loadDBSetting(CfgProvider)
loadServiceFrom(CfgProvider)
loadMailerFrom(CfgProvider)
loadMailsFrom(CfgProvider)
}
var configuredPaths = make(map[string]string)