Skip to content

Commit 7d64d77

Browse files
committed
fix: avoid misclassifying non-binary users as internal
1 parent 6dce201 commit 7d64d77

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

src/openadapt_telemetry/client.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,8 @@ def is_internal_user() -> bool:
5959
Uses multiple heuristics to detect internal/developer usage:
6060
1. Explicit OPENADAPT_INTERNAL environment variable
6161
2. OPENADAPT_DEV environment variable
62-
3. Not running from frozen executable
63-
4. Git repository present in current directory
64-
5. CI environment detected
62+
3. Git repository present in current directory
63+
4. CI environment detected
6564
6665
Returns:
6766
True if this appears to be internal usage.
@@ -74,15 +73,11 @@ def is_internal_user() -> bool:
7473
if os.getenv("OPENADAPT_DEV", "").lower() in ("true", "1", "yes"):
7574
return True
7675

77-
# Method 3: Not running from executable (indicates dev mode)
78-
if not is_running_from_executable():
79-
return True
80-
81-
# Method 4: Git repository present (development checkout)
76+
# Method 3: Git repository present (development checkout)
8277
if Path(".git").exists() or Path("../.git").exists():
8378
return True
8479

85-
# Method 5: CI/CD environment
80+
# Method 4: CI/CD environment
8681
if is_ci_environment():
8782
return True
8883

tests/test_client.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ def test_ci_indicates_internal(self):
9696
with patch.dict(os.environ, {"CI": "true"}, clear=False):
9797
assert is_internal_user() is True
9898

99+
@patch("openadapt_telemetry.client.Path.exists", return_value=False)
100+
@patch("openadapt_telemetry.client.is_ci_environment", return_value=False)
101+
def test_no_signals_indicates_external(self, _mock_ci, _mock_exists):
102+
"""Without explicit internal signals, usage should be treated as external."""
103+
with patch.dict(os.environ, {"OPENADAPT_INTERNAL": "", "OPENADAPT_DEV": ""}, clear=False):
104+
assert is_internal_user() is False
105+
99106

100107
class TestTelemetryClient:
101108
"""Tests for TelemetryClient class."""

0 commit comments

Comments
 (0)