Pulse/internal
rcourtman 9362614c66 fix: Address Codex feedback on legacy SSH detection before release
Codex identified critical issues preventing release. All issues resolved:

1. FIXED: LXC container detection reliability
   - Added 4 detection methods (was 2):
     * Method 1: /.dockerenv (Docker)
     * Method 2: /proc/1/cgroup with more patterns (Docker/LXC)
     * Method 3: /run/systemd/container (systemd containers)
     * Method 4: /proc/1/environ container markers
   - Tested on LXC container (debian-go): detection confirmed working

2. FIXED: False positives from proxy outages
   - Now distinguishes "not configured" vs "temporarily down"
   - Checks if /usr/local/bin/pulse-sensor-proxy exists
   - If binary exists but socket missing = transient issue (no banner)
   - If binary missing and SSH keys present = legacy setup (show banner)

3. FIXED: Banner guidance insufficient
   - Added "Go to Nodes →" button that navigates to /settings/nodes
   - Users now have direct path to fix the issue
   - Banner message remains clear and concise

4. ADDED: Telemetry for removal criteria tracking
   - Backend logs: "Legacy SSH configuration detected" (WARN level)
   - Frontend logs: Banner shown/dismissed events to console
   - Enables data-driven removal per criteria: <1% for 30+ days
   - Log format: detection_type=legacy_ssh_migration for easy filtering

Testing:
- Created fake SSH key in /etc/pulse/.ssh/ on LXC container
- Verified detection triggered (legacySSHDetected: true)
- Verified telemetry logged: "Legacy SSH configuration detected"
- Removed fake key, verified detection cleared (null values)
- Container detection working via /run/systemd/container

Ready for release per Codex review.
2025-10-13 15:06:40 +00:00
..
adapters Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
alerts Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
api fix: Address Codex feedback on legacy SSH detection before release 2025-10-13 15:06:40 +00:00
auth Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
config Fix node config API to preserve fields on partial updates 2025-10-12 17:50:55 +00:00
crypto Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
discovery Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
dockeragent Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
errors Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
interfaces Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
mock fix: Add hasCPU/hasNVMe flags to prevent false 'no CPU sensor' errors 2025-10-13 10:17:17 +00:00
models fix: Add hasCPU/hasNVMe flags to prevent false 'no CPU sensor' errors 2025-10-13 10:17:17 +00:00
monitoring fix: Add hasCPU/hasNVMe flags to prevent false 'no CPU sensor' errors 2025-10-13 10:17:17 +00:00
notifications Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
tempproxy refactor: Rename pulse-temp-proxy to pulse-sensor-proxy 2025-10-13 13:17:05 +00:00
types Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
updates chore: bump version to v4.23.0 2025-10-12 16:35:48 +00:00
utils Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
websocket Fix settings security tab navigation 2025-10-11 23:29:47 +00:00