From 7ebd0e760163434bf6ca3b95a7d6572396caf0e8 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun <cheeaun@gmail.com> Date: Thu, 23 Feb 2023 22:53:28 +0800 Subject: [PATCH] Don't refetch failed unfurls --- src/components/status.jsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/status.jsx b/src/components/status.jsx index c7ab5465..4328ce67 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -1180,11 +1180,15 @@ function isMastodonLinkMaybe(url) { } const denylistDomains = /(twitter|github)\.com/i; +const failedUnfurls = {}; function _unfurlMastodonLink(instance, url) { if (denylistDomains.test(url)) { return; } + if (failedUnfurls[url]) { + return; + } const instanceRegex = new RegExp(instance + '/'); if (instanceRegex.test(states.unfurledLinks[url]?.url)) { return Promise.resolve(states.unfurledLinks[url]); @@ -1211,10 +1215,12 @@ function _unfurlMastodonLink(instance, url) { states.unfurledLinks[url] = result; return result; } else { + failedUnfurls[url] = true; throw new Error('No results'); } }) .catch((e) => { + failedUnfurls[url] = true; console.warn(e); // Silently fail });