4a3d8e9e46
Fixes 4 issues identified in PR #35 code review: ## 1. Self-Primary Identity Check (Copilot #1) - BEFORE: `ctx.meId && (areJidsSameUser(...) || (ctx.meLid && ...))` - AFTER: Check meId and meLid independently with OR - FIX: Now correctly detects when only meLid exists ## 2. Debounce Cache Placement (Copilot #3, #4) - BEFORE: Cache set immediately after debounce check - AFTER: Cache set only before actual assertSessions call - FIX: Prevents incorrect debouncing when exiting early (offline, etc.) ## 3. Session Regression (ChatGPT Codex P2) - BEFORE: Returned 'skipped_no_session' when no session exists - AFTER: Always call assertSessions - identity change IS the signal to rebuild - FIX: Critical for key reset and device restore scenarios ## 4. Result Type Enhancement - Added `hadExistingSession: boolean` to 'session_refreshed' result - Removed 'skipped_no_session' action (no longer applicable) - Enables better monitoring of session creation vs refresh ## Test Updates - Added test for meLid-only self-primary detection - Updated session creation test (no longer skips) - Added test verifying debounce not set on offline skip - Added Result Types test suite for type safety