Fix WidgetPool goroutine and ticker leak

- Add context cancellation to WidgetPool cleanup goroutine
- Properly stop ticker when context is canceled
- Add BackgroundContext() getter method to App for context access
- Pass application context to NewWidgetPool for lifecycle management

This fixes a resource leak where the cleanup goroutine would run
indefinitely without any way to stop it, preventing proper cleanup
on application shutdown.
This commit is contained in:
Gianluca Boiano
2026-02-02 16:31:56 +01:00
parent 43e8d0a453
commit ada1564be7
3 changed files with 23 additions and 7 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ func NewRouter(app *backend.App, controller *controller.Controller, nav Navigati
App: app,
Controller: controller,
Nav: nav,
widgetPool: util.NewWidgetPool(),
widgetPool: util.NewWidgetPool(app.BackgroundContext()),
}
return r
}