mirror of
https://github.com/caty21/forex-dashboard.git
synced 2026-07-27 20:37:45 +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:
@@ -516,6 +516,7 @@ function buildILFallback(ccy, il) {
|
||||
return {
|
||||
today: {
|
||||
midpoint: rate,
|
||||
source: "InvestingLive — estimation hebdomadaire analyste (pas de futures/OIS coté public pour cette devise)",
|
||||
rows: [{
|
||||
meeting: "Dec",
|
||||
meeting_iso: yearEnd,
|
||||
@@ -570,7 +571,10 @@ for (const ccy of IC_SUPPORTED) {
|
||||
}
|
||||
data = await fetchInvestingCom(ccy);
|
||||
}
|
||||
if (data) results[ccy] = data;
|
||||
if (data) {
|
||||
data.today.source = "Investing.com Fed Rate Monitor (CME 30-Day Fed Funds Futures)";
|
||||
results[ccy] = data;
|
||||
}
|
||||
await new Promise(r => setTimeout(r, 600));
|
||||
}
|
||||
|
||||
@@ -586,7 +590,12 @@ for (const ccy of Object.keys(FUTURES_STRIP_CONFIG)) {
|
||||
}
|
||||
data = await fetchFuturesStrip(ccy);
|
||||
}
|
||||
if (data) results[ccy] = data;
|
||||
if (data) {
|
||||
data.today.source = ccy === "EUR"
|
||||
? "Investing.com — Euribor 3M Futures (Eurex)"
|
||||
: "Investing.com — Three-Month SONIA Futures (ICE)";
|
||||
results[ccy] = data;
|
||||
}
|
||||
await new Promise(r => setTimeout(r, 600));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user