V14 java.lang.IllegalStateException: Push not enabled

Why am I getting this Exception if push it is enable?!

@WebServlet(initParams = {
    @WebInitParam(name = "pnpmEnable", value = "true"),
    @WebInitParam(name = "pushMode", value = "automatic")
})
@Push
public class MainLayout extends FlexBoxLayout
        implements RouterLayout, PageConfigurator, AfterNavigationObserver {

I have a Dialog with a detailTextFied that I am trying to update the message, “waiting plz…”, “verifying”, “loading xx bla” and so on.

private void doPush(boolean forcePush) {
	//when I try to check the push configuration the Exception is throw
 if (!ui.getPushConfiguration().getPushMode().equals(PushMode.AUTOMATIC) || forcePush) {
            ui.push();
        }
}
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Push not enabled
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_172]

	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_172]

	at com.vaadin.flow.server.FutureAccess.get(FutureAccess.java:62) [flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.server.VaadinService.runPendingAccessTasks(VaadinService.java:2031) [flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.server.VaadinSession.unlock(VaadinSession.java:660) [flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:42) [flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1545) [flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:247) [flow-server-2.2.0.jar:2.2.0]

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) [jakarta.servlet-api.jar:4.0.2]

	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1636) [web-core.jar:?]

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:331) [web-core.jar:?]

	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211) [web-core.jar:?]

	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:282) [tyrus-container-servlet.jar:?]

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253) [web-core.jar:?]

	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211) [web-core.jar:?]

	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.4.1.jar:2.4.1]

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:253) [web-core.jar:?]

	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211) [web-core.jar:?]

	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257) [web-core.jar:?]

	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [web-core.jar:?]

	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:757) [web-core.jar:?]

	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:577) [web-core.jar:?]

	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) [web-glue.jar:?]

	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:158) [web-core.jar:?]

	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371) [web-core.jar:?]

	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238) [web-core.jar:?]

	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520) [kernel.jar:?]

	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217) [kernel.jar:?]

	at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) [nucleus-grizzly-all.jar:?]

	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569) [nucleus-grizzly-all.jar:?]

	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549) [nucleus-grizzly-all.jar:?]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]

Caused by: java.lang.IllegalStateException: Push not enabled
	at com.vaadin.flow.component.UI.push(UI.java:652) ~[flow-server-2.2.0.jar:2.2.0]

	at vaadinutils.WaitingDialog.doPush(WaitingDialog.java:214) ~[WaitingDialog.class:?]

	at vaadinutils.WaitingDialog.lambda$appendDetail$2b3efa8f$1(WaitingDialog.java:208) ~[WaitingDialog.class:?]

	at com.vaadin.flow.component.UI.accessSynchronously(UI.java:430) ~[flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.component.UI.access$000(UI.java:94) ~[flow-server-2.2.0.jar:2.2.0]

	at com.vaadin.flow.component.UI$1.execute(UI.java:505) [flow-server-2.2.0.jar:2.2.0]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_172]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_172]

	at com.vaadin.flow.server.VaadinService.runPendingAccessTasks(VaadinService.java:2028) ~[flow-server-2.2.0.jar:2.2.0]

	... 28 more

I am still having the exception from time to time, usually is related when I try to update my UI components in a view despite I always use UI#access() to execute any update like simple change a label value

public class WaitingDialog extends Dialog {

public void updateStatus(String message) {
 ui.access(() -> statusLabel.setValue(message));