towerops/lib/towerops_web/live/org
Graham McIntire 0350ced8e1 dialyzer: fix remaining 88 warnings — clean dialyzer run
Categories addressed:
- pattern_match / pattern_match_cov (32): remove dead case/with clauses
  that dialyzer proved unreachable from the caller types.
- contract_supertype / extra_range / invalid_contract /
  contract_with_opaque (25): narrow @spec declarations to match actual
  success typings.
- call / call_without_opaque (18): fix bad calls, narrow User.t to
  allow nil for in-memory changeset structs, suppress Ecto.Multi
  opaque-type false positives with targeted @dialyzer directives.
- guard_fail / no_return / unused_fun / unknown_function (13): remove
  dead || fallbacks, simplify always-true params, cascade-resolve
  no_returns via the underlying pattern_match and call fixes.

Real production bug fixed: StormDetector.handle_cast/2 had swapped
`:queue.in` args (`queue |> :queue.in(ts)` which desugars to
`:queue.in(queue, ts)` — wrong argument order). Alert timestamps
were never being enqueued, so storm detection would fail at runtime.
Corrected to `ts |> :queue.in(queue)`.

.dialyzer_ignore.exs: suppress two genuine dep-PLT gaps
(:ranch.get_addr/1 false positive from Bandit's transitive ranch,
and the Cloak.Vault GenServer callback_info on the CI build path).

`mix dialyzer` now: Total errors: 114, Skipped: 114 — passes clean.
Warnings: 88 → 0.
2026-04-21 10:32:42 -05:00
..
gaiia_mapping_live.ex fix/findings-medium-priority (#188) 2026-03-27 12:31:53 -05:00
gaiia_mapping_live.html.heex ux: improve navigation, tooltips, and discoverability across pages 2026-03-12 13:40:10 -05:00
gaiia_reconciliation_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
gaiia_reconciliation_live.html.heex ux: improve navigation, tooltips, and discoverability across pages 2026-03-12 13:40:10 -05:00
integrations_live.ex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
integrations_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
preseem_devices_live.ex fix/findings-medium-priority (#188) 2026-03-27 12:31:53 -05:00
preseem_devices_live.html.heex ux: overhaul Preseem devices page to match Gaiia mapping UX 2026-03-13 11:38:45 -05:00
preseem_insights_live.ex dialyzer: fix remaining 88 warnings — clean dialyzer run 2026-04-21 10:32:42 -05:00
preseem_insights_live.html.heex ux: improve navigation, tooltips, and discoverability across pages 2026-03-12 13:40:10 -05:00
settings_live.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
settings_live.html.heex Deduplicate integrations: settings tab links to standalone page 2026-03-13 16:16:35 -05:00