Mutual aid impact chart — The impact page now shows a stacked line chart tracking total mutual aid over time (scholarships and discounts), alongside total enrollments, with key milestone dates annotated.
Class selection on scholarship applications — Scholarship applicants can now choose which upcoming classes they want to study when submitting their application, or describe what they are interested in if they are unsure.
Live Now indicator for Learn to Code — The homepage Learn to Code card shows a "Live Now" badge and links directly to the YouTube stream during scheduled class hours (Mon-Thu 10-11am PT).
Last Login column on student list (Admin) — The admin student list now shows when each student last logged in, replacing the less useful Expires and Links columns.
Improved
Scholarship payment links now enroll students automatically (Admin) — Payment links and payment plans sent from the scholarship queue are now tied to the correct class or membership product in Stripe, so students who pay are automatically enrolled instead of getting stuck in limbo.
Scholarship class list is more relevant (Admin) — The class picker in scholarship admin modals now only shows classes with scheduled sessions within a 30-day window, filtering out old or undated classes.
Coupon email delivery verification (Admin) — The scholarship admin now checks whether coupon emails were actually accepted by SendGrid, and alerts the admin with the coupon code if delivery failed so they can send it manually.
Members auto-enrolled in classes reliably — Active members (Member and Researcher tiers) are now auto-enrolled in upcoming classes by the background enrollment process, rather than relying solely on a dashboard visit that could silently fail.
Autodidact membership clarified — The Autodidact (Video Membership) tier now correctly grants curriculum and video access only, without auto-enrolling in live classes. Member and Researcher tiers continue to include live class enrollment.
Datamosh theme readability — The homepage tagline in the Datamosh theme now uses white text with a drop shadow for better readability over the green stripe.
Mutual aid coordinator role updated — Removed outdated MSW credential references from the mutual aid coordinator role across support tiers and program descriptions.
Fixed
Stripe webhook enrollment restored — Fixed a bug where the real-time Stripe webhook was silently crashing on every payment due to a function call mismatch, causing all enrollments to depend on the batch job. Also added handling for invoice.paid events used by manual invoices.
Enrollment emails no longer silently lost — Enrollment confirmation emails are now only marked as sent when SendGrid actually accepts them, preventing students from silently missing their welcome email if delivery fails.
Admin CRM page scrolling — Fixed an overflow issue that prevented the admin CRM page from scrolling properly.