The events page NREs when the schedule references real activities: the
client renders their panels and requests per-activity data
(GetActivityHotData/GetActiveActivityData/...) that this PS cannot fill
yet, Sync(nil) -> black screen. The synthetic list resolves to nothing
and keeps the page open (empty but usable).
realActivitySchedule stays in handlers_activity_data.go for the future
round where per-activity data handlers exist.