I finally managed to fix the problem: instead of defining in bloc listener where to navigate according to state in auth or app page, i called the widgets on blocBuilder and changed from a switch case with state.runtimeType to an if clause with each possible state, and called the initial event whenever authOrAppState changes