When I run an app from the IDE in a new tab and append an argument to the URL (like ?users=ZZZ) the IDE thinks the app is not running anymore (Stop and Focus buttons disappear).
I can understand why this happens (the UI is reloaded in the browser), but still might be confusing to the user.
I should have been clearer. I use hash routing (from anvil extras). However in addition I want to pass arguments to the page, which I can successfully do by adding ?user=something.
My point was, that when testing the app in the IDE, the IDE gets confused and interprets the app as being terminated.
It is the first time I hear about this working… are you sure about this?
As far as I know the query string in Anvil has always caused the server not to recognize the app. In fact, this is the very reason why you will find many requests about SEO optimization, which are impossible in Anvil for that very reason.
In your post you said you were adding ?users=ZZZ.
This will not work.
Now you are saying you are adding #notifier?users=mm, which will work because the app url is followed by #.
The app will work, because the server will ignore the part after the # character. Whether the routing module or the get_url_hash() will work, that’s another story.
The whole point of my post is not to get it working (it already does), but point out that when running the app in the IDE to test the arguments (ie add ?users=xx to the url which already includes #notifier), the IDE cannot track the app’s run status.
I edit the app on the IDE, then press F5 on the external tab and the app reloads and runs.
The IDE doesn’t even know the app has been refreshed, indeed the buttons that you show don’t change and the “Running App Console” shows the output under the output of the previous session.
A shame that the snappiest browser on the Mac is excluded, especially since the IDE mostly works in Safari. It would also mean that the resulting app is less frequently tested on Safari.