Ensure user data is always fresh from database to reflect avatar changes immediately

parent ef456d30
......@@ -27,16 +27,23 @@ def get_current_user_session():
session_id = session.get('session_id')
if session_id:
user = get_current_user(session_id)
if user and user.get('email'):
import hashlib
import time
email_hash = hashlib.md5(user['email'].lower().encode()).hexdigest()
user['gravatar_url'] = f"https://www.gravatar.com/avatar/{email_hash}?s=32&d=404"
# If custom avatar, use that instead
if user.get('avatar'):
user['avatar_url'] = f"/static/avatars/{user['avatar']}?t={int(time.time())}"
else:
user['avatar_url'] = user['gravatar_url']
if user:
# Always get fresh user data from database to ensure avatar updates are reflected
from .database import get_user_by_id
fresh_user = get_user_by_id(user['id'])
if fresh_user:
user.update(fresh_user)
if user.get('email'):
import hashlib
import time
email_hash = hashlib.md5(user['email'].lower().encode()).hexdigest()
user['gravatar_url'] = f"https://www.gravatar.com/avatar/{email_hash}?s=32&d=404"
# If custom avatar, use that instead
if user.get('avatar'):
user['avatar_url'] = f"/static/avatars/{user['avatar']}?t={int(time.time())}"
else:
user['avatar_url'] = user['gravatar_url']
return user
return None
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment