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 @@
}, LOAD_TIMEOUT); }, 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++) { for (let i = 0; i < count; i++) {
try { try {
const iterResult = await Promise.race([ const iterResult = await Promise.race([
@ -194,7 +195,10 @@
const alreadyInLeaves = leaves.some(leaf => leaf?.tagAddress() === address); const alreadyInLeaves = leaves.some(leaf => leaf?.tagAddress() === address);
if (!loadedAddresses.has(address) && !alreadyInLeaves) { if (!loadedAddresses.has(address) && !alreadyInLeaves) {
loadedAddresses.add(address); loadedAddresses.add(address);
// AI-NOTE: Add event immediately to leaves so user sees it right away
leaves = [...leaves, value];
newEvents.push(value); newEvents.push(value);
console.log(`[Publication] Added event ${i + 1}/${count} immediately. Total: ${leaves.length}`);
} else { } else {
newEvents.push(null); newEvents.push(null);
} }
@ -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); const validEvents = newEvents.filter(e => e !== null);
if (validEvents.length > 0) { if (validEvents.length > 0) {
const previousLeavesCount = leaves.length;
leaves = [...leaves, ...newEvents];
console.log( 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 // Log sentinel position after adding content

Loading…
Cancel
Save