Flask won't start
Flask won't start
Run the entry point directly to see the full traceback:Discovery is strict, so a broken module under
models/, services/ or routes/
stops the app rather than being dropped silently. The traceback names the module to
fix.Port already in use
Port already in use
Pages are unstyled in production
Pages are unstyled in production
Either
DEBUG=False and feather build was never run, or static/dist/ is stale. Run
feather build before deploying.If only the framework components are unstyled, check the Tailwind @source line in
static/css/app.css: it must be @source "../../.feather-templates/**/*.html";, with
.feather-templates in .gitignore.Background jobs are killed mid-execution
Background jobs are killed mid-execution
On the
thread backend, Flask’s auto-reloader restarts the process on every file
change and kills running threads. Set FLASK_DEBUG=0 in .env, or use
JOB_BACKEND=sync during development if you need debug mode.OAuth redirects to http:// in production
OAuth redirects to http:// in production
The redirect URI is being built from the request
Host header. Set
OAUTH_CALLBACK_URL to the exact callback registered with Google, and TRUSTED_HOSTS
to the hostnames you serve. Confirm your proxy forwards X-Forwarded-Proto, covered in
TLS and the proxy headers.Every test resolves to the same user
Every test resolves to the same user
Flask-Login caches the current user on
g for the lifetime of an application context.
A fixture holding one app.app_context() open across several test clients resolves
every request to the first user loaded. See Test database.Rate limits are higher than configured
Rate limits are higher than configured
@rate_limit keeps counters in the process, so under gunicorn --workers 4 a limit of
ten per minute is really forty. Use Flask-Limiter with Redis, covered in
Rate limiting.