chore: fix phantom user creation in posthog

This commit is contained in:
Abhishek Kumar 2026-06-19 21:08:09 +05:30
parent a67c984e1a
commit c554256db1
2 changed files with 36 additions and 1 deletions

View file

@ -6,6 +6,7 @@ from posthog import Posthog
from api.constants import POSTHOG_API_KEY, POSTHOG_HOST
_posthog_client: Posthog | None = None
POSTHOG_SERVER_GROUP_IDENTIFY_DISTINCT_ID = "server-group-identify"
def get_posthog() -> Posthog | None:
@ -77,7 +78,7 @@ def group_identify(
group_type,
group_key,
properties,
distinct_id=distinct_id,
distinct_id=distinct_id or POSTHOG_SERVER_GROUP_IDENTIFY_DISTINCT_ID,
)
except Exception:
logger.exception("Failed to identify PostHog group")

View file

@ -0,0 +1,34 @@
from api.services import posthog_client
class FakePostHog:
def __init__(self):
self.group_identify_calls = []
def group_identify(self, *args, **kwargs):
self.group_identify_calls.append((args, kwargs))
def test_group_identify_uses_stable_server_distinct_id(monkeypatch):
fake_posthog = FakePostHog()
monkeypatch.setattr(posthog_client, "get_posthog", lambda: fake_posthog)
posthog_client.group_identify("organization", "42", {})
_, kwargs = fake_posthog.group_identify_calls[0]
assert kwargs["distinct_id"] == "server-group-identify"
def test_group_identify_preserves_real_distinct_id(monkeypatch):
fake_posthog = FakePostHog()
monkeypatch.setattr(posthog_client, "get_posthog", lambda: fake_posthog)
posthog_client.group_identify(
"organization",
"42",
{},
distinct_id="stack-user-1",
)
_, kwargs = fake_posthog.group_identify_calls[0]
assert kwargs["distinct_id"] == "stack-user-1"