From 41d680f99435811860a315a07f35f4af6e025db2 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 23 Jan 2026 14:33:54 +0100 Subject: [PATCH] fix: failing test --- lib/mv_web/live/member_live/index.ex | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 1cb5d82..f8d7323 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -1345,10 +1345,6 @@ defmodule MvWeb.MemberLive.Index do |> Enum.filter(fn {key, _value} -> String.starts_with?(key, @boolean_filter_prefix) end) |> Enum.reduce_while({%{}, 0}, fn {key, value_str}, {acc, count} -> if count >= @max_boolean_filters do - Logger.warning( - "Too many boolean filter parameters in request (#{count} processed), limiting to #{@max_boolean_filters} to prevent DoS" - ) - {:halt, {acc, count}} else new_acc = @@ -1366,7 +1362,7 @@ defmodule MvWeb.MemberLive.Index do end end) - # Log additional warning if we hit the limit + # Log warning if we hit the limit if total_processed >= @max_boolean_filters do Logger.warning( "Boolean filter limit reached: processed #{total_processed} parameters, accepted #{map_size(filters)} valid filters (max: #{@max_boolean_filters})" @@ -1704,8 +1700,11 @@ defmodule MvWeb.MemberLive.Index do # # Note: Mailto URLs have length limits that vary by email client. # For large selections, consider using export functionality instead. + # + # Handles case where members haven't been loaded yet (e.g., when signature didn't change in handle_params). defp update_selection_assigns(socket) do - members = socket.assigns.members + # Handle case where members haven't been loaded yet (e.g., when signature didn't change) + members = socket.assigns[:members] || [] selected_members = socket.assigns.selected_members selected_count =