We are seeing an issue where, on at least one store, requests to the App Proxy URL for our App aren't being forwarded. Instead we see just a standard 404 generated by Shopify/the theme.
The exact same path on a different store with the same App installed works as expected, so our configuration is definitely correct.
Other stores that have installed the App before and after the date of installation onto the problem store work fine too - at least the sample we tested.
Perhaps it's related to this topic, but at any rate, it's clearly a bug of some kind.
Is anyone else seeing this behaviour? Any workaround we can tell our customer to do?
Sure thing - here's a link to the store that's not working correctly:
That URL should be forwarded to our App, and result in a 404 page generated by our App - instead, it's not forwarded and results in a regular 404 page from Shopify/the theme. All other stores with our App installed are working correctly, except for this one.
To be clear - this isn't specific to 404 pages either, it's just that all non-404 pages are specific to each store/customer/etc..
It looks like you are trying to create an app proxy on the same url that we have been using in our Sky Pilot app for 6 years.(/apps/downloads)
This means that anyone who installs your app that has previously installed our app will actually have the proxy set to /apps/downloads-1 and all your links will be wrong.
Ideally you would not be using the same url we have been using for the last 6 years. As Shopify currently gives us no way to find out what URL our app proxy is located at on a specific store, our only option is to assume it is the one set in our app settings. I also wish there was a way to detect what URL a store has set the proxy url to.
I think these should be reserved when we set them in our app setting to prevent this kind of a collision, however that does not seem to be the case.
Please consider using a different proxy url to avoid this collision. Or @SBD_ is there a way for us to detect what the proxy url is set to(via api and on the order status page via JS?) so we can know we are linking to the correct proxy url?
Anything that can be done to improve this or prevent the collision would be very helpful.
Please reach out if you have any questions on what would be needed to make this more reliable for merchants and to fix this issue. Happy to provide feedback, examples, ect.
Thanks for clearing this up - this is making a bit more sense now.
I guess the reason for not allowing App Proxy paths to be 'reserved' is that a merchant can elect to change the path to something else if they choose to.
Given that a merchant can change the path to anything they like, it would seem like an API to 'find' the path would be a necessity for any App that needs to be aware of it's own path.
Now that I'm clear on this - might I suggest a couple of changes to the documentation?
This page seems to be the only real source of information about App Proxies I'm aware of, but it's missing a few details I think would be useful:
Additionally, there's a link from the About page to the same document, which I don't think would be terribly useful for most merchants wondering what an App Proxy is!
Thanks for the suggestions @uplinkly
Unexpected behaviour eg. a deleted App affecting the default path of a newly installed one.
This appears to be a bug, investigating.
It doesn't mention how a merchant can change the path - I found this on the 'About' page for the App after some head scratching.