Fixed
Every page returned "Internal Server Error" on images pulled after Sep 17 (#123).
The :latest Docker image was rebuilt with unpinned framework dependencies, which resolved to versions that removed an API this codebase still used — so every page in the web UI failed with a 500. This affected anyone who pulled or updated :latest after the evening of Sep 17; existing running containers were fine until they updated.
To fix an affected install:
docker pull crosstalksolutions/unifi-toolkit:latest
then recreate the container.
Under the hood: all template responses now use the request-first Starlette form, the fastapi/starlette pair is pinned to a known-good range, and the Docker release workflow now only moves :latest on a version tag — a push to main publishes the :edge staging image only, so this class of surprise can't recur.