diff --git a/src/backend/routers/canvas.py b/src/backend/routers/canvas.py index 5beaeef..629a34a 100644 --- a/src/backend/routers/canvas.py +++ b/src/backend/routers/canvas.py @@ -46,10 +46,10 @@ async def save_canvas(data: Dict[str, Any], auth: SessionData = Depends(require_ width = app_state.get("width") height = app_state.get("height") zoom = app_state.get("zoom", {}).get("value") - api_path = str(request.url.path) if request else None full_url = None if request: full_url = str(request.base_url).rstrip("/") + str(request.url.path) + full_url = full_url.replace("http://", "https://") posthog.capture( distinct_id=user_id, event="canvas_saved", diff --git a/src/backend/routers/user.py b/src/backend/routers/user.py index ebe6223..2b6c556 100644 --- a/src/backend/routers/user.py +++ b/src/backend/routers/user.py @@ -1,5 +1,5 @@ import jwt -from fastapi import APIRouter, Depends +from fastapi import APIRouter, Depends, Request import posthog from dependencies import SessionData, require_auth @@ -7,12 +7,18 @@ user_router = APIRouter() @user_router.get("/me") -async def get_user_info(auth: SessionData = Depends(require_auth)): +async def get_user_info(auth: SessionData = Depends(require_auth), request: Request = None): token_data = auth.token_data access_token = token_data.get("access_token") decoded = jwt.decode(access_token, options={"verify_signature": False}) + # Build full URL (mirroring canvas.py logic) + full_url = None + if request: + full_url = str(request.base_url).rstrip("/") + str(request.url.path) + full_url = full_url.replace("http://", "https://") + # Identify user in PostHog (mirrors frontend identify) posthog.identify( distinct_id=decoded["sub"], @@ -22,7 +28,8 @@ async def get_user_info(auth: SessionData = Depends(require_auth)): "name": decoded.get("name", ""), "given_name": decoded.get("given_name", ""), "family_name": decoded.get("family_name", ""), - "email_verified": decoded.get("email_verified", False) + "email_verified": decoded.get("email_verified", False), + "$current_url": full_url } ) @@ -34,4 +41,4 @@ async def get_user_info(auth: SessionData = Depends(require_auth)): "given_name": decoded.get("given_name", ""), "family_name": decoded.get("family_name", ""), "email_verified": decoded.get("email_verified", False) - } \ No newline at end of file + }