From f1da1478623db46c44e510859d569be872392437 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jan 2026 09:25:04 +0000 Subject: [PATCH 1/2] Don't send page view events when telemetry is disabled --- frog/services/telemetry.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frog/services/telemetry.py b/frog/services/telemetry.py index bf56c77..fafff8b 100644 --- a/frog/services/telemetry.py +++ b/frog/services/telemetry.py @@ -50,13 +50,20 @@ def set_installation_id(self, installation_id: str): def set_is_active(self, is_active: bool): self.is_active = is_active + if is_active and self.posthog is None: + self.posthog = Posthog(project_api_key='phc_HpETCN6yQKZIr8gr6mBQTd3H0SjKUBrNMI3AizoX97f', + host='https://eu.posthog.com') + elif (not is_active) and self.posthog is not None: + self.posthog.shutdown() + self.posthog = None def capture(self, event: str, props: Any = None): - if self.posthog and self.is_active: + if self.posthog: self.posthog.capture(self.installation_id, event, props) def capture_page_view(self, page_name: str): - self.posthog.capture(self.installation_id, '$pageview', {'$current_url': page_name}) + if self.posthog: + self.posthog.capture(self.installation_id, '$pageview', {'$current_url': page_name}) telemetry = TelemetryService() From 078324018dfdebe3690ac128cd975ba416202a67 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Fri, 16 Jan 2026 09:30:08 +0000 Subject: [PATCH 2/2] Don't instantiate posthog client until telemetry setting is read --- frog/services/telemetry.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/frog/services/telemetry.py b/frog/services/telemetry.py index fafff8b..139fdb3 100644 --- a/frog/services/telemetry.py +++ b/frog/services/telemetry.py @@ -36,15 +36,10 @@ class TelemetryService(GObject.GObject): _gtype_name = 'TelemetryService' - posthog: Posthog | None + posthog: Posthog | None = None installation_id: str | None is_active: bool = True - def __init__(self): - super().__init__() - self.posthog = Posthog(project_api_key='phc_HpETCN6yQKZIr8gr6mBQTd3H0SjKUBrNMI3AizoX97f', - host='https://eu.posthog.com') - def set_installation_id(self, installation_id: str): self.installation_id = installation_id