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/routers
zeripath 93ab90743d
Prevent loop if there is an error in GetNotificationCount (#19799)
If the context is cancelled `.NotificationUnreadCount` in a template can
cause an infinite loop with `ctx.ServerError()` being called, which
creates a template that then calls `.NotificationUnreadCount` calling
`GetNotificationCount()` with the cancelled context resulting in an
error that calls `ctx.ServerError`... and so on...

This PR simply stops calling `ctx.ServerError` in the error handler code
for `.NotificationUnreadCount` as we have already started rendering and
so it is too late to call `ctx.ServerError`. Additionally we skip
logging the error if it's a context cancelled error.

Fix #19793

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2 years ago
..
api Move almost all functions' parameter db.Engine to context.Context (#19748) 2 years ago
common Set the LastModified header for raw files (#18356) 2 years ago
install Move almost all functions' parameter db.Engine to context.Context (#19748) 2 years ago
private Move almost all functions' parameter db.Engine to context.Context (#19748) 2 years ago
utils A better go code formatter, and now `make fmt` can run in Windows (#17684) 3 years ago
web Prevent loop if there is an error in GetNotificationCount (#19799) 2 years ago
init.go Update go tool dependencies (#19676) 2 years ago