diff --git a/content.js b/content.js index 88ec271..3b839b6 100644 --- a/content.js +++ b/content.js @@ -726,6 +726,8 @@ function ensureHudDot() { } function updateHudDot() { + if (contextInvalidated || !document?.body) return; + try { const dot = ensureHudDot(); const panel = document.getElementById(HUD_PANEL_ID); const total = sharedIndex.size; @@ -745,6 +747,9 @@ function updateHudDot() { hudDirty = false; lastHudSignature = signature; } + } catch (error) { + contextInvalidated = true; + } } function flashHudDot() { @@ -906,6 +911,18 @@ function loadStoredIndex() { data[STORAGE_KEY_MEMBER].forEach(item => sharedMemberIndex.set(item.id, item) ); + if (sharedMemberIndex.size === 0 && sharedIndex.size > 0) { + for (const item of sharedIndex.values()) { + sharedMemberIndex.set(item.id, { + id: item.id, + channelKey: item.channelKey, + channelLabel: item.channelLabel, + channelUrl: item.channelUrl, + lastSeen: item.lastSeen || Date.now() + }); + } + schedulePersistMemberIndex(); + } updateHudDot(); } );