Direct page links broken with Please wait... message for multipage apps deployed on GCP App Engine

Hi,

I’ve made a simple multi-page app which shows the following message on Page 2:

I can navigate to Page 2 by pasting its direct URL into my browser (as opposed to using the left-hand page navigation bar) when running locally or on Streamlit Cloud.

Navigating to Page 2 using the left-hand navigation bar still works when deploying the app on GCP App Engine. However, trying to navigate to Page 2 directly using the https://[PROJECT_ID].[REGION_ID].r.appspot.com/Page_2 URL will just leave me hanging with a Please wait… message indefinitely:

In addition, I get a Page not found error from Streamlit when trying to directly go to a non-existing page (e.g. http://localhost:8501/page_that_does_not_exist) locally or on Streamlit Cloud:

But again, I get a Please wait… when trying to do the same thing with my Streamlit app deployed on GCP App engine (e.g. https://[PROJECT_ID].[REGION_ID].r.appspot.com/page_that_does_not_exist):

I’ve tried disabling CORS and Websocket compression as suggested here, and using Python 3.9 as suggested here but it didn’t help. For context, I’m using Streamlit 1.12.0 (latest release at the time of writing this article), and deploying on App Engine flex with custom runtime built using the python:3.9-slim base image.

Any help on how to overcome this issue would be greatly appreciated. I’d like to build a multi-page Streamlit app where each page is a separate tiny app so it’d be great to give the users the possibility to bookmark their most used pages (i.e. apps) - but this is currently not possible given the behaviour described above.

Thanks for the help in advance,
Zoltan

1 Like