-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Browser history navigation fails silently in v23 with v14 bootstrapping enabled #14323
Comments
Might be related to vaadin/multiplatform-runtime#115 (comment) |
When performing a server-side navigation, the client receives a JavaScript
On flow client, in The issue here seems to be that the |
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323 Co-authored-by: Marco Collovati <marco@vaadin.com>
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323 Co-authored-by: Marco Collovati <marco@vaadin.com>
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323 Co-authored-by: Marco Collovati <marco@vaadin.com>
Track of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values. Fixes #14323 Co-authored-by: Marco Collovati <marco@vaadin.com>
Upgraded the project to Vaadin 23.1.10 to check whether the bug described in vaadin/flow#14323 still exists.
This ticket/PR has been released with Vaadin 23.1.13. |
This ticket/PR has been released with Vaadin 23.2.6. |
This ticket/PR has been released with Vaadin 14.9.0.beta1 and is also targeting the upcoming stable 14.9.0 version. |
Description of the bug
When using server side navigation (e.g.
UI.getCurrent().navigate("some-link")
) in a Vaadin v23.1.6 Application built with gradle and v14 bootstrapping enabled, the browser navigation history is displayed correctly, but going back via the browsers history does not open the previously opened pages, even though the URL in the browser is updated correctly.Other links such as HTML Anchors or Router Links seem to not be affected by this issue.
Expected behavior
Going through the browsers history should work even with server-side navigation and v14 bootstrapping enabled.
Minimal reproducible example
Clone https://github.com/SoylentBob/vaadin-navigation-bug (the project is based on https://github.com/vaadin/base-starter-gradle)
./gradlew jettyRun
http://localhost:8080
in your browser.http://localhost:8080/second
nowhttp://localhost:8080
, without actually displaying the "Main" view.Setting the
useDeprecatedV14Bootstrapping
flag in thebuild.gradle
file tofalse
seems to fix the bug in the attached test project, but is not feasible at the moment for the project that we noticed the bug in.Versions
The text was updated successfully, but these errors were encountered: