mirror of
https://github.com/caty21/forex-dashboard.git
synced 2026-08-26 02:48:06 +00:00
fix: OIS indisponible sur toutes les cards + transparence sur l'instrument utilisé
Le fetch /api/rate-probabilities n'avait aucun fallback cache côté client (contrairement aux autres widgets) et pouvait planter en bloc si InvestingLive timeoutait (fetch sans AbortController) - une seule panne coupait les 8 devises d'un coup au lieu de dégrader devise par devise. - route.ts : try/catch pour toujours renvoyer un JSON valide - page.tsx : fallback localStorage si le fetch échoue - investinglive.ts : timeout 8s sur les fetches vers investinglive.com - fetch-rate-data.mjs / rateprobability.ts : le pipeline écrit maintenant la source réelle utilisée par devise (Rate Monitor USD, futures Euribor/SONIA pour EUR/GBP, InvestingLive pour les 5 autres) et la carte l'affiche - CurrencyCard.tsx : SourcesPopup corrigé (CME FedWatch retiré, plus de fausse mention "Rate Monitor" pour les devises qui n'en ont pas) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
55eca6e2f0
commit
3a384eb820
+5
-1
@@ -222,8 +222,12 @@ export default function Dashboard() {
|
||||
}
|
||||
|
||||
// ── Probabilités de taux (rateprobability.com OIS) ───────────────────
|
||||
if (rateProbRes.status === "fulfilled" && rateProbRes.value?.data) {
|
||||
if (rateProbRes.status === "fulfilled" && rateProbRes.value?.data && Object.keys(rateProbRes.value.data).length > 0) {
|
||||
setRateProbabilities(rateProbRes.value.data as RateProbData);
|
||||
saveCache("rateProbabilities", rateProbRes.value.data);
|
||||
} else {
|
||||
const cached = loadCache<RateProbData>("rateProbabilities");
|
||||
if (cached) setRateProbabilities(cached.data);
|
||||
}
|
||||
|
||||
setLastRefresh(new Date());
|
||||
|
||||
Reference in New Issue
Block a user