-
Notifications
You must be signed in to change notification settings - Fork 894
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
[BUG] Navigation between dashboards requires browser refresh after update to 2.9.0 #4694
Comments
I am seeing this as well. |
… bug reported in opensearch-project/OpenSearch-Dashboards#4694 is a dealbreaker
This is affecting all of our dashboards as well. I've tested multiple variations on links and nothing works except refreshing the page. |
Looking |
Thanks @juergen-walter! This help recreated it. Part of the deangularization of the dashboards plugin for security reasons attempted to keep intact certain sections of the code to avoid changes. Previously, no matter what the route would hard refresh there was a wrapper around the angular part of the application. Unfortunately, that means the re-rendering from one state of dashboards through the URL causes the current app Id to immediately change in the url which is what we are keying off to determine when to set the current dashboard app state. The error being thrown is expected as async processes are trying to modify a component that has been destroyed already but it would have likely not haven gotten here if the dashboard id in the url wasn't updated already. Still looking into best next action. |
This issue #4694 (and associated #4819) prevents us from migrating our Product, because we built a markdown menu to navigate from a dashboard to another with a defined logic (themes, contextual dashboards). More importantly, we also use a dashboard link mechanism in TSVB visualizations to load a specific dashboard filtered on a host. In one word, navigation is fully broken in our Product due to this issue. Waiting for a solution, do you have any recommendations to workaround the issue, or another method to
|
The issue might be fixed by: opensearch-project/alerting-dashboards-plugin#682 Will provide update once tested. Providing this update that others can start to try as well. |
It seems to still be broken for me with 2.10.0. |
…search-project/OpenSearch-Dashboards#4694. checking in for tracking purposes only
… to opensearch-project/OpenSearch-Dashboards#4694. checking in for tracking purposes only" This reverts commit 97852ca.
TLDR: Issue is still not resolved with 2.10.0 @kavilla any updates? This is a blocker for us! Sorry for the confusion with #4694 (comment) I should have checked #4694 (comment) +opensearch-project/alerting-dashboards-plugin#682 more carefully. Error message slightly changes to
How I checked (to speed up the check for later OS versions):
|
I'm in the same boat, stuck on v2.8.0 until this is resolved. |
I haven't been able to get to this yet. But I think we have someone assigned to resolving it. @BigSamu I believe the issue occurs here: https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/src/plugins/dashboard/public/application/utils/use/use_saved_dashboard_instance.ts#L161. The ID is getting set prior to this is getting triggered and then it thinks it has already rendered components even though it is currently destroying those previous components. It went uncaught since there is nothing explicitly covering direct navigation from dashboard to dashboard and it worked previously because it would always hard refresh when going to a new dashboard (due to the angular wrapper). I think in this event, a quick and dirty solution we can maybe check if the history if previous route was dashboard or maybe if wrapping it not to destroy those elements because those elements are already destroyed. cc: @abbyhu2000 |
So I assume this is still not fixed in the v2.11.0 release? |
Thanks, @kavilla, yes I will be taking a look to this issue. Just give me some time because I am currently solving other ones that will take me a bit of time. Regards, Samuel |
I am currently investigating the issue. I think the issue occurs in When we are using the dashboard grid component to render all the panels/child embeddables, it is using One of the props that is passing into the dashboard_grid, It seems like we need a mechanism that is listening on this React component's prop and then set the state to the updated changes to solve this problem. |
Another bug that might be causing the issue is that we never call |
@abbyhu2000, do you want to work together on this issue? Should I work on your fork? |
Hi @BigSamu, Yes we can work together on this issue. I think you don't have to work on my fork, and you can work on your own version and start diving deep. My current progress is i found out that in the Let me know if that helps and please comment on any questions. Please do not hesitate to dive deep on this, and comment down any new findings you found. |
Hi @abbyhu2000, perfect. Planning to start working on this issue maybe next week. Currently in parallel with other issues that hope I have finished this week. |
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com>
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
Looks like it has been closed with #5435 Have no time to test it the near future. Relevant labels |
Hi @BigSamu, i just had a PR out for fixing this bug. Thank you for your participation on this issue! |
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
No problem @abbyhu2000! |
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * #4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Previously navigating from one dashboard to another dashboard do not work. This PR adds a dashboard id as a prop to pass into the <DashboardViewPort> component in order to force react to re-render every time it receives a new id. Resolve the following issues: * opensearch-project#4694 * https://github.com/opensearch-project/Open and Search-Dashboards/issues/4819 Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com> (cherry picked from commit 1de8be6) Signed-off-by: Miki <miki@amazon.com>
By testing different ways of putting the link, I managed to make it work by putting http, that is, without the s in https. I had the problem with AWS OpenSearch 2.11. |
Reopening as this doesn't appear to have been fixed fully. |
@juliocabrerac can you offer more details? I'm unable to recreate it but it could be do the cache busting mechanism. Do you know you initially created/upgraded to 2.11? |
fwiw it was fixed for me in v2.11.1, I no longer have the problem |
Describe the bug
When navigating between dashboards, dashboard contents do not load on initial request (accompanied by Javascript errors).
Refresh button in OSD UI does not help, only browser refresh.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Dashboard should load on first attempt. Should not require a reload in the browser
OpenSearch Version
2.9.0
Dashboards Version
2.9.0
Plugins
Default
Screenshots
Host/Environment (please complete the following information):
Additional context
Update from 2.8.0 to 2.9.0. Function at 2.8.0 was okay.
The text was updated successfully, but these errors were encountered: