Skip to content

Notify speakers when their video is uploaded online - #4790

Merged
marcoacierno merged 10 commits into
mainfrom
notify-video-uploaded
Aug 16, 2026
Merged

Notify speakers when their video is uploaded online#4790
marcoacierno merged 10 commits into
mainfrom
notify-video-uploaded

Conversation

@marcoacierno

Copy link
Copy Markdown
Member

What

ToDo

@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pycon Error Error Aug 16, 2026 11:28am

@claude

claude Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Adds a new speaker_video_recording_uploaded email notification, drafted (not auto-sent) for each schedule-item speaker once video+thumbnail are on YouTube, tracked via a new emails_scheduled flag for idempotency.

  • backend/schedule/tasks.py: in upload_schedule_item_video, the email-drafting block unconditionally calls EmailTemplate.objects.for_conference(conference).get_by_identifier(EmailTemplateIdentifier.speaker_video_recording_uploaded) even when schedule_item.speakers is empty (e.g. break/social/registration items, as covered by test_upload_schedule_item_video_completes_when_there_are_no_speakers, which only passes because the test pre-creates the template). If a conference hasn't configured this new template, get_by_identifier raises for every schedule item with a video — including ones with no speakers to notify — after the video/thumbnail upload already succeeded. process_schedule_items_videos_to_upload catches this and marks the item failed, but to_upload() only selects status=pending, so it won't be retried automatically; this silently stalls the whole video pipeline for any conference missing the template. Consider skipping the template lookup entirely when all_speakers is empty, and/or handling a missing template without failing the already-completed video/thumbnail work.
  • backend/schedule/models.py: the new from typing import TYPE_CHECKING / if TYPE_CHECKING block is inserted mid-file between existing imports rather than grouped with the other imports at the top — minor style nit.

@codecov

codecov Bot commented Aug 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.11%. Comparing base (7bb569a) to head (205b925).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4790      +/-   ##
==========================================
+ Coverage   93.09%   93.11%   +0.01%     
==========================================
  Files         360      360              
  Lines       11227    11239      +12     
  Branches      903      905       +2     
==========================================
+ Hits        10452    10465      +13     
  Misses        663      663              
+ Partials      112      111       -1     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Base automatically changed from draft-emails to main August 15, 2026 23:08
@marcoacierno
marcoacierno force-pushed the notify-video-uploaded branch from 8656691 to 85b1f29 Compare August 15, 2026 23:08
@marcoacierno
marcoacierno marked this pull request as ready for review August 15, 2026 23:08
@marcoacierno
marcoacierno merged commit 3694241 into main Aug 16, 2026
8 of 9 checks passed
@marcoacierno
marcoacierno deleted the notify-video-uploaded branch August 16, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant