mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	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>
This commit is contained in:
		@@ -75,8 +75,15 @@ func HTMLRenderer(ctx context.Context) (context.Context, *render.Render) {
 | 
				
			|||||||
	compilingTemplates = false
 | 
						compilingTemplates = false
 | 
				
			||||||
	if !setting.IsProd {
 | 
						if !setting.IsProd {
 | 
				
			||||||
		watcher.CreateWatcher(ctx, "HTML Templates", &watcher.CreateWatcherOpts{
 | 
							watcher.CreateWatcher(ctx, "HTML Templates", &watcher.CreateWatcherOpts{
 | 
				
			||||||
			PathsCallback:   walkTemplateFiles,
 | 
								PathsCallback: walkTemplateFiles,
 | 
				
			||||||
			BetweenCallback: renderer.CompileTemplates,
 | 
								BetweenCallback: func() {
 | 
				
			||||||
 | 
									defer func() {
 | 
				
			||||||
 | 
										if err := recover(); err != nil {
 | 
				
			||||||
 | 
											log.Error("PANIC: %v\n%s", err, log.Stack(2))
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}()
 | 
				
			||||||
 | 
									renderer.CompileTemplates()
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return context.WithValue(ctx, rendererKey, renderer), renderer
 | 
						return context.WithValue(ctx, rendererKey, renderer), renderer
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user