mirror of
1
Fork 0
forgejo/routers/web/user
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>
2022-05-25 08:51:53 +08:00
..
setting Prevent NPE when cache service is disabled (#19703) 2022-05-21 22:29:49 +08:00
avatar.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
home.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
home_test.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
main_test.go Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
notification.go Prevent loop if there is an error in GetNotificationCount (#19799) 2022-05-25 08:51:53 +08:00
package.go Move access and repo permission to models/perm/access (#19350) 2022-05-11 12:09:36 +02:00
profile.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
search.go Never use /api/v1 from Gitea UI Pages (#19318) 2022-04-07 20:59:56 +02:00
stop_watch.go Never use /api/v1 from Gitea UI Pages (#19318) 2022-04-07 20:59:56 +02:00
task.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00