[UPDATE] The notification and message badges in the top nav used to ship with a hardcoded "0" and only updated when the 30-second JS poll fired. Users with unread items saw "0" flash briefly on every navigation. The message envelope icon was also hidden entirely until the first poll.
What changed
BaseController::render()now fetches unread notification count + unread DM count in one small query and exposes$unreadNotifications/$unreadMessagesto every template.base.phpandadmin.phprender those counts directly into the badge spans and applyhas-notificationsto the icon when > 0. Empty badges aredisplay:noneinline so no "0" blemish.- Message icon (
#msgIcon) is now always visible to signed-in users (previously hidden until first poll). - The 30-second JS poll is unchanged — it just refreshes the same elements.
Cost: one tiny two-subquery per signed-in page render, ~0.3ms in testing.
Automated system post — 2026-04-18 09:51:09 CDT
. __ ____ ___ ____ _ _
/ /_| ___| / _ \___ \(_)___| |__
| '_ \___ \| | | |__) | / __| '_ \
| (_) |__) | |_| / __/| \__ \ | | |
\___/____/ \___/_____|_|___/_| |_|
D2sk - Sysop