summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/knewstuff/files/knewstuff-5.90.0-add-conditional-cache-preference.patch')
-rw-r--r--kde-frameworks/knewstuff/files/knewstuff-5.90.0-add-conditional-cache-preference.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/kde-frameworks/knewstuff/files/knewstuff-5.90.0-add-conditional-cache-preference.patch b/kde-frameworks/knewstuff/files/knewstuff-5.90.0-add-conditional-cache-preference.patch
deleted file mode 100644
index 80a8451ec990..000000000000
--- a/kde-frameworks/knewstuff/files/knewstuff-5.90.0-add-conditional-cache-preference.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From e1c6f2bf383876a31cd3e3f9e6edcaa19dc0a7dd Mon Sep 17 00:00:00 2001
-From: Dan Leinir Turthra Jensen <admin@leinir.dk>
-Date: Wed, 9 Feb 2022 16:17:58 +0000
-Subject: [PATCH] Add conditional cache preference to http requests
-
-If we have a cache that's older than 7 days, assume that it's out of
-date and actually try again. If it's younger than that, assume that it's
-just the same, and prefer our cached version, if we have one.
-
-The logic here is an attempt at striking a balance between using our cache
-to its fullest potential (as in, reducing server-side load and network
-roundtrips in general) while also handling the situation where the
-information that we are fed about the cache is not entirely correct (such
-as the case where we're told there's no expiration date, but the data in
-fact does change). 7 days seems a sensible sort of deadline for that,
-though we could change that later if we need to.
-
-This was born out of a discussion on another kns review[1]
-
-Assume that no cache expiration time will be longer than 7 days, but otherwise prefer the cache
-This is mildly hacky, but if we don't do this, we end up with infinite cache expirations in some
-cases, which of course isn't really acceptable... See ed62ee20 for a situation where that happened.
-
-[1] https://invent.kde.org/frameworks/knewstuff/-/merge_requests/166#note_394067
----
- src/core/jobs/httpworker.cpp | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/src/core/jobs/httpworker.cpp b/src/core/jobs/httpworker.cpp
-index b52161f6..208e1ef0 100644
---- a/src/core/jobs/httpworker.cpp
-+++ b/src/core/jobs/httpworker.cpp
-@@ -41,7 +41,6 @@ public:
- return nam.get(request);
- }
-
--private:
- QNetworkDiskCache cache;
- };
-
-@@ -101,6 +100,17 @@ static void addUserAgent(QNetworkRequest &request)
- agentHeader += QStringLiteral("-%1/%2").arg(QCoreApplication::instance()->applicationName(), QCoreApplication::instance()->applicationVersion());
- }
- request.setHeader(QNetworkRequest::UserAgentHeader, agentHeader);
-+
-+ // Assume that no cache expiration time will be longer than a week, but otherwise prefer the cache
-+ // This is mildly hacky, but if we don't do this, we end up with infinite cache expirations in some
-+ // cases, which of course isn't really acceptable... See ed62ee20 for a situation where that happened.
-+ QNetworkCacheMetaData cacheMeta{s_httpWorkerNAM->cache.metaData(request.url())};
-+ if (cacheMeta.isValid()) {
-+ const QDateTime nextWeek{QDateTime::currentDateTime().addDays(7)};
-+ if (cacheMeta.expirationDate().isValid() && cacheMeta.expirationDate() < nextWeek) {
-+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
-+ }
-+ }
- }
-
- void HTTPWorker::startRequest()
---
-GitLab
-