diff --git a/CHANGELOG.md b/CHANGELOG.md index 4268310f..94ff28b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ _This release is scheduled to be released on 2022-10-01._ ## Fixed - Broadcast all calendar events while still honoring global and per-calendar maximumEntries. +- Respect rss ttl provided by newsfeed (#2883). ## [2.20.0] - 2022-07-02 diff --git a/modules/default/newsfeed/newsfeedfetcher.js b/modules/default/newsfeed/newsfeedfetcher.js index a4d48ccd..85a2136d 100644 --- a/modules/default/newsfeed/newsfeedfetcher.js +++ b/modules/default/newsfeed/newsfeedfetcher.js @@ -78,6 +78,19 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings scheduleTimer(); }); + parser.on("ttl", (minutes) => { + try { + // 86400000 = 24 hours is mentioned in the docs as maximum value: + const ttlms = Math.min(minutes * 60 * 1000, 86400000); + if (ttlms > reloadInterval) { + reloadInterval = ttlms; + Log.info("Newsfeed-Fetcher: reloadInterval set to ttl=" + reloadInterval + " for url " + url); + } + } catch (error) { + Log.warn("Newsfeed-Fetcher: feed ttl is no valid integer=" + minutes + " for url " + url); + } + }); + const nodeVersion = Number(process.version.match(/^v(\d+\.\d+)/)[1]); const headers = { "User-Agent": "Mozilla/5.0 (Node.js " + nodeVersion + ") MagicMirror/" + global.version,