From 576a72a0e1ce72922d0eeb09bd8056617c3fb62f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Fri, 24 Jul 2026 20:55:35 +0400 Subject: [PATCH] fix: enable cache by default and skip caching empty castopod results --- README.adoc | 8 ++++---- includes/config.default.php | 4 +++- includes/config.php | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/README.adoc b/README.adoc index abadcf1..f9f0eec 100644 --- a/README.adoc +++ b/README.adoc @@ -679,8 +679,8 @@ NOTE: Au moins une plateforme (LiberaPay, Ko-fi ou Stripe) doit être configuré | Constante | Défaut | Description | `CACHE_ENABLED` -| `false` -| Active le cache pour *Castopod et Funkwhale* (fortement recommandé) +| `true` +| Active le cache pour *Castopod et Funkwhale*. Indispensable contre le rate limit RSS de Castopod ; les résultats vides (erreur, 429) ne sont jamais mis en cache | `CACHE_DURATION` | `3600` @@ -1606,8 +1606,8 @@ NOTE: At least one platform (LiberaPay, Ko-fi or Stripe) must be configured for | Constant | Default | Description | `CACHE_ENABLED` -| `false` -| Enable caching for *Castopod and Funkwhale* (strongly recommended) +| `true` +| Enable caching for *Castopod and Funkwhale*. Essential against the Castopod RSS rate limit; empty results (error, 429) are never cached | `CACHE_DURATION` | `3600` diff --git a/includes/config.default.php b/includes/config.default.php index a25c46a..921bd6a 100644 --- a/includes/config.default.php +++ b/includes/config.default.php @@ -100,7 +100,9 @@ define('ENABLE_SEARCH', true); if (!defined('ENABLE_USER_ACCOUNTS')) define('ENABLE_USER_ACCOUNTS', false); // Cache -if (!defined('CACHE_ENABLED')) define('CACHE_ENABLED', false); +// Activé par défaut : indispensable pour Castopod (rate limit strict sur les +// flux RSS) et Funkwhale. Sans cache, une requête part à chaque chargement. +if (!defined('CACHE_ENABLED')) define('CACHE_ENABLED', true); if (!defined('CACHE_DURATION')) define('CACHE_DURATION', 3600); // En secondes (1 heure) // ========================================= diff --git a/includes/config.php b/includes/config.php index ecf33c0..d3b102c 100644 --- a/includes/config.php +++ b/includes/config.php @@ -866,8 +866,9 @@ function getCastopodEpisodes($castopodUrl = null, $podcastSlugs = null, $count = // Limiter au nombre demandé $allEpisodes = array_slice($allEpisodes, 0, $count); - // Mettre en cache - if (defined('CACHE_ENABLED') && CACHE_ENABLED) { + // Mettre en cache (uniquement si non vide : une erreur temporaire + // — rate limit HTTP 429, timeout… — ne doit pas être figée en cache) + if (!empty($allEpisodes) && defined('CACHE_ENABLED') && CACHE_ENABLED) { saveToCache($cacheKey, $allEpisodes); }