The issue is related to streamlit - aggrid component. It never happens while running an app on localhost. It happens sometimes while running an app on EC2 instance. This happens not only when the grid big. It is happening with small grids also. I am not able to figure out steps to reproduce the issue. It happens randomly.
Does it mean that I have the compiled frontend or not? This is my first question.
I would appreciate any ideas regarding addressing the issue in general. I am able to see that it is hard for @ PablocFonseca to come up with any solution so far. The issue was discussed here and here
Hey! Ag-grid component has static files and is compiled. My guess is that this issue is happening at the streamlit side of the component. Iâm having trouble to debug this, because I cannot reproduce the issue. Maybe you can share a link where the bug happens often?
52: port const COMPONENT_READY_WARNING_TIME_MS = 3000
Since the timeout is just 3000 ms, component may be timing out due to this hardcoded configuration.
I think manually changing the file in your deploy environment to raise the COMPONENT_READY_WARNING_TIME_MS const wonât work because the tsx file needs to be recomplied. Maybe some streamlit dev that commited this file (@kantuni, @tim , @AustinC) may help us.
Yeah, this is a somewhat arbitrarily-chosen timeout. It measures the amount of time between a Componentâs iframe being mounted and the component sending its âhello Iâm ready to receive dataâ message back to Streamlit.
We show this error message if that timeout is exceeded. The error message will disappear if the component eventually does finish loading. It sounds like the message never goes away for you, which may mean the component is throwing an error thatâs preventing it from loading. If you look at the error console in your browserâs developer window, do you see any errors?
export default withStreamlitConnection(AgGrid) constructs a wrapper class that manages the Streamlit connection for your component. The creation of the wrapper class doesnât actually do any Streamlit handshaking - the handshaking occurs when the wrapped component is mounted.
(In other words, this particular line is unlikely to be the source of an errors - but if the wrapped component has on error in its mounting or rendering logic, then that error could be causing this issue?)
Having a reproducible case would help us get to the bottom of the issue - @p0povaalesi, is there a link you can share with us?
Thank you for the comments. I am sending you a video to showcase the issue in action.
I am sending you streamlit app that I used while recording the video.
I am sending you [Test File] (test - Google Drive) that I used while recording the video.
It looks like you will not be able to catch the issue while using fast internet connection with good ping. I am not able to catch it all the time even while using weak internet connection.
I am having the same issue with the âtrouble loading st_aggrid componentâ, and I get the following error in the console:
Refused to display â<MY_URL>/component/st_aggrid.agGrid/index.html?streamlitUrl=<MY_URL>â in a frame because it set âX-Frame-Optionsâ to âdenyâ
Hey @erezrot - the fix is in 0.83.0, the latest version. (Normally, this release wouldâve come a bit faster after 0.82, but we had some big under-the-hood stuff happening that delayed it a bit.)
Hi All,
We had the same issue/error (it was actually when we tried to deploy an app in Kubernetes).
After weeks of troubleshooting - we eventually solved it by adding the following response headers to nginx:
X-Frame-Options: SAMEORIGIN
Seems like by default this is set to deny in Ingress controller.
So if used in K8s - the following annotation needs to be added to the Ingress:
@tim, Am using streamlit-aggrid==0.2.3.post2 version and am facing this issue still. Which version should I use as I donât see 0.83.0 version for streamlit-aggrid?
TIA
Nothing helped of what has been shared here in this thread or anywhere else.
What did work for me was to execute import streamlit_option_menu very early during the Streamlit app loading process. I expected this to allow for successfully registering the component with Streamlit before it gets too busy
I already had a python script launching my Streamlit application (because of using python-dotenv) so I added to that a simple mechanism to import streamlit-option-menu early enough.
After removing the dotenv specific stuff, here is what remains:
# run.py
import sys
from streamlit.config import on_config_parsed
from streamlit.web.cli import main
def register_options_menu():
import streamlit_option_menu
on_config_parsed(register_options_menu)
sys.argv.extend(["run", "path/to/homepage.py"])
main(prog_name="streamlit")
Then starting my app with python3 run.py ⊠and Viola! - I havenât seen the dreaded âYour app is having troubleâŠâ anymore
Hope this helps someone.
(Streamlit 1.12.2, streamlit-option-menu 0.3.2.)
We have deployed app in Kubernetes getting same issue. did we get the root cause of this issue or any fixes(Nothing worked for me in given suggestions)
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking âAccept allâ, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.