From 6784148058d11395c2e7b1df42819a3fbbbac358 Mon Sep 17 00:00:00 2001 From: Koncept Kit <63216427+konceptkit@users.noreply.github.com> Date: Mon, 5 Jan 2026 02:26:11 +0700 Subject: [PATCH] Fix timezone comparison error in invitation verification --- server.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index 9381b59..b170483 100644 --- a/server.py +++ b/server.py @@ -2814,8 +2814,9 @@ async def verify_invitation_token( if not invitation: raise HTTPException(status_code=404, detail="Invalid or expired invitation token") - # Check expiry - if invitation.expires_at < datetime.now(timezone.utc): + # Check expiry (handle timezone-naive datetime from DB) + expires_at_aware = invitation.expires_at.replace(tzinfo=timezone.utc) if invitation.expires_at.tzinfo is None else invitation.expires_at + if expires_at_aware < datetime.now(timezone.utc): invitation.status = InvitationStatus.expired db.commit() raise HTTPException(status_code=400, detail="Invitation has expired") @@ -2847,8 +2848,9 @@ async def accept_invitation( if not invitation: raise HTTPException(status_code=404, detail="Invalid or expired invitation token") - # Check expiry - if invitation.expires_at < datetime.now(timezone.utc): + # Check expiry (handle timezone-naive datetime from DB) + expires_at_aware = invitation.expires_at.replace(tzinfo=timezone.utc) if invitation.expires_at.tzinfo is None else invitation.expires_at + if expires_at_aware < datetime.now(timezone.utc): invitation.status = InvitationStatus.expired db.commit() raise HTTPException(status_code=400, detail="Invitation has expired")