fix(extension): exclude own tab from smart match and send immediate heartbeat after injection

This commit is contained in:
Timo
2026-05-25 02:24:50 +02:00
parent 8778403449
commit 5067b8e541
2 changed files with 8 additions and 2 deletions
+3
View File
@@ -577,6 +577,9 @@
setupListeners();
schedulePeriodicHeartbeat();
// Immediate heartbeat on injection — populate peer data without waiting 15s
setTimeout(() => sendHeartbeat(), 300);
// Episode Auto-Sync: Boot recovery — check if background has an active lobby
chrome.runtime.sendMessage({ type: 'CONTENT_BOOT' }, (res) => {
if (res && res.lobbyActive && res.expectedTitle) {
+5 -2
View File
@@ -431,8 +431,11 @@ async function populateTabs(providedPeers = null, providedTargetTabId = null) {
option.value = tab.id;
const title = (tab.title || 'Loading...');
// Smart Matching Logic
const peerTitles = peerIds.map(p => p.tabTitle).filter(t => t && t.length > 3);
// Smart Matching Logic — exclude own tabTitle to prevent self-match
const peerTitles = peerIds
.filter(p => (typeof p === 'object' ? p.peerId : p) !== localPeerId)
.map(p => (typeof p === 'object' ? p.tabTitle : null))
.filter(t => t && t.length > 3);
const isMatch = peerTitles.some(pt => {
const t1 = title.toLowerCase();
const t2 = pt.toLowerCase();