Problem
In OnlineTalkPage.tsx, all missing audio segments are fetched in parallel via Promise.all. For talks with many segments this hammers the TTS API simultaneously, hitting concurrency/rate limits and causing failures.
Solution
Replace the parallel Promise.all fetch with a sequential loop — fetch one segment at a time, update progress after each one.
Changes required
app/talk/[id]/OnlineTalkPage.tsx — replace Promise.all(misses.map(...)) with a for...of loop
Problem
In
OnlineTalkPage.tsx, all missing audio segments are fetched in parallel viaPromise.all. For talks with many segments this hammers the TTS API simultaneously, hitting concurrency/rate limits and causing failures.Solution
Replace the parallel
Promise.allfetch with a sequential loop — fetch one segment at a time, update progress after each one.Changes required
app/talk/[id]/OnlineTalkPage.tsx— replacePromise.all(misses.map(...))with afor...ofloop