11use crate :: {
2- logger:: LoggerActor ,
2+ logger:: Logger ,
33 ui:: popup:: { info_popup:: InfoPopUp , PopUp } ,
44} ;
55use ansi_to_tui:: IntoText ;
@@ -32,7 +32,7 @@ pub mod screens;
3232
3333/// Type that represents the overall state of the application. It can be viewed
3434/// as the **Model** component of `patch-hub`.
35- pub struct App < Logger : LoggerActor > {
35+ pub struct App {
3636 /// The current active screen
3737 pub current_screen : CurrentScreen ,
3838 /// Screen to navigate and select the mailing lists archived on Lore
@@ -56,7 +56,7 @@ pub struct App<Logger: LoggerActor> {
5656 pub logger : Logger ,
5757}
5858
59- impl < Logger : LoggerActor > App < Logger > {
59+ impl App {
6060 /// Creates a new instance of `App`. It dynamically loads configurations
6161 /// based on precedence (see [crate::app::Config::build]), app data
6262 /// (available mailing lists, bookmarked patchsets, reviewed patchsets), and
@@ -65,7 +65,7 @@ impl<Logger: LoggerActor> App<Logger> {
6565 /// # Returns
6666 ///
6767 /// `App` instance with loading configurations and app data.
68- pub fn new ( logger : Logger ) -> App < Logger > {
68+ pub async fn new ( logger : Logger ) -> App {
6969 let config: Config = Config :: build ( ) ;
7070 config. create_dirs ( ) ;
7171
@@ -84,7 +84,7 @@ impl<Logger: LoggerActor> App<Logger> {
8484
8585 // Initialize the logger before the app starts
8686 logger. info ( "patch-hub started" ) ;
87- logger. collect_garbage ( ) ;
87+ logger. collect_garbage ( ) . await ;
8888
8989 App {
9090 current_screen : CurrentScreen :: MailingListSelection ,
0 commit comments