towerops/lib/towerops_web/live
Graham McIntire a91c00f3cf feat(on_call): PagerDuty-style escalation policy redesign + dialyzer fix
Chunk 1 of the on-call/escalation redesign plan
(docs/plans/2026-04-28-on-call-pagerduty-style-redesign.md):

Schema
- on_call.ex: list_devices_using_policy/2 (direct + org-default inheritance)
- on_call.ex: move_escalation_rule/2 for up/down level reordering
- list_escalation_policies/1 now preloads :rules

Show page
- Levels rendered as numbered cards with up/down/delete controls
- "Notify the following users immediately and escalate after N minutes."
- REPEAT footer surfaces repeat_count inline (no longer a standalone column)
- Right-side Services sidebar lists devices using the policy
- Header line shows the handoff notifications mode (when in use by a service /
  always / never)

Edit form
- Removed standalone Repeat Count input
- Added handoff notifications mode select
- Added inline "If no one acknowledges, repeat this policy N time(s)" block

Index views (policies tab + standalone)
- Replaced Repeat Count column with a Levels (rule count) column

Other
- rate_limit.ex: bind unmatched :ets.new/2 + schedule_clean/1 returns to fix
  dialyzer :unmatched_returns warning under the project's strict flags.

All 10,191 tests pass; mix format clean; mix compile --warnings-as-errors clean;
mix dialyzer passes.
2026-04-28 12:36:41 -05:00
..
account_live Fix dark mode inconsistencies across all pages 2026-02-16 10:31:52 -06:00
admin dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
agent_live dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
alert_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
check_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
components logging fix and some other codex fixes 2026-03-10 15:04:28 -05:00
device_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
escalation_policy_live feat(on_call): PagerDuty-style escalation policy redesign + dialyzer fix 2026-04-28 12:36:41 -05:00
graph_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
help_live Add GeoIP import HTTP tests 2026-03-10 16:02:49 -05:00
helpers refactor/dry-improvements (#202) 2026-03-28 10:56:34 -05:00
insights_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
maintenance_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
map_live reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
mikrotik_backup_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
org tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
org_live fix: org switching now correctly updates session 2026-03-04 17:04:49 -06:00
schedule_live feat(on_call): PagerDuty-style escalation policy redesign + dialyzer fix 2026-04-28 12:36:41 -05:00
site_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
trace_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
user_settings_live dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
activity_feed_live.ex tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
activity_feed_live.html.heex tweaks (#85) 2026-03-19 13:51:02 -05:00
changelog_live.ex fix: add navigation and footer to changelog page 2026-03-09 15:59:13 -05:00
config_timeline_live.ex tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
dashboard_live.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
dashboard_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
mobile_qr_live.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -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 tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
onboarding_live.html.heex Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
reports_live.ex tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -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 tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -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 tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -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 tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -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 dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
user_settings_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
weathermap_live.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
weathermap_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00