- 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.