It’s very basic, what im actually trying to do is to start a fiftyone instance, but i got issues there aswell so i wanted to see what the issue truly is by making a dummy app.
The problem lies here. You are setting an absolute path for submit end point so when you actually posting form data, it is attempting to submit the form to jupyterhub.example.com/submit and not jupyterhub.example.com/user/<user>/<server>/proxy/5050/submit. In your example, if you change the action URL to relative, like <form action="submit" method="post">, it should work.
I am not aware of fiftyone instance, but that app should support path prefix so that the app can be served under path /user/<user>/<server>/proxy/<port>/ to make it work with jupyter-server-proxy. Does it make sense?
With JupyterHub 4.1.5 and Jupyter Server Proxy 4.1.2, it works on my side. Is the app still trying to submit to jupyterhub.example.com/submit instead of jupyterhub.example.com/user/<user>/<server>/proxy/5050/submit?
Here are the logs:
python app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5050
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
127.0.0.1 - - [02/May/2024 11:23:40] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2024 11:23:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [02/May/2024 11:23:48] "POST /submit HTTP/1.1" 200 -
The famous trailing slash is important. So, you should access the app at jupyterhub.example.com/user/<user>/<server>/proxy/5050/ and from your original post I see that you are not using slash after port number. Could you retry with it?