tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
3.02k stars 252 forks source link

Upgrade to Flask 3 #1801

Open jotaen4tinypilot opened 4 months ago

jotaen4tinypilot commented 4 months ago

Flask 3 was released in September 2023. We are still on Flask 2 right now.

Flask is our web server library, so it’s probably one of our most important dependencies. Also, a lot of the indirect Python dependencies are brought in via Flask, e.g. Jinja or Werkzeug. So by upgrading Flask, we can potentially upgrade a lot of our other dependencies as well.

I already naively tried the upgrade, but there seem to be breaking API changes in the library which affect our code, which we have to look into more closely. The server process crashed upon startup, because due to methods having been renamed/removed in the flask_wtf package that we apparently depend on. I didn’t investigate further.

mohamedtaee commented 4 months ago

@jotaen4tinypilot curious, what are some specific endpoints that broke with Flask 3?

Tagging @jotaen just in case the tagged account above is less active.

jotaen4tinypilot commented 4 months ago

I’ve updated the ticket description: the server process crashed upon startup, because apparently there had been breaking changes in the flask_wtf package, where methods have been renamed/removed. So it’s not a problem with any of our HTTP endpoints, but with the method API of the flask_wtf package. I didn’t investigate further, so it might potentially be that this is the only problem.

The problem was immediately obvious after bumping Flask to version 3.