The scheduler lists the org's webinar types, and a booking badges its presenter

FixMediaService
Shipped
September 17, 2026 at 3:58 PM UTC
Author
Kamo
Commit
0212445

/support/schedule-webinar said "No webinar types are currently available." for every organization, however many types it had. The wizard loads its picker from GET /api/webinar/available, and nothing in MediaService served that path: the live API answered 404 (every sibling route answers 401 without a session), the wizard read the failed fetch as an empty list, and KamoCRM's three active types never reached the page. WebinarController now serves /available: the org's own active types, then the types its parent publishes to children (isAvailableToChildren) — the "own + parent child-visible" list the scheduling design specified. Session-required like /types and /types/parent; no new right. The presenter's in-app notice. The booking email to the presenter was already wired **************** The Support icon was not: its webinar count read attendee rows only, and a presenter is not an attendee, so a session booked with them never badged. The count now adds the presenter's unseen SCHEDULED sessions **************** kamo-shared-library a6374937), and opening My Scheduled Webinars stamps those too. Both booking paths leave the stamp null — the signed-in wizard and the public demo form — except when the presenter booked their own session. The badge refreshes on the nav's existing cadence: focus, visibility and a 60-second tick. Needs kamo-shared-library a6374937 (CI clones main) and the presenter_date_viewed column, already added to the live scheduled_webinar table. Tests: **************** hits the route through MockMvc, which is the layer the defect lived in; WebinarBookingForPresenterTest covers the type list and the booking stamp; WebinarPresenterBadgeTest covers count and clear. Full suite 968/968.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing