Skip to content

Commit c59e153

Browse files
lunnyKN4CK3Rdelvh
authored
Display error log when a modified template has an error so that it could recovery when the error fixed (#22261)
A drawback is the previous generated template has been cached, so you cannot get error in the UI but only from log Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: delvh <dev.lh@web.de>
1 parent f0159c3 commit c59e153

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

modules/templates/htmlrenderer.go

+9-2
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,15 @@ func HTMLRenderer(ctx context.Context) (context.Context, *render.Render) {
7575
compilingTemplates = false
7676
if !setting.IsProd {
7777
watcher.CreateWatcher(ctx, "HTML Templates", &watcher.CreateWatcherOpts{
78-
PathsCallback: walkTemplateFiles,
79-
BetweenCallback: renderer.CompileTemplates,
78+
PathsCallback: walkTemplateFiles,
79+
BetweenCallback: func() {
80+
defer func() {
81+
if err := recover(); err != nil {
82+
log.Error("PANIC: %v\n%s", err, log.Stack(2))
83+
}
84+
}()
85+
renderer.CompileTemplates()
86+
},
8087
})
8188
}
8289
return context.WithValue(ctx, rendererKey, renderer), renderer

0 commit comments

Comments
 (0)