The selectedEventIsShared check used `permissionMap.get(...) !== 'owner'` which excluded calendar owners from all shared-event behavior (lock polling, lock acquisition, lock banner display). Replaced with a sharedCalendarIds set that includes both owned shared calendars (via cal.is_shared) and memberships. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>