Wheeler's finnhubPrices (src/js/tradfi/18-price-feed.js) uses Promise.all, so a single held ticker Finnhub can't price throws the whole batch and falls back to a multi-symbol Twelve Data call — which the free plan can reject, blanking every holding's spot at once.
Make it resilient: price tickers independently and fall back per-ticker (Finnhub → Twelve Data) instead of wholesale, so one unpriceable symbol never blanks the rest.
Not urgent — surfaced while fixing the refetch-on-add bug. Left as a follow-up.
Wheeler's
finnhubPrices(src/js/tradfi/18-price-feed.js) usesPromise.all, so a single held ticker Finnhub can't price throws the whole batch and falls back to a multi-symbol Twelve Data call — which the free plan can reject, blanking every holding's spot at once.Make it resilient: price tickers independently and fall back per-ticker (Finnhub → Twelve Data) instead of wholesale, so one unpriceable symbol never blanks the rest.
Not urgent — surfaced while fixing the refetch-on-add bug. Left as a follow-up.