This is an automated email from the ASF dual-hosted git repository. greg-dove pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 74f65ce568d49517e7b45eaecb0885d385131b36 Author: greg-dove <[email protected]> AuthorDate: Mon Jun 22 17:29:54 2026 +0200 The routers write history entries via history.pushState() / replaceState(). But back/forward by user over those entries is signaled by "popstate" (hashChange only is not reliable for HashRouter, and this extra popstate response is needed also for BrowserRouter) --- .../Basic/src/main/royale/org/apache/royale/routing/BrowserRouter.as | 4 ++++ .../Basic/src/main/royale/org/apache/royale/routing/HashRouter.as | 1 + 2 files changed, 5 insertions(+) diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/BrowserRouter.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/BrowserRouter.as index 91d5327801..b65b127a78 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/BrowserRouter.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/BrowserRouter.as @@ -117,6 +117,10 @@ package org.apache.royale.routing public function set strand(value:IStrand):void { _strand = value; + COMPILE::JS + { + window.addEventListener("popstate", locationChangeHandler); + } // wait until the app is initialized. Calling onInit async solves this problem callLater(onInit); } diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/HashRouter.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/HashRouter.as index 188e5918dd..c443e69371 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/HashRouter.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/HashRouter.as @@ -113,6 +113,7 @@ package org.apache.royale.routing COMPILE::JS { window.addEventListener("hashchange", hashChangeHandler); + window.addEventListener("popstate", hashChangeHandler); } // wait until the app is initialized. Calling onInit async solves this problem callLater(onInit);
