towerops/lib/towerops_web/live
Graham McIntire de986bddf6
Prevent Oban polling/monitoring job stacking per device
When the Oban queue backs up, the 60-second uniqueness window expires
and duplicate jobs stack up per device. Switch to period: :infinity so
only one poll/monitor job exists per device at any time. Add replace
option to supersede stale scheduled jobs with updated scheduled_at.
Remove :executing from unique states so self-scheduling works while
the current job runs. Set max_attempts: 1 since retrying stale polls
is pointless.

Also fix all credo --strict issues across the codebase.
2026-02-16 16:37:48 -06:00
..
account_live Fix dark mode inconsistencies across all pages 2026-02-16 10:31:52 -06:00
admin Fix dark mode inconsistencies across all pages 2026-02-16 10:31:52 -06:00
agent_live fix: netbox url field type, gaiia ipRange→block, remove unknown webhook log 2026-02-14 17:44:01 -06:00
alert_live Add onboarding flow for new organizations 2026-02-16 10:14:45 -06:00
check_live Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
components refactor: fix all credo strict issues, format all code, fix broken routes 2026-02-13 19:34:40 -06:00
device_live Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
graph_live i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
help_live Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
helpers refactor: centralize LiveView access control checks 2026-02-04 17:51:05 -06:00
insights_live i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
maintenance_live Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
map_live i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
mikrotik_backup_live i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
org Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
org_live fix: netbox url field type, gaiia ipRange→block, remove unknown webhook log 2026-02-14 17:44:01 -06:00
site_live Collapse device page tabs into header row — single line nav 2026-02-16 15:54:42 -06:00
trace_live Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06: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 i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
activity_feed_live.html.heex fix: netbox url field type, gaiia ipRange→block, remove unknown webhook log 2026-02-14 17:44:01 -06:00
changelog_live.ex refactor: fix all credo strict issues, format all code, fix broken routes 2026-02-13 19:34:40 -06:00
config_timeline_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
dashboard_live.ex ui: major redesign - NOC dashboard, consolidated nav, dense tables, flat alerts 2026-02-14 20:15:07 -06:00
dashboard_live.html.heex Prevent Oban polling/monitoring job stacking per device 2026-02-16 16:37:48 -06:00
mobile_qr_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
network_map_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
network_map_live.html.heex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06: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
user_registration_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
user_reset_password_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
user_settings_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
user_settings_live.html.heex ui: polish device detail, site detail, and user settings 2026-02-14 21:11:33 -06:00