You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules/context
zeripath bb0ff77e46
Share HTML template renderers and create a watcher framework (#20218)
The recovery, API, Web and package frameworks all create their own HTML
Renderers. This increases the memory requirements of Gitea
unnecessarily with duplicate templates being kept in memory.

Further the reloading framework in dev mode for these involves locking
and recompiling all of the templates on each load. This will potentially
hide concurrency issues and it is inefficient.

This PR stores the templates renderer in the context and stores this
context in the NormalRoutes, it then creates a fsnotify.Watcher
framework to watch files.

The watching framework is then extended to the mailer templates which
were previously not being reloaded in dev.

Then the locales are simplified to a similar structure.

Fix #20210 
Fix #20211
Fix #20217

Signed-off-by: Andrew Thornton <art27@cantab.net>
2 years ago
..
access_log.go Pass down SignedUserName down to AccessLogger context (#16605) 3 years ago
api.go Add Cache-Control header to html and api responses, add no-transform (#20432) 2 years ago
api_org.go Move organization related structs into sub package (#18518) 2 years ago
api_test.go format with gofumpt (#18184) 2 years ago
auth.go Respond with a 401 on git push when password isn't changed yet (#20026) 2 years ago
captcha.go format with gofumpt (#18184) 2 years ago
context.go Share HTML template renderers and create a watcher framework (#20218) 2 years ago
csrf.go Refactor CSRF protection modules, make sure CSRF tokens can be up-to-date. (#19337) 2 years ago
form.go Add config options to hide issue events (#17414) 2 years ago
org.go Allow access to the Public Organization Member lists with minimal permissions (#20330) 2 years ago
package.go Share HTML template renderers and create a watcher framework (#20218) 2 years ago
pagination.go Remove tab/TabName usage where it's not needed (#19973) 2 years ago
permission.go Move access and repo permission to models/perm/access (#19350) 2 years ago
private.go Add more linters to improve code readability (#19989) 2 years ago
repo.go Fix download archiver of a commit (#20962) 2 years ago
response.go format with gofumpt (#18184) 2 years ago
utils.go Add more linters to improve code readability (#19989) 2 years ago
xsrf.go Refactor CSRF protection modules, make sure CSRF tokens can be up-to-date. (#19337) 2 years ago
xsrf_test.go Refactor CSRF protection modules, make sure CSRF tokens can be up-to-date. (#19337) 2 years ago