Skip to content

Commit 0058bda

Browse files
authored
unify source URL handling in analytics
2 parents d339aee + 8caa89b commit 0058bda

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

src/backend/routers/canvas.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ async def save_canvas(data: Dict[str, Any], auth: SessionData = Depends(require_
4646
width = app_state.get("width")
4747
height = app_state.get("height")
4848
zoom = app_state.get("zoom", {}).get("value")
49-
api_path = str(request.url.path) if request else None
5049
full_url = None
5150
if request:
5251
full_url = str(request.base_url).rstrip("/") + str(request.url.path)
52+
full_url = full_url.replace("http://", "https://")
5353
posthog.capture(
5454
distinct_id=user_id,
5555
event="canvas_saved",

src/backend/routers/user.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
import jwt
2-
from fastapi import APIRouter, Depends
2+
from fastapi import APIRouter, Depends, Request
33
import posthog
44

55
from dependencies import SessionData, require_auth
66

77
user_router = APIRouter()
88

99
@user_router.get("/me")
10-
async def get_user_info(auth: SessionData = Depends(require_auth)):
10+
async def get_user_info(auth: SessionData = Depends(require_auth), request: Request = None):
1111
token_data = auth.token_data
1212
access_token = token_data.get("access_token")
1313

1414
decoded = jwt.decode(access_token, options={"verify_signature": False})
1515

16+
# Build full URL (mirroring canvas.py logic)
17+
full_url = None
18+
if request:
19+
full_url = str(request.base_url).rstrip("/") + str(request.url.path)
20+
full_url = full_url.replace("http://", "https://")
21+
1622
# Identify user in PostHog (mirrors frontend identify)
1723
posthog.identify(
1824
distinct_id=decoded["sub"],
@@ -22,7 +28,8 @@ async def get_user_info(auth: SessionData = Depends(require_auth)):
2228
"name": decoded.get("name", ""),
2329
"given_name": decoded.get("given_name", ""),
2430
"family_name": decoded.get("family_name", ""),
25-
"email_verified": decoded.get("email_verified", False)
31+
"email_verified": decoded.get("email_verified", False),
32+
"$current_url": full_url
2633
}
2734
)
2835

@@ -34,4 +41,4 @@ async def get_user_info(auth: SessionData = Depends(require_auth)):
3441
"given_name": decoded.get("given_name", ""),
3542
"family_name": decoded.get("family_name", ""),
3643
"email_verified": decoded.get("email_verified", False)
37-
}
44+
}

0 commit comments

Comments
 (0)