From 31f79bc2234743ef2fbd78751e4127cbfdd3d75a Mon Sep 17 00:00:00 2001 From: Greg V Date: Fri, 29 May 2026 22:34:29 -0700 Subject: [PATCH 1/2] add contact letter as a type --- api/contact/contact_service.py | 1 + 1 file changed, 1 insertion(+) diff --git a/api/contact/contact_service.py b/api/contact/contact_service.py index c99226c..e837212 100644 --- a/api/contact/contact_service.py +++ b/api/contact/contact_service.py @@ -200,6 +200,7 @@ def send_confirmation_email(contact_data) -> bool: 'nonprofit': 'Nonprofit Partnership', 'judge': 'Judging Opportunity', 'volunteer': 'Volunteer Opportunity', + 'volunteer_letter': 'Volunteer Letter Request', 'media': 'Media Inquiry', 'other': 'General Question' }.get(contact_data.get('inquiryType', ''), contact_data.get('inquiryType', 'General Inquiry')) From 28f4268433c539df6fae4fc8bb614567e352d06f Mon Sep 17 00:00:00 2001 From: Greg V Date: Fri, 29 May 2026 22:34:45 -0700 Subject: [PATCH 2/2] smalll bugfix for resend API --- services/volunteers_service.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/services/volunteers_service.py b/services/volunteers_service.py index 5b43fe5..86e1fc5 100644 --- a/services/volunteers_service.py +++ b/services/volunteers_service.py @@ -2759,9 +2759,14 @@ def _fetch_and_cache_resend_emails() -> Optional[Dict[str, Any]]: max_pages=max_pages, total_so_far=len(all_emails)) if page_error_occurred: - # Release lock so the next request can retry - delete_cached(_RESEND_LOCK_KEY) - return None + if not all_emails: + # No data at all — release lock so the next request can retry + delete_cached(_RESEND_LOCK_KEY) + return None + # We have partial data from earlier pages — use it rather than discarding + warning(logger, "Returning partial Resend email data due to fetch error", + total_fetched=len(all_emails)) + truncated = True # Build index by recipient email index: Dict[str, List[Dict]] = {}