From a5fc29351e85095dd44cd409fbe7140b3396c920 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Fri, 10 Apr 2026 09:26:18 -0700 Subject: [PATCH] [eric] stop tab clicks in browser cards from triggering card auto-focus (stopPropagation on tab click events), fix broken PostHog identify (SDK has no .identify(), use .set()), send referral_source to PostHog --- backend/apps/analytics/analytics.py | 2 ++ backend/apps/analytics/collector.py | 6 +++--- backend/apps/settings/settings.py | 2 ++ frontend/src/app/pages/Dashboard/BrowserCard.tsx | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/apps/analytics/analytics.py b/backend/apps/analytics/analytics.py index 244ea852..3199025c 100644 --- a/backend/apps/analytics/analytics.py +++ b/backend/apps/analytics/analytics.py @@ -153,6 +153,8 @@ async def analytics_lifespan(): id_props["name"] = settings.user_name if getattr(settings, "user_use_case", None): id_props["use_case"] = settings.user_use_case + if getattr(settings, "user_referral_source", None): + id_props["referral_source"] = settings.user_referral_source identify(id_props) except Exception as e: logger.debug(f"Analytics startup event failed (non-critical): {e}") diff --git a/backend/apps/analytics/collector.py b/backend/apps/analytics/collector.py index 75fa7764..58549907 100644 --- a/backend/apps/analytics/collector.py +++ b/backend/apps/analytics/collector.py @@ -101,13 +101,13 @@ def record( def identify(extra_properties: dict | None = None): - """Identify the current installation with properties.""" + """Set person properties on the current installation's PostHog profile.""" if not _posthog: return try: - _posthog.identify( - _get_installation_id(), + _posthog.set( + distinct_id=_get_installation_id(), properties={ "os": platform.system(), "platform": platform.platform(), diff --git a/backend/apps/settings/settings.py b/backend/apps/settings/settings.py index e1cff61f..2a000efc 100644 --- a/backend/apps/settings/settings.py +++ b/backend/apps/settings/settings.py @@ -96,6 +96,8 @@ async def update_settings(body: AppSettings): id_props["name"] = body.user_name if body.user_use_case: id_props["use_case"] = body.user_use_case + if body.user_referral_source: + id_props["referral_source"] = body.user_referral_source if id_props: _identify(id_props) diff --git a/frontend/src/app/pages/Dashboard/BrowserCard.tsx b/frontend/src/app/pages/Dashboard/BrowserCard.tsx index 009d5cfe..af550a95 100644 --- a/frontend/src/app/pages/Dashboard/BrowserCard.tsx +++ b/frontend/src/app/pages/Dashboard/BrowserCard.tsx @@ -726,6 +726,7 @@ const BrowserCard: React.FC = ({ onPointerDown={handleTabPointerDown} onPointerMove={handleTabPointerMove} onPointerUp={handleTabPointerUp} + onClick={(e: React.MouseEvent) => e.stopPropagation()} sx={{ display: 'flex', alignItems: 'center',