The auth:logout event listener in applicationBootstrap.js fires
synchronously during authService.logout(), setting __handled = true and
starting handleAuthLogout as fire-and-forget. When requestLogout() then
checked detail.__handled, it saw true and returned early — before
applyLoggedOutUiState() could update the UI.
Two changes fix this:
1. Remove the __handled early-return guard from requestLogout() so it
always awaits handleAuthLogout.
2. Add a promise-based dedup guard to handleAuthLogout so the event
listener's fire-and-forget call and requestLogout's awaited call
share a single execution instead of running the logout cleanup twice.
https://claude.ai/code/session_01ArpiYU9bNdzme5xBHWnKuS