Framework: Using Page.pushState() can cause browser to load resources from wrong URLs

Created on 16 Nov 2017  路  7Comments  路  Source: vaadin/framework

  • Vaadin Framework version 8.2.0.alpha2

When you call Page.pushState() in the enter method of a View the browser (Chromium version 62.0.3202.75) to load favicon from a wrong url:
navigate to
https://vaadinfiddle.com/editor/container/musing_northcutt
(the app is using @PushStateNavigation with navigator)
the browser tries to load favicon from:
https://vaadinfiddle.com/editor/container/musing_northcutt/src/main/java/org/vaadin/VAADIN/themes/vaadin-fiddle/favicon.ico

The View that opens from https://vaadinfiddle.com/editor/container/musing_northcutt calls Page.getCurrent().pushState("https://vaadinfiddle.com/editor/container/musing_northcutt/src/main/java/org/vaadin/vaadinfiddle/MyUI.java");
in the enter method.

I guess the relative path the browser is trying to use for the favicon is only valid for the initial page URL, but not for the pushed URL anymore.

BFP cannot reproduce

Most helpful comment

Minimal project where the problem is reproducible:
https://github.com/Wnt/pushstatetest
steps to reproduce:

  1. start app with mvn jetty:run
  2. navigate to http://localhost:8080/first-view
  3. browser tries to load favicon from http://localhost:8080/first-view/VAADIN/themes/valo/favicon.ico

what should happen instead:

Browser should load the favicon from: http://localhost:8080/VAADIN/themes/valo/favicon.ico

All 7 comments

Hello there!

It looks like this issue hasn't progressed lately. There are so many issues that we just can't deal them all within a reasonable timeframe.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

Is the issue reproducible outside of vaadinfiddle?

@elmot Yes.

Minimal project where the problem is reproducible:
https://github.com/Wnt/pushstatetest
steps to reproduce:

  1. start app with mvn jetty:run
  2. navigate to http://localhost:8080/first-view
  3. browser tries to load favicon from http://localhost:8080/first-view/VAADIN/themes/valo/favicon.ico

what should happen instead:

Browser should load the favicon from: http://localhost:8080/VAADIN/themes/valo/favicon.ico

@Wnt Having the same issue here. Did you find a solution for this yet?

Hello there!

We are sorry that this issue hasn't progressed lately. We are prioritizing issues by severity and the number of customers we expect are experiencing this and haven't gotten around to fix this issue yet.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

We have been unable to reproduce this since Vaadin 8.8.5

Was this page helpful?
0 / 5 - 0 ratings