towerops/lib/towerops_web/controllers
Graham McIntire ea91dae0e6 fix: 6 medium-severity bugs (M2, M8, M9, M10, M11, M16)
- M2: get_user_by_email/1 uses lower(email) = lower(?) so User@Example.com
  and user@example.com resolve to the same account; closes a lookalike-
  registration / password-reset confusion risk.
- M8: webhook auth plug no longer echoes "Webhook authentication not
  configured" — the misconfiguration is logged server-side and the caller
  gets a generic Internal server error so endpoints can't be probed.
- M9: coverages controller logs the underlying KMZ build error and
  returns a generic "Failed to build KMZ" string — filesystem paths and
  zip internals no longer leak.
- M10: account-data controller no longer crashes with MatchError when an
  org has zero or multiple memberships; defaults to "member" and treats
  any owner membership as owner.
- M11: ActivityController switches to a hard whitelist
  (Atom.to_string/1 comparison) instead of String.to_existing_atom/1;
  unknown filter types are dropped silently and the atom table can't be
  grown from API input.
- M16: title-tracking MutationObserver is stored on `this` so destroyed()
  actually disconnects it — fixes a memory leak per LV navigation.
2026-05-12 11:38:13 -05:00
..
api fix: 6 medium-severity bugs (M2, M8, M9, M10, M11, M16) 2026-05-12 11:38:13 -05:00
api_docs_html fix: API token access control, admin form crash, MIB validation, CSP dedup 2026-05-12 09:08:57 -05:00
error_html Add onboarding flow for new organizations 2026-02-16 10:14:45 -06:00
graphql_docs_html test: lift coverage to 78.42% and link Ansible collection in docs 2026-05-07 16:48:53 -05:00
page_html chore: migrate agent repo references from GitHub to Codeberg 2026-05-07 07:44:48 -05:00
user_confirmation_html i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
user_registration_html ui: polish auth pages, core components, and visual consistency 2026-02-14 21:11:33 -06:00
user_reset_password_html test: lift coverage 78.42% → 79.59% with focused unit + integration tests 2026-05-07 18:40:43 -05:00
user_session_html fix: another Mix.env() call in device_live/index.ex 2026-03-09 14:59:41 -05:00
user_settings_html fix: netbox url field type, gaiia ipRange→block, remove unknown webhook log 2026-02-14 17:44:01 -06:00
user_sudo_html fix: netbox url field type, gaiia ipRange→block, remove unknown webhook log 2026-02-14 17:44:01 -06:00
admin_controller.ex fix: remaining bugs.md findings — Repo calls, process dict, CSS, rate limits, Oban, debug route 2026-05-11 19:34:18 -05:00
api_docs_controller.ex updates 2026-01-17 17:49:53 -06:00
api_docs_html.ex updates 2026-01-17 17:49:53 -06:00
debug_controller.ex add headers debug in prod 2026-02-01 10:54:13 -06:00
error_html.ex add error pages 2026-01-06 14:37:48 -06:00
error_json.ex security: implement comprehensive security audit fixes 2026-03-05 13:08:10 -06:00
graphql_docs_controller.ex feat: add GraphQL API with Absinthe, full schema, resolvers, and documentation 2026-02-14 11:28:57 -06:00
graphql_docs_html.ex feat: add GraphQL API with Absinthe, full schema, resolvers, and documentation 2026-02-14 11:28:57 -06:00
health_controller.ex fix: H12 cookie hardening + 5 low/medium bugs (L2, L5, L6, L8, L10, L11) 2026-05-12 11:22:47 -05:00
invitation_controller.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
page_controller.ex feat: add RFC 8288 Link response headers to homepage 2026-04-17 14:11:15 -05:00
page_html.ex init 2025-12-21 11:10:43 -06:00
sitemap_controller.ex feat: add /sitemap.xml and update robots.txt for agent discovery 2026-04-17 13:58:19 -05:00
user_confirmation_controller.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
user_confirmation_html.ex feat: require email verification before first login 2026-02-14 11:28:57 -06:00
user_registration_controller.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
user_registration_html.ex credo cleanup 2026-01-17 15:00:52 -06:00
user_reset_password_controller.ex test: lift coverage 78.42% → 79.59% with focused unit + integration tests 2026-05-07 18:40:43 -05:00
user_reset_password_html.ex forgot password flow 2026-01-31 17:03:22 -06:00
user_session_controller.ex fix: comprehensive security audit fixes (#108) 2026-03-22 10:10:27 -05:00
user_session_html.ex credo cleanup 2026-01-17 15:00:52 -06:00
user_settings_controller.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
user_settings_html.ex credo cleanup 2026-01-17 15:00:52 -06:00
user_sudo_controller.ex fix: address security and reliability findings from bugs.md review 2026-05-11 18:54:12 -05:00
user_sudo_html.ex feat: implement sudo mode MFA-only verification controller 2026-02-01 14:34:17 -06:00
well_known_controller.ex refactor: extract base_url helper and deduplicate OAuth metadata in WellKnownController 2026-04-17 14:09:02 -05:00