This commit is contained in:
2025-01-03 16:44:28 -05:00
parent 472a989d19
commit 3cb1cb2613

View File

@@ -176,26 +176,60 @@ document.addEventListener('DOMContentLoaded', () => {
let failureCount = 0; let failureCount = 0;
relayUrls.forEach((url) => { relayUrls.forEach((url) => {
for (const event of loadedEvents) { try {
try { const sub = pool.sub([url], [filter]);
const success = pool.publish([url], event); // Publish event to relay
if (success) { subscriptions.push(sub);
successCount++;
console.log(`Event broadcasted successfully to ${url}`); sub.on('event', (event) => {
statusDiv.innerHTML += `<br>Event broadcasted successfully to ${url}`; if (!eventIds.has(event.id)) {
} else { switch (event.kind) {
failureCount++; case 0:
console.error(`Relay ${url} rejected the event.`); console.log('Profile Metadata captured:', event);
statusDiv.innerHTML += `<br>Relay ${url} rejected the event.`; break;
case 2:
console.log('Relay Recommendation captured:', event);
break;
case 3:
console.log('Contact List captured:', event);
break;
case 4:
console.log('Encrypted DM captured:', event);
break;
case 30023:
console.log('Long-Form Content captured:', event);
break;
default:
console.log('Other event captured:', event);
}
collectedEvents.push(event); // Store the raw event data
eventIds.add(event.id);
} }
} catch (err) { });
failureCount++;
console.error(`Broadcast failed for ${url}:`, err); sub.on('eose', () => {
statusDiv.innerHTML += `<br>Broadcast failed for ${url}: ${err.message}`; eoseTracker[url] = true;
} console.log(`EOSE received from ${url}`);
statusDiv.innerHTML += `<br>EOSE received from ${url}`;
checkCompletion();
});
sub.on('error', (err) => {
console.error(`Error on ${url}:`, err);
statusDiv.innerHTML += `<br>Error on ${url}: ${err.message}`;
// Mark the relay as complete to avoid stalling collection
eoseTracker[url] = true;
checkCompletion();
});
} catch (err) {
console.error(`Subscription failed for ${url}:`, err);
statusDiv.innerHTML += `<br>Subscription failed for ${url}: ${err.message}`;
// Mark the relay as complete to avoid stalling collection
eoseTracker[url] = true;
checkCompletion();
} }
}); });
pool.close(); pool.close();
statusDiv.innerHTML += `<br>Broadcast complete: ${successCount} success(es), ${failureCount} failure(s).`; statusDiv.innerHTML += `<br>Broadcast complete: ${successCount} success(es), ${failureCount} failure(s).`;
} }