towerops/lib/towerops_web/live
Graham McIntire c4e301a84c fix: address code review findings - memory leaks and redundant queries (#192)
Fixed 5 critical issues from code review:

1. **GlobalSearchTrigger hook listener leak**
   - Added destroyed() callback to remove click listener
   - Prevents memory leak on LiveView unmount

2. **NetworkMap/WeathermapViewer hook listener leaks**
   - Store zoom/fit button handlers as properties
   - Remove DOM event listeners in destroyed() callback
   - Fixes leak on every LiveView remount

3. **SitesMap uses undocumented window.liveSocket.execJS**
   - Changed to proper LiveView pattern using pushEvent
   - Attach listener via Leaflet's popupopen event

4. **handle_info(:refresh_data) double DB fetch**
   - Removed redundant Devices.get_device call
   - Reuse device from assign_base_data

5. **Redundant DB queries in DeviceLive.Show overview**
   - Changed load_sensor_chart_data to accept snmp_device
   - Changed load_overall_traffic_chart_data to accept snmp_device
   - Eliminated 4 redundant Snmp.get_device_with_associations calls

Also removed unused functions:
- load_equipment_data/2
- reload_active_tab_data/1
- assign_subscriber_impact/1

Note: DeviceLive.Show module size (2252 lines) is acknowledged but
deferred as it requires larger architectural refactoring.

Reviewed-on: graham/towerops-web#192
2026-03-27 16:34:42 -05:00
..
account_live Fix dark mode inconsistencies across all pages 2026-02-16 10:31:52 -06:00
admin reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
agent_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
alert_live Fix critical bugs, memory leaks, and N+1 queries (#132) 2026-03-23 17:03:41 -05:00
check_live add auto ICMP ping check for all devices (#68) 2026-03-17 17:55:23 -05:00
components logging fix and some other codex fixes 2026-03-10 15:04:28 -05:00
device_live fix: address code review findings - memory leaks and redundant queries (#192) 2026-03-27 16:34:42 -05:00
escalation_policy_live fix: input validation, SSRF, API hardening, and cookie security 2026-03-14 14:48:59 -05:00
graph_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
help_live Add GeoIP import HTTP tests 2026-03-10 16:02:49 -05:00
helpers fix: address code review findings - memory leaks and redundant queries (#192) 2026-03-27 16:34:42 -05:00
insights_live improve Gaiia integration UX 2026-03-12 13:04:17 -05:00
maintenance_live Add page descriptions + rename Schedules to On-Call 2026-03-13 15:30:39 -05:00
map_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
mikrotik_backup_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
org fix/findings-medium-priority (#188) 2026-03-27 12:31:53 -05:00
org_live fix: org switching now correctly updates session 2026-03-04 17:04:49 -06:00
schedule_live fix: input validation, SSRF, API hardening, and cookie security 2026-03-14 14:48:59 -05:00
site_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
trace_live Add page descriptions + rename Schedules to On-Call 2026-03-13 15:30:39 -05:00
user_settings_live feat: add 12/24-hour time format setting with consistent timezone display 2026-02-13 15:16:29 -06:00
activity_feed_live.ex fix: comprehensive bug fixes from reliability audit 2026-03-05 08:53:30 -06:00
activity_feed_live.html.heex tweaks (#85) 2026-03-19 13:51:02 -05:00
capacity_live.ex feat: add capacity insight worker, UI, and reporting views 2026-03-07 14:42:40 -06:00
capacity_live.html.heex feat: add capacity insight worker, UI, and reporting views 2026-03-07 14:42:40 -06:00
changelog_live.ex fix: add navigation and footer to changelog page 2026-03-09 15:59:13 -05:00
config_timeline_live.ex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
dashboard_live.ex fix: handle alert_changed message in DashboardLive (#189) 2026-03-27 13:26:39 -05:00
dashboard_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
mobile_qr_live.ex fix-mobile-qr-layout (#44) 2026-03-16 14:24:51 -05:00
network_map_live.ex feat: WISP-tuned network map enhancements (TOW-16) 2026-03-15 14:06:06 -05:00
network_map_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
onboarding_live.ex Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
onboarding_live.html.heex Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
reports_live.ex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
reports_live.html.heex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
rf_link_health_live.ex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
rf_link_health_live.html.heex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
status_page_live.ex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
status_page_live.html.heex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
user_registration_live.ex fix: status emoji accumulating in page title and add missing page titles 2026-03-11 09:54:18 -05:00
user_reset_password_live.ex fix: status emoji accumulating in page title and add missing page titles 2026-03-11 09:54:18 -05:00
user_settings_live.ex gdpr (#86) 2026-03-19 14:28:31 -05:00
user_settings_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
weathermap_live.ex done i think (#177) 2026-03-26 10:23:26 -05:00
weathermap_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00