towerops/priv
Graham McIntire 7a57f7c9d2
fix: resolve critical sensor discovery pipeline data loss
Critical fixes to sensor discovery and display pipeline:

- Fix float value rejection: Change is_integer guards to is_number in
  vendor.ex, dynamic.ex to accept decimal sensor values (temperature,
  counters, etc.)
- Fix scale factor calculation: Rewrite base.ex divisor calculation
  using pure integer arithmetic to prevent rounding errors
- Add missing sensor type support: Current, power, fan, load, and
  signal quality sensor categories now filtered and assigned in UI
- Refactor resolve_snmp_community to reduce cyclomatic complexity

Impact:
- Sensors with float values (DHCP leases, connection counts, precise
  temperatures) no longer silently dropped before database
- ENTITY-SENSOR-MIB divisors calculated correctly without float errors
- UI coverage increased from ~35% to ~60% of discovered sensor types

Files modified:
- lib/towerops/snmp/profiles/vendors/vendor.ex
- lib/towerops/snmp/profiles/dynamic.ex
- lib/towerops/snmp/profiles/base.ex
- lib/towerops_web/live/device_live/show.ex
- lib/towerops/devices.ex

Documentation: SENSOR_PIPELINE_FIXES.md
2026-02-09 08:32:24 -06:00
..
gettext feat: migrate user settings and agent management to gettext 2026-02-02 13:20:54 -06:00
mibs mib update from librenms 2026-01-28 13:38:31 -06:00
profiles fix airfiber identification 2026-02-05 14:08:34 -06:00
proto feat: add Phoenix support for agent-side ping monitoring 2026-02-08 13:44:21 -06:00
repo fix: resolve critical sensor discovery pipeline data loss 2026-02-09 08:32:24 -06:00
static security: add session inactivity timeout and comprehensive security documentation 2026-02-08 10:47:44 -06:00