Browse Source

immediately display initial fetch

master
silberengel 3 months ago
parent
commit
4db477f0b9
  1. 12
      src/lib/components/publications/Publication.svelte

12
src/lib/components/publications/Publication.svelte

@ -171,7 +171,8 @@ @@ -171,7 +171,8 @@
}, LOAD_TIMEOUT);
});
// Load events sequentially to maintain order, but build batches for TOC updates
// AI-NOTE: Load events incrementally so users see content immediately instead of staring at empty page
// Load events sequentially to maintain order, displaying them as they're loaded
for (let i = 0; i < count; i++) {
try {
const iterResult = await Promise.race([
@ -194,7 +195,10 @@ @@ -194,7 +195,10 @@
const alreadyInLeaves = leaves.some(leaf => leaf?.tagAddress() === address);
if (!loadedAddresses.has(address) && !alreadyInLeaves) {
loadedAddresses.add(address);
// AI-NOTE: Add event immediately to leaves so user sees it right away
leaves = [...leaves, value];
newEvents.push(value);
console.log(`[Publication] Added event ${i + 1}/${count} immediately. Total: ${leaves.length}`);
} else {
newEvents.push(null);
}
@ -224,13 +228,11 @@ @@ -224,13 +228,11 @@
}
}
// Add all new events at once for better performance and to trigger TOC updates in parallel
// Log final summary (events already added incrementally above)
const validEvents = newEvents.filter(e => e !== null);
if (validEvents.length > 0) {
const previousLeavesCount = leaves.length;
leaves = [...leaves, ...newEvents];
console.log(
`[Publication] Added ${validEvents.length} events. Previous: ${previousLeavesCount}, Total: ${leaves.length}`,
`[Publication] Load complete. Added ${validEvents.length} events. Total: ${leaves.length}`,
);
// Log sentinel position after adding content

Loading…
Cancel
Save