forgejo/modules/setting
Gusted 0d97b8e9da chore: don't load settings twice for running web (#12111)
- It's quite hard to determine when and why this was added here, my best
  guess is that this being the "oldest" subcommand at some point loading
  the configuration was not unified. Now it is unified in
  `prepareWorkPathAndCustomConf` which is run before any subcommand is
  run. It determines the work path, custom path and (custom) config and
  then loads the settings by calling `LoadCommonSettings`.
- Between `prepareWorkPathAndCustomConf` being called and
  `serveInstalled` being called the `setting.CustomConf` is not changed.
  There was a possibility this being necessary for install page ->
  installed, but the install code already ensures that the new config is
  loaded and used.
- Thus calling to load the settings again here is not necessary. There's
  a small possibility some settings loading code was written to only work
  after being loaded the second time. That's a bug that needs to be fixed,
  because all other subcommands does not load the settings twice and would
  see a different view of the settings in that case. I don't fear such
  code being present here.
- Resolves forgejo/forgejo#11024

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12111
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2026-04-14 07:25:05 +02:00
..
config chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
actions.go feat: add OIDC workload identity federation support (#10481) 2026-01-15 03:39:00 +01:00
actions_test.go chore: require.ErrorContains() is intended, but require.Errorf() is used (#11035) 2026-01-25 19:48:15 +01:00
admin.go feat: add manage_password to user disable features (#10541) 2026-01-26 18:58:39 +01:00
admin_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
api.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
asset_dynamic.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
asset_static.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
attachment.go feat: Make AVIF Images work with Forgejo 2024-11-13 19:09:40 +01:00
attachment_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
badges.go [GITEA] Add support for shields.io-based badges 2024-02-05 16:09:42 +01:00
cache.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
camo.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
config.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
config_env.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
config_env_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
config_provider.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
config_provider_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
cors.go Fix settings not being loaded at CLI (#26402) 2025-01-05 12:13:48 +00:00
cron.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
cron_test.go fix: LFS GC is never running because of a bug in the parsing of the INI file (#9202) 2025-09-09 22:32:49 +02:00
database.go fix: improve SQLite "database is locked" errors by increasing default SQLITE_TIMEOUT (take 2) (#11292) 2026-02-14 22:34:09 +01:00
database_sqlite.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
database_test.go feat: Add support for loading db password from file via PASSD_URI (#10421) 2025-12-18 20:55:56 +01:00
disposable_email_domain_data.go feat: add setting to block disposable emails 2024-11-20 23:17:37 -06:00
f3.go chore: update gof3/v3 v3.11.15 (#10673) 2026-01-13 16:59:56 +01:00
f3_test.go chore: update gof3/v3 v3.11.15 (#10673) 2026-01-13 16:59:56 +01:00
federation.go feat(activitiypub): enable HTTP signatures on all ActivityPub endpoints (#7035) 2025-04-03 15:24:15 +00:00
forgejo_storage_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
git.go chore: remove two Git settings (#9815) 2025-10-23 00:38:47 +02:00
git_test.go chore: QoL improvements to tests (#7917) 2025-05-21 15:45:56 +02:00
highlight.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
i18n.go fix(UI): i18n: improve naming (#7539) 2025-04-15 05:48:19 +00:00
incoming_email.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
incoming_email_test.go feat: add _URI entries for mail config (#8116) 2025-07-09 23:15:26 +02:00
indexer.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
indexer_test.go Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.5.0 (forgejo) (#9563) 2025-10-08 13:15:33 +02:00
lfs.go chore(sec): unify usage of crypto/rand.Read (#7453) 2025-04-04 03:31:37 +00:00
lfs_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
log.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
log_test.go feat(log): better parseable and configurable ssh-logs (#9056) 2025-09-11 18:59:24 +02:00
mailer.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
mailer_test.go feat: add _URI entries for mail config (#8116) 2025-07-09 23:15:26 +02:00
markup.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
metrics.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
migrations.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
mime_type_map.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
mirror.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
moderation.go feat: add configurable timeout for automatically removing resolved reports (#7940) 2025-07-28 14:52:13 +02:00
oauth2.go chore(sec): unify usage of crypto/rand.Read (#7453) 2025-04-04 03:31:37 +00:00
oauth2_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
other.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
packages.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
packages_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
path.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
path_test.go [BRANDING] alias {FORGEJO,GITEA}_{CUSTOM,WORK_DIR} 2024-02-05 16:05:01 +01:00
picture.go Fix all possible setting error related storages and added some tests (#23911) 2023-06-14 11:42:38 +08:00
project.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
proxy.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
pwa.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
queue.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
quota.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
quota_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
repository.go fix(ui)!: remove squash merge committer trailer admin option (#11096) 2026-02-07 12:58:26 +01:00
repository_archive.go Fix all possible setting error related storages and added some tests (#23911) 2023-06-14 11:42:38 +08:00
repository_archive_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
repository_test.go feat(sec): Add SSH signing support for instances (#6897) 2025-04-11 13:25:35 +00:00
security.go branding!: make cookies brand independent (#10645) 2026-03-19 04:34:27 +01:00
server.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
server_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
service.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
service_test.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
session.go branding!: make cookies brand independent (#10645) 2026-03-19 04:34:27 +01:00
setting.go chore: don't load settings twice for running web (#12111) 2026-04-14 07:25:05 +02:00
setting_test.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
ssh.go feat: ensure only expected ssh public keys are in authorized_keys file (#10010) 2025-11-09 01:06:04 +01:00
storage.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
storage_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367) 2025-03-28 22:22:21 +00:00
task.go handle deprecated settings (#22992) 2023-02-20 16:18:26 -06:00
time.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
ui.go feat: add admin views for federation configuration, hosts and users (#11115) 2026-04-09 19:38:33 +02:00
webhook.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00