From 944aef04ea61ba3a3358d75e60be79e660bf9ffb Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Tue, 17 Mar 2026 16:48:58 +0100 Subject: [PATCH] chore: throttle processing facet by 10 minutes --- src/_data/facets.json | 2 +- .../data/process-tracks/index.inline.js | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/_data/facets.json b/src/_data/facets.json index 629808d4..7d2cf1c5 100644 --- a/src/_data/facets.json +++ b/src/_data/facets.json @@ -41,7 +41,7 @@ "kind": "prelude", "category": "Data", "featured": true, - "desc": "Process all your audio inputs automatically when opening any interface." + "desc": "Process all your audio inputs automatically when opening any interface. Happens once every 10 minutes." }, { "url": "facets/misc/scrobble/index.html", diff --git a/src/facets/data/process-tracks/index.inline.js b/src/facets/data/process-tracks/index.inline.js index fb3ce22b..416dd6d3 100644 --- a/src/facets/data/process-tracks/index.inline.js +++ b/src/facets/data/process-tracks/index.inline.js @@ -1,5 +1,23 @@ import foundation from "~/common/foundation.js"; -foundation.orchestrator.processTracks({ - disableWhenReady: false, -}); +const KEY = "facets/data/process-tracks/timestamp"; +const lastTimestamp = localStorage.getItem(KEY); +const now = Date.now(); + +if (lastTimestamp) { + const diff = now - JSON.parse(lastTimestamp); + + if (diff >= 10 * 60 * 1000) { + foundation.orchestrator.processTracks({ + disableWhenReady: false, + }); + + localStorage.setItem(KEY, JSON.stringify(now)); + } +} else { + foundation.orchestrator.processTracks({ + disableWhenReady: false, + }); + + localStorage.setItem(KEY, JSON.stringify(now)); +} -- 2.51.2