Fix review findings and remove Uncategorized from sidebar

Backend: cache Google access tokens (drop dead access_token_expires_at,
migration 0007), handle MeTube cleared/canceled events by URL, return
email from /auth/status only when authenticated, move Google base URLs
into settings, run container as non-root.

Frontend: include local feed filters in the query key, remove dead
Saved page and unused assets, drop stale CategoryNav props and classes,
send Content-Type only with a body, remove Uncategorized from sidebar.
This commit is contained in:
vrubelroman 2026-09-17 17:22:22 +00:00
parent 6c704cac97
commit fde9a439df
25 changed files with 420 additions and 174 deletions

View file

@ -17,11 +17,16 @@ router = APIRouter()
@router.get("/auth/status")
def auth_status(request: Request, db: Session = Depends(get_db)) -> dict:
# This endpoint is public (the Connect page needs `authenticated` before
# logging in), so the connected account's email must only be revealed to a
# request holding a valid session.
authenticated = bool(request.session.get("authenticated"))
connected = google_oauth.is_connected(db)
email = google_oauth.get_connected_email(db) if authenticated and connected else None
return {
"authenticated": bool(request.session.get("authenticated")),
"authenticated": authenticated,
"connected": connected,
"email": google_oauth.get_connected_email(db) if connected else None,
"email": email,
}