- H1: batch count queries in MobileController (org sites/devices/alerts, site device counts) — reduces 1+3N+2M queries to 4 + 2 - H2: batch Oban cancel for stop_device_checks — single ANY(?) query instead of one per check - H3: resolve_active_alerts_for_device uses update_all + deduped PubSub broadcasts (was N updates + N broadcasts) - H4: atomic ON CONFLICT upsert for auto-discovery checks; restore partial unique index dropped in 20260404000002 (dedup migration included) - H5: wrap apply_agent_to_all_equipment delete+insert in transaction so a failed insert_all rolls back the prior delete - H14: replace String.to_integer/1 on untrusted SNMP OID components with Integer.parse/1 + validation (neighbor_discovery, discovery storage index, printer supply index) - H15: ActivityFeedLive whitelists activity types against @all_types instead of String.to_existing_atom/1 - H16: defensive page param parsing in user_settings and admin dashboard LiveViews - H27: search sanitize/1 delegates to QueryHelpers.sanitize_like/1 which escapes backslash first - H30: JobCleanupTask no longer cancels jobs in "executing" state so in-flight polls complete naturally |
||
|---|---|---|
| .. | ||
| v1 | ||
| account_data_controller.ex | ||
| error_helpers.ex | ||
| mobile_auth_controller.ex | ||
| mobile_controller.ex | ||