diff --git a/src/backend/base/langflow/services/telemetry/schema.py b/src/backend/base/langflow/services/telemetry/schema.py index 15b753db9..4c17e3139 100644 --- a/src/backend/base/langflow/services/telemetry/schema.py +++ b/src/backend/base/langflow/services/telemetry/schema.py @@ -21,6 +21,7 @@ class VersionPayload(BaseModel): auto_login: bool = Field(serialization_alias="autoLogin") cache_type: str = Field(serialization_alias="cacheType") backend_only: bool = Field(serialization_alias="backendOnly") + desktop: bool = False class PlaygroundPayload(BaseModel): diff --git a/src/backend/base/langflow/services/telemetry/service.py b/src/backend/base/langflow/services/telemetry/service.py index 6d953045b..6929e7f12 100644 --- a/src/backend/base/langflow/services/telemetry/service.py +++ b/src/backend/base/langflow/services/telemetry/service.py @@ -90,6 +90,10 @@ class TelemetryService(Service): return await self.telemetry_queue.put(payload) + def _get_langflow_desktop(self) -> bool: + # Coerce to bool, could be 1, 0, True, False, "1", "0", "True", "False" + return str(os.getenv("LANGFLOW_DESKTOP", "False")).lower() in ("1", "true") + async def log_package_version(self) -> None: python_version = ".".join(platform.python_version().split(".")[:2]) version_info = get_version_info() @@ -104,6 +108,7 @@ class TelemetryService(Service): backend_only=self.settings_service.settings.backend_only, arch=self.architecture, auto_login=self.settings_service.auth_settings.AUTO_LOGIN, + desktop=self._get_langflow_desktop(), ) await self._queue_event((self.send_telemetry_data, payload, None))