<ul><li>Root cause: <code>domain_controlpanel.module_rids</code> for Events (ItemID=2) was set to <code>["1"]</code> — only users with rid=1 could see Events in the sidebar SQL query. All other modules have <code>["1","2","3","4","5","0"]</code> (all roles).</li><li>Fix: Updated <code>domain_controlpanel</code> ItemID=2 <code>module_rids</code> from <code>["1"]</code> to <code>["1","2","3","4","5","0"]</code> so Events shows in sidebar for all roles.</li><li>Cleared Redis <code>sideMenuString</code> cache so fix takes effect immediately.</li><li>Root cause in <code>Module.class.php:getSideBarMenus()</code> query: <code>AND module_rids LIKE "%rid%"</code> uses domain_controlpanel.module_rids as the role gate — Events was missing rid 0, 2, 3, 4, 5.</li></ul>