towerops/lib/towerops_web
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
..
channels fix: 11 critical security/correctness bugs from code audit 2026-05-12 10:20:52 -05:00
components fix: API token access control, admin form crash, MIB validation, CSP dedup 2026-05-12 09:08:57 -05:00
controllers fix: 6 medium-severity bugs (M2, M8, M9, M10, M11, M16) 2026-05-12 11:38:13 -05:00
graphql dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
helpers feat: add status emoji to page titles 2026-03-06 14:45:02 -06:00
live fix: H12 cookie hardening + 5 low/medium bugs (L2, L5, L6, L8, L10, L11) 2026-05-12 11:22:47 -05:00
plugs fix: 6 medium-severity bugs (M2, M8, M9, M10, M11, M16) 2026-05-12 11:38:13 -05:00
changelog_parser.ex remove-gleam (#218) 2026-03-29 11:03:20 -05:00
endpoint.ex fix: H12 cookie hardening + 5 low/medium bugs (L2, L5, L6, L8, L10, L11) 2026-05-12 11:22:47 -05:00
gettext.ex init 2025-12-21 11:10:43 -06:00
gettext_helpers.ex feat: migrate email templates to gettext (Phase 2 - Emails) 2026-02-02 09:48:30 -06:00
graphql_socket.ex perf+refactor: codebase-wide query and antipattern audit 2026-04-28 16:58:51 -05:00
permissions.ex i18n: add Spanish locale with full translations, language selector, and locale hook 2026-02-14 17:44:01 -06:00
plug_exceptions.ex handle exceptions gracefully on api endpoints 2026-02-04 12:18:14 -06:00
remote_ip.ex fix: address security and reliability findings from bugs.md review 2026-05-11 18:54:12 -05:00
router.ex fix: API token access control, admin form crash, MIB validation, CSP dedup 2026-05-12 09:08:57 -05:00
scoped_resource.ex dialyzer: expand PLT, drop blanket codebase suppression 2026-04-21 09:33:22 -05:00
telemetry.ex fix: add Oban config to dev.exs and replace Exq telemetry with Oban 2026-01-24 16:39:45 -06:00
telemetry_filter.ex fix: suppress health check logs and downgrade CI artifacts to v3 2026-03-05 15:54:47 -06:00
user_auth.ex fix: H12 cookie hardening + 5 low/medium bugs (L2, L5, L6, L8, L10, L11) 2026-05-12 11:22:47 -05:00